???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    e5d|!                     @   s@  d dl Z d dlmZ d dlZzd dlZW n ek
r@   dZY nX d dlmZ d dlm	Z	 d dl
mZ d dlmZ zd dlmZ W n ek
r   dZY nX zd dlmZ W n ek
r   dZY nX d	d
 Zdd Zd"ddZd#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d Zd$d d!ZdS )%    N)warn)DistutilsExecError)spawn)mkpath)log)getpwnam)getgrnamc                 C   sN   t d ks| d krd S zt | }W n tk
r8   d }Y nX |d k	rJ|d S d S N   )r   KeyErrornameresult r   ./usr/lib64/python3.8/distutils/archive_util.py_get_gid   s    
r   c                 C   sN   t d ks| d krd S zt | }W n tk
r8   d }Y nX |d k	rJ|d S d S r	   )r   r   r   r   r   r   _get_uid+   s    
r   gzipc                    s.  dddddd}dddd	d
}|d k	r:||  kr:td| d }	|dkrZ|	||d7 }	ttj|	|d dd l}
t	d t
t  fdd}|s|
|	d||  }z|j||d W 5 |  X |dkr*tdt |	||  }tjdkr||	|g}n
|d|	g}t||d |S |	S )NZ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                    s,    d k	r | _ | _d k	r(| _| _| S N)gidZgnameuiduname)Ztarinfor   groupownerr   r   r   _set_uid_gida   s    z"make_tarball.<locals>._set_uid_gidzw|%s)filterz'compress' will be deprecated.Zwin32z-f)keys
ValueErrorgetr   ospathdirnametarfiler   infor   r   opencloseaddr   PendingDeprecationWarningsysplatformr   )	base_namebase_dirr   verboser   r!   r    Ztar_compressionZcompress_extZarchive_namer*   r"   tarZcompressed_namecmdr   r   r   make_tarball7   sB    
	



r7   c              
   C   s  | d }t tj||d td krp|r.d}nd}ztd|||g|d W n  tk
rj   td| Y nX n8td|| |sztj	|dtj
d	}W n& tk
r   tj	|dtjd	}Y nX | |tjkrtjtj|d
}||| td| t|D ]\}}	}
|	D ]6}tjtj||d
}||| td| q|
D ]B}tjtj||}tj|rV||| td| qVqW 5 Q R X |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)Zcompressionr   zadding '%s')r   r'   r(   r)   zipfiler   r   r   r+   ZZipFileZZIP_DEFLATEDRuntimeErrorZ
ZIP_STOREDcurdirnormpathjoinwritewalkisfile)r2   r3   r4   r   Zzip_filenameZ
zipoptionsr8   r(   dirpathZdirnames	filenamesr   r   r   r   make_zipfile   sV    	
 
rD   )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)ZgztarZbztarZxztarZztarr5   r8   c                 C   s   | D ]}|t kr|  S qd S r   )ARCHIVE_FORMATS)Zformatsformatr   r   r   check_archive_formats   s    
rG   c              
   C   s   t  }|d k	r6td| t j| } |s6t | |d krDt j}d|i}	zt| }
W n  t	k
rx   t
d| Y nX |
d }|
d D ]\}}||	|< q|dkr||	d< ||	d< z|| |f|	}W 5 |d k	rtd	| t | X |S )
Nzchanging into '%s'r   zunknown archive format '%s'r      r8   r!   r    zchanging back to '%s')r'   getcwdr   debugr(   abspathchdirr<   rE   r   r%   )r2   rF   Zroot_dirr3   r4   r   r!   r    Zsave_cwdkwargsZformat_infofuncargvalfilenamer   r   r   make_archive   s2    

rR   )r   r   r   NN)r   r   )NNr   r   NN)r'   warningsr   r0   r:   ImportErrorZdistutils.errorsr   Zdistutils.spawnr   Zdistutils.dir_utilr   Z	distutilsr   pwdr   Zgrpr   r   r   r7   rD   rE   rG   rR   r   r   r   r   <module>   sL   


    
H
=




	
      