o ?Og|!@sD ddlZddlmZddlZzddlZWn ey dZYnwddlmZddlm Z ddl m Z ddl m Z zddlmZWn eyLdZYnwzddlmZWn ey`dZYnwd d Zd d Z d"ddZd#ddZedgdfedgdfedgdfedgdfedgdfegdfdZddZ d$d d!ZdS)%N)warn)DistutilsExecError)spawn)mkpath)log)getpwnam)getgrnamcCN tdus |dur dSzt|}Wn tyd}Ynw|dur%|dSdSN)rKeyErrornameresultr=/opt/alt/python310/lib64/python3.10/distutils/archive_util.py_get_gid  rcCr r )rr r rrr_get_uid+rrgzipcs4 dddddd}dddd d }|dur||vrtd |d } |d kr.| ||d7} ttj| |dddl} t dt t fdd} |sq| | d||} z | j || dW| n| w|d krtdt| ||} tjdkr|| | g}n|d| g}t||d| S| S)NZgzbz2xz)rbzip2rNcompressz.gzz.bz2z.xzz.Z)rrrrzKbad value for 'compress': must be None, 'gzip', 'bzip2', 'xz' or 'compress'z.tarrdry_runrzCreating tar archivecs,dur |_|_dur|_|_|SN)gidZgnameuiduname)Ztarinforgroupownerrrr _set_uid_gidasz"make_tarball.._set_uid_gidzw|%s)filterz'compress' will be deprecated.Zwin32z-f)keys ValueErrorgetrospathdirnametarfilerinforropenaddcloserPendingDeprecationWarningsysplatformr) base_namebase_dirrverboserr#r"Ztar_compressionZ compress_extZ archive_namer,r$tarZcompressed_namecmdrr!r make_tarball7sD        r9c Cs |d}ttj||dtdur5|rd}nd}z td|||g|dW|Sty4td|wtd|||sz tj |dtj d }Wnt y[tj |dtj d }Ynw|o|tj kr{tjtj|d }|||td |t|D]D\}} } | D]} tjtj|| d }|||td |q| D]} tjtj|| }tj|r|||td |qqWd|S1swY|S) Nz.ziprz-rz-rqzipzkunable to create zip file '%s': could neither import the 'zipfile' module nor find a standalone zip utilityz#creating '%s' and adding '%s' to itw)Z compressionrz adding '%s')rr)r*r+zipfilerrrr-ZZipFileZ ZIP_DEFLATED RuntimeErrorZ ZIP_STOREDcurdirnormpathjoinwritewalkisfile) r4r5r6rZ zip_filenameZ zipoptionsr:r*dirpathZdirnames filenamesrrrr make_zipfilesh %           rF)rrzgzip'ed tar-file)rrzbzip2'ed tar-file)rrzxz'ed tar-file)rrzcompressed tar file)rNzuncompressed tar filezZIP file)ZgztarZbztarZxztarZztarr7r:cCs |D] }|tvr |SqdSr)ARCHIVE_FORMATS)Zformatsformatrrrcheck_archive_formatss rIc Cs  t}|durtd|tj|}|st||dur#tj}d|i} zt|} Wn t y:t d|w| d} | dD]\} } | | | <qC|dkrX|| d<|| d<z| ||fi| }W|durrtd |t||S|durtd |t|ww) Nzchanging into '%s'rzunknown archive format '%s'rr:r#r"zchanging back to '%s') r)getcwdrdebugr*abspathchdirr>rGr r')r4rHZroot_dirr5r6rr#r"Zsave_cwdkwargsZ format_infofuncargvalfilenamerrr make_archives>           rT)rrrNN)rr)NNrrNN)r)warningsrr2r< ImportErrorZdistutils.errorsrZdistutils.spawnrZdistutils.dir_utilrZ distutilsrpwdrZgrprrrr9rFrGrIrTrrrrsP            H =