/usr/lib/python2.6/site-packages/yum
NameSizeModeActions
callbacks.py46660755editdlrm
callbacks.pyc52780644editdlrm
callbacks.pyo52780644editdlrm
comps.py207700755editdlrm
comps.pyc175680644editdlrm
comps.pyo175680644editdlrm
config.py372920755editdlrm
config.pyc374700644editdlrm
config.pyo374700644editdlrm
constants.py46980755editdlrm
constants.pyc35750644editdlrm
constants.pyo35750644editdlrm
depsolve.py655120755editdlrm
depsolve.pyc396440644editdlrm
depsolve.pyo395860644editdlrm
Errors.py37800755editdlrm
Errors.pyc81850644editdlrm
Errors.pyo81850644editdlrm
failover.py33720755editdlrm
failover.pyc35910644editdlrm
failover.pyo35910644editdlrm
history.py624680755editdlrm
history.pyc549850644editdlrm
history.pyo547690644editdlrm
i18n.py206830755editdlrm
i18n.pyc165160644editdlrm
i18n.pyo165160644editdlrm
logginglevels.py79860755editdlrm
logginglevels.pyc66200644editdlrm
logginglevels.pyo66200644editdlrm
mdparser.py64080755editdlrm
mdparser.pyc78180644editdlrm
mdparser.pyo78180644editdlrm
metalink.py95060755editdlrm
metalink.pyc91470644editdlrm
metalink.pyo90770644editdlrm
misc.py367160755editdlrm
misc.pyc369260644editdlrm
misc.pyo368850644editdlrm
packages.py824890755editdlrm
packages.pyc796130644editdlrm
packages.pyo795720644editdlrm
packageSack.py418790755editdlrm
packageSack.pyc433720644editdlrm
packageSack.pyo433720644editdlrm
parser.py78070755editdlrm
parser.pyc65450644editdlrm
parser.pyo65450644editdlrm
pgpmsg.py544200755editdlrm
pgpmsg.pyc395980644editdlrm
pgpmsg.pyo395980644editdlrm
pkgtag_db.py49550755editdlrm
pkgtag_db.pyc52110644editdlrm
pkgtag_db.pyo52110644editdlrm
plugins.py250830755editdlrm
plugins.pyc263840644editdlrm
plugins.pyo263840644editdlrm
repoMDObject.py100840755editdlrm
repoMDObject.pyc86170644editdlrm
repoMDObject.pyo86170644editdlrm
repos.py143020755editdlrm
repos.pyc158340644editdlrm
repos.pyo157850644editdlrm
rpmsack.py687620755editdlrm
rpmsack.pyc584470644editdlrm
rpmsack.pyo583080644editdlrm
rpmtrans.py250040755editdlrm
rpmtrans.pyc235000644editdlrm
rpmtrans.pyo234430644editdlrm
sqlitesack.py713790755editdlrm
sqlitesack.pyc557780644editdlrm
sqlitesack.pyo553500644editdlrm
sqlutils.py64220755editdlrm
sqlutils.pyc57890644editdlrm
sqlutils.pyo57890644editdlrm
transactioninfo.py320070755editdlrm
transactioninfo.pyc297180644editdlrm
transactioninfo.pyo297180644editdlrm
update_md.py247140755editdlrm
update_md.pyc212960644editdlrm
update_md.pyo212960644editdlrm
yumRepo.py759780755editdlrm
yumRepo.pyc596180644editdlrm
yumRepo.pyo596180644editdlrm
__init__.py2392050755editdlrm
__init__.pyc1565380644editdlrm
__init__.pyo1563650644editdlrm
Edit: /usr/lib/python2.6/site-packages/yum/depsolve.pyc (39644B)
;}vXc@sdZddkZddkZddkZddkZddkZddkl Z l Z ddk Z ddk l Z l Z ddklZddkZddklZddkTddklZddkZddkZddkZddkZeid eidd klZlZy!ed d d jptWnd Z dZnXhei!d6ei"ei!Bd6ei#d6ei#ei"Bd6ei"d6de$6Z%de&fdYZ'de&fdYZ(de&fdYZ)de&fdYZ*dS(s' Dependency resolution module for yum. iN(tarchDifferencet canCoinstall(tuniquetversion_tuple_to_string(tTransactionMember(tListPackageSack(t*(t PackageEVRtignore(t_t_rpm_ver_atleastiicGs,x%|D]}||jo |}qqW|S(N((txtargsty((s0/usr/lib/python2.6/site-packages/yum/depsolve.pytmin0s  cGs,x%|D]}||jo |}qqW|S(N((R R R ((s0/usr/lib/python2.6/site-packages/yum/depsolve.pytmax4s  tGTtGEtLTtLEtEQitDepsolvecBs^eZdZdZdZedZedZdZdZ dZ dZ d Z d Z d d d ZdZdZedZdZdZdZdZdZdZdZdZdZdZeedZdZedZ dZ!dZ"d Z#d!Z$d"Z%e%Z&d$d#Z(RS(%s% Dependency resolving class. cCspd|_d|_d|_tid|_tid|_g|_g|_ d|_ d|_ t |_ dS(Ns yum.Depsolvesyum.verbose.Depsolve(tNonet_tst_tsInfot dsCallbacktloggingt getLoggertloggertverbose_loggertpathtloopstinstalledFileRequirestinstalledUnresolvedFileRequirestFalset_missing_requires(tself((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt__init__Es       cCs)titdtidd|iS(Ns5doTsSetup() will go away in a future version of Yum. t stackleveli(twarningstwarnR tErrorstYumFutureDeprecationWarningt_getTs(R$((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt doTsSetupSscCs|idjoM|idjo=| o0|iidjo|ii|i|indS|iipti t dn|i ||i dS(ssetup all the transaction set storage items we'll need This can't happen in __init__ b/c we don't know our installroot yetNs4Setting up TransactionSets before config class is up( RRRtpkgSackt setDatabasestrpmdbtconft installrootR)t YumBaseErrorR t _getTsInfot initActionTs(R$t remove_only((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyR+Xs   cCs|idjo|i|_|od}d}nd}|i}|ii|i|||ii|i_|i|i_ |i |i_ |i |i_ n|iS(s remove_only param. says if we are going to do _only_ remove(s) in the transaction. If so we don't need to setup the remote repos. N(RRt_transactionDataFactoryt _getSacksR.R/R0tinstallonlypkgstinstalltinstall_methodtupdatet update_methodtremovet remove_method(R$R5R-t pkgSackCtor((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyR3hs  cCs ||_dS(N(R(R$tvalue((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt _setTsInfo|scCs d|_dS(N(RR(R$((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt _delTsInfoscCs|ip|in|iS(N(RR4(R$((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt _getActionTss cCstii|ii|_htid6tid6ti d6ti d6ti d6ti d6}t tdoti|dssRts!Mode is %s for provider of %s: %ssMode for pkg providing %s: %studs"Trying to update %s to resolve depRmt requiringPos&No update paths found for %s. Failure!itods=No update paths found for %s. Failure due to requirement: %s!trequiress+Update for %s. Doesn't fix requirement: %s!Rss/TSINFO: %s package requiring %s marked as eraseRrRgtreleases-TSINFO: Obsoleting %s with %s to resolve dep.s#TSINFO: Updating %s to resolve dep.s*Cannot find an update path for dep for: %sN(R(R(Rs(RrRt(,R[tgetMembersWithStateRtTS_REMOVE_STATESRLRRRt cheaterlookupRRaRbRR R/tcontainst matchNaevrtappendRmt getProvidesRtgetModeR0t exactarchlisttfiltert obsoletesR;RRR"tstringToVersionRtTS_INSTALL_STATESt checkPrcoRkR=tsetAsDept TS_OBSOLETEDRt updated_bytmapRt returnPrcoR-($R$RRt errorlistt checkdepsRReRRRRRRRRtneedmodetneedpot providerst cheater_pottxmbrsRtinst_potinst_strti_nti_ati_eti_vti_rtthismodetorigobsRtfixedt req_lookupt newupdatestpkgtreqpkg((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyR9s        "          &&     ! "&  cCs|idjotS|djo d}nt|tititifjoti i |\}}}n3t|ti ti fjo|\}}}n|i}|i d|||||ffo!|iitd||tStS(Nitprovidess"Quick matched %s to require for %s(t _last_reqRR"ttypettypest StringTypetNoneTypet UnicodeTypeRLRRt TupleTypetListTypeRRtdebugR Rk(R$ReRfRgtr_etr_vtr_rRm((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt_quickWhatProvidess  % %c%Cs|i\}}}}}|\} } } d} d} h}|i| | | o | | fS|i| | | }x|iD]}|iid|o3|iiti t d||i |q|ng}|i |pW|i id|i}x|D]}t|i|iip|ii|o:t d|}|iiti ||i |qq|ii|o#|i|igi|iqqqW|iid|i}xs|D]g}|i|oQt|i|i o:t d|}|iiti ||i |qqqWq|q|Wt|djo0d} |i||}|i|| | fSx|iD]}|i\}}}}}|i id|d|d |d |d |}|djo3|iiti t d|||_| | fSqWg}x|iD]}|id|d|id |id|id |i }|i!|x8|D]0}||ijot"} ||_| | fSq~Wq.W|i}t|djo|d} n'|i#||d| }!|!dd} |iid| o6d} d} |i||}|i|| | fS|iid| id| i}"t|"djoe|ii$t d| |f|i i%| |"d}|i&d|d|_'t"} | |_n|ii$t d| |t(i)| t*| | }#|i+| d|#}$xa|$D]Y}|i&d|d|_'|i|_|i|jot,|i i-||iqCqCW|$p/d} d} |i||}|i|nd} | | fS(skprocesses the dependency resolution for a dep where requiring package is in the transaction setiRmsB%s is in providing packages but it is already installed, removing.Res8Potential resolving package %s has newer instance in ts.s<Potential resolving package %s has newer instance installed.iRRRRRrRts#%s already in ts, skipping this oneRRgRs#TSINFO: Marking %s as update for %stdeps$TSINFO: Marking %s as install for %st provides_for(RrRt(.RRRitreturnPackagesR/RRRaRbRR t delPackageRpR[RReRRRmtverGTtverLTt setdefaultRt searchNevratlenRRRtreturnNewestByNameR;RRgRtextendRkt_compare_providersRt addUpdateRtreasontmisctstring_to_prco_tupleRR9RR=(%R$RRRReRRRgRRRRRRtupgradedtprovSackRttspkgsttspkgRtdbpkgstdbpkgtntaRstvtrtpkgmodetresultsttresultsRtpkgstbestt pkgresultstinsttreqtupleR((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyRs    +'    -        !     "cCsS|ipdSt|ido|ii||n|ii|i|dS(sW Call the callback for processing requires, call the nicest one available. NtprocConflictPo(RRVR"t procConflictRe(R$RmR((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt_dscb_procConflicts  cCs:t}g}|\}}}|i\} } } } } tii|||}|i||t|i}|ti @oW|i d|i |ii |it }t|i|jo|o ||fSnc|ti@oT|i d| |ii |it }t|i|jo|o ||fSn|i d|i |ii |it }t|i|jo|o ||fS|i d| |ii |it }t|i|jo|o ||fSd| t|f}|i||iiti|t}|ii|||df||fS(s6processes a Conflict dep from the resolveDeps() methodRes%s conflicts with %si(RkRRLRRR$RR[ROt RPMSENSE_LESSR;ReRRtRPMSENSE_GREATERRRRRaRbRcR"RR(R$Rmtconflicttconflicting_poRRRRfRReRRRRRtlengthRR((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt_processConflicts>   cCs9x2|iD]'}|io|ii|iq q WdS(N(R[tisDepR=R(R$R((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt_undoDepInstallss  cCsd}ddk}ddk}|i|}|i|i}|idGH|ii|}|i|i dd|i d|S(Nsanaconda.prof.0isdone running depcheckttimetcallsi( thotshott hotshot.statstProfiletruncallt resolveDepstclosetstatstloadt strip_dirst sort_statst print_stats(R$tfnR/tproftrcR5((s0/usr/lib/python2.6/site-packages/yum/depsolve.pytprof_resolveDepss   cCsddk}ddk}|i}|i|i}|iddGH|id}|i|id|i d|S(Nityumprofsdone running depcheckR-i( tcProfiletpstatsR1R2R3t dump_statstStatsR7R8R9(R$R?R@R;R<tp((s0/usr/lib/python2.6/site-packages/yum/depsolve.pytcprof_resolveDepss     c Cst|ipdtdgfSt|_d|_d|_|iidt t }|}|}d}g}|i o|i i nd}x&t o||i ipdjodtdgt|fS|d7}t }x_|oWh|_|i o|i in|i|\}} } } || O}|| O}qWd|_|ot }xI|iD];\} } |i| | \}} }||O}||7}qkW|o>|i o|i in|iititdqqnd|_|ot }xI|iD];}|i|\}}||O}||7}|oPqqWx|iiddtD]}x|iiD]}x|ii d |D]}|i!tjoqn|ii"|igo|ii"|igoqn|ii#|i$|i%ph}|i&|i$dt }d|_|i'i(|i|i)i(|i$qqWqWqnW|o>|i o|i in|iititdqqnPqWxr|ii*D]a}|i+|ioH|i,d jo8|iiti-td |id |_,t.|_!qqW|i oC|i i/p|i i0q| o| o|i i0qn|iititd t |i_1t|djot|}t}x|iD]\} }}| |f|joqn|i2| |f|iiti3d| | i4f|i5dd}|iiti3d|qWd|fSt|ipdtdgfSdtdgfS(NisSuccess - empty transactionthardiisDepsolving loop limit reached.sRestarting Loopt output_statesReRts%s converted to installRrsDependency Process endings.SKIPBROKEN: %s from %s has depsolving problemss s --> sSKIPBROKEN: --> %sisSuccess - deps resolved(6RR[R RjRRRRt resetResolvedR"RkRtstartR0tdepsolve_loop_limitRRttscheckt_resolveRequirest_checkFileRequiresRt restartLoopRRaRbRct_checkConflictsR*RRRmtobsoletes_namesRRt obsoletedByR=RR tpopR-RtupR~RpRRRt skip_brokentendtchangedRtDEBUG_4trepoidtreplace(R$t full_checktskipping_brokenRt CheckRemovest CheckInstallsRterrorstdepsolve_loop_countt checkinstallst checkremovestmissingRmRtcheckdepRR'Rtobs_ntotxmbrtifrtdonetwpoterr((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyR3s                    #            cCst}t}t}t}xU|iiD]D}|io|io|i}|io d}n|djo|io d}n|djo2|itjo d}q|i p d}qn|ii |i |n|i i titd|f|i o"|io|idd|_n |i|_|itj|iidjjo|i|}t}n|i|}t}t} x|D]\} } |iob|i| | } |i i ti| |i| |ii| |i|dfd } qn|i| | \} }}|| O}||7}| |O} qW| p|ii |n|| O}q(W||||fS( NRuRtRtoRrsChecking deps for %siii(!R"R[tgetUnresolvedMembersRRRt reinstallRt TS_OBSOLETINGtupdatesRRRRaRbRR t relatedtoRRmRtstateRt _checkInstallRkt _checkRemoveRRRRRRtmarkAsResolved(R$R]t any_missingRR\R[RRt thisneedstmissing_in_pkgRmRRRbRaR((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyRKhs\        "       cCshdd6dd6dd6dd6d d 6d d6}|i|dd }d }|d ido2|d idp|d ido d }n||fS(s8 Get a sort key for a package requires from most "narrow" to least, this tries to ensure that if we have two reqs like "libfoo = 1.2.3-4" and "foo-api" (which is also provided by libxyz-foo) that we'll get just libfoo. There are other similar cases this "handles".iRiRiRiRiRici itlibs()s ()(64bit)N(Rtgett startswithtendswith(Rtmappert flagscoret namescore((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt _sort_req_keys0 ( c Cs|iid}g}|iip.x+|iD]}|i|idq/Wnt|}g}x2t|d|iD]}|di doq{n||joq{n|i i t i td|||ii|}| o=|iid| o&|i|i|i|fq{nxj|D]b}|i|ijoq0nx?|iid|id tD]} | ii|id fqoWq0Wq{W|S( NRtstrong_requirestkeyisrpmlib(s%looking for %s as a requirement of %sRRRFt dependson(RmRR0trecheck_installed_requiresRmR RjtsortedR}RxRRaRbRR R[Rt inPrcoRangeRRReRRRRn( R$Rt txmbr_reqstoldreqstoldpotretRtprovsRmtmember((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyRps8    "%cCs"|i}|id}h}x6|i|iD]$}x|iD]}d|||i |gig}|D]}||iq6~qn|ii|}|o>|i |gig}|D]}||iq~qnxj||D]^}|ii |t}|o|di}n|i|}|i ||ddffqWqW|ii|i|i|i||S(NRFt/Rit(NNN(RjR RR/tfileRequiresDataR!tinstalledFileProvidersRRRRRR;RRRmRRxRR"RmRRkRR[tgetOldProvidesR tgetNewProvidestgetInstalledPackageObjectttransactionCacheFileRequires(R$t fileRequirest nfileRequirest reverselookupRttodelRtfilestfilenameRReR_tevrtpttalready_brokenRtfnamet niFP_fnametiFPtoprovt_[1]Rmtnprovt_[2]((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyRL s  %  !        +   77 $c Cs?g}g}x |iiD]}|ii|idtoqn|id}|pqn|i|x|D]}|\}}}x|ii|||D]h} | id|idjo"| id|idjoqn|i||i |||| fqWqvWqWx|iidt D]} | i }t } x| i idD]}| p|i| i t } n|\}}}x|ii|||D]h} | id|idjo"| id|idjoqn|i||i |||| fqWqVWq.Wtdo|S|ii||S(NRFt conflictsiiii (ii i(R/treturnConflictPackagesR[RRRRRRRRRmR"RkRR t transactionCacheConflictPackages( R$RtcpkgsRmRR'RtfRR(RRf((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyRNsN 6  6 cCsr|iid|}x#|D]}|itjotSqWt|djotS|iid|ptStS(NRei( R[RRRRkRR"R/R(R$tpkgnametlstR((s0/usr/lib/python2.6/site-packages/yum/depsolve.pytisPackageInstalleds csiititdt|dd}d}fd}d}h}xL|D]D} | i|jo!|| ii| ijoq`n| || i #   )   > ( 5 k % tDepCheckcBs)eZdZdZdZdZRS(sobject that YumDepsolver uses to see what things are needed to close the transaction set. attributes: requires, conflicts are a list of requires are conflicts in the current transaction set. Each item in the lists are a requires or conflicts objectcCsg|_g|_dS(N(RR(R$((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyR%s cCs#t||}|ii|dS(N(tRequiresRR(R$Rmtreq_tuple_listtreqobj((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt addRequiresscCs#t||}|ii|dS(N(t ConflictsRR(R$tconflict_po_listt conflict_itemtconfobj((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyt addConflictss(RRRR%RR(((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyRs  RcBseZdZdZRS(sY A pure data class for holding a package and the list of things it requires. cCs||_||_dS(N(RR(R$RR((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyR%s (RRRR%(((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyRsRcBseZdZdZRS(sZ A pure data class for holding a package and the list of things it conflicts. cCs||_||_dS(N(tpkglistR'(R$RR'((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyR%s (RRRR%(((s0/usr/lib/python2.6/site-packages/yum/depsolve.pyRs(+Rtos.pathRRRtrpmUtils.transactionRLtrpmUtils.miscutilst rpmUtils.archRRRRRttransactioninfoRROt packageSackRt constantstpackagesRRbR)R't simplefilterR*tyumR R RtAssertionErrorRR&tRPMSENSE_EQUALR%RRftobjectRRRR(((s0/usr/lib/python2.6/site-packages/yum/depsolve.pytsN            !