3 K”Re Gã @sxdZddlmZddlmZmZddlmZddlm Z ddl Z ddl Z ddl Z ddl Z ddlZddlmZddlmZmZmZdd lmZdd lmZdd lmZydd lmZmZd d„ZWn,ek rìddlm Z mZdd„ZYnXdd„Z!dd„Z"dd„Z#Gdd„deƒZ$e%j&dj'ƒƒZ(dd„Z)dd„Z*dd„Z+d d!d"œZ,d#d$„Z-d%d&„Z.d'd(„Z/d)d*d+d,gZ0d1d/d0„Z1dS)2z6setuptools.command.bdist_egg Build .egg distributionsé)ÚDistutilsSetupError)Ú remove_treeÚmkpath)Úlog)ÚCodeTypeN)Úsix)Úget_build_platformÚ DistributionÚensure_directory)Ú EntryPoint)ÚLibrary)ÚCommand)Úget_pathÚget_python_versioncCstdƒS)NÚpurelib)r©rrú’/builddir/build/BUILDROOT/alt-python36-setuptools-38.5.2-7.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/setuptools/command/bdist_egg.pyÚ _get_purelibsr)Úget_python_librcCstdƒS)NF)rrrrrrscCs2d|krtjj|ƒd}|jdƒr.|dd…}|S)NÚ.rÚmoduleéiúÿÿÿ)ÚosÚpathÚsplitextÚendswith)ÚfilenamerrrÚ strip_module#s   rccs:x4tj|ƒD]&\}}}|jƒ|jƒ|||fVq WdS)zbDo os.walk in a reproducible way, independent of indeterministic filesystem readdir order N)rÚwalkÚsort)ÚdirÚbaseÚdirsÚfilesrrrÚ sorted_walk+sr$c Cs6tjdƒjƒ}t|dƒ�}|j||ƒWdQRXdS)NaR def __bootstrap__(): global __bootstrap__, __loader__, __file__ import sys, pkg_resources, imp __file__ = pkg_resources.resource_filename(__name__, %r) __loader__ = None; del __bootstrap__, __loader__ imp.load_dynamic(__name__,__file__) __bootstrap__() Úw)ÚtextwrapÚdedentÚlstripÚopenÚwrite)ÚresourceÚpyfileZ_stub_templateÚfrrrÚ write_stub5s  r.c@sŽeZdZdZd*dddeƒfd+d-d.d/gZd ddgZdd„Zdd„Zdd„Z dd„Z dd„Z dd„Z d d!„Z d"d#„Zd$d%„Zd&d'„Zd(d)„Zd S)0Ú bdist_eggzcreate an "egg" distributionú bdist-dir=Úbú1temporary directory for creating the distributionz plat-name=Úpz;platform name to embed in generated filenames (default: %s)úexclude-source-filesNú+remove all .py files from the generated eggú keep-tempÚkz/keep the pseudo-installation tree around after z!creating the distribution archiveú dist-dir=Údú-directory to put final built distributions inú skip-buildú2skip rebuilding everything (for testing/debugging)cCs.d|_d|_d|_d|_d|_d|_d|_dS)Nr)Ú bdist_dirÚ plat_nameÚ keep_tempÚdist_dirÚ skip_buildÚ egg_outputÚexclude_source_files)ÚselfrrrÚinitialize_optionsZszbdist_egg.initialize_optionscCs¨|jdƒ}|_|j|_|jdkr>|jdƒj}tjj|dƒ|_|jdkrPt ƒ|_|j ddƒ|j dkr¤t dd|j |jtƒ|jjƒo†|jƒj ƒ}tjj|j|dƒ|_ dS)NÚegg_infoÚbdistZeggr@z.egg)r@r@)Úget_finalized_commandÚei_cmdrFr=Ú bdist_baserrÚjoinr>rÚset_undefined_optionsrBr Úegg_nameZ egg_versionrÚ distributionÚhas_ext_modulesr@)rDrIrJÚbasenamerrrÚfinalize_optionscs      zbdist_egg.finalize_optionsc Csú|j|jdƒ_tjjtjjtƒƒƒ}|jj g}|j_ x�|D]ˆ}t |t ƒr¶t |ƒdkr¶tjj |dƒr¶tjj|dƒ}tjj|ƒ}||ksš|j|tjƒr¶|t |ƒdd…|df}|jj j|ƒq.+)\.(?P[^.]+)\.pycÚnamez.pyczRenaming file from [%s] to [%s])rrcÚwalk_eggr=rrrKrÚdebugr‡ÚreÚmatchÚpardirÚgroupÚremoveÚOSErrorÚrename) rDr!r"r#r•rZpath_oldÚpatternÚmZpath_newrrrrŒòs*        zbdist_egg.zap_pyfilescCs2t|jddƒ}|dk r|Stjdƒt|j|jƒS)Nr‰z4zip_safe flag not set; analyzing archive contents...)r�rNrr‹Ú analyze_eggr=r€)rDÚsaferrrr‰ s  zbdist_egg.zip_safec CsÎtj|jjpdƒ}|jdiƒjdƒ}|dkr0dS|j s>|jrLtd|fƒ‚tj dd…}|j }dj |jƒ}|jd}t j j|jƒ}d tƒ}|jsÊtt j j|jƒ|jd �t|jdƒ} | j|ƒ| jƒd S) NÚzsetuptools.installationZ eggsecutabler%zGeggsecutable entry point (%r) cannot have 'extras' or refer to a moduleérraH#!/bin/sh if [ `basename $0` = "%(basename)s" ] then exec python%(pyver)s -c "import sys, os; sys.path.insert(0, os.path.abspath('$0')); from %(pkg)s import %(base)s; sys.exit(%(full)s())" "$@" else echo $0 is not the correct name for this egg file. echo Please rename it back to %(basename)s and try again. exec false fi )rkÚa)r Ú parse_maprNZ entry_pointsÚgetÚattrsÚextrasrÚsysÚversionÚ module_namerKrrrPrBÚlocalsrkrrqr)r*r…) rDZepmÚepÚpyverÚpkgÚfullr!rPÚheaderr-rrrrŽs*      zbdist_egg.gen_headercCsltjj|jƒ}tjj|dƒ}xJ|jjjD]<}|j|ƒr(tjj||t |ƒd…ƒ}t |ƒ|j ||ƒq(WdS)z*Copy metadata (egg info) to the target_dirr£N) rrÚnormpathrFrKrIÚfilelistr#r`r^r Ú copy_file)rDÚ target_dirZ norm_egg_infoÚprefixrÚtargetrrrr„:s zbdist_egg.copy_metadata_toc Csg}g}|jdi}x|t|jƒD]n\}}}x6|D].}tjj|ƒdjƒtkr.|j|||ƒq.Wx*|D]"}|||d|tjj||ƒ<qfWqW|j j ƒ�r |j dƒ}xd|j D]Z} t | tƒr¾q®|j| jƒ} |j| ƒ}tjj|ƒjdƒs®tjjtjj|j|ƒƒr®|j|ƒq®W||fS)zAGet a list of relative paths to C extensions in the output distror£rTruÚ build_extzdl-)r=r$rrrÚlowerÚNATIVE_EXTENSIONSrbrKrNrOrHÚ extensionsr\r Zget_ext_fullnamer•Zget_ext_filenamerPr`rŠ) rDr�r‘Úpathsr!r"r#rZ build_cmdr’ÚfullnamerrrrFs(   &      zbdist_egg.get_ext_outputs)r0r1r2)r4Nr5úPkeep the pseudo-installation tree around after creating the distribution archive)r6r7r¿)r8r9r:)r;Nr<)Ú__name__Ú __module__Ú __qualname__Ú descriptionrÚ user_optionsÚboolean_optionsrErQrirjrdr“rŒr‰rŽr„rrrrrr/Cs4   Q' r/z.dll .so .dylib .pydccsLt|ƒ}t|ƒ\}}}d|kr(|jdƒ|||fVx|D] }|Vq:WdS)z@Walk an unpacked egg's contents, skipping the metadata directoryzEGG-INFON)r$Únextrœ)Úegg_dirÚwalkerr!r"r#Zbdfrrrr–fs   r–c Cs¨x0tjƒD]$\}}tjjtjj|d|ƒƒr |Sq Wtƒs.visit)Ú compression) ÚzipfilerrrrqrrcÚ ZIP_DEFLATEDÚ ZIP_STOREDÚZipFiler$r…) Ú zip_filenamerùr{rkÚcompressr|rürúrûr÷rqr"r#r)rùrkrr�×s  r�)rrTr%)2Ú__doc__Údistutils.errorsrÚdistutils.dir_utilrrÚ distutilsrÚtypesrrªrr˜r&ræZsetuptools.externrÚ pkg_resourcesrr r r Zsetuptools.extensionr Ú setuptoolsr Ú sysconfigrrrÚ ImportErrorÚdistutils.sysconfigrrr$r.r/rèréÚsplitr»r–r¡rˆrÉrÌrêrËrlr�rrrrÚsL         " $