ó ð v_c@sëddlmZddlmZddlmZmZddlmZddlm Z m Z m Z ddl m Z mZee dƒZddlmZdd lZdd lZd Zd dd „ƒ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    '   , cCs d|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 getDiscNumJscCsytjj|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.pyt returnIdSum\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„Z RS(c+ sŸ|jˆ_|ˆ_iˆ_gˆ_dˆ_|jjˆ_ˆjdkrjt ƒ}ˆj| 9_nˆjswdSi}i}i}xÁt |ƒD]³\}} | j j } | dkr| j j } |jj } t| ƒdkr| djdƒrd} qn| dkrq–n| jtkr'nã| j|jjkr?nË|j| j ƒ} | dkrìi} || 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| |$|)|*|(ƒ|| De-Queue all delta rebuilds and spawn the rebuild processes. iis.Finishing delta rebuilds of %d package(s) (%s)ttext_meter_total_sizeiRTturlR~sRN(RWtvaluesRXRRRHRoRR RvRtcallbackR<R³Rft timescaletstartRR§tdequeue(R"tcountttotalR‰((s,/usr/lib/python2.7/site-packages/yum/drpm.pyt dequeue_all#s(     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±;s    cCsâ|jƒ|jstS|jt|jƒkr]|s9tS|jt|jƒ|jdƒn|jjdƒ}d|jf}|j r|d|j f7}n||j |j j f7}t j t jtt|Œ}||j|s?