/usr/lib/python2.6/site-packages/pbr
NameSizeModeActions
cmd/-0755rm
hooks/-0755rm
tests/-0755rm
builddoc.py90840644editdlrm
builddoc.pyc77030644editdlrm
core.py62410644editdlrm
core.pyc34060644editdlrm
extra_files.py10960644editdlrm
extra_files.pyc7630644editdlrm
find_package.py10430644editdlrm
find_package.pyc7450644editdlrm
git.py99170644editdlrm
git.pyc93090644editdlrm
options.py23710644editdlrm
options.pyc5320644editdlrm
packaging.py229910644editdlrm
packaging.pyc230420644editdlrm
pbr_json.py11880644editdlrm
pbr_json.pyc7520644editdlrm
testr_command.py54460644editdlrm
testr_command.pyc57490644editdlrm
util.py248780644editdlrm
util.pyc176260644editdlrm
version.py185610644editdlrm
version.pyc165280644editdlrm
__init__.py00644editdlrm
__init__.pyc1280644editdlrm
Edit: /usr/lib/python2.6/site-packages/pbr/packaging.pyc (23042B)
;vVc@sdZddklZddklZddklZddkZddk Z ddk Z ddk Z ddk Z ddk Z ddklZddklZddklZddklZdd klZdd klZdd klZdd klZdd klZddkZddklZddklZd@ZdAZdZdZdZdZ de"dZ#ddZ$deifdYZ%deifdYZ&dei'fdYZ(d e i)fd!YZ*d"Z+y3dd#k,l-Z-d$e-i.fd%YZ/e0Z1Wne2j o e"Z1nXd&Z3d'Z4d(Z5he5d)6e5d*6e4d+6Z6e i7i8e i9e"d,Z:d-eifd.YZ;d/eifd0YZ<d1ei=fd2YZ>d3eifd4YZ?d5Z@d6eifd7YZAy,dd8klBZBe0ZCeBiDZDeBiEZEWn%e2j oe"ZCdZDdZEnXd9ZFd:ZGd;ZHd<ZIdd=ZJd>ZKdd?ZLeiMiNZNdS(Bu4 Utilities with minimum-depends for use in setup.py i(tunicode_literals(tinstall(tlogN(tdevelop(t easy_install(tegg_info(tinstall_scripts(tsdist(t extra_files(tgit(toptions(t testr_command(tversionurequirements.txtutools/pip-requiresutest-requirements.txtutools/test-requirescCswtiid}|otd|idDSttdtti di tti i t tt S(NuPBR_REQUIREMENTS_FILEScssx|]}|iVqWdS(N(tstrip(t.0tf((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pys 5s u,u-pyi(tostenvirontgetttupletsplittlisttmaptstrtsyst version_infotjointpathtsplitexttREQUIREMENTS_FILES(tfiles((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pytget_requirements_files2s cCsTg}|i|d}|o|i|n|i|di|||=\2i(tretsubtgroup(tmatch((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt egg_fragmentZs u#u-ru it strip_markersu\s*-e\s+u\s*-e\s+.*#egg=(.*)$u \s*https?:u\s*https?:.*#egg=(.*)$u\s*-f\s+uIndex Locationu#.*$uu;iu[pbr] Excluding %s: %s(tNoneRR3R t startswitht partitiontparse_requirementst pkg_resourcest Requirementtparset project_namet ValueErrorR4R7R5tfindR Rtinfo( R0R9R8t requirementstlinetreq_fileRAtreasontsemi_pos((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyR=UsF         cCs|djo t}ng}xt|D]w}tid|oq-ntid|o |itidd|q-tid|o|i|q-q-W|S(Nu (\s*#)|(\s*$)u \s*-[ef]\s+uu \s*https?:(R:RR3R4R7R R5(R0tdependency_linksRF((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pytparse_dependency_linkss    tInstallWithGitcBseZdZdZdZRS(uExtracts ChangeLog and AUTHORS from git then installs. This is useful for e.g. readthedocs where the package is installed and then docs built. uinstallcCst|itii|S(N(t _from_gitt distributionRtrun(tself((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyROs (t__name__t __module__t__doc__t command_nameRO(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRLst LocalInstallcBseZdZdZdZRS(uRuns python setup.py install in a sensible manner. Force a non-egg installed in the manner of single-version-externally-managed, which allows us to install manpages and config files. uinstallcCst|itii|S(N(RMRNt du_installRRO(RP((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyROs (RQRRRSRTRO(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRUst TestrTestcBseZdZdZdZRS(u&Make setup.py test do the right thing.utestcCstii|dS(N(R tTestrRO(RP((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyROs(RQRRRSRTRO(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRWstLocalRPMVersioncBs;eZdZeZgZdZdZdZdZRS(u:Output the rpm *compatible* version string of this packageu rpm_versioncCs:tid|ii}ti|iiGHdS(Nu[pbr] Extracting rpm version(RRDRNtget_nameR t VersionInfotsemantic_versiont rpm_string(RPtname((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyROs cCsdS(N((RP((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pytinitialize_optionsscCsdS(N((RP((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pytfinalize_optionss( RQRRRSt descriptiont user_optionsRTROR_R`(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRYs  cCstiS(N(R t have_testr(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRcs(tcommandstNoseTestcBseZdZdZdZRS(u)Fallback test runner if testr is a no-go.utestcCstii|dS(N(Rdt nosetestsRO(RP((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyROs(RQRRRSRTRO(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRescCstS(N(t _have_nose(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt have_nosesu5#PBR Generated from %(group)r import threading from %(module_name)s import %(import_target)s if __name__ == "__main__": import argparse import socket import wsgiref.simple_server as wss my_ip = socket.gethostbyname(socket.gethostname()) parser = argparse.ArgumentParser( description=%(import_target)s.__doc__, formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('--port', '-p', type=int, default=8000, help='TCP port to listen on') args = parser.parse_args() server = wss.make_server('', args.port, %(invoke_target)s()) print("*" * 80) print("STARTING test server %(module_name)s.%(invoke_target)s") url = "http://%%s:%%d/" %% (my_ip, server.server_port) print("Available at %%s" %% url) print("DANGER! For testing only, do not use in production") print("*" * 80) server.serve_forever() else: application = None app_lock = threading.Lock() with app_lock: if application is None: application = %(invoke_target)s() u# PBR Generated from %(group)r import sys from %(module_name)s import %(import_target)s if __name__ == "__main__": sys.exit(%(invoke_target)s()) uconsole_scriptsu gui_scriptsu wsgi_scriptsc cstid||}xtiD]\}}x|i|iD]\}}|i pt|idjotdn|td|d|i d|iddd i |i}|||fVqDWq"Wd S( u$Override entrypoints console_script.uiuBScript targets must be of the form 'func' or 'Class.class_method'.R6t module_namet import_targetit invoke_targetu.N( Rtget_script_headertENTRY_POINTS_MAPtitemst get_entry_maptattrstlenRBtdictRiR( tdistt executablet is_wininsttheaderR6ttemplateR^tept script_text((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pytoverride_get_script_args6s  !   t LocalDevelopcBseZdZdZRS(udevelopcCsZtidjotii||S|ip(x%t|D]}|i|q;WndS(Nuwin32(RtplatformRtinstall_wrapper_scriptstexclude_scriptsRzt write_script(RPRstargs((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyR}Ls   (RQRRRTR}(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyR{HstLocalInstallScriptscBseZdZdZdZRS(u(Intercepts console scripts entry_points.uinstall_scriptsc Cs4ddk}|id|iio|iiii|n g|_|iodS|i d}t i |i t i |i |i|i|i}|i d}t|dti}t|i ddt}tidjo t}nti}d|}x'||||D]}|i|qWdS( Niuegg_infou build_scriptsu executableu bdist_wininstu _is_runninguntu"%s"(t!distutils.command.install_scriptst run_commandRNtscriptstcommandRROtoutfilestno_eptget_finalized_commandR>t Distributiontegg_baset PathMetadataRtegg_namet egg_versiontgetattrRtsys_executabletFalseRR^Rztget_script_argsR( RPt distutilstei_cmdRstbs_cmdRtRuRR((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyROXs0        (RQRRRSRTRO(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRTstLocalManifestMakercBs eZdZdZdZRS(u?Add any files that are in git and some standard sensible files.cCs4x-dddddgD]}|ii|qWdS(Nuinclude AUTHORSuinclude ChangeLoguexclude .gitignoreuexclude .gitreviewuglobal-exclude *.pyc(tfilelisttprocess_template_line(RPt template_line((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt_add_pbr_defaultsscCs|iid}tii||ii|i|ii|i|iit i t i |dd}|p+t i}|o|ii|qn%tii|io|in|id}|i|iidd|idS(Nupbruskip_git_sdistuSKIP_GIT_SDISTuegg_infou*tprefix(RNtget_option_dictRt add_defaultsRR RwtmanifestR!Rtget_extra_filesR tget_boolean_optionR t_find_git_filesRRR(t read_manifestRRtinclude_patternR(RPt option_dictt should_skiptrcfilesR((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRs     (RQRRRSRR(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyR|s t LocalEggInfocBseZdZdZdZRS(uAOverride the egg_info command to regenerate SOURCES.txt sensibly.uegg_infocCstii|id}tii| p#tiidpdtijo?tidt |i }||_ |i |i |_ nVtidti|_ x6t|diidD]}|i i|qWdS( upGenerate SOURCES.txt only if there isn't one already. If we are in an sdist command, then we always want to update SOURCES.txt. If we are not in an sdist command, then it doesn't matter one flip, and is actually destructive. However, if we're in a git context, it's always the right thing to do to recreate SOURCES.txt u SOURCES.txtu.gitusdistu[pbr] Processing SOURCES.txtu"[pbr] Reusing existing SOURCES.txturu N(RRRRR(RtargvRRDRRNRRORtFileListR,R/RR (RPtmanifest_filenametmmtentry((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt find_sourcess     (RQRRRSRTR(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRscCs_|id}ti}|oti|}ntid|d|tid|dS(NupbrRt changelog(RR t_iter_log_onelinet_iter_changelogtwrite_git_changelogtgenerate_authors(RNRR((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRMs  t LocalSDistcBseZdZdZdZRS(u5Builds the ChangeLog and Authors files from VC first.usdistcCs!t|itii|dS(N(RMRNRRO(RP((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyROs (RQRRRSRTRO(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyRs(tbuilddoccCstS(N(t _have_sphinx(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt have_sphinxsc sih|o|d}nd}tid|g|}td}g}|idD]1}|iido|||iqYqY~}t}xE|D]=} |ig} | idD]} | | iq~ qWfd} | d|d | d |d | d |d | d |dx|D]} t i d| q:Wi d dS(uCalculate the sort of semver increment needed from git history. Every commit from HEAD to tag is consider for Sem-Ver metadata lines. See the pbr docs for their syntax. :return: a dict of kwargs for passing into SemanticVersion.increment. u..HEADuHEADulogu sem-ver:u u,cs,||jot|<|i|ndS(N(tTruetdiscard(tsymboltsymbolstimpact(tresult(s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt_handle_symbols  ubugfixupatchufeatureuminoru deprecationu api-breakumajoru[pbr] Unknown Sem-Ver symbol %rN( R t_run_git_commandRqRtlowerR;R tsettupdateRRDtpopR:( tgit_dirttagt version_specRt header_lenR*RFRdRRt_[2]RR((Rs*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt_get_increment_kwargss, 4 ;cCstid|}d}xt|D]\}\}}}t}xGt|D]9}y|itii|WqPt j oqPXqPW|ot |i |fSq%Wd|fS(uReturn the commit data about the most recent tag. We use git-describe to find this out, but if there are no tags then we fall back to counting commits since the beginning of time. Riu( R Rt enumerateRRtaddR tSemanticVersiontfrom_pip_stringt Exceptiontmaxtrelease_string(RRt row_counttignoredttag_sett version_tagsR((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt_get_revno_and_last_tags    cCst|\}}tii|pd}|djo |}n|it||}|dj o0||jo#tdtd|d|n|djo|S|i |}|dj o%|i |}||jo|Sn|S(uCalculate a version from a target version in git_dir. This is used for untagged versions only. A new version is calculated as necessary based on git metadata - distance to tags, current hash, contents of commit messages. :param git_dir: The git directory we're working from. :param target_version: If None, the last tagged version (or 0 if there are no tags yet) is incremented as needed to produce an appropriate target version following semver rules. Otherwise target_version is used as a constraint - if semver rules would result in a newer version then an exception is raised. :return: A semver version object. u0iuRgit history requires a target version of %(new)s, but target version is %(target)stnewttargetN( RR RRt incrementRR:RBRrtto_dev(Rttarget_versionRtdistancet last_semvert new_versiontnew_devt target_dev((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt_get_version_from_git_targets$      cCsti}|oy@tiddg|dtidd}tii|}Wn6tj o*|otii|}qd}nXt ||}|i Sy t SWnt j odSXdS(uCalculate a version string from git. If the revision is tagged, return that. Otherwise calculate a semantic version description of the tree. The number of revisions since the last tag is included in the dev counter in the version for untagged versions. :param pre_version: If supplied use this as the target version rather than inferring one from the last tag + commit messages. udescribeu --exact-matchtthrow_on_erroru-u.uN(R t_run_git_functionsRRtreplaceR RRRR:RRtunicodet NameError(t pre_versionRttaggedRR((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt_get_version_from_git>s$      c Csddg}h}xo|D]g}yt|d}Wnttfj o qnXyti|}Wqtij o qqXqW|idd|jodS|iddS(uGet the version from package metadata if present. This looks for PKG-INFO if present (for sdists), and if not looks for METADATA (for wheels) and failing that will return None. uPKG-INFOuMETADATAuruNameuVersionN(R,tIOErrortOSErrortemailtmessage_from_filet MessageErrorRR:(t package_nametpkg_metadata_filenamest pkg_metadatatfilenametpkg_metadata_file((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt_get_version_from_pkg_metadatads  cCstiidtiidd}|o|St|}|o|St|}tiddjo|id}n|o|St ddS(uGet the version of the project. First, try getting it from PKG-INFO or METADATA, if it exists. If it does, that means we're in a distribution tarball or that install has happened. Otherwise, if there is no PKG-INFO or METADATA file, pull the version from git. We do not support setup.py version sanity in git archive tarballs, nor do we support packagers directly sucking our git repo into theirs. We expect that a source tarball be made from our git repo - or that if someone wants to make a source tarball from a fork of our repo with additional tags in it that they understand and desire the results of doing that. :param pre_version: The version field from setup.cfg - if set then this version will be the next release. u PBR_VERSIONuOSLO_PACKAGE_VERSIONiiuutf-8uVersioning for this project requires either an sdist tarball, or access to an upstream git repository. Are you sure that git is installed?N( RRRR:RRRRtencodeR(RRR ((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyt get_version|s   (urequirements.txtutools/pip-requires(utest-requirements.txtutools/test-requires(ORSt __future__Rtdistutils.commandRRVRRRRR4RR>t setuptoolstsetuptools.commandRRRRRtpbrRR R t pbr.pbr_jsonR R RtTEST_REQUIREMENTS_FILESRR'R+R3R:RR=RKRLRURXRWtCommandRYRctnoseRdRfReRRgt ImportErrorRht _wsgi_textt _script_textRmRtnormpathRtRzR{Rtmanifest_makerRRRMRRRt LocalBuildDoctLocalBuildLatexRRRRRRRtpbr_jsontwrite_pbr_json(((s*/tmp/pip-build-cD3xZi/pbr/pbr/packaging.pyts         @      '   (!       %  % &  )