a 9dg|!@s:ddlZddlmZddlZz ddlZWney>dZYn0ddlmZddlm Z ddl m Z ddl m Z zddlmZWneydZYn0zddlmZWneydZYn0d d Zd d Zd"ddZd#ddZedgdfedgdfedgdfedgdfedgdfegdfdZddZd$d d!ZdS)%N)warn)DistutilsExecError)spawn)mkpath)log)getpwnam)getgrnamcCsLtdus|durdSz t|}Wnty6d}Yn0|durH|dSdSN)rKeyErrornameresultr2/usr/local/lib/python3.9/distutils/archive_util.py_get_gids   rcCsLtdus|durdSz t|}Wnty6d}Yn0|durH|dSdSr )rr r rrr_get_uid+s   rgzipcs6dddddd}dddd d }|dur:||vr:td |d } |d krZ| ||d7} ttj| |dddl} t dt t fdd} |s| | d||} z| j || dW| n | 0|d kr2tdt| ||} tjdkr|| | g}n |d| g}t||d| S| S)Ngzbz2xz)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)gidgnameuiduname)tarinforgroupownerrrr _set_uid_gidasz"make_tarball.._set_uid_gidzw|%s)filterz'compress' will be deprecated.win32z-f)keys ValueErrorgetrospathdirnametarfilerinforropenaddcloserPendingDeprecationWarningsysplatformr) base_namebase_dirrverboserr$r#tar_compression compress_ext archive_namer.r%tarZcompressed_namecmdrr"r make_tarball7sB         r>c Cs|d}ttj||dtdurn|r.d}nd}ztd|||g|dWntyhtd|Yn0nJtd|||sztj |dtj d }Wn$t ytj |dtj d }Yn0||tj krtjtj|d }|||td |t|D]\}} } | D]6} tjtj|| d }|||td |q| D]B} tjtj|| }tj|rP|||td |qPqWdn1s0Y|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) compressionrz adding '%s')rr+r,r-zipfilerrrr/ZipFile ZIP_DEFLATED RuntimeErrorZ ZIP_STOREDcurdirnormpathjoinwritewalkisfile) r6r7r8r zip_filenameZ zipoptionsr?r,dirpathdirnames filenamesr rrr make_zipfilesT            4rP)rrzgzip'ed tar-file)rrzbzip2'ed tar-file)rrzxz'ed tar-file)rrzcompressed tar file)rNzuncompressed tar filezZIP file)gztarbztarxztarZztarr<r?cCs|D]}|tvr|SqdSr)ARCHIVE_FORMATS)formatsformatrrrcheck_archive_formatss rWc Cst}|dur6td|tj|}|s6t||durDtj}d|i} z t|} Wnt yvt d|Yn0| d} | dD]\} } | | | <q|dkr|| d<|| d<z4| ||fi| }W|durtd |t|n"|durtd |t|0|S) Nzchanging into '%s'rzunknown archive format '%s'rr?r$r#zchanging back to '%s') r+getcwdrdebugr,abspathchdirrFrTr r))r6rVroot_dirr7r8rr$r#save_cwdkwargs format_infofuncargvalfilenamerrr make_archives8          re)rrrNN)rr)NNrrNN)r+warningsrr4rB ImportErrorZdistutils.errorsrZdistutils.spawnrZdistutils.dir_utilrZ distutilsrpwdrgrprrrr>rPrTrWrerrrrsF               H =