MINI MINI MANI MO
3
\E @ s d dl Z d dlZd dlT d dlmZ d dlmZ d dlmZ d dlm Z m
Z
mZmZ d dl
mZ d dlT d dlmZ d d lmZ d d
lmZ dd ZG d
d deZdS ) N)*)glob)warn)Command)dir_utildep_util file_utilarchive_util)TextFile)FileList)log)convert_pathc C sd ddl m} ddlm} g }x,|j D ] }|jd| d || d f q&W |j | |jd d S )Nr )FancyGetopt)ARCHIVE_FORMATSzformats= z.List of available source distribution formats:)Zdistutils.fancy_getoptr Zdistutils.archive_utilr keysappendsortZ
print_help)r r formatsformat r //usr/lib64/python3.6/distutils/command/sdist.pyshow_formats s r c @ s e Zd ZdZdd ZdJdKdLdMdNdOdPdQdRdTdUdVdWdXgZd
ddddd"gZd*dd+efgZd
dd,Z d-efgZ
d.d/ Zd0d1 Zd2d3 Z
d4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Zd>d? Zd@dA ZdBdC ZdDdE ZdFdG ZdHdI ZdS )Ysdistz6create a source distribution (tarball, zip file, etc.)c C s | j S )N)metadata_check)selfr r r checking_metadata% s zsdist.checking_metadata template=t5name of manifest template file [default: MANIFEST.in] manifest=m)name of manifest file [default: MANIFEST]use-defaultsNRinclude the default file set in the manifest [default; disable with --no-defaults]no-defaults"don't include the default file setprunespecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune]no-prune$don't automatically exclude anything
manifest-onlyoEjust regenerate the manifest and then stop (implies --force-manifest)force-manifestfkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.formats=6formats for source distribution (comma-separated list) keep-tempkz1keep the distribution tree around after creating zarchive file(s) dist-dir=dFdirectory to put the source distribution archive(s) in [default: dist]metadata-check[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default]owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]zhelp-formatsz#list available distribution formats)zno-defaultszno-prunecheckc C sT d | _ d | _d| _d| _d| _d| _dg| _d| _d | _d | _ d| _
d | _d | _d S )N r Zgztar)
templatemanifestuse_defaultsr'
manifest_onlyZforce_manifestr keep_tempdist_dir
archive_filesr ownergroup)r r r r initialize_options` s zsdist.initialize_optionsc C sZ | j d krd| _ | jd kr d| _| jd tj| j}|rFtd| | jd krVd| _d S )NZMANIFESTzMANIFEST.inr zunknown archive format '%s'Zdist)rC rB Zensure_string_listr Zcheck_archive_formatsr ZDistutilsOptionErrorrG )r Z
bad_formatr r r finalize_optionsw s
zsdist.finalize_optionsc C sB t | _x| j D ]}| j| qW | j | jr6d S | j d S )N)r filelistZget_sub_commandsZrun_command
get_file_listrE make_distribution)r Zcmd_namer r r run s z sdist.runc C s* t dt | jjd}|j |j d S )Nzadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr@ )r PendingDeprecationWarningdistributionZget_command_objZensure_finalizedrP )r r@ r r r check_metadata s
zsdist.check_metadatac C s t jj| j}| r<| j r<| j | jj | jj d S |sP| j d| j | jj
| jrh| j |rt| j
| jr| j | jj | jj | j d S )Nz&manifest template '%s' does not exist z(using default file list)z?manifest template '%s' does not exist (using default file list))ospathisfilerB _manifest_is_not_generated
read_manifestrM r Zremove_duplicatesr findallrD add_defaults
read_templater' prune_file_listwrite_manifest)r Ztemplate_existsr r r rN s(
zsdist.get_file_listc C s2 d| j jg}x|D ]}t|trn|}d}x*|D ]"}tjj|r.d}| jj| P q.W |s| j ddj
| qtjj|r| jj| q| j d| qW dd g}x*|D ]"}ttjjt
|}| jj| qW | jd
}| j j r| jj|j x>|jD ]4\} }
}}x$|D ]}
| jjtjj
|
|
qW qW | j j rx|| j jD ]p}t|tr|t|}tjj|r| jj| n:|\}}x0|D ](}t|}tjj|r| jj| qW qHW | j j r| jd}| jj|j | j j r| jd}| jj|j | j j r.| jd
}| jj|j d S )NREADME
README.txtFTz,standard file not found: should have one of z, zstandard file '%s' not foundz
test/test*.pyz setup.cfgbuild_py build_ext
build_clib
build_scripts)r^ r_ )rR Zscript_name
isinstancetuplerT rU existsrM r r joinfilterrV r extendget_finalized_commandZhas_pure_modulesZget_source_filesZ
data_filesZhas_data_filesstrr
Zhas_ext_modulesZhas_c_librariesZhas_scripts)r Z standardsfnZaltsZgot_itZoptionalpatternfilesr` ZpkgZsrc_dirZ build_dir filenamesfilenameitemdirnamer/ ra rb rc r r r rZ s\
"
zsdist.add_defaultsc C s t jd| j t| jddddddd}zlxf|j }|d kr<P y| jj| W q* ttfk
r } z| j d|j
|j|f W Y d d }~X q*X q*W W d |j X d S )Nzreading manifest template '%s'rA )Zstrip_commentsZskip_blanksZ
join_linesZ lstrip_wsZ rstrip_wsZ
collapse_joinz%s, line %d: %s)
r inforB r
readlinerM Zprocess_template_lineZDistutilsTemplateError
ValueErrorr rp Zcurrent_lineclose)r rB linemsgr r r r[ s
$zsdist.read_templatec C s | j d}| jj }| jjd |jd | jjd |d tjdkrFd}nd}dddd d
ddg}d
|dj||f }| jj|dd d S )Nbuild)prefixZwin32z/|\\/ZRCSZCVSz\.svnz\.hgz\.gitz\.bzrZ_darcsz(^|%s)(%s)(%s).*|rA )Zis_regex) rj rR get_fullnamerM Zexclude_patternZ
build_basesysplatformrg )r ry base_dirZsepsZvcs_dirsZvcs_ptrnr r r r\ : s
zsdist.prune_file_listc C sX | j rtjd| j d S | jjd d }|jdd | jtj | j|fd| j d S )Nz5not writing to manually maintained manifest file '%s'r z*# file GENERATED by distutils, do NOT editzwriting manifest file '%s')
rW r rs rC rM rn insertZexecuter Z
write_file)r Zcontentr r r r] R s
zsdist.write_manifestc
C s<