ó Àfc@sõdZddlmZddlmZmZddlmZddlm Z ddl Z ddl Z ddl Z ddl Z ddlZddlmZddlmZmZmZdd lmZdd lmZdd lmZy#dd lmZmZd „ZWn0ek r9ddlm Z mZd„ZnXd„Z!d„Z"d„Z#defd„ƒYZ$e%j&dj'ƒƒZ(d„Z)d„Z*d„Z+ide,6de-6Z.d„Z/d„Z0d„Z1ddd d!gZ2d"d"e,d#d$„Z3dS(%s6setuptools.command.bdist_egg Build .egg distributionsiÿÿÿÿ(tDistutilsSetupError(t remove_treetmkpath(tlog(tCodeTypeN(tsix(tget_build_platformt Distributiontensure_directory(t EntryPoint(tLibrary(tCommand(tget_pathtget_python_versioncCs tdƒS(Ntpurelib(R (((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt _get_purelibs(tget_python_libR cCs ttƒS(N(RtFalse(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRscCsEd|kr%tjj|ƒd}n|jdƒrA|d }n|S(Nt.itmoduleiúÿÿÿ(tostpathtsplitexttendswith(tfilename((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt strip_module#s   ccsIxBtj|ƒD]1\}}}|jƒ|jƒ|||fVqWdS(sbDo os.walk in a reproducible way, independent of indeterministic filesystem readdir order N(Rtwalktsort(tdirtbasetdirstfiles((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt sorted_walk+s  cCsBtjdƒjƒ}t|dƒ�}|j||ƒWdQXdS(NsR 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__() tw(ttextwraptdedenttlstriptopentwrite(tresourcetpyfilet_stub_templatetf((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt write_stub5st bdist_eggcBsµeZdZddddeƒfdd d d d fd d!gZd ddgZd„Zd„Zd„Z d„Z d„Z d„Z d„Z d„Zd„Zd„Zd„ZRS("screate an "egg" distributions bdist-dir=tbs1temporary directory for creating the distributions plat-name=tps;platform name to embed in generated filenames (default: %s)sexclude-source-filess+remove all .py files from the generated eggs keep-temptks/keep the pseudo-installation tree around after s!creating the distribution archives dist-dir=tds-directory to put final built distributions ins skip-builds2skip rebuilding everything (for testing/debugging)cCsCd|_d|_d|_d|_d|_d|_d|_dS(Ni(tNonet bdist_dirt plat_namet keep_temptdist_dirt skip_buildt egg_outputtexclude_source_files(tself((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytinitialize_optionsZs      cCsý|jdƒ}|_|j|_|jdkr^|jdƒj}tjj|dƒ|_n|j dkr|t ƒ|_ n|j ddƒ|j dkrùt dd|j|jtƒ|jjƒoË|j ƒjƒ}tjj|j|dƒ|_ ndS(Ntegg_infotbdistteggR5s.egg(R5R5(tget_finalized_commandtei_cmdR;R2R1t bdist_baseRRtjoinR3Rtset_undefined_optionsR7Rtegg_namet egg_versionR t distributionthas_ext_modulesR5(R9R?R@tbasename((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytfinalize_optionscs !cCs_|j|jdƒ_tjjtjjtƒƒƒ}|jj g}|j_ xÉ|D]Á}t |t ƒrt |ƒdkrtjj |dƒrtjj|dƒ}tjj|ƒ}||ksÝ|j|tjƒr|t |ƒd|df}qqn|jj j|ƒqVWz0tjd|jƒ|jdddddƒWd||j_ XdS( Ntinstalliiisinstalling package data to %st install_datatforcetroot(R2R>t install_libRRtnormcasetrealpathRREt data_filest isinstancettupletlentisabst startswithtseptappendRtinfot call_commandR1(R9t site_packagestoldtitemROt normalized((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytdo_install_data{s ! !'cCs |jgS(N(R7(R9((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt get_outputs”scKsmx!tD]}|j||jƒqW|jd|jƒ|jd|jƒ|j||�}|j|ƒ|S(s8Invoke reinitialized command `cmdname` with keyword argsR6tdry_run(tINSTALL_DIRECTORY_ATTRSt setdefaultR2R6R`treinitialize_commandt run_command(R9tcmdnametkwtdirnametcmd((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRY—s  c CsÈ|jdƒtjd|jƒ|jdƒ}|j}d|_|jjƒrj|j rj|jdƒn|j dddƒ}||_|j ƒ\}}g|_ g}x¿t |ƒD]±\}}tjj|ƒ\} } tjj|jt| ƒdƒ} |j j| ƒtjd |ƒ|jsAttjj|ƒ| ƒn|j| ƒ|jtjd ƒ||tjj#|ƒrÝtjd|ƒ|jsÝtj$|ƒqÝnt%tjj| d ƒ|j&ƒƒtjj'tjj|j(dƒƒr3tj)dƒn|j*rI|j+ƒnt,|j-| d|j.d|jd|j/ƒƒ|j0s™t1|jd|jƒnt2|jdgƒjdt3ƒ|j-fƒdS(NR;sinstalling library code to %sRIt build_clibRMtwarn_diris.pyscreating stub loader for %st/sEGG-INFOtscriptssinstalling scripts to %stinstall_scriptst install_dirtno_episnative_libs.txts writing %stwts s removing %ss depends.txtsxWARNING: 'depends.txt' will not be used by setuptools 0.6! Use the install_requires/extras_require setup() args instead.tverboseR`tmodet dist_filesR,(4RdRRXR2R>RLR1REthas_c_librariesR6RYtget_ext_outputststubst enumerateRRRRARRWR`R+RGtreplaceRVt byte_compileRPR^RRltcopy_metadata_toRR%R&tclosetisfiletunlinktwrite_safety_flagtzip_safetexistsR;twarnR8t zap_pyfilest make_zipfileR7Rqt gen_headerR4RtgetattrR (R9tinstcmdtold_rootRht all_outputst ext_outputst to_compileR.text_nameRtextR(t archive_rootR;t script_dirt native_libst libs_file((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytrun¡sz                   $    c Cs-tjdƒxt|jƒD]\}}}xö|D]î}tjj||ƒ}|jdƒr}tjd|ƒtj |ƒn|jdƒr3|}d}t j ||ƒ}tjj|tj |j dƒdƒ} tjd|| fƒytj| ƒWntk r nXtj|| ƒq3q3WqWdS( Ns+Removing .py files from temporary directorys.pys Deleting %st __pycache__s#(?P.+)\.(?P[^.]+)\.pyctnames.pycsRenaming file from [%s] to [%s](RRXtwalk_eggR2RRRARtdebugR}tretmatchtpardirtgrouptremovetOSErrortrename( R9RRRR“Rtpath_oldtpatterntmtpath_new((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR‚òs*    cCsEt|jddƒ}|dk r%|Stjdƒt|j|jƒS(NRs4zip_safe flag not set; analyzing archive contents...(R…RER1RR�t analyze_eggR2Rv(R9tsafe((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR s   c Cs!tj|jjpdƒ}|jdiƒjdƒ}|dkrFdS|j sY|jrotd|fƒ‚nt j d }|j }dj |jƒ}|jd}t jj|jƒ}d tƒ}|jstt jj|jƒd |jƒt|jdƒ} | j|ƒ| jƒnd S( Ntssetuptools.installationt eggsecutableR!sGeggsecutable entry point (%r) cannot have 'extras' or refer to a moduleiRisH#!/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 R`ta(R t parse_mapREt entry_pointstgetR1tattrstextrasRtsystversiont module_nameRARRRGR7tlocalsR`RRgR%R&R{( R9tepmteptpyvertpkgtfullRRGtheaderR*((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR„s*      "  cCs“tjj|jƒ}tjj|dƒ}xb|jjjD]Q}|j|ƒr:tjj||t |ƒƒ}t |ƒ|j ||ƒq:q:WdS(s*Copy metadata (egg info) to the target_dirR£N( RRtnormpathR;RAR?tfilelistRRURSRt copy_file(R9t target_dirt norm_egg_infotprefixRttarget((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRz:s c Cs‡g}g}id|j6}x¡t|jƒD]�\}}}xH|D]@}tjj|ƒdjƒtkrB|j|||ƒqBqBWx3|D]+}|||d|tjj||ƒt extensionsRQR tget_ext_fullnameR“tget_ext_filenameRGRUR€( R9RˆR‰tpathsRRRRt build_cmdRŒtfullname((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRuFs( " -$(s bdist-dir=R-s1temporary directory for creating the distributionN(sexclude-source-filesNs+remove all .py files from the generated egg(s dist-dir=R0s-directory to put final built distributions in(s skip-buildNs2skip rebuilding everything (for testing/debugging)(t__name__t __module__t descriptionRR1t user_optionstboolean_optionsR:RHR^R_RYR‘R‚RR„RzRu(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR,Cs4       Q   ' s.dll .so .dylib .pydccset|ƒ}t|ƒ\}}}d|kr=|jdƒn|||fVx|D] }|VqRWdS(s@Walk an unpacked egg's contents, skipping the metadata directorysEGG-INFON(R tnextRš(tegg_dirtwalkerRRRtbdf((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR”fs   c CsíxBtjƒD]4\}}tjjtjj|d|ƒƒr |Sq WtƒsRtSt}xŽt |ƒD]€\}}}xn|D]f}|j dƒs{|j dƒr¥q{q{|j dƒsÃ|j dƒr{t ||||ƒoÛ|}q{q{WqeW|S(NsEGG-INFOs.pys.pyws.pycs.pyo( t safety_flagstitemsRRR€RAtcan_scanRtTrueR”Rt scan_module( RËRvtflagtfnR¢RRRR“((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR¡qs$  &cCsÀx¹tjƒD]«\}}tjj||ƒ}tjj|ƒrq|dks^t|ƒ|kr¸tj|ƒq¸q |dk r t|ƒ|kr t |dƒ}|j dƒ|j ƒq q WdS(NRps ( RÎRÏRRRAR€R1tboolR}R%R&R{(RËR¢RÓRÔR*((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR~ƒs szip-safes not-zip-safec Cs¨tjj||ƒ}|d |kr)tS|t|ƒdjtjdƒ}||r[dp^dtjj|ƒd}tj dkrŽd}ntj dkr¦d }nd }t |d ƒ}|j |ƒt j |ƒ} |jƒt} tjt| ƒƒ} x<d d gD].} | | kr tjd|| ƒt} q q Wd| kr¤xZdddddddddddg D].} | | krotjd|| ƒt} qoqoWn| S(s;Check whether module possibly uses unsafe-for-zipfile stuffiÿÿÿÿiRR£iiiii itrbt__file__t__path__s%s: module references %stinspectt getsourcet getabsfilet getsourcefiletgetfilegetsourcelinest findsourcet getcommentst getframeinfotgetinnerframestgetouterframeststackttraces"%s: module MAY be using inspect.%s(ii(ii(RRRARÑRSRxRVRR«t version_infoR%treadtmarshaltloadR{tdicttfromkeyst iter_symbolsRR�R( RËRR“RvRR²RtskipR*tcodeR¢tsymbolstbad((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRÒ–s:#*          ccsyx|jD] }|Vq WxY|jD]N}t|tjƒrC|Vq#t|tƒr#xt|ƒD] }|Vq_Wq#q#WdS(sBYield names and strings used by `code` and its nested code objectsN(tco_namest co_constsRQRt string_typesRRë(RíR“tconst((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRëºs cCsDtjjdƒ r&tjdkr&tStjdƒtjdƒdS(Ntjavatclis1Unable to analyze compiled code on this platform.sfPlease ask the author to include a 'zip_safe' setting (either True or False) in the package's setup.py(R«tplatformRURÑRR�(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRÐÆs" RMRnRJt install_baseiR!c sôddl}ttjj|ƒdˆƒtjd|ˆƒ‡‡fd†}|r\|jn|j}ˆsÀ|j ||d|ƒ} x-t ˆƒD]\} } } || | | ƒq�W| j ƒn0x-t ˆƒD]\} } } |d| | ƒqÍW|S(sqCreate a zip file from all the files under 'base_dir'. The output zip file will be named 'base_dir' + ".zip". Uses either the "zipfile" Python module (if available) or the InfoZIP "zip" utility (if installed and found on the default search path). If neither tool is available, raises DistutilsExecError. Returns the name of the output zip file. iÿÿÿÿNR`s#creating '%s' and adding '%s' to itcsˆx�|D]y}tjjtjj||ƒƒ}tjj|ƒr|tˆƒd}ˆsm|j||ƒntjd|ƒqqWdS(Nis adding '%s'( RRRµRAR|RSR&RR•(tzRgtnamesR“RR.(tbase_dirR`(s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytvisitäs !t compression( tzipfileRRRRgRRXt ZIP_DEFLATEDt ZIP_STOREDtZipFileR R{R1( t zip_filenameRúRqR`tcompressRrRýRûRüRøRgRR((RúR`s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRƒ×s   (4t__doc__tdistutils.errorsRtdistutils.dir_utilRRt distutilsRttypesRR«RR–R"Rçtsetuptools.externRt pkg_resourcesRRRR tsetuptools.extensionR t setuptoolsR t sysconfigR R Rt ImportErrortdistutils.sysconfigRRR R+R,RéRêtsplitR¾R”R¡R~RÑRRÎRÒRëRÐRaRƒ(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytsL          ÿ!    $