JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/dnf/rpm/__pycache__/__init__.cpython-39.pyc

a

�2�h��@s�ddlmZddlmZddlmZddlmZddlZddl	Zddl
Z
dd�Zd	d
�Zdd�Z
d
d�Zedddddddddddddddddd d!d"d#d$d%d&d'��Zd(d)�Zd*d+�ZdS),�)�absolute_import)�unicode_literals�)�transaction)�is_py3bytesNcCs�tj|d�}|�tjtjB�tjj}tjj	}tj
jrLt|d�}t|d�}tjj
D�]&}tj
jrlt|d�}z|�d|�}Wn>ttjfy�}z tj�dt|���WYd}~n
d}~00t|�s�qTzt|�}Wn"ty�d}tj�|��Yn0|d}	d}
d}�zz|tj�|�}Wn*t�yH|tj�|�d��}Yn0|tj|}
|tj|}|
tjk�r�|�r�|d	||�d�fv�r�|}	t|tj|tj|tj�D]b\}}
}t|t��r�t|d�}||k�r�|
tjk�r�|�r�|}
||k�r�|
tjk�r�|�r�|}�q�Wntt t!f�y2Yn0t"|	��rHt|	d�}	t"|
��r\t|
d�}
t"|��rpt|d�}|	|
|fSd
S)z�Calculate the release version for the system, including releasever_major
    and releasever_minor if they are overriden by the system-release-major or
    system-release-minor provides.)�root�utf-8Zprovidesz	Error: %sNz:Error: rpmdb failed to list provides. Try: rpm --rebuilddb�version�utf8�name)NNN)#r�initReadOnlyTransactionZpushVSFlags�rpmZ_RPMVSF_NOSIGNATURESZ_RPMVSF_NODIGESTS�dnf�constZDISTROVER_MAJOR_PKGZDISTROVER_MINOR_PKGZpycompZPY3�bytesZDISTROVERPKGZdbMatch�	TypeError�error�
exceptions�Error�str�len�next�
StopIterationZRPMTAG_PROVIDENAME�index�
ValueError�decodeZRPMTAG_PROVIDEFLAGSZRPMTAG_PROVIDEVERSIONZRPMSENSE_EQUAL�zip�
isinstance�KeyError�
IndexErrorr)�installroot�tsZdistrover_major_pkgZdistrover_minor_pkgZdistroverpkg�idx�e�hdr�msg�
releaseverZreleasever_majorZreleasever_minorZoff�flagZverZprovide�r(�4/usr/lib/python3.9/site-packages/dnf/rpm/__init__.py�detect_releaseverssn


*�






r*cCst|�\}}}|S)z-Calculate the release version for the system.)r*)r r&�_r(r(r)�detect_releaseverdsr,cCs�t��}t|��f}|��}z|�|�}Wn:tjyb}z tj�	d�
||���WYd}~n
d}~00|Wd�S1s|0YdS)zReturn RPM header of the file.z
{0}: '{1}'N)rr�open�filenoZhdrFromFdnor
rrrr�format)�pathr!�packageZfdnor$r#r(r(r)�_headerls
*r2cs�fdd��D�S)Ncs i|]}�|D]
}||�qqSr(r()�.0�k�v�Zdctr(r)�
<dictcomp>y�z_invert.<locals>.<dictcomp>r(r6r(r6r)�_invertxsr9)�aarch64)
�alphaZalphaev4Z	alphaev45Zalphaev5Z	alphaev56Zalphaev6Z	alphaev67Z	alphaev68Zalphaev7Z
alphapca56)Z	armv5tejlZarmv5telZarmv5tlZarmv6lZarmv7lZarmv8l)Zarmv6hlZarmv7hlZarmv7hnlZarmv8hl)�i386ZathlonZgeoder<Zi486Zi586Zi686)�ia64)�mips)�mipsel)�mips64)�mips64el)�loongarch64)�noarch)�ppc)�ppc64Zppc64iseriesZppc64p7Zppc64pseries)�ppc64le)�riscv32)�riscv64)�riscv128)�s390)�s390x)�sh3)�sh4Zsh4a)�sparcZsparc64Zsparc64vZsparcv8Zsparcv9Zsparcv9v)�x86_64Zamd64Zia32e)r:r;ZarmZarmhfpr<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOcCst|S)N)�
_BASEARCH_MAP)Zarchr(r(r)�basearch�srQcCs||}t|�rt|d�}|S)z�
    Returns value of rpm_hdr[key] as a string. Rpm has switched from bytes to str
    and we need to handle both properly.
    r)rr)Zrpm_hdr�key�valuer(r(r)�	getheader�s
rT)Z
__future__rr�rZ
dnf.pycomprZ	dnf.constrZdnf.exceptionsr
r*r,r2r9rPrQrTr(r(r(r)�<module>sLG�
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg