ok

Mini Shell

Direktori : /lib/python2.7/site-packages/yum/
Upload File :
Current File : //lib/python2.7/site-packages/yum/drpm.pyc

�
8M�bc@s�ddlmZddlmZddlmZmZddlmZddlm	Z	m
Z
mZddlm
Z
mZee
d�ZddlmZdd	lZdd	lZd
Zddd��YZd
d�Zddd��YZd	S(i����(t	TS_UPDATE(t	RepoError(t
exception2msgt_(t	MiscError(tchecksumtrepo_gen_decompresstunlink_f(tgrabbertprogresst
parallel_wait(t	iterparseNs/usr/bin/applydeltarpmtDeltaPackagecBsPeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(cCs�||_|j|_|j|_|j|_|j\|_|_|_|_|_d|_
||_||_t
jj|j�dt
jj|�|_||_||_dS(Nt/(trpmtrepotbasepathtpkgtuptnametarchtepochtversiontreleasetNonet_hashtsizetrelativepathtostpathtdirnamet	localpathtbasenametcsumtoldrpm(tselfRRtremoteR R!((s,/usr/lib/python2.7/site-packages/yum/drpm.pyt__init__!s	'			,	cCsd|jS(NsDelta RPM of %s(R(R"((s,/usr/lib/python2.7/site-packages/yum/drpm.pyt__str__2scCsw|dkrdSt|j|j�pvt|j|j�pvt|j|j�pvt|j|j�pvt|j|j�S(Ni(RtcmpRRRRR(R"tother((s,/usr/lib/python2.7/site-packages/yum/drpm.pyt__cmp__5scCsY|jdkrRd|jj|j|j|j|j|jf}t	|�|_n|jS(Ns%s - %s:%s-%s-%s.%s(
RRRtidRRRRRthash(R"tmystr((s,/usr/lib/python2.7/site-packages/yum/drpm.pyt__hash__@s
cCs|jS(N(R(R"((s,/usr/lib/python2.7/site-packages/yum/drpm.pytlocalPkgGscCsdS(N(R(R"((s,/usr/lib/python2.7/site-packages/yum/drpm.pyt
getDiscNumJscCs�ytjj|j�}Wntk
r-tSX||jkrAtS|j\}}yt||j�}Wnt	k
rztSX||kr�tSt
S(N(RRtgetsizeRtOSErrortFalseRR RRtTrue(R"tfsizetctypeR tfsum((s,/usr/lib/python2.7/site-packages/yum/drpm.pytverifyLocalPkgMs

cCs|jS(N(R (R"((s,/usr/lib/python2.7/site-packages/yum/drpm.pytreturnIdSum\s(
t__name__t
__module__R$R%R(R,R-R.R6R7(((s,/usr/lib/python2.7/site-packages/yum/drpm.pyR s							icCs`ttd�s|Stjjd�s)|Stjd�}yt|�dkrQ|SWnnX|S(NtsysconftSC_NPROCESSORS_ONLNi(thasattrRt
sysconf_namesthas_keyR:tint(tunknowntncpus((s,/usr/lib/python2.7/site-packages/yum/drpm.pyt_num_cpus_online_st	DeltaInfocBsPeZd�Zdd�Zed�Zd�Zd�Zd�Z	e
d�ZRS(c+s�|j�_|�_i�_g�_d�_|jj�_�jdkrjt	�}�j|9_n�jswdSi}i}i}x�t
|�D]�\}}	|	jj}
|
dkr|	jj
}|jj}
t|�dkr|djd�rd}
qn|
dkrq�n|	jtkr'n�|	j|jjkr?n�|j|	j�}|dkr�i}||	j<x{tj|	jj�D]a}
tjd|
�}|r�|j�\}}}}|j||ft��j||f�q�q�Wn|	j|	jf|kr
q�n||j|	ji�|	j<|j|	jd�|	j ||	j<q�W|r�tj!t"tj#�r��jj$t%d�t"�dSi�x�|D]�}xKd D]'}y|j&j'|�}PWq�q�Xq�W�jj$t%d�|�q�|j(d	tj)j*|j+d�}|j,}
t-|j �|
d
}|
r�tj)j.|�r�|||kr�t%d�}�jj$||tj/|�tj/||��q�n||��fd�}i}t0r�|j1r�||d
<t2|d<ny|j3||��|<Wq�t4k
r}||�q�Xq�Wt0r*t5j6�nxn�j7�D]`\}}||}t8|dd|j9�}x/t:|�D]!\}}|j;dkr�qrn|jd�}|jd�} || |jd�|jd�|jd�f}!|j|!�}|dk	r�||}	|j}
|
dkr*|jj}
n|	j |
d
}"|j|i�j|| fi�}#x'|j<d�D]}t-|j=d�j>�}$|$|"kr�qon|jd�}%|jd�}&|jd�}'|&|'f|#kr�d|j||&|'| f}(n*|j?j@||%|&|'| �s!qond}(|$}"|j=d�j>})|j=d�}*|*jd�|*j>f}*tA|	|$|)|*|(�||<qoWn|jB�qrWq7WdS(!Niisfile:s^(.+)-(.+)-(.+)\.(.+)\.rpm$s-Delta RPMs disabled because %s not installed.tprestodeltat	deltainfos#No Presto metadata available for %sR
gY@s:Not downloading deltainfo for %s, MD is %s and rpms are %scsT�j|d�t|d�r+|j}n�jjtd�||t|��dS(Nt	exceptions+Failed to download %s for repository %s: %s(tpopRR<RFtverbose_loggertwarnRR(teRR(tmdpathR"(s,/usr/lib/python2.7/site-packages/yum/drpm.pytfailfunc�s
RLtasyncsprestodelta.xmltcachedt
newpackageRRRRRtdeltaRtoldepocht
oldversiont
oldreleases%s/%s-%s-%s.%s.rpmtfilenameRttype(RDRE(CRHtadderrortjobst_future_jobsRR	tconftdeltarpmtlimitRBt	enumerateRtdeltarpm_percentageturlstlent
startswithtstateRRtinstallonlypkgstgetRtlistdirtpkgdirtretmatchtgroupst
setdefaulttsettaddRRRtaccesst
APPLYDELTAtX_OKtinfoRtrepoXMLtgetDatatcachedirRRtlocationtdeltarpm_metadata_percentageR?texistst
format_numberRMt_asyncR2t_retrieveMDRRR
titemsRtcacheRttagtfindalltfindttexttrpmdbtsearchNevraRtclear(+R"tayumtpkgsRVtnprocstoldrpmstpinfotreposizetindextpotpercR^tnamestrpmfntmtntvtrtaRRtdataRt	data_sizetmsgRLtkwargsRJtcpatht
pinfo_repotevtelRtnewtbestthaveRRtvertrelR!R#R ((RKR"s,/usr/lib/python2.7/site-packages/yum/drpm.pyR$ps�						%2'

$	)



0
	$#cCsX|dkrt|j�}nx3|dkrS|js:dS||jdt�8}q!WdS(sB Wait for "num" number of jobs to finish, or all of them. Blocks. iNtblock(RR_RWt_waitR2(R"tnum((s,/usr/lib/python2.7/site-packages/yum/drpm.pytwait�s	cCs`d}xS|jr[|r-tj�\}}n%tjdtj�\}}|sRPn||jksgt�|jj|�}|jr�|j|j	j
7_|jj|j�n|dkr�t|j	j
�|j|td��nb|j	j�s
|j|td��n:|j
j|jj�r5tj|j
�n|j	j
|_
|d7}|r	Pq	q	W|S(Nii����sDelta RPM rebuild faileds(Checksum of the delta-rebuilt RPM failedi(RWRR�twaitpidtWNOHANGtAssertionErrorRGR	tdoneRRtupdateRRRVRR6R`RRetunlink(R"R�R�tpidtcodeR�((s,/usr/lib/python2.7/site-packages/yum/drpm.pyR��s0	
cCs|jj|�|j�dS(sa Turn a drpm into an rpm, by adding it to the queue and trying to
            service the queue. N(RXtappendtdequeue_max(R"R�((s,/usr/lib/python2.7/site-packages/yum/drpm.pytrebuildsc	Csd}}x8|jj�|jD] }|d7}||jj7}q!W|r�|jjtd�|tj	|��|j
jr�ttd�r�tj
d�n|j
j|_yd|jj_WnnX|jjdddddd	d
|�d|_q�nx|jr|j�q�WdS(s> De-Queue all delta rebuilds and spawn the rebuild processes. iis.Finishing delta rebuilds of %d package(s) (%s)ttext_meter_total_sizeiRTturlR~s<locally rebuilding deltarpms>RN(RWtvaluesRXRRRHRoRR	RvRtcallbackR<R�Rft	timescaletstartRR�tdequeue(R"tcountttotalR�((s,/usr/lib/python2.7/site-packages/yum/drpm.pytdequeue_alls(


cCsA|js|j�dSx#|jr<|jdt�sPqqWdS(sQ De-Queue all delta rebuilds we can and spawn the rebuild
            processes. NR�(RXR�R�R1(R"((s,/usr/lib/python2.7/site-packages/yum/drpm.pyR�7s	
cCs�|j�|jstS|jt|j�kr]|s9tS|jt|j�|jd�n|jjd�}d|jf}|j	r�|d|j	f7}n||j
|jj
f7}tj
tjtt|�}||j|<tS(s@ Try to De-Queue a delta rebuild and spawn the rebuild process. iis-as-r(R�RXR1R[R_RWR�RGRR!RRRtspawnltP_NOWAITRmR2(R"R�R�targsR�((s,/usr/lib/python2.7/site-packages/yum/drpm.pyR�Ds
	$	
N(R8R9R$RR�R1R�R�R�R�R2R�(((s,/usr/lib/python2.7/site-packages/yum/drpm.pyRCos	{#			
(((t
yum.constantsRt
yum.ErrorsRtyum.i18nRRRtyum.miscRRRt
urlgrabberRR	R<RMtxml.etree.cElementTreeRRRfRmRRBRC(((s,/usr/lib/python2.7/site-packages/yum/drpm.pyt<module>s?

Zerion Mini Shell 1.0