/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/history.pyo (54769B)
;}vXc@sddkZddkZddkZddkZddkZddklZddklZl Z l Z ddk i Z ddk Zddk TddklZlZlZddklZlZddklZdZhd e6d e6d e6d e6d e6de6de6Z h ed 6ed 6ed 6ed 6ed 6ed6ed6ed6ed6ed6ed6Z!e"e#dZ$dfdYZ%defdYZ&de&fdYZ'dfdYZ(dfdYZ)de)fd YZ*d!fd"YZ+d#Z,dS($iN(tproxy(tsqlitet executeSQLt sql_esc_glob(t*(tYumInstalledPackagetYumAvailablePackaget PackageObject(t to_unicodetto_utf8(t getBaseArchs/var/lib/yum/historytUpdatetUpdatedtErasetInstalls True-Installt Obsoletedt Obsoletings Dep-Installt Reinstallt Downgradet DowngradedcCsV|d jo g}ndddddddg}t}x,|D]$}tii|o t}Pq?q?Wt}|pdg}t}nt||jo g}n|ot |}ng}t}xN|D]F}ti |o|i |dft}q|i |d fqW| o | o|o|||tfS|}|||tfS( svSetup need_full and patterns for _yieldSQLDataList, also see if we can get away with just using searchNames(). tnamet sql_nameArchtsql_nameVerRelArcht sql_nameVertsql_nameVerRelt sql_envrat sql_nevratglobt=N( tNonetFalsetyumtmisctre_full_search_neededtTruet PATTERNS_MAXtPATTERNS_INDEXED_MAXtlenRtre_globtappend(tpatternst ignore_casetfieldst need_fulltpattpat_maxttmpt need_glob((s//usr/lib/python2.6/site-packages/yum/history.pyt_setupHistorySearchSQL>s>         t_YumHistPackageYumDBc BsYeZdZdZedddddddd gZd Zd Zd d Z RS(s9 Class to pretend to be yumdb_info for history packages. cCs ||_dS(N(t_pkg(tselftpkg((s//usr/lib/python2.6/site-packages/yum/history.pyt__init__hst command_linet from_repotfrom_repo_revisiontfrom_repo_timestampt installed_byt changed_bytreasont releasevercCs|i}|idotd||fn||ijotd||fn|ii||}to$|djotd||fn|djodSt|pd}t ||||S(s0 Load yumdb attributes from the history sqlite. t_s%s has no yum attribute %stN( R2t startswithtAttributeErrort_valid_yumdb_keyst_historyt_load_yumdb_keyRRtstrtsetattr(R3tattrR4tval((s//usr/lib/python2.6/site-packages/yum/history.pyt __getattr__ps  cCs|i|}|dj S(N(tgetR(R3RGtx((s//usr/lib/python2.6/site-packages/yum/history.pyt __contains__scCs.yt||}Wntj o|SX|S(sretrieve an add'l data obj(tgetattrRA(R3RGtdefaulttres((s//usr/lib/python2.6/site-packages/yum/history.pyRJs N( t__name__t __module__t__doc__R5tsetRBRIRLRRJ(((s//usr/lib/python2.6/site-packages/yum/history.pyR1es   tYumHistoryPackagec BseeZdddZeddddddddd d g Zd Zd Zed dZ RS(c Cs||_||_||_||_||_|i|i|i|i|if|_|djo g|_n-|id}|d|ddfg|_d|_ ||_ t ||_ dS(Nt:iis ( RtversiontreleasetepochtarchtpkgtupRt _checksumstsplittrepoidRCR1t yumdb_info( R3RRYRXRVRWtchecksumthistorytchk((s//usr/lib/python2.6/site-packages/yum/history.pyR5s          t buildtimet buildhosttlicensetpackagertsizet sourcerpmturltvendort committert committimecCs|idotd||fn||ijotd||fn|ii||}to$|djotd||fn|djodSt|pd}t||||S(s0 Load rpmdb attributes from the history sqlite. R>s%s has no attribute %sR?N( R@RAt_valid_rpmdb_keysRCt_load_rpmdb_keyRRRERF(R3RGRH((s//usr/lib/python2.6/site-packages/yum/history.pyRIs cCsd|ijos|iid}|iidj o=d|ijo-|ii|iijod|ii}nd|ii|S|iS(s This reports the repo the package is from, we integrate YUMDB info. for RPM packages so a package from "fedora" that is installed has a ui_from_repo of "@fedora". Note that, esp. with the --releasever option, "fedora" or "rawhide" isn't authoritive. So we also check against the current releasever and if it is different we also print the YUMDB releasever. This means that installing from F12 fedora, while running F12, would report as "@fedora/13". R7R?R=t/t@N(R^RCR=RR7R](R3tend((s//usr/lib/python2.6/site-packages/yum/history.pyt _ui_from_repos  tfgetcCs |iS((Rq(R3((s//usr/lib/python2.6/site-packages/yum/history.pytsN( RPRQRR5RSRlRIRqtpropertyt ui_from_repo(((s//usr/lib/python2.6/site-packages/yum/history.pyRTs     tYumHistoryPackageStatecBseZdddZRS(c Cs8ti||||||||d|_||_dS(N(RTR5Rtdonetstate( R3RRYRXRVRWRxR_R`((s//usr/lib/python2.6/site-packages/yum/history.pyR5s  N(RPRQRR5(((s//usr/lib/python2.6/site-packages/yum/history.pyRvstYumHistoryRpmdbProblemcBs;eZdZdZdZdZeddZRS(sZ Class representing an rpmdb problem that existed at the time of the transaction. cCs7t||_||_||_||_d|_dS(N(tweakrefRCtrpidtproblemttextRt _loaded_P(R3R`R{R|R}((s//usr/lib/python2.6/site-packages/yum/history.pyR5s    cCsM|djodSt|i|i}|o| St|i|i}|S(Ni(RtcmpR|R{(R3tothertret((s//usr/lib/python2.6/site-packages/yum/history.pyt__cmp__s cCs9|idjo"t|ii|i|_n|iS(N(R~RtsortedRCt_old_prob_pkgsR{(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _getProbPkgss"RrcCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRss(RPRQRRR5RRRttpackages(((s//usr/lib/python2.6/site-packages/yum/history.pyRys   tYumHistoryTransactioncBseZdZdZdZdZdZdZeddZ eddZ edd Z d Z edd Z d Zedd ZdZdZeddZeddZRS(s# Holder for a history transaction. cCst||_|d|_|d|_|d|_|d|_|d|_|d|_|d|_d|_ d|_ d|_ d|_ t|_d|_d|_d|_d|_d|_dS(Niiiiiii(RzRCttidt beg_timestamptbeg_rpmdbversiont end_timestamptend_rpmdbversiontloginuidt return_codeRt _loaded_TWt _loaded_TDt _loaded_TSt _loaded_PROBRt_have_loaded_CMDt _loaded_CMDt _loaded_ERt _loaded_OTtaltered_lt_rpmdbtaltered_gt_rpmdb(R3R`trow((s//usr/lib/python2.6/site-packages/yum/history.pyR5s$                cCso|djodSt|i|i}|o| St|i|i}|o|St|i|i}| S(Ni(RRRRR(R3RR((s//usr/lib/python2.6/site-packages/yum/history.pyRs cCs9|idjo"t|ii|i|_n|iS(N(RRRRCt_old_with_pkgsR(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _getTransWith&s"cCs9|idjo"t|ii|i|_n|iS(N(RRRRCt_old_data_pkgsR(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _getTransData*s"cCs9|idjo"t|ii|i|_n|iS(N(RRRRCt_old_skip_pkgsR(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _getTransSkip.s"RrcCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRs3scCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRs4scCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRs5scCs9|idjo"t|ii|i|_n|iS(N(RRRRCt _old_problemsR(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _getProblems7s"cCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRs<scCs6|ip%t|_|ii|i|_n|iS(N(RR"RCt _old_cmdlineRR(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _getCmdline>s  cCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRsDscCs3|idjo|ii|i|_n|iS(N(RRRCt _load_errorsR(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _getErrorsFscCs3|idjo|ii|i|_n|iS(N(RRRCt _load_outputR(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _getOutputJscCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRsOscCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRsPs(RPRQRRR5RRRRRtt trans_witht trans_datat trans_skipRtrpmdb_problemsRtcmdlineRRterrorstoutput(((s//usr/lib/python2.6/site-packages/yum/history.pyRs"        tYumMergedHistoryTransactioncBseZdZdZeddZdZeddZdZeddZ dZ e dd Z e d Ze d Ze d Zd ZdZdZdZdZdZdZRS(cCst|ig|_|g|_|i|_|i|_|i|_|i|_d|_ d|_ g|_ d|_ t |_d|_d|_d|_d|_d|_dS(N(RSRt _merged_tidst _merged_objsRRRRRRRRRRRRRRRR(R3tobj((s//usr/lib/python2.6/site-packages/yum/history.pyR5Ss               cCs t|iS(N(RR(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _getAllTidsnsRrcCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRspscCsEtd|iD}t|djot|dSt|S(Ncssx|]}|iVqWdS(N(R(t.0R((s//usr/lib/python2.6/site-packages/yum/history.pys ss ii(RSRR%tlistR(R3R((s//usr/lib/python2.6/site-packages/yum/history.pyt _getLoginUIDsrscCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRswscCsftd|iD}t|djod|jodSd|jo|idnt|S(Ncssx|]}|iVqWdS(N(R(RR((s//usr/lib/python2.6/site-packages/yum/history.pys zs ii(RSRR%tremoveR(R3t ret_codes((s//usr/lib/python2.6/site-packages/yum/history.pyt_getReturnCodesys   cCs |iS((R(R3((s//usr/lib/python2.6/site-packages/yum/history.pyRsscCsug}t}xY|iD]N}xE|iD]:}|i|joq)n|i|i|i|q)WqWt|S(N(RSRRRZtaddR'R(R3RtfiltRR4((s//usr/lib/python2.6/site-packages/yum/history.pyRs   cCs3|djo |i}n|it|i|fS(s6 Take a pkg and return the key for it's state lookup. N(RRxRR RY(R4Rx((s//usr/lib/python2.6/site-packages/yum/history.pyt_p2sks  cCsMh}h}x4|D],}ti|}|||i<|||Z:d?Z;RS(As, API for accessing the history sqlite data. Rnc Csd|_tii|_tii|i |p$tii|d||i_ ntiid||i_ t |i_ t |i_||_d|_tii|ii pFyti|ii Wnttfj o }dSXt |i_ n-ti|ii tiot |i_ ntid|ii }xtt|D]}tii|}|tdtd !}|idd}t|djoqXnytt|Wntj o qXnXd|d |d |d f|_ ||_PqXW|idjo|i!pdSn|ii d|i |i_"tii|ii"p:yti|ii"Wqttfj o }dSXn-ti|ii"tiot |i_ ndS( NRns%s/history-*-*-*.sqliteshistory-s.sqlitet-iis%s-%s-%siii(#Rt_connRR t GenericHoldertconftostpathtnormpathR@tdb_pathRtwritableR"treadableR=t_db_filetexiststmakedirstIOErrortOSErrortaccesstW_OKRtreversedRtbasenameR%R\tmaptintt ValueErrort_db_datet_create_db_filet addon_path( R3trootRR=tetDBstdtfnametpieces((s//usr/lib/python2.6/site-packages/yum/history.pyR5sV $    "    cCs|idS(N(tclose(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt__del__scCs|idjot|iipdSyti|i|_Wn,titifj ot |i_dSXt |ii dn|ii S(NsPRAGMA locking_mode = EXCLUSIVE( RRRRRtconnectRtOperationalErrort DatabaseErrorRRtcursor(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _get_cursors  cCs |iiS(N(Rtcommit(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt_commitscCs |iiS(N(Rtrollback(R3((s//usr/lib/python2.6/site-packages/yum/history.pyt _rollbackscCs.|idj o|iid|_ndS(N(RRR (R3((s//usr/lib/python2.6/site-packages/yum/history.pyR s c CsL|i}t|d|xm|D]e\}}|djo|djo|S|djoq#n|djoq#n||jo|Sq#W|pdS|\}}} } } t|t|t| t| t| f\}}} } } |dj o(t|d||| | | |f} n"t|d||| | | f} |iS(NsSELECT pkgtupid, checksum FROM pkgtups WHERE name=? AND arch=? AND epoch=? AND version=? AND release=?sINSERT INTO pkgtups (name, arch, epoch, version, release, checksum) VALUES (?, ?, ?, ?, ?, ?)sINSERT INTO pkgtups (name, arch, epoch, version, release) VALUES (?, ?, ?, ?, ?)(RRRRt lastrowid( R3RZR_tcreatetcurt sql_pkgtupidt sql_checksumtntaRtvtrRO((s//usr/lib/python2.6/site-packages/yum/history.pyt _pkgtup2pids2       0 cCsW|i}|dj o(dt|dt|df}n|i|i||S(Ns%s:%sii(t returnIdSumRRER RZ(R3tpoRtcsum((s//usr/lib/python2.6/site-packages/yum/history.pyt _apkg2pids  (cCsYd}|i}d|jo'd|jod|i|if}n|i|i||S(Nt checksum_typet checksum_datas%s:%s(RR^R%R&R RZ(R3R"RR#tyumdb((s//usr/lib/python2.6/site-packages/yum/history.pyt _ipkg2pids  cCs|i||S(N(R$(R3R"R((s//usr/lib/python2.6/site-packages/yum/history.pyt _hpkg2pidscCsyt|to|i||St|to|i||St|to|i||S|i|id|S(N( t isinstanceRR(RR$RTR)R RZR(R3R"R((s//usr/lib/python2.6/site-packages/yum/history.pytpkg2pidscCsd}|ittfjo,|io d}qH|io d}qHn|itjo|io d}qpn|djo7ti |i}|djo|i o d}qn|S(NRRRRs Dep-Install( Rt output_statet TS_INSTALLtTS_TRUEINSTALLt reinstallt downgradestTS_ERASEt downgraded_byt _stcode2sttxtRJtisDep(ttxmbrRx((s//usr/lib/python2.6/site-packages/yum/history.pyt txmbr2state's     cCs@|i}|djodSt|d|i|f}|iS(NskINSERT INTO trans_with_pkgs (tid, pkgtupid) VALUES (?, ?)(RRRt_tidR(R3tpidRRO((s//usr/lib/python2.6/site-packages/yum/history.pyttrans_with_pid8s   cCsN|i}|djp|i odSt|d|i|f}|iS(NskINSERT INTO trans_skip_pkgs (tid, pkgtupid) VALUES (?, ?)(RRt_update_db_file_2RR7R(R3R8RRO((s//usr/lib/python2.6/site-packages/yum/history.pyttrans_skip_pidBs  cCsft|d p |djodS|i}|djodSt|d|i||f}|iS(NR7suINSERT INTO trans_data_pkgs (tid, pkgtupid, state) VALUES (?, ?, ?)(thasattrRRRR7R(R3R8RxRRO((s//usr/lib/python2.6/site-packages/yum/history.pyttrans_data_pid_begMs  cCspt|d p |djodS|i}|djodSt|dd|i||f}|idS(NR7sUPDATE trans_data_pkgs SET done = ? WHERE tid = ? AND pkgtupid = ? AND state = ? tTRUE(R<RRRR7R(R3R8RxRRO((s//usr/lib/python2.6/site-packages/yum/history.pyttrans_data_pid_endYs  c Cslt|dpdS|i}|djp|i odSt|i}t|d|i|i|f}|i }|p|Sh}|i }|||i <|idjo%x"|i D]}|||i tFALSEs}INSERT INTO trans_prob_pkgs (rpid, pkgtupid, main) VALUES (?, ?, ?)(R<RRR:Rt__str__RR7R|RR4RZR@t duplicateRR+( R3R|RtuproblemROR{RR4R8tmain((s//usr/lib/python2.6/site-packages/yum/history.pyt_trans_rpmdb_problemgs>         cCsit|dpdS|i}|djp|i odSt|d|it|f}|iS(NR7shINSERT INTO trans_cmdline (tid, cmdline) VALUES (?, ?)(R<RRR:RR7RR(R3RRRO((s//usr/lib/python2.6/site-packages/yum/history.pyt_trans_cmdlines c Cs@|i}|djodSt|dttit|tiif}|i |_ x*|D]"} |i | } |i | qgWx?|D]7} |i | i} |i| } |i| | qWx*|D]"} |i | } |i| qWx|D]} |i| qW|o|i|n|idS(NsINSERT INTO trans_beg (timestamp, rpmdb_version, loginuid) VALUES (?, ?, ?)(RRRRttimeRERR t getloginuidRR7R(R9R+R"R6R=R;RGRHR(R3t rpmdb_versiont using_pkgsttxmbrst skip_packagesRRRROR4R8R5RxR|((s//usr/lib/python2.6/site-packages/yum/history.pytbegs6    cCsb|i}|djodSx3|D]+}t|}t|d|i|fq%W|idS(NsJINSERT INTO trans_error (tid, msg) VALUES (?, ?)(RRRRR7R(R3RRterror((s//usr/lib/python2.6/site-packages/yum/history.pyt _log_errorss   cCs|djpt|d odS|i}|djodSx9|iD]+}t|}t|d|i|fqNW|idS(s6 Note that data can be either a real pkg. ... or not. R7NsSINSERT INTO trans_script_stdout (tid, line) VALUES (?, ?)(RR<Rt splitlinesRRR7R(R3tdatatmsgRRP((s//usr/lib/python2.6/site-packages/yum/history.pytlog_scriptlet_outputs    cCsK|i}t|d|fg}x|D]}|i|dq,W|S(NsfSELECT msg FROM trans_error WHERE tid = ? ORDER BY mid ASCi(RRR'(R3RRRR((s//usr/lib/python2.6/site-packages/yum/history.pyRs  cCsK|i}t|d|fg}x|D]}|i|dq,W|S(NsoSELECT line FROM trans_script_stdout WHERE tid = ? ORDER BY lid ASCi(RRR'(R3RRRR((s//usr/lib/python2.6/site-packages/yum/history.pyRs  cCst|dpdS|i}|djodSt|d|ittit||f}|i|p't|dd|if|in|dj o|i |n|`dS(NR7sINSERT INTO trans_end (tid, timestamp, rpmdb_version, return_code) VALUES (?, ?, ?, ?)sKUPDATE trans_data_pkgs SET done = ? WHERE tid = ?R>( R<RRRR7RRIRERRQ(R3RKRRRRO((s//usr/lib/python2.6/site-packages/yum/history.pyRps"      c Cs"t|dptS|ptS|ptS|iidt|i}|iioNtii | o:yti |ddWqt t fj o }tSXn|i dd}|d|}y:t|d}|it||i|iWnt t fj o }tSXtS(sappend data to an arbitrary-named file in the history addon_path/transaction id location, returns True if write succeeded, False if notR7RntmodeiR>sw+(R<RRRRER7RRRRRRRtreplacetopentwriteR tflushR R"(R3tdatanameRSttid_dirRtsafenametdata_fntfo((s//usr/lib/python2.6/site-packages/yum/history.pytwrite_addon_data s,!  c Cs|iidt|d}ti|d}g}|D]}||i|dq<~}|p|S||jodSt||d}|i} |i| S(NRnRR?R( RRRERRWRRXtreadR ( R3Rtitemt hist_and_tidt addon_infot_[1]tit addon_namesR_RS((s//usr/lib/python2.6/site-packages/yum/history.pytreturn_addon_data2s-   c Cs|i}t|d|fg}xT|D]L}t|d|d|d|d|d|dd|}|i|q,W|S( NsSELECT name, arch, epoch, version, release, checksum FROM trans_with_pkgs JOIN pkgtups USING(pkgtupid) WHERE tid = ? ORDER BY name ASC, epoch ASCiiiiiiR`(RRRTR'(R3RRRRR((s//usr/lib/python2.6/site-packages/yum/history.pyRBs  0 c Cs|i}t|d|fg}x|D]}t|d|d|d|d|d|d|dd |}|d d j|_d|_t|itjo t |_nt|it jo t |_n|i |q,W|S( Ns SELECT name, arch, epoch, version, release, checksum, done, state FROM trans_data_pkgs JOIN pkgtups USING(pkgtupid) WHERE tid = ? ORDER BY name ASC, epoch ASC, state DESCiiiiiiiR`iR>( RRRvRwRRRRxRR"RRR'(R3RRRRR((s//usr/lib/python2.6/site-packages/yum/history.pyROs   &   c Cs|i}|djp|i ogSt|d|fg}xT|D]L}t|d|d|d|d|d|dd|}|i|qLW|S( NsSELECT name, arch, epoch, version, release, checksum FROM trans_skip_pkgs JOIN pkgtups USING(pkgtupid) WHERE tid = ? ORDER BY name ASC, epoch ASCiiiiiiR`(RRR:RRTR'(R3RRRRR((s//usr/lib/python2.6/site-packages/yum/history.pyRcs  0 c Cs|i}|djp|i ogSt|d|fg}xg|D]_}t|d|d|d|d|d|dd|}|d d j|_|i|qLW|S( NsSELECT name, arch, epoch, version, release, checksum, main FROM trans_prob_pkgs JOIN pkgtups USING(pkgtupid) WHERE rpid = ? ORDER BY name ASC, epoch ASCiiiiiiR`iR>(RRR:RRTRFR'(R3R{RRRR((s//usr/lib/python2.6/site-packages/yum/history.pyRrs  0 cCs|i}|djp|i ogSt|d|fg}x<|D]4}t||d|d|d}|i|qLW|S(NsSELECT rpid, problem, msg FROM trans_rpmdb_problems WHERE tid = ? ORDER BY problem ASC, rpid ASCiii(RRR:RRyR'(R3RRRRR((s//usr/lib/python2.6/site-packages/yum/history.pyRs  !cCs_|i}|djp|i odSt|d|fg}x|D] }|dSWdS(Ns[SELECT cmdline FROM trans_cmdline WHERE tid = ?i(RRR:R(R3RRRR((s//usr/lib/python2.6/site-packages/yum/history.pyRs   cCs|i}|d jogSd}|p d}nd }|oWt|tiijo>tt|}}|ddidgt|7}n|d7}|d j o|dt |7}nt |||g}h}xt|D]l} |o5t|tiijo| d|joqq-nt || } | || d<|i | qWd }|i }t|tiijot ||n5|ddidgt|7}t |||xe|D]]} | d|joqn| d || d_| d || d_| d || d_qWd } xt|D]} | i} d } | d j o | i} n| d jp$| d jp| id | ijon6| | jot| _t| _nt| _t| _| } qFW|S(s Return a list of the last transactions, note that this includes partial transactions (ones without an end transaction). s]SELECT tid, trans_beg.timestamp AS beg_ts, trans_beg.rpmdb_version AS beg_rv, trans_end.timestamp AS end_ts, trans_end.rpmdb_version AS end_rv, loginuid, return_code FROM trans_beg JOIN trans_end USING(tid)sSELECT tid, trans_beg.timestamp AS beg_ts, trans_beg.rpmdb_version AS beg_rv, NULL, NULL, loginuid, NULL FROM trans_begs WHERE tid IN (%s)s, t?s ORDER BY tid DESCs LIMIT isSELECT tid, trans_end.timestamp AS end_ts, trans_end.rpmdb_version AS end_rv, return_code FROM trans_endiiiN(RRR%Rt constantsR$RRStjoinRERRR'RRRRRRRR"RRR(R3ttidstlimittcomplete_transactions_onlyRtsqltparamsRttid2objRRtlastcur_rvtlas_rv((s//usr/lib/python2.6/site-packages/yum/history.pytoldsj    (     $    1      cCs)|igd|}|pdS|dS(si This is the last full transaction. So any incomplete transactions do not count, by default. iiN(RuR(R3RnR((s//usr/lib/python2.6/site-packages/yum/history.pytlastscCs|i}|djp|i odS|i|dt}|djodSdh|d6}t||||fx|D] }|dSWdS(NRs\SELECT %(db)sdb_val FROM pkg_%(db)sdb WHERE pkgtupid=? and %(db)sdb_key=? tdbi(RRt_update_db_file_3R+RR(R3R4RwRGRR8RoR((s//usr/lib/python2.6/site-packages/yum/history.pyt_load_anydb_keys   cCs|i|d|S(Ntrpm(Ry(R3R4RG((s//usr/lib/python2.6/site-packages/yum/history.pyRm scCs|i|d|S(NR(Ry(R3R4RG((s//usr/lib/python2.6/site-packages/yum/history.pyRD scCs|i}|djp|i odS|i|dt}|djodSdh|d6}t||||t|f|iS(NRshINSERT INTO pkg_%(db)sdb (pkgtupid, %(db)sdb_key, %(db)sdb_val) VALUES (?, ?, ?)Rw(RRRxR+RRRR(R3R4RwRGRHRR8Ro((s//usr/lib/python2.6/site-packages/yum/history.pyt_save_anydb_keys  cCs|i|d||S(NRz(R{(R3R4RGRH((s//usr/lib/python2.6/site-packages/yum/history.pyt_save_rpmdb_keyscCs|i|d||S(NR(R{(R3R4RGRH((s//usr/lib/python2.6/site-packages/yum/history.pyt_save_yumdb_key scCs\xUtiD]J}t||d}|djoq n|i|d||ptSq WtS(se Save all the data for rpmdb for this installed pkg, assumes there is no data currently. RzN(RTRlRMRR{RR"(R3tipkgRGRH((s//usr/lib/python2.6/site-packages/yum/history.pyt _save_rpmdb#s   cCs\xUtiD]J}|ii|}|djoq n|i|d||ptSq WtS(se Save all the data for yumdb for this installed pkg, assumes there is no data currently. RN(R1RBR^RJRR{RR"(R3R~RGRH((s//usr/lib/python2.6/site-packages/yum/history.pyt _save_yumdb.s   cCs{|i}|djp|i otS|i|dt}|djotSdh|d6}t|||ftS(s= Delete all the data for rpmdb/yumdb for this installed pkg. Rs)DELETE FROM pkg_%(db)sdb WHERE pkgtupid=?RwN(RRRxRR+RR"(R3R4RwRR8Ro((s//usr/lib/python2.6/site-packages/yum/history.pyt _wipe_anydb9s  cCsh|i|dptS|i|do|i|o |i|p|itS|itS(s< Sync. all the data for rpmdb/yumdb for this installed pkg. RzR(RRRRRRR"(R3R~((s//usr/lib/python2.6/site-packages/yum/history.pyt sync_alldbHs  cCshdd6dd6dd6dd6dd6dd6}|i}|djp|i otSddddddf}xM|D]E\}}}t|d||fx|D]}|d||sX         '0D S?