VULN_CHECK_I913V6 (fddlmZddlmZddlmZddlmZddlmZddl Z ddl Z ddl Z ddl Z ddlZddlZddlZdZej&dZGd d e j*j,ZGd d eZy) )absolute_import)unicode_literals)hexlify)unlink_f)_Nz/usr/bin/applydeltarpmdnfcZeZdZfdZdZfdZdZedZedZ dZ xZ S) DeltaPayloadcJtt| ||||_||_yN)superr __init__ delta_infodelta)selfrrpkgprogress __class__s -/usr/lib/python3.12/site-packages/dnf/drpm.pyrzDeltaPayload.__init__)s" lD*39$ chtjj|jjSr )ospathbasenamerlocationrs r__str__zDeltaPayload.__str__.s!ww 3 344rctt| ||||tjj j k7r|jj|yyr ) r r _end_cblibdnfrepoPackageTargetCBTransferStatus_ERRORrenqueue)rcbdata lr_statusmsgrs rrzDeltaPayload._end_cb1sF lD)&)SA  33HH H OO # #D ) Irc|j}|j\}}tj|}t |j }t jjj|}|t jjjk(rtjtd||j|||j|j dS)Nzunsupported checksum type: %s) relative_url checksum_typechecksum expectedsizebase_url)rchksumhawkey chksum_namerdecoder r! PackageTarget checksumTypeChecksumType_UNKNOWNloggerwarningrr downloadsizebaseurl)rrctypecsumr. ctype_codes r_target_paramszDeltaPayload._target_params6s ll t""5)%%'[[..;;EB 22GG G NN1<=u E#^^("//   rc.|jjSr )rr7rs r download_sizezDeltaPayload.download_sizeHszz&&&rc.|jjSr )rr7rs r _full_sizezDeltaPayload._full_sizeLsxx$$$rc|jj}tjj |j j jtjj|Sr ) rrrrjoinrr!pkgdirr)rrs rlocalPkgzDeltaPayload.localPkgPsC::&&ww||DHHMM00"''2B2B82LMMr) __name__ __module__ __qualname__rrrr<propertyr>r@rD __classcell__)rs@rr r (sE 5*  $''%%Nrr c2eZdZddZdZdZdZdZdZy) DeltaInfoNcd|_tjttjrd|_ tj d|_|.tjjj|_ n||_ ||_ ||_g|_i|_i|_y#ttf$r d|_YswxYw)zA delta lookup and rebuild context query -- installed packages to use when looking up deltas progress -- progress obj to display finished delta rebuilds FTSC_NPROCESSORS_ONLNN)deltarpm_installedraccess APPLYDELTAX_OKsysconf deltarpm_jobs TypeError ValueErrorrconfConfdeltarpm_percentagequeryrqueuejobserr)rrZrrYs rrzDeltaInfo.__init__Vs #( 99Z )&*D # #!#,A!BD   &'*xx}}'J'JD $':D $     :& #!"D  #sB--CCc"|jsy|jjr |jsy|j ryt j j|jry|j|jzdz }d}|jj|j|jD]>}|j|j}|s!|j |ks1|j }|}@|rt#||||Sy)z&Turn a po to Delta RPM po, if possibleNd)namearch)rOr!deltarpmrY _is_local_pkgrrexistsrD_sizerZfilterr`raget_delta_from_evrevrr7r )rporbest best_deltaipors r delta_factoryzDeltaInfo.delta_factoryms&&wwt'?'?    77>>"++- (xx$222S8 ::$$"''$@C))#''2E++d2))" A j"h? ?rcntjtjjd||dz |dz|j j |}|j}|dk7r=t|jjtdg|j|<y|jjstdg|j|<ytj|j|jj!|tj"j$tdy)Nzdrpm: %d: return code: %d, %drzDelta RPM rebuild failedz(Checksum of the delta-rebuilt RPM faileddone)r5logrloggingSUBDEBUGr\poprrrDrr]verifyLocalPkgrunlinkrendcallback STATUS_DRPM)rpidcodeploadrs rjob_donezDeltaInfo.job_dones 3;;'')H#19dTk + c"ii 19 UYY'') *9:;DHHSM))+IJKDHHSM IIenn& ' MM  eS\\%=%=qy Irc ttd|jj|j|jjg}t j tj g|}tjtjjd|dj|dd||j|<y)Nz-azdrpm: spawned %d: %s )rQrrarDrspawnlP_NOWAITr5rrrrsrtrBr\)rr} spawn_argsr{s r start_jobzDeltaInfo.start_jobs *EIINNnn& (:(:(<> ii 1j1 3;;'')?88JqrN+ - #rc|jrItjdtj\}}|sn|j |||jrI|j j |t|j|jkr[|j|j jd|j syt|j|jkrZyy)Nr) r\rwaitpidWNOHANGr~r[appendlenrTrru)rr}r{r|s rr$zDeltaInfo.enqueuesii 2rzz2IC MM#t $ ii % $))nt111 NN4::>>!, -::$))nt111rc|jrmtj\}}|j|||jr*|j |jj d|jrlyy)z!Wait until all jobs have finishedrN)r\rwaitr~r[rru)rr{r|s rrzDeltaInfo.waitsOii IC MM#t $zztzz~~a01 iirr ) rErFrGrrmr~rr$rrrrKrKUs!.4J  2rrK) __future__rrbinasciir dnf.yum.miscrdnf.i18nr dnf.callbackr dnf.loggingdnf.repor/rs libdnf.repor rrQ getLoggerr5r!PackagePayloadr objectrKrrrrsi*''!  %   5 !*N388***NZ_2_2r