????

Your IP : 3.145.125.2


Current Path : /usr/lib64/python3.9/distutils/command/__pycache__/
Upload File :
Current File : //usr/lib64/python3.9/distutils/command/__pycache__/sdist.cpython-39.opt-2.pyc

a

�DOg=J�@s�ddlZddlZddlmZddlmZddlmZddlmZddlm	Z	ddlm
Z
ddlmZdd	l
mZdd
lmZddlmZddlmZmZd
d�ZGdd�de�ZdS)�N)�glob)�warn)�Command)�dir_util)�	file_util)�archive_util)�TextFile)�FileList)�log)�convert_path)�DistutilsTemplateError�DistutilsOptionErrorcCs`ddlm}ddlm}g}|��D] }|�d|d||df�q$|��||��d�dS)Nr)�FancyGetopt)�ARCHIVE_FORMATS�formats=�z.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilr�keys�append�sort�
print_help)rr�formats�format�r�//usr/lib64/python3.9/distutils/command/sdist.py�show_formatss
��rc@seZdZdZdd�Zgd�Zgd�ZdddefgZd	d
d�Z	defgZ
d
Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zedd��Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Z d6d7�Z!d8d9�Z"dS):�sdistz6create a source distribution (tarball, zip file, etc.)cCs|jS�N)�metadata_check��selfrrr�checking_metadata(szsdist.checking_metadata))z	template=�tz5name of manifest template file [default: MANIFEST.in])z	manifest=�mz)name of manifest file [default: MANIFEST])�use-defaultsNzRinclude the default file set in the manifest [default; disable with --no-defaults])�no-defaultsNz"don't include the default file set)�pruneNz�specifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune])�no-pruneNz$don't automatically exclude anything)�
manifest-only�ozEjust regenerate the manifest and then stop (implies --force-manifest))�force-manifest�fzkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.)rNz6formats for source distribution (comma-separated list))�	keep-temp�kz@keep the distribution tree around after creating archive file(s))z	dist-dir=�dzFdirectory to put the source distribution archive(s) in [default: dist])�metadata-checkNz[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default])zowner=�uz@Owner name used when creating a tar file [default: current user])zgroup=�gzAGroup name used when creating a tar file [default: current group])r#r%r'r)r+r.zhelp-formatsNz#list available distribution formatsr#r%)r$r&�check)ZREADMEz
README.txtz
README.rstcCsTd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_	d|_
d|_d|_dS)N�r�gztar)
�template�manifest�use_defaultsr%�
manifest_onlyZforce_manifestr�	keep_temp�dist_dir�
archive_filesr�owner�grouprrrr�initialize_optionseszsdist.initialize_optionscCsZ|jdurd|_|jdur d|_|�d�t�|j�}|rFtd|��|jdurVd|_dS)NZMANIFESTzMANIFEST.inrzunknown archive format '%s'�dist)r5r4Zensure_string_listrZcheck_archive_formatsrr
r9)rZ
bad_formatrrr�finalize_options|s


�
zsdist.finalize_optionscCs>t�|_|��D]}|�|�q|��|jr2dS|��dSr)r	�filelistZget_sub_commandsZrun_command�
get_file_listr7�make_distribution)rZcmd_namerrr�run�sz	sdist.runcCs*tdt�|j�d�}|��|��dS)Nzadistutils.command.sdist.check_metadata is deprecated,               use the check command insteadr1)r�PendingDeprecationWarning�distributionZget_command_objZensure_finalizedrC)rr1rrr�check_metadata�s�zsdist.check_metadatacCs�tj�|j�}|s:|��r:|��|j��|j��dS|sN|�	d|j�|j�
�|jrf|��|rr|�
�|jr�|��|j��|j��|��dS)Nz?manifest template '%s' does not exist (using default file list))�os�path�isfiler4�_manifest_is_not_generated�
read_manifestr@rZremove_duplicatesr�findallr6�add_defaults�
read_templater%�prune_file_list�write_manifest)rZtemplate_existsrrrrA�s(

�


zsdist.get_file_listcCs<|��|��|��|��|��|��|��dSr)�_add_defaults_standards�_add_defaults_optional�_add_defaults_python�_add_defaults_data_files�_add_defaults_ext�_add_defaults_c_libs�_add_defaults_scriptsrrrrrM�szsdist.add_defaultscCs:tj�|�sdStj�|�}tj�|�\}}|t�|�vS)NF)rGrH�exists�abspath�split�listdir)�fspathrYZ	directory�filenamerrr�_cs_path_exists�s

zsdist._cs_path_existscCs�|j|jjg}|D]~}t|t�rj|}d}|D]"}|�|�r,d}|j�|�qPq,|s�|�dd�	|��q|�|�r�|j�|�q|�d|�qdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found)
�READMESrE�script_name�
isinstance�tupler^r@rr�join)rZ	standards�fnZaltsZgot_itrrrrQ�s"

�
zsdist._add_defaults_standardscCs4ddg}|D]"}ttjjt|��}|j�|�qdS)Nz
test/test*.pyz	setup.cfg)�filterrGrHrIrr@�extend)rZoptional�pattern�filesrrrrRszsdist._add_defaults_optionalcCs\|�d�}|j��r$|j�|���|jD],\}}}}|D]}|j�tj	�
||��q:q*dS)N�build_py)�get_finalized_commandrEZhas_pure_modulesr@rf�get_source_files�
data_filesrrGrHrc)rri�pkgZsrc_dirZ	build_dir�	filenamesr]rrrrSs

zsdist._add_defaults_pythoncCsz|j��rv|jjD]b}t|t�rBt|�}tj�|�rt|j	�
|�q|\}}|D]$}t|�}tj�|�rN|j	�
|�qNqdSr)rEZhas_data_filesrlra�strrrGrHrIr@r)r�item�dirnamernr*rrrrT$s

zsdist._add_defaults_data_filescCs(|j��r$|�d�}|j�|���dS)N�	build_ext)rEZhas_ext_modulesrjr@rfrk)rrrrrrrU5s

zsdist._add_defaults_extcCs(|j��r$|�d�}|j�|���dS)N�
build_clib)rEZhas_c_librariesrjr@rfrk)rrsrrrrV:s

zsdist._add_defaults_c_libscCs(|j��r$|�d�}|j�|���dS)N�
build_scripts)rEZhas_scriptsrjr@rfrk)rrtrrrrW?s

zsdist._add_defaults_scriptsc
Cs�t�d|j�t|jddddddd�}zr|��}|dur:q�z|j�|�Wq(ttfy�}z$|�	d|j
|j|f�WYd}~q(d}~00q(W|��n
|��0dS)Nzreading manifest template '%s'r2)Zstrip_commentsZskip_blanksZ
join_linesZ	lstrip_wsZ	rstrip_wsZ
collapse_joinz%s, line %d: %s)
r
�infor4r�readliner@Zprocess_template_liner�
ValueErrorrr]Zcurrent_line�close)rr4�line�msgrrrrNDs"
�
�"zsdist.read_templatecCsz|�d�}|j��}|jjd|jd�|jjd|d�tjdkrFd}nd}gd�}d|d�|�|f}|jj|d	d
�dS)N�build)�prefix�win32z/|\\�/)�RCS�CVSz\.svnz\.hgz\.gitz\.bzr�_darcsz(^|%s)(%s)(%s).*�|r2)Zis_regex)	rjrE�get_fullnamer@Zexclude_patternZ
build_base�sys�platformrc)rr{�base_dir�sepsZvcs_dirsZvcs_ptrnrrrrOas


zsdist.prune_file_listcCsX|��rt�d|j�dS|jjdd�}|�dd�|�tj	|j|fd|j�dS)Nz5not writing to manually maintained manifest file '%s'rz*# file GENERATED by distutils, do NOT editzwriting manifest file '%s')
rJr
rur5r@rh�insertZexecuterZ
write_file)rZcontentrrrrPys��zsdist.write_manifestcCsDtj�|j�sdSt|j�}z|��}W|��n
|��0|dkS)NFz+# file GENERATED by distutils, do NOT edit
)rGrHrIr5�openrvrx)r�fpZ
first_linerrrrJ�s

z sdist._manifest_is_not_generatedcCsjt�d|j�t|j��>}|D](}|��}|�d�s|s:q|j�|�qWd�n1s\0YdS)Nzreading manifest file '%s'�#)r
rur5r��strip�
startswithr@r)rr5ryrrrrK�szsdist.read_manifestcCs�|�|�tj|||jd�ttd�r4d}d|}nd}d|}|sPt�d�n
t�|�|D]<}tj	�
|�s|t�d|�q^tj	�||�}|j|||d�q^|j
j�|�dS)	N��dry_run�linkZhardzmaking hard links in %s...zcopying files to %s...z)no files to distribute -- empty manifest?z#'%s' not a regular file -- skipping)r�)ZmkpathrZcreate_treer��hasattrrGr
rrurHrIrcZ	copy_filerE�metadataZwrite_pkg_info)rr�rhr�rz�file�destrrr�make_release_tree�s 
	


zsdist.make_release_treecCs�|j��}tj�|j|�}|�||jj�g}d|j	vrT|j	�
|j	�|j	�d���|j	D]:}|j
||||j|jd�}|�
|�|jj�
dd|f�qZ||_|js�tj||jd�dS)N�tar)r�r;r<r�r�)rEr�rGrHrcr9r�r@rhrr�pop�index�make_archiver;r<Z
dist_filesr:r8rZremove_treer�)rr��	base_namer:�fmtr�rrrrB�s




�
zsdist.make_distributioncCs|jSr)r:rrrr�get_archive_files�szsdist.get_archive_files)#�__name__�
__module__�__qualname__�descriptionr Zuser_optionsZboolean_optionsrZhelp_optionsZnegative_optZsub_commandsr_r=r?rCrFrArM�staticmethodr^rQrRrSrTrUrVrWrNrOrPrJrKr�rBr�rrrrr$sH'���
(
*r)rGr�r�warningsrZdistutils.corerZ	distutilsrrrZdistutils.text_filerZdistutils.filelistr	r
Zdistutils.utilrZdistutils.errorsrr
rrrrrr�<module>s