MINI MINI MANI MO

Path : /lib/python2.7/site-packages/yum/
File Upload :
Current File : //lib/python2.7/site-packages/yum/transactioninfo.pyc


[c@sdZddlTddlmZmZddlmZddlmZddl	Z	ddl
Z
ddlZddlZdefdYZ
d	fd
YZdefdYZd
efdYZdfdYZdS(sK
Classes and functions for manipulating a transaction to be passed
to rpm.
i(t*(tPackageSacktPackageSackVersion(tYumInstalledPackage(tYumAvailablePackageSqliteNtGetProvReqOnlyPackageSackcBsAeZedZdZdZdZdZdZRS(cCstj|||_dS(N(Rt__init__t_need_index_files(tselft
need_files((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR(s
cCsWxP|jdtD]<}x3|j|dtD]}|j|j||q/WqWdS(Ntprimary_only(treturnFileTypestTruetreturnFileEntriest_addToDictAsListt	filenames(Rtobjtftypetfile((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt!__addPackageToIndex_primary_files,scCsKxD|jD]6}x-|j|D]}|j|j||q#Wq
WdS(N(RR
RR(RRRR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt__addPackageToIndex_files0scCsx?|jdD].\}}\}}}|j|j||qWx?|jdD].\}}\}}}|j|j||qRW|jr|j|n
|j|dS(Ntprovidestrequires(t
returnPrcoRRRRt3_GetProvReqOnlyPackageSack__addPackageToIndex_filest;_GetProvReqOnlyPackageSack__addPackageToIndex_primary_files(RRtntfltetvtr((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt_addPackageToIndex4s((	cCs=x6|jD]+}x"|j|D]}|j|qWq
WdS(N(t
pkgsByRepoR(RtrepoidR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt__buildFileIndexes>scCsU|jrEtj|rEt|_|jrEi|_|jqEntj||S(N(	Rtmisctre_primary_filenameRtindexesBuiltRt,_GetProvReqOnlyPackageSack__buildFileIndexesRtsearchFiles(Rtname((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR'Bs			(	t__name__t
__module__tFalseRRRRR&R'(((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR's			
	tTransactionDatac	BseZdZdZdZdZdZdZedddd	d
ddd
Z	dZ
d/d/dZd/dZ
dZdZedZd/d/d/d/d/dZd/d/d/d/d/dZdZdZdZdZdZdZdZeedZdZdZd Zd/d!Zd"Z d#Z!d$Z"d%Z#d/d&Z$d/d0d'Z%d/d1d(Z&d/d2d)Z'd/d3d*Z(d/d4d+Z)d/d5d,Z*d-Z+d.Z,RS(6sDData Structure designed to hold information on a yum Transaction SetcCs]g|_g|_g|_d|_i|_i|_t|_d|_t	|_
g|_d|_t
j
|_t
j
|_i|_d|_d|_d|_d|_t|_t|_g|_g|_g|_g|_g|_g|_g|_ g|_!g|_"g|_#g|_$g|_%g|_&g|_'d|_(d|_)dS(Nt/i(*tflagstvsflagstprobFilterFlagstroottpkgdictt	_namedicttsett_unresolvedMemberstdebugR+tchangedtinstallonlypkgst
state_counterttimet
tm_createdt
tm_changedtconditionalstNonetrpmdbt_pkgSackt_pkgSackCtortpkgSackPackagesRt	localSackRt_inSackt
instgroupst
removedgroupstinstenvironmentstremovedenvironmentstremovedt	installedtupdatedt	obsoletedt
depremovedtdepinstalledt
depupdatedtreinstalledt
downgradedtfailedt_future_rpmdbvt_check_future_rpmdbv(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRMsH																														cCs+t|_|jd7_tj|_dS(Ni(RR7R9R:R<(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt_changedws	cCs
t|jS(N(tlenR2(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt__len__|scCs9t|jdr%|jjSt|jSdS(Nt__iter__(thasattrt
getMembersRXtiter(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRXscCs>|jdk	r|jS|jdk	r7|j|_n|jS(N(R@R>RA(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt_getPkgSacks
tfgetcCs
|jS(N(R\(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt<lambda>stfsetcCst|d|S(NR@(tsetattr(Rtvalue((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR^stfdelcCst|ddS(NR@(R`R>(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR^stdocsPackage sack objectcCs|jr|GHndS(N(R6(Rtmsg((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt
debugprints	cstfd|j|S(Ncs
|jkS(N(toutput_state(tp(t
output_states(s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR^s(tfilterRZ(RtpkgtupRh((Rhs7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytgetMembersWithStatescCsfg}|dkr<xM|jjD]}|j|q"Wn&||jkrb|j|j|n|S(stakes an optional package tuple and returns all transaction members 
           matching, no pkgtup means it returns all transaction membersN(R>R2t
itervaluestextend(RRjt
returnlisttmembers((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRZscCstt|jS(N(tlisttsortedR5(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytgetUnresolvedMembersscCs|jj|dS(N(R5tdiscard(Rttxmbr((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytmarkAsResolvedscCsL|s!t|t|jkrH|jj|jj|jtStS(N(RVR5tcleartupdateRZRR+(Rthard((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt
resetResolveds
!
c	Cs|jd|d|d|d|d|}t|s:d	Sg}x|D]}|j|jqGWd|krqdSd|krdS|dSd	S(
sareturns the mode of the first match from the transaction set, 
           otherwise, returns NoneR(tarchtepochtvertreltutiiN(t
matchNaevrRVR>tappendtts_state(	RR(RzR{R|R}ttxmbrststatesRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytgetModes*
c
Cs|dkr|j}nJ|jj|g}|dkre|dkre|dkre|dkre|Sg}x|D]}|j\}	}
}}}
|dk	r||
krqrn|dk	r||krqrn|dk	r||krqrn|dk	r||
krqrn|j|qrW|S(s4returns the list of packages matching the args aboveN(R>RZR3tgetRjR(RR(RzR{R|R}RtresultRtRtaRRR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs$0
c	Cs||j|}|sY|jdd}t|dkrY|j|d|d}qYn|sWg}|jdk	r|jjd|g}n|r|jdk	r|jjd|g}n|s|jjd|g}nxs|D]h}|j|j	|j
xF|jjD]5\}}||kr|j
|||j|<qqWqWnx|D]}|j
|j
q^W|S(s Remove these packages from the transaction. This is more user
            orientated than .remove(). Used from kickstart/install -blah. t.iiitpatternsN(RtrsplitRVRDR>treturnPackagestpkgSackR?RmRZRjR=t	iteritemstremove(	RtpatternRtnatpkgstpkgtreqtcpkgsRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytdeselects, 


cCs&|jdko%t|jttfS(NR~R(R~R(Rt
isinstancetpoRR(Rttxmember((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt_isLocalPackagescs?|jjkrtS|j}tfd|r;tStS(stakes a packageObject, returns 1 or 0 depending on if the package 
           should/can be installed multiple times with different vers
           like kernels and kernel modules, for examplecs
|jkS(N(R8(tprov(R(s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR^s(R(R8Rtprovides_namesRiR+(RRR((Rs7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt_allowedMultipleInstallss	cCsx$|jD]}|j||jq
W|j|jkrLg|j|j<nR|jd|jx;|j|jD])}|j|jkrq|jddSqqW|j|jj||jj	|j
gj||j|j|r|j
j|jn$t|jtr'|jd7_n|jdk	rv|jtkrv|jjs`d|_qv|jj|jn|j
|jkrxf|j|j
D]Q}|jjd|rqnx-|jd|D]}|jd|jqWqWn|jj|dS(s add a package to the transactions'Package: %s.%s - %s:%s-%s already in tssPackage in same mode, skipping.NiR(tupdatest
addUpdatedRRjR2ReRRR3t
setdefaultR(RURRCt
addPackageRRRBRDR>RftTS_INSTALL_STATESthave_fastReturnFileEntriesR=R?tcontainstinstall_methodtsetAsDepR5tadd(RRtoldpotmemberRt	condtxmbr((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs6

cCs)||jkr'|jd|fdSx|j|D]}d|j_|j|rl|jj|jn$t|jt	r|j
d8_
n|jdk	r|jt
kr|jj|jn|j|jj||jj|q5W|j|=|j|ds|j|d=n|jdS(s%remove a package from the transactionsPackage: %s not in tsNii(R2ReR>RtstateRRCt
delPackageRRRBRDRfRR3R(RR5RRU(RRjRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRCs"
cCs3||jkr/t|j|dkr/dSndS(s tells if the pkg is in the classii(R2RV(RRj((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytexistsXscCsF|j|rBx0|jd|D]}|jtkr"tSq"WntS(s,true if the pkgtup is marked to be obsoletedRj(RRZRftTS_OBSOLETEDRR+(RRjRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytisObsoleted`s
cCsg|_g|_g|_g|_g|_g|_g|_g|_g|_g|_	g|_
g|_g|_g|_
x|jD]}|jtkr|jr|j
j|q|jj|q|jttfkr|r	|jr	|jj|qn|r.|jr.|jj|qn|jrpx6|jD](}||jkrA|jj|qAqAWn|jrx6|jD](}||jkr|jj|qqWn|jr|jdkr|j	j|q|jj|q|jtkr|r|jrqnx3|jD](}||jkr|jj|qqWx3|jD](}||jkrT|jj|qTqTW|jr|jj|q|jj|q|jtkr|jj|q|jtkr|jj|q|jtkr|j
j|qqW|jj|jj|jj|jj|j
j|j	j|jj|jj|jj|jj|jj|jj|jj|j
jdS(sreturns lists of transaction Member objects based on mode:
           updated, installed, erased, obsoleted, depupdated, depinstalled
           deperasedtuserN( RERFRGRHRIRJRKRLRMRNRORPRQRRRZRft	TS_UPDATEtisDepRt
TS_INSTALLtTS_TRUEINSTALLt	reinstallt
downgradestgroupstenvironmentstreasontTS_ERASEt
downgraded_byRt
TS_OBSOLETINGt	TS_FAILEDtsort(Rtinclude_reinstalltinclude_downgradeRttgtevg((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt	makelistsis																		












cCs|j|r|j|St|}t|_t|_t|j_d|_	|j
jd|jrst|_
n|j||j||S(sadds a package as an install but in mode 'u' to the ts
           takes a packages object and returns a TransactionMember ObjectR~R(RtaddTrueInstalltTransactionMembertTS_AVAILABLEt
current_stateRRfRRRR?RRRtfindObsoletedByThisMemberR(RRRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt
addInstalls
			

cCsht|}t|_t|_t|j_d|_|j	j
d|jrWt|_n|j
||S(sfadds a package as an install
           takes a packages object and returns a TransactionMember ObjectRR(RRRRRfRRRRR?RRRR(RRRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs			
cCsDt|}t|_t|_t|j_d|_|j||S(sfadds a package as an erasure
           takes a packages object and returns a TransactionMember ObjectR(	RRRRRfRRRR(RRRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytaddErases			
cCs|j|r|j|St|}t|_t|_t|j_d|_	|r~|j
j|df|jj|n|j
||j||S(seadds a package as an update
           takes a packages object and returns a TransactionMember ObjectR~R(RRRRRRRfRRRt	relatedtoRRRR(RRRRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt	addUpdates
			

cCs|j|}|jj|df|jj||j|}|s^|j|jdSd|jkr|jj	|_	n|jj|df|j
j|||fS(sqadds a package as an downgrade takes a packages object and returns
           a pair of TransactionMember ObjectstdowngradedbyRRN(RRRRRRRjR>t
yumdb_infoRR(RRRtitxmbrtatxmbr((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytaddDowngrade
scCst|}t|_t|_t|j_d|_|jj	|df|j
j	|d|jkrz|jj|_n|j
||S(sxadds a package as being updated by another pkg
           takes a packages object and returns a TransactionMember Objecttudt	updatedbyR(RRRt
TS_UPDATEDRfRRRRRt
updated_byRRR(RRtupdating_poRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs			
cCst|}t|_t|_t|j_d|_|jj	|df|j
j	||jjd|jr}t
|_n|j||S(sxadds a package as an obsolete over another pkg
           takes a packages object and returns a TransactionMember ObjectR~t	obsoletesR(RRRRRfRRRRRRR?RRRR(RRRRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt
addObsoleting1s			
cCst|}t|_t|_t|j_d|_|jj	|df|j
j	|d|jkrz|jj|_n|j
|x[|j|jtgD]A}||jkrqn|jj	|df|jj	|qW|S(szadds a package as being obsoleted by another pkg
           takes a packages object and returns a TransactionMember ObjecttodtobsoletedbyRR(RRRRRfRRRRRtobsoleted_byRRRRkRjRR(RRt
obsoleting_poRttotxmbr((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytaddObsoletedCs"			
cCs||_||_||_dS(N(R?R@RA(RR?RtpkgSackCtor((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytsetDatabases\s		cCsi}|jsn|jdkrux|jj|||jD].\}}|j|jtr@|||<q@q@Wn9x6|jj|||jD]\}}|||<qW|j	|j
j||||S(sbreturn dict { packages -> list of matching provides }
        searches in packages to be installedN(RBRDR>RtgetProvidesRRkRjRRwRC(RR(tflagtversionRRthits((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytgetNewProvidesas	++cCs[i}xN|jj|||jD].\}}|j|jts%|||<q%q%W|S(sreturn dict { packages -> list of matching provides }
        searches in packages already installed and not going to be removed(R?RRRkRjtTS_REMOVE_STATES(RR(RRRRR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytgetOldProvidesqs
+cCs5|j|||}|j|j||||S(s5return dict { packages -> list of matching provides }(RRwR(RR(RRR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRzscCsi}|jsn|jdkrux|jj|||jD].\}}|j|jtr@|||<q@q@Wn9x6|jj|||jD]\}}|||<qW|j	|j
j||||S(sbreturn dict { packages -> list of matching provides }
        searches in packages to be installedN(RBRDR>RtgetRequiresRRkRjRRwRC(RR(RRRRR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytgetNewRequiress	++cCs[i}xN|jj|||jD].\}}|j|jts%|||<q%q%W|S(sreturn dict { packages -> list of matching provides }
        searches in packages already installed and not going to be removed(R?RRRkRjR(RR(RRRRR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytgetOldRequiress
+cCs5|j|||}|j|j||||S(s5return dict { packages -> list of matching provides }(RRwR(RR(RRR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRscCs|jdk	r4|j\}}||jkr4|Sn|jj}i}xI|jdtD]5}|jr|j||jj	<n|j
|jq\W|jjt}g}xt
|D]}|jdkr|j}	|j||	|j
|j	|	fqn|j|j	tr&qn|j	|kr;qn|j}
d}	d|
krwd|
krw|
j|
jf}	n|j
|j	|	f|j||	qW|jj||j|f|_|S(s Return a simple version for the future rpmdb. Works like
            rpmdb.simpleVersion(main_only=True)[0], but for the state the rpmdb
            will be in after the transaction. RJt
checksum_typet
checksum_dataN(RSR>R9R?RRkRRRRjRtpreloadPackageChecksumsRRqR!treturnIdSumRwRRRRt transactionCachePackageChecksums(RtsctretRt_reinstalled_pkgtupsRttmaintpkg_checksum_tupsRtcsumtydbi((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pytfutureRpmDBVersions@	
		cCs{xt|jjD]f}x]|jjd|D]F}|j|jgr)|j||jt|_t|j_q)q)Wq
WdS(s>addObsoleted() pkgs for anything that this txmbr will obsoleteR(N(	Rtobsoletes_namesR?tsearchNevratobsoletedByRRRfR(RRttobs_nR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs	N(NNN(NNN(NNN(NNN(NNN(NNN(-R)R*t__doc__RRURWRXR\tpropertyRReR>RkRZRrRuR+RyRRRRRRRRRRRRRRRRRRRRRRRRRRR(((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR,KsV	*											$	
		&				\										4tConditionalTransactionDatacBseZdZdZRS(s<A transaction data implementing conditional package additioncCs$tjdtjtj|dS(NsCConditionalTransactionData will go away in a future version of Yum.(twarningstwarntErrorstYumFutureDeprecationWarningR,R(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs	
(R)R*RR(((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRstSortableTransactionDatacBsDeZdZdZdZdZdZdZdZRS(s@A transaction data implementing topological sort on it's memberscCs,g|_g|_g|_tj|dS(N(t_sortedtpathtloopsR,R(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs			cCs|jj|jt|_xk|jD]`}|jd|jd}|jtkrg|j|jn|jt	kr&|j
|q&q&Wt|_|jj
d|jdS(NRji(RRR(tTX_GREYt
sortColourt
depends_onRZRjt_doLooptTX_WHITEt_visittTX_BLACKRtinsert(RRtRtvertex((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs		cCsY|jj||j|jj|jd}t|dkrU|jj|ndS(Nii(RRtindexRVR(RR(tloop((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR
s cCs&t|_tj||g|_dS(N(RRR,RR(RR((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs	cCstj||g|_dS(N(R,RR(RRj((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR	scCsl|jr|jSg|_x<|jD].}|jtkr&g|_|j|q&q&W|jj|jS(N(RRZRRRRtreverse(RRt((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR
s			
(	R)R*RRRR
RRR(((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs						RcBs\eZdZdZd	edZdZdZdZ	dZ
dZdZRS(
sVClass to describe a Transaction Member (a pkg to be installed/
       updated/erased).cCsE||_d|_d|_d|_d|_d|_d|_g|_g|_	g|_
g|_g|_g|_
g|_g|_t|_g|_g|_d|_ddddddd	g|_x3|jD](}t|j|}t|||qW|jd
krA|jjd|jjd|jjd
ndS(NiRRjR!R(RzR{RtreleaseRJt	from_repot
releasevert
changed_by(RR>RRRfRRtprocessRR	RRRRRRR+RRRtrepopkgt_poattrtgetattrR`R!RR(RRtattrtval((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs8																			cCsE|sd|_n|rA|jj|df|jj|ndS(slsets the transaction member as a dependency and maps the dep into the
           relationship list attributeit	dependsonN(RRRR	(RRtrelonly((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRBs
cCsg}x4|jD])}|d|kr,qn|j|qW||_g}x0|jD]%}||krnqVn|j|qVW||_dS(slsets the transaction member as a dependency and maps the dep into the
           relationship list attributeiN(RRR	(RRtnreltotdatatndepon((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt	removeDepLs	cCst|j|jS(N(tcmpR(Rtother((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt__cmp__^scCs
tj|S(N(tobjectt__hash__(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyR'ascCs,d|j|j|j|j|j|jfS(Ns%s.%s %s:%s-%s - %s(R(RzR{RRR(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt__str__dscCs)d|jjt|tt|fS(Ns<%s : %s (%s)>(t	__class__R)tstrthextid(R((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt__repr__hsc
CsQd|j|j|j|j|j|jf}|d|jjj7}|d|j	7}|d|j
7}|dt|j7}|d|j
7}|dt|j7}|jr0|d7}xg|jD]\\}}d	}t|trd
}n|d|j|j|j|j|j||f7}qW|d7}nxd
ddddddgD]}t||}|rL|d|7}x[|D]S}d	}t|trd
}n|d|j|j|j|j|j|f7}q|W|d7}qLqLW|jr
|ddj|j7}n|jr0|ddj|j7}n|jrM|d|j7}n|S(Nsmbr: %s,%s,%s,%s,%s %s
s  repo: %s
s  ts_state: %s
s  output_state: %s
s  isDep: %s
s
  reason: %s
s  reinstall: %s
s  relatedto:RRs %s,%s,%s,%s,%s@%s:%ss
R	RRRRRRs  %s:s %s,%s,%s,%s,%s@%ss
  groups: %s
t s  environments: %s
s  repopkg: %s
(R(RzR{RRRRtrepoR,RRftboolRRRRRRRRtjoinRR(RRdRR}t	pkgorigintlsttthislist((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt_dumpksH	
	

				N(
R)R*RRR>R+RR"R%R'R(R-R5(((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyRs	$
					(Rt	constantstpackageSackRRtpackagesRt
sqlitesackRRRR#R:RR,RRR(((s7/usr/lib/python2.7/site-packages/yum/transactioninfo.pyt<module>s
$3

OHA YOOOO