ok

Mini Shell

Direktori : /proc/self/root/proc/self/root/usr/lib/python2.7/site-packages/yum/
Upload File :
Current File : //proc/self/root/proc/self/root/usr/lib/python2.7/site-packages/yum/packages.pyc

�
8M�bc@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZmZddl
mZddlZ
ddlmZmZmZddlZddlZddlZddlTddlmZddlZddlZejjd�dd	lmZmZy)ddl Z e!e d
�rde"Z nWne#k
r~e"Z nXddl$Z$ddl%Z%d�Z&d�Z'e(d
�Z)dde"d�Z*dfd��YZ+dfd��YZ,de-fd��YZ.e,d�Z/de/_0de.fd��YZ1de-fd��YZ2dfd��YZ3de.e2fd��YZ4d �Z5d!e4fd"��YZ6d#fd$��YZ7d%fd&��YZ8d'd>Z9d'd'>Z:d'd(>Z;d'd)>Z<d'd*>Z=d'd+>Z>d'd,>Z?d'd->Z@d'd.>ZAd'd/>ZBd0e-fd1��YZCd2eCfd3��YZDd4fd5��YZEiaFd6eEfd7��YZGe,d8�ZHdeH_0d9e6fd:��YZId;e6fd<��YZJd=eJfd>��YZKdS(?sA
Classes and functions dealing with rpm package representations.
i����N(tPopentPIPE(t
RpmUtilsError(tflagToStringtstringToVersiontcompareVerOnly(t*(t
itemgettertmedia(t
URLGrabbertURLGrabErrortgetcCs_|j|j|j}}}|j|j|j}}}tjj|||f|||f�S(s4
    Compare two Package or PackageEVR objects.
    (tepochtversiontreleasetrpmUtilst	miscutilst
compareEVR(tpo1tpo2te1tv1tr1te2tv2tr2((s0/usr/lib/python2.7/site-packages/yum/packages.pytcomparePoEVR9scCsn|j|j|j}}}|j|j|j}}}||krJtS||krZtS||krjtStS(sA
    Compare two Package or PackageEVR objects for equality.
    (RR
RtFalsetTrue(RRRRRRRR((s0/usr/lib/python2.7/site-packages/yum/packages.pytcomparePoEVREQ@scCsIi}x<|D]4}|j\}}}}}|sp|j�}|j�}|j�}|j�}|j�}n|}	d||f}
d||||f}d||f}d|||f}
d|||||f}d|||||f}xM|	|
|||
||gD]0}||kr,g||<n||j|�q
Wq
W|S(s�take a list of pkg objects and return a dict the contains all the possible
       naming conventions for them eg: for (name,i386,0,1,1)
       dict[name] = (name, i386, 0, 1, 1)
       dict[name.i386] = (name, i386, 0, 1, 1)
       dict[name-1-1.i386] = (name, i386, 0, 1, 1)       
       dict[name-1] = (name, i386, 0, 1, 1)       
       dict[name-1-1] = (name, i386, 0, 1, 1)
       dict[0:name-1-1.i386] = (name, i386, 0, 1, 1)
       dict[name-0:1-1.i386] = (name, i386, 0, 1, 1)
       s%s.%ss%s-%s-%s.%ss%s-%ss%s-%s-%ss%s:%s-%s-%s.%ss%s-%s:%s-%s.%s(tpkgtuptlowertappend(tpkgst	casematchtpkgdicttpkgtntatetvtrtnametnameArchtnameVerRelArchtnameVert
nameVerReltenvratnevratitem((s0/usr/lib/python2.7/site-packages/yum/packages.pytbuildPkgRefDictKs*
"
is$repo-epoch-name-version-release-archcCs�|dkr$t|t|��}ng}g}g}x�|D]�}|sX|j�}n||kr|j||�||=q=tj|�r|j�}	tj|�}
d}x;|	D]3}|
|�r�|j||�||=d}q�q�W|s|j	|�qq=|j	|�q=Wtj
|�}|dkrStj
|�}tj
|�}n=|dkr�d�}
|
|�}|
|�}n
td|�|||fS(s,matches up the user request versus a pkg list:
       for installs/updates available pkgs should be the 'others list' 
       for removes it should be the installed list of pkgs
       takes an optional casematch option to determine if case should be matched
       exactly. Defaults to not matching.iis$repo-epoch-name-version-release-archsrepo-pkgkeycSsDi}x1|D])}d|jj|jf}|||<q
