
    ;e|!                     @   	 d dl Z d dlmZ d dlZ	 d dlZn# e$ r dZY nw xY wd dlmZ d dlm	Z	 d dl
mZ d dlmZ 	 d dlmZ n# e$ r dZY nw xY w	 d dlmZ n# e$ r dZY nw xY wd	 Zd
 Z	 	 ddZddZedgdfedgdfedgdfedgdfedgdfeg dfdZd Z	 	 ddZdS )    N)warn)DistutilsExecError)spawn)mkpath)log)getpwnam)getgrnamc                 x    	 t           | d S 	 t          |           }n# t          $ r d }Y nw xY w||d         S d S N   )r	   KeyErrornameresults     -/usr/lib/python3.11/distutils/archive_util.py_get_gidr      _    ,4<t$   ay4    --c                 x    	 t           | d S 	 t          |           }n# t          $ r d }Y nw xY w||d         S d S r   )r   r   r   s     r   _get_uidr   +   r   r   gzipc                    	 dddddd}dddd	d
}|%||                                 vrt          d          | dz   }	|dk    r|	|                    |d          z  }	t          t          j                            |	          |           dd l}
t          j	        d           t                    t                    fd}|se|
                    |	d||         z            }	 |                    ||           |                                 n# |                                 w xY w|dk    rNt          dt                      |	||         z   }t"          j        dk    r||	|g}n|d|	g}t'          ||           |S |	S )Ngzbz2xz )r   bzip2r   Ncompressz.gzz.bz2z.xzz.Z)r   r   r   r   zKbad value for 'compress': must be None, 'gzip', 'bzip2', 'xz' or 'compress'z.tarr   dry_runr   zCreating tar archivec                 H    | _         | _        | _        | _        | S N)gidgnameuiduname)tarinfor#   groupownerr%   s    r   _set_uid_gidz"make_tarball.<locals>._set_uid_gida   s.    ?GK!GM?GK!GM    zw|%s)filterz'compress' will be deprecated.win32z-f)keys
ValueErrorgetr   ospathdirnametarfiler   infor   r   openaddcloser   PendingDeprecationWarningsysplatformr   )	base_namebase_dirr   verboser    r)   r(   tar_compressioncompress_extarchive_namer4   r*   tarcompressed_namecmdr#   r%   s        ``        @@r   make_tarballrE   7   s     $e4r#%' 'O!F% $& &L 0A0A0C0C C C#$ $ 	$ v%L:((2666
27??<((':::: NNNH#$$$
5//C
5//C         ll</(2K)KLL	GGH\G222IIKKKKCIIKKKK :-/HIII&h)??<7""\?;CCT<0Cc7####s   .D D0c           
      (   	 | dz   }t          t          j                            |          |           t          ?|rd}nd}	 t          d|||g|           n7# t          $ r t          d|z            w xY wt          j        d||           |s	 t	          j	        |dt          j
        	          }n1# t          $ r$ t	          j	        |dt          j        	          }Y nw xY w|5  |t          j        k    rht          j                            t          j                            |d
                    }|                    ||           t          j        d|           t          j        |          D ]\  }}	}
|	D ]k}t          j                            t          j                            ||d
                    }|                    ||           t          j        d|           l|
D ]}t          j                            t          j                            ||                    }t          j                            |          r+|                    ||           t          j        d|           	 d d d            n# 1 swxY w Y   |S )Nz.zipr   z-rz-rqzipzkunable to create zip file '%s': could neither import the 'zipfile' module nor find a standalone zip utilityz#creating '%s' and adding '%s' to itw)compressionr   zadding '%s')r   r1   r2   r3   zipfiler   r   r   r5   ZipFileZIP_DEFLATEDRuntimeError
ZIP_STOREDcurdirnormpathjoinwritewalkisfile)r<   r=   r>   r    zip_filename
zipoptionsrG   r2   dirpathdirnames	filenamesr   s               r   make_zipfilerZ      s    v%L
27??<(('::::  	JJJ	D5*lH=!# # # # #! 	D 	D 	D % '36B&C D D D	D 	6x	) 	) 	)  	:FolC292FH H H F F FolC292DF F FF  : :ry((7++BGLL2,F,FGGDIIdD)))H]D11146GH4E4E 	: 	:0GXy ( 6 6!w//WdB0O0OPP		$---5555 ) : :!w//Wd0K0KLL7>>$// :IIdD111H]D999	:	:: : : : : : : : : : : : : : :  s1   A A8!B7 7+C%$C%*FJJJ)r   r   zgzip'ed tar-file)r   r   zbzip2'ed tar-file)r   r   zxz'ed tar-file)r   r   zcompressed tar file)r   Nzuncompressed tar filezZIP file)gztarbztarxztarztarrB   rG   c                 ,    	 | D ]}|t           vr|c S d S r"   )ARCHIVE_FORMATS)formatsformats     r   check_archive_formatsrc      s6       ((MMM )4r+   c                 n   	 t          j                    }|Jt          j        d|           t           j                            |           } |st          j        |           |t           j        }d|i}		 t          |         }
n # t          $ r t          d|z            w xY w|
d         }|
d         D ]
\  }}||	|<   |dk    r
||	d<   ||	d<   	  || |fi |	}|)t          j        d	|           t          j        |           n1# |*t          j        d	|           t          j        |           w w xY w|S )
Nzchanging into '%s'r    zunknown archive format '%s'r      rG   r)   r(   zchanging back to '%s')r1   getcwdr   debugr2   abspathchdirrO   r`   r   r/   )r<   rb   root_dirr=   r>   r    r)   r(   save_cwdkwargsformat_infofuncargvalfilenames                  r   make_archiverr      s     y{{H	&111GOOI..	 	HX9!FA%f- A A A6?@@@A q>DN  Ssww4	866v66I-x888HX I-x888HX   Os   4B B
D .D2)r   r   r   NN)r   r   )NNr   r   NN)r1   warningsr   r:   rJ   ImportErrordistutils.errorsr   distutils.spawnr   distutils.dir_utilr   	distutilsr   pwdr   grpr	   r   r   rE   rZ   r`   rc   rr    r+   r   <module>r|      s  
 
			       



NNNN   GGG 0 / / / / / ! ! ! ! ! ! % % % % % %         HHH   HHH
 
 

 
 
 KL#'F F F FP: : : :z 124FG235HI/02BC568MN/02IJBz*    KL.22 2 2 2 2 2s/      A AAA A"!A"