%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3.9/site-packages/dnf/rpm/__pycache__/
Upload File :
Create Path :
Current File : //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�

Zerion Mini Shell 1.0