W|j�S(Ns%s%s(trepotidtpkgKeytvalues(R!tuR$tmark((s0/usr/lib/python2.7/site-packages/yum/packages.pyt	pkgunique�s

sBad value for unique: %sN(tNoneR2tboolRtextendtmisctre_globtkeystcompile_patternR tuniquet
ValueError(R!tusercommandsR"RAR#t
exactmatchtmatchedt	unmatchedtcommandttrylisttregextfounditR1R9((s0/usr/lib/python2.7/site-packages/yum/packages.pyt
parsePackagesmsB	



	
tFakeSackcBs)eZdZd�Zd�Zd�ZRS(s, Fake PackageSack to use with FakeRepositorycCsdS(N((tself((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__init__�scCstS(sb Is calling pkg.returnFileEntries(primary_only=True) faster than
            using searchFiles(). (R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pythave_fastReturnFileEntries�scCsdS(sNdelete a pkgobject, do nothing, but make localpackages work with --skip-brokenN((RMtobj((s0/usr/lib/python2.7/site-packages/yum/packages.pyt
delPackage�s(t__name__t
__module__t__doc__RNRORQ(((s0/usr/lib/python2.7/site-packages/yum/packages.pyRL�s		tFakeRepositorycBsVeZdZd�Zd�Zd�Zd�Zd�Zd�Ze	dd��Z
RS(	s8Fake repository class for use in rpmsack package objectscCs�t}d|kr-tjj|�}t}n|jd�rO|d }t}ng}|rk|jd�nx6|D].}t|�dkr�d}n|j|�qrWdj|�|_	dS(s? Set the repoid, but because it can be random ... clean it up. t/s.rpmi����i�t?tN(
RtostpathtbasenameRtendswithR tordtjoinR4(RMtrepoidt	pathbasedtbytestbyte((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_set_cleanup_repoid�s	
	
	cCs)|j|�|j|_t�|_dS(N(RcR4R*RLtsack(RMR_((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN�s
cCs4|j|jkrdS|j|jkr,dSdSdS(Nii����i(R4(RMtother((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__cmp__�s
cCs
t|j�S(N(thashR4(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__hash__�scCs|jS(N(R4(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__str__�scCs|jS(N(R4(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_ui_id�stfgetcCs
|j�S(N(Rj(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt<lambda>�s(RRRSRTRcRNRfRhRiRjtpropertytui_id(((s0/usr/lib/python2.7/site-packages/yum/packages.pyRU�s						t
PackageObjectcBsreZdZd�Zd�Zedd��Zd�Zedd��Zd�Z	edd��Z
d	�Zedd
��Zd�Z
edd��Zd
�Zedd��Zd�Zedd��Zd�Zedd��Zd�Zedd��Zd�Zedd��Zd�Zedd��Zd�Zedd��Zd�Zedd��Zd�Zedd��Z d�Z!edd ��Z"d!�Z#edd"��Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4edd3��Z5d4�Z6RS(5sZBase Package Object - sets up the default storage dicts and the
       most common returnscCs:d|_d|_d|_d|_d|_g|_dS(N(R:R*R
RRtarcht
_checksums(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN�s					cCs!|jdkr|jS|jSdS(Nt0(RtnvraR/(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt	_ui_envra�sRkcCs
|j�S(N(Rt(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs!|jdkr|jS|jSdS(NRr(RRsR0(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt	_ui_nevrascCs
|j�S(N(Ru(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlscCs!|jdkr|jS|jSdS(NRr(Rtvrtevr(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_ui_evrscCs
|j�S(N(Rx(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl
scCs!|jdkr|jS|jSdS(NRr(Rtvratevra(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_ui_evrascCs
|j�S(N(R{(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlscCs!|jdkr|jS|jSdS(NRr(Rtnvrtnevr(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_ui_nevrscCs
|j�S(N(R~(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlscCsd|j|jfS(Ns%s.%s(R*Rp(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_nascCs
|j�S(N(R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlscCsd|j|jfS(Ns%s-%s(R
R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_vr!scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl#scCsd|j|j|jfS(Ns%s-%s.%s(R
RRp(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_vra%scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl'scCsd|j|j|jfS(Ns%s:%s-%s(RR
R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_evr)scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl+scCs d|j|j|j|jfS(Ns%s:%s-%s.%s(RR
RRp(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_evra-scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl/scCsd|j|j|jfS(Ns%s-%s-%s(R*R
R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_nvr1scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl3scCs d|j|j|j|jfS(Ns%s-%s-%s.%s(R*R
RRp(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_nvra5scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl7scCs d|j|j|j|jfS(Ns%s-%s:%s-%s(R*RR
R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_nevr9scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl;scCs&d|j|j|j|j|jfS(Ns%s-%s:%s-%s.%s(R*RR
RRp(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_nevra=s	cCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlAscCs d|j|j|j|jfS(Ns%s:%s-%s-%s(RR*R
R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_envrCscCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlEscCs&d|j|j|j|j|jfS(Ns%s:%s-%s-%s.%s(RR*R
RRp(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_envraGscCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlKscCs|jS(N(tui_envra(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRiMscCsH|jdkr.d|j|j|jf}nd|j|jf}|S(sAreturns a printable version string - including epoch, if it's setRrs%s:%s-%ss%s-%s(RR
R(RMtver((s0/usr/lib/python2.7/site-packages/yum/packages.pytprintVerPscCsA|s
dSt|j|j�}|dkr=t||�}n|S(s< Compare package to another one, only rpm-version ordering. ii(tcmpR*R(RMRetret((s0/usr/lib/python2.7/site-packages/yum/packages.pytverCMPYscCs�|j|�}|dkr3t|j|j�}n|dkr�t|d�r�t|d�r�t|j|j�}|r�|jdkr�dS|r�|jdkr�dSn|S(s4 Compare packages, this is just for UI/consistency. iR_t	installedii����(R�R�RpthasattrR_(RMReR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyRfbs*cCs[|s
tS|j|jkr tSt|d�rWt|d�rW|j|jkrWtSntS(se Compare packages for yes/no equality, includes everything in the
            UI package comparison. R_(RRR�R_R(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__eq__oscCs||kstStS(N(RR(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__ne__zscCs
t||�S(N(tgetattr(RMtkey((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__getitem__scCs<|s
dSt|j|j�}|dkr/tSt||�S(s< Compare package to another one, only rpm-version equality. iN(R:R�R*RR(RMReR�((s0/usr/lib/python2.7/site-packages/yum/packages.pytverEQ�scCs|s
dS|j|�S(s> Compare package to another one, only rpm-version inequality. N(R:R�(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pytverNE�scCs|j|�dkS(s; Uses verCMP, tests if the other _rpm-version_ is <  ours. i(R�(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pytverLT�scCs|j|�dkS(s; Uses verCMP, tests if the other _rpm-version_ is <= ours. i(R�(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pytverLE�scCs|j|�dkS(s; Uses verCMP, tests if the other _rpm-version_ is >  ours. i(R�(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pytverGT�scCs|j|�dkS(s; Uses verCMP, tests if the other _rpm-version_ is >= ours. i(R�(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pytverGE�scCs)d|jjt|�tt|��fS(Ns<%s : %s (%s)>(t	__class__RRtstrthexR4(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__repr__�scCs&tjdtjdd�t||�S(Ns8returnSimple() will go away in a future version of Yum.
t
stackleveli(twarningstwarntErrorstYumFutureDeprecationWarningR�(RMtvarname((s0/usr/lib/python2.7/site-packages/yum/packages.pytreturnSimple�s	cCs|jS(N(Rq(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pytreturnChecksums�scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs1x*|jD]\}}}|r
||fSq
WdS(N(t	checksums(RMtcsumtypetcsumtcsumid((s0/usr/lib/python2.7/site-packages/yum/packages.pytreturnIdSum�s(7RRRSRTRNRtRmR�Rutui_nevraRxtui_evrR{tui_evraR~tui_nevrRtnaR�RvR�RyR�RwR�RzR�R|R�RsR�R}R�R0R�tenvrR�R/RiR�R�RfR�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s0/usr/lib/python2.7/site-packages/yum/packages.pyRo�sh																								
												t-tYumNotFoundPackagecBs5eZd�Zd�Zedd��Zd�ZRS(cCsu|d|_|d|_|d|_|d|_|d|_||_d|_g|_t|_	tj
|_dS(Niiiii(R*RpRR
RRtsizeRqt_not_found_repoR3R4R_(RMR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN�s




				cCs|jS(s This just returns '-' (R_(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt
_ui_from_repo�sRkcCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCstS(s^check the package checksum vs the localPkg
           return True if pkg is good, False if not(R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pytverifyLocalPkg�s(RRRSRNR�Rmtui_from_repoR�(((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s		tRpmBasecBsEeZdZd�Zd�Zd�Zd�Zd�Zed�Z	d�Z
d�Zd	�Zd
�Z
d�Zded
�Zed�Zd�Zd�Zdd�Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Z edd ��Z!edd!��Z"edd"��Z#edd#��Z$edd$��Z%edd%��Z&edd&��Z'edd'��Z(d(�Z)edd)��Z*d*�Z+d+d,�Z,RS(-s2return functions and storage for rpm-specific datacCs�i|_g|jd<g|jd<g|jd<g|jd<i|_g|jd<g|jd<g|jd<g|_g|_d|_dS(Nt	obsoletest	conflictstrequirestprovidestfiletdirtghost(tprcotfilest
_changelogtlicensesR:t_hash(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN�s	



	


		cCs:|s
tS|j|jkr tS|j|jkr6tStS(N(RRR_R(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��scCs||kstStS(N(RR(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��scCst|j|j|j�S(N(t
PackageEVRRR
R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt	returnEVR�scCsY|jdkrRd|jj|j|j|j|j|jf}t	|�|_n|jS(Ns%s - %s:%s-%s-%s.%s(
R�R:R3R4RR*R
RRpRg(RMtmystr((s0/usr/lib/python2.7/site-packages/yum/packages.pyRh�s
cCs`|jj|g�}|r\g}x4|D],}|ds>q(n|jtj|��q(W|S|S(s9return list of provides, requires, conflicts or obsoletesi(R�RR R=tprco_tuple_to_string(RMtprcotypet	printabletprcostresultsR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt
returnPrco�s

c
Cs>||jkrdSt|j|�dkrF||j|kr�dSn~t|d�s}id	d6d	d6d	d6d	d6|_n|j|d	kr�t|j|�|j|<n||j|kr�dS|\}}\}}}|d	k	r�|j||�Sx?|j|�D].\}}	\}
}}tj	||�rdSqWdS(
sBreturns 1 or 0 if the pkg contains the requested tuple/tuple rangeiiit_prco_lookupR�R�R�R�N(
R�tlenR�R:R�tsettinPrcoRangeR�ti18ntstr_eq(
RMR�t	prcotupletreqntreqftreqetreqvtreqrR%tfR'R(R)((s0/usr/lib/python2.7/site-packages/yum/packages.pyt	checkPrco	s&(cCst|j||��S(s�returns true if the package has a the prco that satisfies 
           the reqtuple range, assume false.
           Takes: prcotype, requested prco tuple(R;t
matchingPrcos(RMR�treqtuple((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�*sc	Cs-|\}}\}}}g}x|j|�D]�\}	}
\}}}
tj||	�s^q.n|
dkrsd}
n|
dkr�|dkr�|dkr�|j}n|dkr�|j}n|
dkr�|j}
q�ntjj	||	|
|||
ff�}|r.|j
|	|
|||
ff�q.q.W|S(Nt=tEQR�(R�R�R�R:RR�trelRRtrangeCompareR (RMR�R�R�R�R�R�R�tresultR%R�R'R(R)RE((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�0s&(		&cCs�|jd|�rtS|djd�rtj|d�rEt}nt}x1dD]&}|d|j||�krRtSqRWntS(s�check to see if the package object provides for the requirement
           passed, including searching filelists if the requirement is a file
           depR�iRVR�R�R�(sfilesdirsghost(R�Rt
startswithR=tre_primary_filenameRtreturnFileEntries(RMR�tpri_onlytftype((s0/usr/lib/python2.7/site-packages/yum/packages.pytprovides_forMs	
cCs|jS(sreturn changelog entries(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pytreturnChangelogasR�cCs{|jrw||jkrw|ri|dkr6tj}n	tj}g|j|D]}||�rM|^qMS|j|SngS(s}return list of files based on type, you can pass primary_only=True
           to limit to those files in the primary repodataR�(R�R=tre_primary_dirnameR�(RMR�tprimary_onlytmatchtfn((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�es		*cCs�|r�g}xp|jj�D]_}|dkr:tj}n	tj}x(|j|D]}||�rQPqQqQWq|j|�qW|S|jj�S(s�return list of types of files in the package, you can pass
           primary_only=True to limit to those files in the primary repodataR�(R�R?R=R�R�R (RMR�R�R�R�R�((s0/usr/lib/python2.7/site-packages/yum/packages.pytreturnFileTypesss	cCsft|d|�sUg|j|�D]\}}}|^q#}t|d||�nt|d|�S(Nt_cache_prco_names_(R�R�tsetattrR�(RMR�R%R�R(tdata((s0/usr/lib/python2.7/site-packages/yum/packages.pytreturnPrcoNames�s+cCs tjdtjdd�|jS(Ns<getProvidesNames() will go away in a future version of Yum.
R�i(R�R�R�tYumDeprecationWarningtprovides_names(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pytgetProvidesNames�s	R�cCs@tjdtjdd�|jr<||jkr<|j|SgS(Ns_simpleFiles() will go away in a future version of Yum.Use returnFileEntries(primary_only=True)
R�i(R�R�R�R�R�(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pytsimpleFiles�s
	RkcCs|jdd�S(NR�R�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs|jdd�S(NR�R�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs|jdd�S(NR�R�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(NR�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(Ntstrong_requires(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(NR�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(NR�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(NR�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(NR�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(NR�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(NR�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(NR�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|jd�S(NR�(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs|jdt�S(NR�(R�R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs|jdt�S(NR�(R�R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs|jdt�S(NR�(R�R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs|jdt�S(NR�(R�R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs|jdt�S(NR�(R�R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs�t|d�r|jSt|d�rq|jrqtjj|j�\}}}}}||jkrq||_|Sn|j|_|jS(s\ Return the "base name" of the package, atm. we can only look at
            the sourcerpm. t_base_package_name_rett	sourcerpm(R�R�R�RRt
splitFilenameR*(RMR%R(R)R'R&((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_getBaseName�s$	cCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs|jjj�S(sb Is calling pkg.returnFileEntries(primary_only=True) faster than
            using searchFiles(). (R3RdRO(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRO�sicCs}|jd|j|j|jff}g}xL|D]D}|jd|�r1|j|�|rut|�|kruPquq1q1W|S(s� Returns list of obsoleters that obsolete this package. Note that we
            don't do obsoleting loops. If limit is != 0, then we stop after
            finding that many. R�R�(R*RR
RR�R R�(RMt
obsoleterstlimittprovtupR�tobspo((s0/usr/lib/python2.7/site-packages/yum/packages.pytobsoletedBy�s$

(-RRRSRTRNR�R�R�RhRR�R�R�R�R�R�R�R�R�R�R�Rmtfilelisttdirlistt	ghostlistR�R�R�R�R�R�trequires_nameststrong_requires_namestconflicts_namestobsoletes_namestprovides_printtrequires_printtstrong_requires_printtconflicts_printtobsoletes_printt	changelogtEVRR�tbase_package_nameROR(((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��sR						!								R�cBsVeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
RS(	s�
    A comparable epoch, version, and release representation. Note that you
    almost certainly want to use pkg.verEQ() or pkg.verGT() etc. instead.
    cCs1||_||_||_||_||_dS(N(RR�R
R�R(RMR'R(R)((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN�s
				cCs7tjj|j|j|jf|j|j|jf�S(N(RRRRR�R�(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pytcompare�scCs|j|�dkrtStS(Ni(RRR(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__lt__�scCs|j|�dkrtStS(Ni(RRR(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__gt__�scCs|j|�dkrtStS(Ni(RRR(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__le__�scCs|j|�dkrtStS(Ni(RRR(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__ge__�scCs
t||�S(N(R(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��scCs||kstStS(N(RR(RMRe((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�s(RRRSRTRNRRRRRR�R�(((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s							tYumAvailablePackagecBs�eZdZd(d�Zd�Zedd��Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
edd��Zee�Zed��Zd
�Zee�Zd�Zee�Zd�Zee�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zed��Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&e'd �Z(d!�Z)d"�Z*d#�Z+d$�Z,d%�Z-d&d'�Z.RS()s}derived class for the  packageobject and RpmBase packageobject yum
       uses this for dealing with packages in a repositorycCs�tj|�tj|�|j|_||_d|_t|_	d|_
|dkr~|j|�|j|_
|j|_n|j|j|j|j|jf|_dS(N(RoRNR�R4R_R3R:tstateRt_loadedfilest_verify_local_pkg_cachetimportFromDictR
R�RR�R*RpRR(RMR3R#((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN
s

				
cCs�|jdkr�d|jkr�d}|jjdk	rpd|jkrp|jj|jjkrpd|jj}nd|jj|S|jS(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 authoritative.
            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". R�t	from_repoRXt
releaseverRVt@N(R_t
yumdb_infotrpmdbRR:R(RMtend((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�s	RkcCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl.scCs|jjj|�dS(sremove self from package sackN(R3RdRQ(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pytexclude0scCsH|jdkr.d|j|j|jf}nd|j|jf}|S(sAreturns a printable version string - including epoch, if it's setRrs%s:%s-%ss%s-%s(RR
R(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�4scCs#|j�}d|j|j|fS(Ns%s.%s %s(R�R*Rp(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pytcompactPrint=scCs|jS(N(tpackagesize(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_sizeAscCs|jS(N(trelativepath(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_remote_pathDscCs\|j}|r?|ddkr,|d}ntj||j�Stj|jjd|j�S(s�returns a URL that can be used for downloading the package.
        Note that if you're going to download the package in your tool,
        you should use self.repo.getPackage.i����RVi(tbasepathturlparseturljointremote_pathR3turls(RMtbase((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_remote_urlGs	
cCs
|j�S(N(R&(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlSscCs
|j�S(N(R/(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlUscCs�t|d�r|jSt|j�s8|j|_|jS|jdd}tj|dd�}|jdd�}|jd�}|dkr�|d|d!}n||_|jS(	sDReturns the name of the last person to do a commit to the changelog.t_committer_retiiterrorstreplacetasciis> i����(	R�R0R�RtpackagerR=t
to_unicodetencodetfind(RMtvaltix((s0/usr/lib/python2.7/site-packages/yum/packages.pyt
_committerWs	cCsSt|d�r|jSt|j�s8|j|_|jS|jdd|_|jS(s5Returns the time of the last commit to the changelog.t_committime_reti(R�R;R�Rt	buildtime(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_committimenscCs|jddS(sReturns the 'default' checksumii(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt	_checksum~scCsd|jdkrdStj|j�\}}}}}|dkr`t|�dkrVdSt|�SdS(NRi(R)R:R*turlsplitR�tint(RMtschemetnetlocRZtquerytfragid((s0/usr/lib/python2.7/site-packages/yum/packages.pyt
getDiscNum�s!
cCs_|j�}tjj�}ytjj||�}Wn$tjk
rZtjd|�nX|S(Ns"Package Header %s: RPM Cannot open(	tlocalPkgRttransactiontinitReadOnlyTransactionRthdrFromPackageRR�t	RepoError(RMtrpmfilettsthdr((s0/usr/lib/python2.7/site-packages/yum/packages.pytreturnHeaderFromPackage�scCstjj|j��rky#tj|j��}|d}Wq{tjtfk
rgtj	d|�q{Xntj	d|�|S(sTreturns an rpm header object from the package object's local
           header cacheisPackage Header %s: Cannot opens Package Header %s: Not Available(
RYRZtexiststlocalHdrtrpmtreadHeaderListFromFileterrort
IndexErrorR�RJ(RMthlistRM((s0/usr/lib/python2.7/site-packages/yum/packages.pytreturnLocalHeader�scCsEt|d�s>tjj|j�}|jjd||_n|jS(sBreturn path to local package (whether it is present there, or not)t	localpathRV(R�RYRZR[R,R3tpkgdirRW(RMtrpmfn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRF�scCsSt|d�sLtjj|j�}|d d}|jjd||_n|jS(sWreturn path to local cached Header file downloaded from package 
           byte rangesthdrpathi����s.hdrRV(R�RYRZR[R,R3thdrdirRZ(RMtpkgnamethdrname((s0/usr/lib/python2.7/site-packages/yum/packages.pyRP�s
c	Csytj|j��}Wntk
r/}tSXt|d�r�|jr�|j}|j|jkr�|j|jkr�|j	|j	kr�|j
|j
kr�tSn|j�\}}y%t
j||j�d|j�}Wntjk
r�tSX||kr�tS||_tS(s^check the package checksum vs the localPkg
           return True if pkg is good, False if notRtdatasize(RYtstatRFtOSErrorRR�Rtst_inotst_devtst_mtimetst_sizeRR�R=tchecksumR%R�t	MiscError(RMtnstR'tostt	csum_typeR�tfilesum((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s,			cCswtdkrdSt|d�r,t|d�S|j�s<dSytj|j�d�}WndSXt|d|�|S(s� Get the user.xdg.origin.url value from the local pkg. ... if it's
            present. We cache this so we can access it after the file has been
            deleted (keepcache=False). t__cached_localXattrUrlsuser.xdg.origin.urlN(txattrR:R�R�R�RRFR�(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_localXattrUrl�s
cCs
|j�S(N(Rm(tx((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs&tjdtjdd�tj|�S(s1convert the prco tuples into a nicer human strings9prcoPrintable() will go away in a future version of Yum.
R�i(R�R�R�R�R=R�(RMt	prcoTuple((s0/usr/lib/python2.7/site-packages/yum/packages.pyt
prcoPrintable�s	cCs|jS(s.return a list of requires in normal rpm format(R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pytrequiresList�scCs|j|jdfgS(Ni(t
checksum_typetpkgId(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��scCs�t|d�rW|j\}}}}}||_||_||_||_||_nt|d�r�|jd|_|jd|_	nt|d�r�|j
d|_|j
d|_|j
d|_
nt|d	�r|jjd
�}|dkrd-}n||_|jd|_nt|d
�rO|jd|_|jd|_nt|d�r�x=ddddddddgD]}t|||j|�q}W|jjdd�|_|jj|jd�nt|d�r6xT|jD]F}	|j|	}
|
|jkrg|j|
<n|j|
j|	�q�Wnt|d�r�x�|jD]�}x�|j|D]r}|d}
|jd�}|jd�}|jd �}|jd!�}|j|j|
||||ff�qcWqOWnt|d"�rLxZ|jD]L}|jd#�}|jd$�}|jd%�}|jj|||f�q�Wnt|d&�r�|j d'}|j d$}|j d(}|d-ks�|j!�d)kr�d*}n!|j!�d+kr�d,}nd*}|j"j|||f�nd-S(.s^handles an mdCache package dictionary item to populate out 
           the package informationR0ttimetbuildR�R�tpackagetarchiveR�tlocationR.RXthrefthdrangetstartR"tinfotsummarytdescriptionR4tgroupt	buildhostR�turltvendors
tlicenseR�R�R*tflagsRR�R�RtdatetvaluetauthorRettypetpkgidtNOitYESiN(#R�R0R*RR
RpRRtR<tfiletimeR�R%tarchivesizet
installedsizeRxRR:R)R'RzthdrstartthdrendR�R|R}R2R�R R�R�RR�RetupperRq(RMR#R%R'R(R)R&R�R1R�R�trtypetrdictR*R�tcdictR�ttextR�tctypeR�R�((s0/usr/lib/python2.7/site-packages/yum/packages.pyRsx						

1 


		cCs\tjj|j�}tjj|j�}dtj|dt�tj|dt�f}|S(Ns$<location xml:base="%s" href="%s"/>
tattrib(RYRZtdirnamet
remote_urlR[R=tto_xmlR(RMR.Rytmsg((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_return_remote_locationSs
+cCs�d}}|jr(tj|j�}n|jrFtj|j�}n|jd\}}}d|j|j|j|j|j	||tj|j
�tj|j�|||j|j
|j|j|jf}||j�7}|S(NRXis3
  <name>%s</name>
  <arch>%s</arch>
  <version epoch="%s" ver="%s" rel="%s"/>
  <checksum type="%s" pkgid="YES">%s</checksum>
  <summary>%s</summary>
  <description>%s</description>
  <packager>%s</packager>
  <url>%s</url>
  <time file="%s" build="%s"/>
  <size package="%s" installed="%s" archive="%s"/>
(R4R=R�R�R�R*RpRR�R�R}R~R�R<R%R�R�R�(RMR4R�RiR�R�R�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_dump_base_items[s
			cCs�d}|jr,|dtj|j�7}n
|d7}|jr\|dtj|j�7}n
|d7}|jr�|dtj|j�7}n
|d7}|jr�|dtj|j�7}n
|d	7}|jr�|d
tj|j�7}n
|d7}|d|j|jf7}||j	d
�7}||j
�7}||j	d�7}||j	d�7}||jt�7}|ddkr�|d7}n|d7}|S(Ns  <format>
s"    <rpm:license>%s</rpm:license>
s    <rpm:license/>
s     <rpm:vendor>%s</rpm:vendor>
s    <rpm:vendor/>
s    <rpm:group>%s</rpm:group>
s    <rpm:group/>
s&    <rpm:buildhost>%s</rpm:buildhost>
s    <rpm:buildhost/>
s&    <rpm:sourcerpm>%s</rpm:sourcerpm>
s    <rpm:sourcerpm/>
s+    <rpm:header-range start="%s" end="%s"/>R�R�R�i����s
s  </format>(
R�R=R�R�RR�R�R�R�t	_dump_pcot_dump_requirest_dump_filesR(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_dump_format_itemsxs6	
	
	
	
	


c
Cs1d}t||�}|r(d|}nx�t|�D]�\}}\}}}dtj|dt�}	|r�|	dtj|dt�7}	|r�|	dtj|dt�7}	n|r�|	dtj|dt�7}	n|r�|	dtj|dt�7}	q�n|	d	7}	||	7}q5W|r-|d
|7}n|S(NRXs
    <rpm:%s>
s      <rpm:entry name="%s"R�s flags="%s"s epoch="%s"s	 ver="%s"s	 rel="%s"s/>
s
    </rpm:%s>(R�tsortedR=R�R(
RMtpcotypeR�tmylistR*R�R'R(R)t	pcostring((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s&
%  #
cCs�g}x:t|jd|��D] }|jdtj|��qWx:t|jd|��D] }|jdtj|��q\Wx:t|jd|��D] }|jdtj|��q�Wdj|�S(NR�s
  <file>%s</file>R�s
  <file type="dir">%s</file>R�s
  <file type="ghost">%s</file>RX(R�R�R R=R�R^(RMtprimaryR�R�((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��scCs
t��dS(N(tNotImplementedError(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_requires_with_pre�scCs�|j�}d}|r!d}nt|d�r|jrtd�|�}|rt|dtdtd��}|j�}t|�dkr�|dj	d�r�|j�}ng}x@|D]8}|dj	d	�r�||kr�q�n|j
|�q�W|}qnd}x�t|�D]�\}	}
\}}}
}|	j	d
�rGqn|	|jks�|	j	d�r�|	|jks�|	|j
ks�|	|jkr�|
s�qq�|jd|	|
|||
ff�r�qq�nd
tj|	dt�}|
r||dtj|
dt�7}|r-|dtj|dt�7}n|rS|dtj|dt�7}n|
r||dtj|
dt�7}q|n|dkr�|d|7}n|d7}||7}|d7}qW|r�|d7}n|dkr�dS|S(sreturns deps in XML formatRXs
    <rpm:requires>
t_collapse_libc_requirescSs|djd�S(Nis	libc.so.6(R�(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�sR�R�islibc.so.6()s	libc.so.6srpmlib(RVR�s      <rpm:entry name="%s"R�s flags="%s"s epoch="%s"s	 ver="%s"s	 rel="%s"Rrs	 pre="%s"s/>
is    </rpm:requires>(Rri(R�R�R�tfilterR�RRtpopR�R�R R�RRRR�R=R�R(RMR�R�t
libc_requirestresttbesttnewlisttitusedR*R�R'R(R)tpret
prcostring((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s`	%
($	  #


c	Cs�|js
dSg}|s%|j}n
|j| }d}d}x�t|�D]\}}}||krod}n
|d7}|}||7}|jdtj|dt�tjt|��tj|�f�qKWdj|�S(NRXiis2
  <changelog author="%s" date="%s">%s</changelog>R�(RtreversedR R=R�RR�R^(	RMt
clog_limitR�tclogstlast_tsthack_tsRLR�tcontent((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_dump_changelog�s$	
	

	$cCsLd}||j�7}||j�7}|d7}t|�tksHt�|S(Ns
<package type="rpm">s
</package>(R�R�R�R�tAssertionError(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pytxml_dump_primary_metadatas
cCsSd|j|j|j|j|j|j|j�f}t|�tksOt	�|S(Ns`
<package pkgid="%s" name="%s" arch="%s">
  <version epoch="%s" ver="%s" rel="%s"/>%s
</package>(
ReR*RpRR�R�R�R�R�R�(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pytxml_dump_filelists_metadatas
ic	CsVd|j|j|j|j|j|j|j|�f}t|�tksRt	�|S(Ns`
<package pkgid="%s" name="%s" arch="%s">
  <version epoch="%s" ver="%s" rel="%s"/>%s
</package>(
ReR*RpRR�R�R�R�R�R�(RMR�R�((s0/usr/lib/python2.7/site-packages/yum/packages.pytxml_dump_other_metadata#s
N(/RRRSRTR:RNR�RmR�R#R�R$R&R(R/R�R,R�R:t	committerR=t
committimeR>ReRERNRVRFRPR�Rmtxattr_origin_urlRpRqR�RR�R�R�R�RR�R�R�R�R�R�R�(((s0/usr/lib/python2.7/site-packages/yum/packages.pyR	sT										
		
						#					S			(	
		7			
cCs||p|d|S(sX Rpm returns None, for certain sizes. And has a "longsize" for the real
        values. tlong((RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_rpm_long_size_hack0stYumHeaderPackagecBs�eZdZd�Zd�Zd�Zed��Zd�Zed��Z	d�Z
ed�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zded�Zd�Zd�Zd�Zd�Zd�ZRS(s'Package object built from an rpm headercCs{tj||�||_tj|jd�|_|jd}|sNd}ntj|�|_tj|j��|_tj|jd�|_	tj|jd�|_
|j	|_|j
|_|j|j|j|j	|j
f|_
d
|_d
|_|jtj|_|js;d|jd|jdf|_nt|jd�|_t|jd	�|_i|_t|_d
S(sGhand in an rpm header, we'll assume it's installed and query from thereR*RptnoarchR
Rs%s.%sR<R�R�N(RRNRMR=t
share_dataR*RptdoepochRR
RR�R�RR:t_loaded_summaryt_loaded_descriptionRQtRPMTAG_SHA1HEADERR�R�R%R�t_YumHeaderPackage__mode_cacheRt _YumHeaderPackage__prcoPopulated(RMR3RMtthis_a((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN9s,	
	'			$	cCs#dtjtjj|j���S(Nsfile://(turllibtquoteRYRZtabspathRF(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyR/TscCsS|jdkrL|j�dp"d}tj|jdd��}||_n|jS(NR}RXs
(R�R:t_get_hdrR=R�R2(RMR}((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_loadSummaryWs
cCs
|j�S(N(R�(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl^scCsG|jdkr@|j�dp"d}tj|�}||_n|jS(NR~RX(R�R:R�R=R�(RMR~((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_loadDescription`s
cCs
|j�S(N(R�(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlfscCs`|jdkr4d|j|j|j|jf}n(d|j|j|j|j|jf}|S(NRrs%s-%s-%s.%ss%s:%s-%s-%s.%s(RR*R
RRp(RMR8((s0/usr/lib/python2.7/site-packages/yum/packages.pyRihscCs2|js|j�t|_ntj|||�S(N(R�t
_populatePrcoRRR�(RMR�R�((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�qs	
cCs|jS(N(RM(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�wsc
Cs�itjd�d6tjd�d6tjd�d6tjd�d6}|j�}x�|D]�}|ttd	|�}ttj|�}|s�qYn|ttd
|�}|dkr�tjtjB}g|D]}t||@�^q�}ntt	j
j|�}ttj|�}|ttd|�}tt	j
j|�}	td�|	�}	||}
ttjt
|||	��|j|
<|dkrYt
||j|
�}g|D]}|d
s�|d^q�}||jd<qYqYWdS(s;Populate the package object with the needed PRCO interface.R�tOBSOLETER�tCONFLICTR�tREQUIRER�tPROVIDEs
RPMTAG_%sNAMEsRPMTAG_%sFLAGSsRPMTAG_%sVERSIONcSs4tj|d�tj|d�tj|d�fS(Niii(R=R�(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�s iiR�N(R=R�R�R�RQtmaptRPMSENSE_SCRIPT_PREtRPMSENSE_SCRIPT_POSTR;RRRRtzipR�(
RMttag2prcoRMttagR*tlsttbitstflagtweakreqstversR�twreqt
strongreqs((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�zs4
&		
%'cCsRtjdtjdd�yt||�SWn!tk
rMtjd|�nXdS(Ns6tagByName() will go away in a furture version of Yum.
R�isUnknown header tag %s(R�R�R�R�R�tAttributeErrorRf(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt	tagByName�s	
cCs�|jd�r4|jd�r4td||f�ny|j|SWnGtk
ritd||f�n$tk
r�td||f�nXdS(Nt__s%s has no attribute %s(R�R\R�RMtKeyErrorRB(RMtthing((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__getattr__�s

cCs2|jd}|dkr"d}nt|�}|S(NRRr(RMR:R�(RMttmpepochR((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s

	cCs|jS(N(RM(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRV�sc	Cs<|jd}|jd}|jd}t|||�}|js8x�|D]�\}}}|dksp|dkr�d|jkr�g|jd<n|jdj|�qIn||jkr�tj|�|j|<nd}|j|r�d}n|dk	r|d@rd}n|jj	|g�j|�qIWt
|_ndS(	Nt	filenamest	fileflagst	filemodesRXR�R�i@R�(RMR�RR:R�R R�R_tS_ISDIRt
setdefaultR(	RMR�R�R�t	filetupleR�tmodeR�tfkey((s0/usr/lib/python2.7/site-packages/yum/packages.pyt
_loadFiles�s(


	
		 R�cCs|j�tj|||�S(s"return list of files based on type(R�RR�(RMR�R�((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s
cCsBt|jd�dkr>t|jd|jd|jd�SgS(Nt
changelognameit
changelogtimet
changelogtext(R�RMR�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s


cCs
t��dS(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��scCst|jd�S(NR�(R�RM(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyR&�scCs2|dk	r.|tjtjBtjB@r.dSndS(sncheck the flags for a requirement, return 1 or 0 whether or not requires
           is a pre-requires or a notiiN(R:RQtRPMSENSE_PREREQR�R�(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_is_pre_req�s
cCs�|jtj}|jtj}tt|�}t|j|�}|jtj}tt|�}|dk	r�t
||||�}ntj|�}|S(s%returns requires with pre-require bitN(
RMRQtRPMTAG_REQUIRENAMEtRPMTAG_REQUIREFLAGSR�RR�tRPMTAG_REQUIREVERSIONRR:R�R=RA(RMR*R�R�R�R�R�((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�s(RRRSRTRNR/R�RmR}R�R~RiRR�R�R�R�R�R�RVR�R�R�R�R&R�R�(((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�7s,								$							
			
t_CountedReadFilecBs eZdZd�Zd�ZRS(s� Has just a read() method, and keeps a count so we can find out how much
        has been read. Implemented so we can get the real size of the file from
        prelink. cCs||_d|_dS(Ni(tfpt	read_size(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyRNs	cCs+|jj|�}|jt|�7_|S(N(R�treadRR�(RMR�R�((s0/usr/lib/python2.7/site-packages/yum/packages.pyRs(RRRSRTRNR(((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�
s	t_PkgVerifyProbcBs#eZdZed�Zd�ZRS(s8 Holder for each "problem" we find with a pkg.verify(). cCs:||_||_d|_d|_||_||_dS(N(R�tmessageR:tdatabase_valuet
disk_valuet
file_typestfake(RMR�R�tftypesR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRNs					cCs|dkrdSidd6dd6dd6dd6dd	6d
d6dd
6dd6dd6dd6dd6dd6dd6dd6}t||j||j�}|sxudddgD]a}t||�}t||�}|dkr�|dks�t�q�nt||�}|r�Pq�q�Wn|S(NiR�itsymlinkiReiR�tuseriRiR�itgenchecksumitmtimei	tmissingi
spermissions-missingiRit	missingoki
R�RRR(R:R�R�R�R�(RMRet	type2sortR�tattrRnty((s0/usr/lib/python2.7/site-packages/yum/packages.pyRf&s$(RRRSRTRRNRf(((s0/usr/lib/python2.7/site-packages/yum/packages.pyRsiiiiiiiiitYUMVerifyPackageFilecBsgeZd�Zd d�Zedd�dd�dd��Zedd�dd	�dd
��Zedd�dd�dd
��Zedd�dd�dd��Z	edd�dd�dd��Z
edd�dd�dd��Zedd�dd�dd��Zd�Z
edd�dd�dd��Zed��Zedd��ZRS(!cCss||_d|_d|_d|_d|_d|_d|_d|_d|_	t
|_t�|_
d|_dS(N(tfilenameR:treadlinkRtdevR
RR�tdigestR�Rtverify_ftypeR�trpmfile_typet
rpmfile_state(RMR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRNGs										cCsM|dkrd|}nd|}t|||�t|||dk	�dS(Ntverify_t_(R:R�(RMRR8tvattr((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_setVerifiedAttrXs


RkcCs|jS(N(t	_readlink(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl_stfdelcCst|dd�S(NR(R�R:(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl`stfsetcCs|jd|�S(NR(R(RnR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlascCs|jS(N(t_mtime(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlbscCst|dd�S(NR(R�R:(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlcscCs|jd|�S(NR(R(RnR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRldscCs|jS(N(t_dev(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlescCst|dd�S(NR(R�R:(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlfscCs|jd|�S(NR(R(RnR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlgscCs|jS(N(t_user(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlhscCst|dd�S(NR
(R�R:(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRliscCs|jd|�S(NR
(R(RnR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRljscCs|jS(N(t_group(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlkscCst|dd�S(NR(R�R:(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRllscCs|jd|�S(NR(R(RnR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlmscCs|jS(N(t_digest(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRloscCst|dd�S(NR(R�R:(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlpscCs|jd|�S(NR(R(RnR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlqscCs|jS(N(R&(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlrscCst|dd�S(NR�(R�R:(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRlsscCs|jd|�S(NR�(R(RnR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRltscCs<|dk	|_|dk	|_d|}t|||�dS(NR(R:tverify_modeRR�(RMRR8((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_setVerifiedModevs
cCs|jS(N(t_mode(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl|scCst|dd�S(NR�(R�R:(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl}scCs|jd|�S(NR�(R'(RnR((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl~scCsvtj|�rdStj|�r&dStj|�r9dStj|�rLdStj|�r_dStj|�rrdSdS(s5 Given a "mode" return the name of the type of file. R�t	directoryR	tfifoscharacter devicesblock devices	<unknown>(R_tS_ISREGR�tS_ISLNKtS_ISFIFOtS_ISCHRtS_ISBLK(R�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_ftype�scCs|j|j�S(N(R0R�(Rn((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�sN(RRRSRNR:RRmRRRR
RRR�R'R�tstaticmethodR0R�(((s0/usr/lib/python2.7/site-packages/yum/packages.pyRFs:										t_RPMVerifyPackageFilecBseZed�ZRS(cCs�tj||d�|d}|r-d}n
|d}|t@rQ|d|_n|t@tBr�|d}|dkr�|d@}n||_|t@s�t|_n|t@s�t|_	q�n|t
@r�|d|_n|t@r�|d	|_nt
�|_}|tj@r|jd
�n|tj@r8|jd�n|tj@rU|jd�n|tj@rr|jd
�n|tj@r�|jd�n|tj@r�|jd�n|tj@r�|jd�n|d}	idtj6dtj6dtj6dtj6dtj6}
|	|
kr'|
|	|_n	d|_|t@rJ|d|_n|t @rd|d|_!n|t"@r�||df|_#n|j$dkr�|t%@r�|j&�|_'n|t%@r�d|_'ndS(Niii����i	iii��iit
configurationt
documentationR�R�s
public keytREADMEs
missing okitnormaltreplaceds
not installedswrong colort	netshareds	<unknown>i
iiR	RX((RRNt_RPMVERIFY_FILESIZER�t_RPMVERIFY_RDEVt_RPMVERIFY_MODER�RR&Rt_RPMVERIFY_MTIMERRR�t
rpmfile_typesRQtRPMFILE_CONFIGtaddtRPMFILE_DOCt
RPMFILE_GHOSTtRPMFILE_LICENSEtRPMFILE_PUBKEYtRPMFILE_READMEtRPMFILE_MISSINGOKtRPMFILE_STATE_NORMALtRPMFILE_STATE_REPLACEDtRPMFILE_STATE_NOTINSTALLEDtRPMFILE_STATE_WRONGCOLORtRPMFILE_STATE_NETSHAREDRt_RPMVERIFY_USERR
t_RPMVERIFY_GROUPRt_RPMVERIFY_DIGESTRR�t_RPMVERIFY_LINKTOtFLinkR(RMtfiR�Ritoverride_vflagsR�tvflagsR�R=Rtstatemap((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN�sl
	



	
















	



(RRRSRRN(((s0/usr/lib/python2.7/site-packages/yum/packages.pyR2�stYUMVerifyPackagecBsMeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(s, A holder for YUMVerifyPackageFile objects. cCs||_i|_dS(N(tpot_files(RMRU((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN�s	cCs
||jkS(sp Note that this checks if a filename is part of the package, and
            not a full YUMVerifyPackageFile(). (RV(RMtfname((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__contains__�sccs$x|jD]}|j|Vq
WdS(N(RV(RMR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt__iter__�scCs||j|j<dS(N(RVR(RMtvpf((s0/usr/lib/python2.7/site-packages/yum/packages.pyR?�scCs|j|j=dS(N(RVR(RMRZ((s0/usr/lib/python2.7/site-packages/yum/packages.pytremove�scCs$|j|krdS|j|�dS(N(RR[(RMRZ((s0/usr/lib/python2.7/site-packages/yum/packages.pytdiscard�scCs
i|_dS(N(RV(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pytclear�s(
RRRSRTRNRXRYR?R[R\R](((s0/usr/lib/python2.7/site-packages/yum/packages.pyRT�s						t_RPMVerifyPackagecBsGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCs)tj||�||||f|_dS(N(RTRNt	_presetup(RMRURPt
def_csum_typetpatternstall((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN�scCst|d�sdS|j\}}}}|`i}x�|D]�}|d}|r�t}xo|D]g}	|	tkr}t|	}
n(|	|kr�||	}
ntj|	�}
|
||	<|
|�r^t}Pq^q^W|s�q;q�n|jt||||��q;W|r|andS(NR_i(	R�R_Rt
_last_fnmatchR=R@RR?R2(RMRPR`RaRbt
_this_fnmatchtftR�REtpR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_setup�s0





	 cOs|j�tj|||�S(N(RgRTRX(RMtargstkwargs((s0/usr/lib/python2.7/site-packages/yum/packages.pyRXs
cOs|j�tj|||�S(N(RgRTRY(RMRhRi((s0/usr/lib/python2.7/site-packages/yum/packages.pyRYs
cOs|j�tj|||�S(N(RgRTR?(RMRhRi((s0/usr/lib/python2.7/site-packages/yum/packages.pyR?"s
cOs|j�tj|||�S(N(RgRTR[(RMRhRi((s0/usr/lib/python2.7/site-packages/yum/packages.pyR[%s
cOs+t|d�r|`ntj|||�S(NR_(R�R_RTR](RMRhRi((s0/usr/lib/python2.7/site-packages/yum/packages.pyR])s	(	RRRSRNRgRXRYR?R[R](((s0/usr/lib/python2.7/site-packages/yum/packages.pyR^�s		 				R�tYumInstalledPackagec	Bs;eZdZdd�Zgeeeeeded�ZRS(s2super class for dealing with packages in the rpmdbcCs2tj|t|�|r.|j|�|_ndS(N(R�RNt_installed_repotget_packageR (RMRMtyumdb((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN4sc	,%Csr	|jj�}	i}
d}tjj|�}d}
ttd�rw|jtj}|rw|tkrtt|}
qtqwnt	||	|
||�}|d6k	r�||�}nx�|D]�}|j}t|j
�}|jdkr |jd|j�|r�tdd|dt�g|
|<q�q�nd	|j
krW|rWtd
d|dt�g|
|<nd	|j
krs|rsq�nd|j
kr�|r�tdd
|dt�g|
|<nd|j
kr�|r�q�ng}tjj|j�r�tj|j�}|j}ytj|tj�d}Wn$tk
r@}d|tj}nXytj|tj�d}Wn$tk
r�}d|tj}nXtj|j�}t }|j!r�|j"j#d�s�|j#d�r�t}n|r�|j"|krtdd|�}|j"|_$||_%|j|�q�|j&d@|j'd@kr�tdd|�}t(|j&d@�|_$t(|j'd@�|_%|j|�q�n|j)rd}|dkr�tj*|j�}n||j*krtdd|�}|j*|_$||_%|j|�qnt}d|krt }n|dkrO|j"dkrOtj|j�j}n|dkrdt }nt}|dkrt }n|r�|j+r�t,|j-�t,|j.�kr�tdd|�}|j.|_$t,|j-�|_%|j|�n|rA|j/rA||j0krAtdd|�}|j0|_$||_%|j|�n|r�|j1r�||j2kr�tdd|�}|j2|_$||_%|j|�n|j}|j3} d }!d|kr�||!M}| |!M} n|r#|j4r#|| kr#td!d"|�}| |_$|j|_%|j|�n|j5}"|rQ|rQ||j6krQt }"n|rf|rft }"n|j7sxt }"n|rq|"s�|j8rq|rq||j6krq|j7r�|j7d}#|j7dd#|j7d$}$n|
}#d}$y't9j:|#|j�}%|#d#|%}%Wnt;j<k
r&d6}%nX|j5rp|%d6krptd%d&|�}|$|_$d6|_%|j|�n|%|$kr|rt=|d'|jgd(d)d*t>d+t>d,t>d-t�}&|&j?|&j@|&jA}'}(})tB|(�}(t9j:|#|(�}*|(jCr|*}%|#d#|%}%|(jC}qn|j5rq|%|$krq|%rqtd.d/|�}|$|_$|%|_%|j|�qqn|rT	|j8rT	||j6krT	td0d1|�}|j6|_$||_%|j|�qT	n�ytj|j�t}+Wn4tDk
r	}t}+|jEtEjFkr	t }+q	nX|+r5	td2d3|�}ntd4d5|�}|j|�|r�||
|j<q�q�W|
S(7s�verify that the installed files match the packaged checksum
           optionally verify they match only if they are in the 'pattern' list
           returns a tuple s/usr/sbin/prelinktmd5tRPMTAG_FILEDIGESTALGOR6sstate=Rsstate is not normalRs
missing okRsmissing but okR�s
ghost fileisuid %s not foundsgid %s not foundtdeviceR�sfile type does not matchi��sdev does not matchRXR	ssymlink does not matchR�Rsmtime does not matchR
suser does not matchRsgroup does not matchi�R�smode does not matcht:iRschecksum not availables-ytbufsizei����tstdintstdouttstderrt	close_fdsReschecksum does not matchR�ssize does not matchR
sfile is missingspermissions-missings#file is missing (Permission denied)N(GRMtfiFromHeaderRYRZROR�RQRotRPM_CHECKSUM_TYPESR^R:RtlistR=RR RRtlexiststlstatRdtpwdtgetpwuidR_tST_UIDR�tgrptgetgrgidtST_GIDRR0tst_modeRt
verify_devR�R\RRRRbR�tverify_readlinkRtverify_mtimeR@RcRtverify_userR
tverify_groupRR�R&t
verify_digestR�Rtverify_sizeR=ReR�RfRRRsRtRuR�RR`terrnotEACCES(,RMRatdepstscriptt
fake_problemsRbtfasttcallbacktfailfastRPR�tprelink_cmdthave_prelinkRitcsum_numtpfstpfR�Rtproblemstmy_stt
my_st_sizetmy_userR'tmy_grouptmy_ftypeR�tprobtmy_fnlt
check_contenttcheck_permstmy_modetpf_modet	perm_maskR�tdigest_typeR�tmy_csumRftigR�terttcsumtperms_ok((s0/usr/lib/python2.7/site-packages/yum/packages.pytverify9s^
																				

							

						

	
N(RRRSRTR:RNRRR�(((s0/usr/lib/python2.7/site-packages/yum/packages.pyRj2s
	tYumLocalPackagecBs�eZdZd
d
d�Zd�Zd�Zd
d�Zedd��Z	d�Z
d�Zd	�Zedd
��Z
edd��Zd�ZRS(sClass to handle an arbitrary package from a file path
       this inherits most things from YumInstalledPackage because
       installed packages and an arbitrary package on disk act very
       much alike. init takes a ts instance and a filename/path 
       to the package.cCs�|dkrtjj�}n|dkr9tjd�nd|_||_d|_ytj	j
||j�}Wn,tk
r�}tjd|j|f�nXt|�}d|_
tj|||�|j|_tj|j�|_t|jd�|_t|jd�|_|j�|_|j|j|j|j|jf|_d|_d|_ t!j"d|_#d|_$d|_%dS(Ns;No Filename specified for YumLocalPackage instance creationtlocals%Could not open local rpm file: %s: %sii����iRX(&R:RRGRHR�RftpkgtypeRWR>RRIRRUtcostR�RNR�R4RYR_t_statR�R�R%tisSrpmRpR*RR�R�Rt	_hdrstartt_hdrendR=t_default_checksumsRrt_reldirt_baseurl(RMRLRRMR'tfakerepo((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN$s6					'			cCs:|jd�dks%|jd�r)dS|jd�SdS(Nt
sourcepackageiR�tsrcRp(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�Ls%cCs|jS(N(RW(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRFRscCs_|dkrtjd}n|jsXtj||j�|_||jdfg|_n|jS(Nii(R:R=R�R>ReRWRq(RMRr((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_do_checksumUs	RkcCs
|j�S(N(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl^scCs|j�|jS(N(R�Rq(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�`s
cCstS(s5 don't bother "checking" the package matches itself. (R(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�dscCs{|jr"|jr"|j|jfSt|jd�}|jd�|jd�}tjd|�\}|jd�}tjd|�\}|d}||}|d}|dkr�d|}nd||}	|j|	�|jdd	�|jd�}tjd|�\}
|jd�}tjd|�\}|
d}||d}
|	|
}|j�|	|_||_|	|fS(
sQtakes an rpm file or fileobject and returns byteranges for location of the headerR)ihis>Iiiiipi(	R�R�topenRWtseekRtstructtunpacktclose(RMtfotbinindextsigindextbindatatsigdatatsigindexsizetsigsizetdisttoboundaryR�thdrindexthdrdatathdrindexsizethdrsizeR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyt_get_header_byte_rangehs6








		cCs|j�dS(Ni(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs|j�dS(Ni(R�(RM((s0/usr/lib/python2.7/site-packages/yum/packages.pyRl�scCs�|jrV|jj|j�rV|jj|jd�}|ddkr_|d}q_n	|j}|jr�dtj|jdt�tj|dt�f}ndtj|dt�}|S(NRXiRVis&  <location xml:base="%s" href="%s"/>
R�s  <location href="%s"/>
(R�RWR�R2R�R=R�R(RMtrelpathR�((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s		N(RRRSRTR:RNR�RFR�RmReR�R�R�R�R�R�(((s0/usr/lib/python2.7/site-packages/yum/packages.pyR�s(						0t
YumUrlPackagecBs#eZdZddddd�ZRS(s�Class to handle an arbitrary package from a URL
       this inherits most things from YumLocalPackage, but will download a
       remote package to make it local.
       init takes a YumBase, a ts instance and a url to the package.c
Cs�|j�jd�r(|td�}n|tj|�s@|}ndd}i}xl|jj�D][}|j}|j	|j
j	kr\|j|j
jkr\|j|j
jkr\|j
}Pq\q\Wtjj|�}	tj�}
|
dkr�d|j}
nd|
|	f}
yptd|j
jd|j
jd|j
jd|d|�}|dk	r\||j_n|j||
d	|	�}Wn,tk
r�}tjd
||f��nXtj|||�dS(Nsfile:s%s/../s%s/%st	bandwidthtretrytthrottletprogress_objtproxiesR�sCannot download %s: %s(RR�R�R=t
re_remote_urlR:trepostlistEnabledR�tproxytconftproxy_usernametproxy_passwordt
proxy_dictRYRZR[tgetCacheDirtcachedirR	R�tretriesR�toptst
user_agentturlgrabR
R�RfR�RN(
RMtybRLR�tuaR�tcbtpdR3RWR�tugR'((s0/usr/lib/python2.7/site-packages/yum/packages.pyRN�s<				N(RRRSRTR:RN(((s0/usr/lib/python2.7/site-packages/yum/packages.pyR��s(LRTRQRYtos.pathR=R�tretfnmatchR_R�t
subprocessRRRRtrpmUtils.miscutilsRRRR�R�R�t	constantstoperatorRR�R*t
uses_fragmentR turlgrabber.grabberR	R
RlR�R:tImportErrorR|RRRRR2RKRLRUtobjectRoR�R�R�R�R�RR�R�R�RRMR9RNRKRLR<R;R:t_RPMVERIFY_CAPSt_RPMVERIFY_CONTEXTSRR2RTRcR^RkRjR�R�(((s0/usr/lib/python2.7/site-packages/yum/packages.pyt<module>s�



		"88�	�	1��)	� 









HJ8	��

Zerion Mini Shell 1.0