B `!"M@s@ddlZddlmZddlZy ddlZWnek r@dZYnXddlmZddlm Z ddl m Z ddl m Z yddlmZWnek rdZYnXyddlmZWnek rdZYnXd d Zd d Zd"ddZd#ddZedgdfedgdfedgdfedgdfedgdfegdfdZddZd$d d!ZdS)%N)warn)DistutilsExecError)spawn)mkpath)log)getpwnam)getgrnamcCsNtdks|dkrdSy t|}Wntk r8d}YnX|dk rJ|dSdS)N)rKeyError)nameresultr 9/opt/alt/python37/lib/python3.7/distutils/archive_util.py_get_gids  rcCsNtdks|dkrdSy t|}Wntk r8d}YnX|dk rJ|dSdS)Nr )rr )r r r r r_get_uid+s  rgzipcs.dddddd}dddd d }|dk r:||kr:td |d } |d krZ| ||d7} ttj| |dddl} t dt t fdd} |s| | d||} z| j || dWd| X|d kr*tdt| ||} 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.tarr)dry_runrzCreating tar archivecs,dk r|_|_dk r(|_|_|S)N)gidZgnameuiduname)Ztarinfo)rgroupownerrr r _set_uid_gidasz"make_tarball.._set_uid_gidzw|%s)filterz'compress' will be deprecated.win32z-f)keys ValueErrorgetrospathdirnametarfilerinforropenaddcloserPendingDeprecationWarningsysplatformr) base_namebase_dirrverboserrrZtar_compressionZ compress_extZ archive_namer&rtarZcompressed_namecmdr )rrrrr make_tarball7s<          r3c Cs|d}ttj||dtdkrp|r.d}nd}ytd|||g|dWn tk rjtd|YnXn:td|||sytj |dtj d }Wn&t k rtj |dtj d }YnX|tj krtjtj|d }|||td |xt|D]\}} } x>| D]6} tjtj|| d }|||td |qWxJ| D]B} tjtj|| }tj|rV|||td |qVWqW||S) Nz.zip)rz-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_STOREDcurdirnormpathjoinwritewalkisfiler*) r.r/r0rZ zip_filenameZ zipoptionsr4r$dirpathZdirnames filenamesr r r r make_zipfilesJ          r@)rrzgzip'ed tar-file)rrzbzip2'ed tar-file)rrzxz'ed tar-file)rrzcompressed tar file)rNzuncompressed tar filezZIP file)ZgztarZbztarZxztarZztarr1r4cCsx|D]}|tkr|SqWdS)N)ARCHIVE_FORMATS)formatsformatr r rcheck_archive_formatss rDc Cst}|dk r6td|tj|}|s6t||dkrDtj}d|i} y t|} Wn t k rxt d|YnX| d} x| dD]\} } | | | <qW|dkr|| d<|| d<z| ||f| }Wd|dk rtd |t|X|S) Nzchanging into '%s'rzunknown archive format '%s'rr4rrzchanging back to '%s') r#getcwdrdebugr$abspathchdirr8rAr r!)r.rCZroot_dirr/r0rrrZsave_cwdkwargsZ format_infofuncargvalfilenamer r r make_archives2       rO)rrrNN)rr)NNrrNN)r#warningsrr,r6 ImportErrorZdistutils.errorsrZdistutils.spawnrZdistutils.dir_utilrZ distutilsrpwdrZgrprrrr3r@rArDrOr r r rs@            G =