Current File : //proc/self/root/kunden/usr/lib/python3.9/site-packages/dnf/rpm/__pycache__/__init__.cpython-39.pyc |
a
�!c� � @ s� d dl mZ d dl mZ ddlmZ d dlmZ d dlZd dl Zd dl
Z
dd� Zd d
� Zdd� Z
e
d
ddddddddddddddddddd d!d"d#d$d%��Zd&d'� Zd(d)� ZdS )*� )�absolute_import)�unicode_literals� )�transaction)�is_py3bytesNc C s� t j| d�}|�tjtjB � tjjD �]l}tj j
r@t|d�}z|�d|�}W n> t
tjfy� } z tj�dt|� ��W Y d}~n
d}~0 0 t|�s�q(zt|�}W n" ty� d}tj�|��Y n0 |d }z�z|tj �|�}W n* t�y |tj �|�d��}Y n0 |tj | } |tj | }
| tjk�r^|
�r^|d ||�d�fv�r^|
}W n tttf�yz Y n0 t|��r�t|d�}| S dS )
z-Calculate the release version for the system.)�root�utf-8Zprovidesz Error: %sNz:Error: rpmdb failed to list provides. Try: rpm --rebuilddb�version�utf8�name)r �initReadOnlyTransactionZpushVSFlags�rpmZ_RPMVSF_NOSIGNATURESZ_RPMVSF_NODIGESTS�dnf�constZDISTROVERPKGZpycompZPY3�bytesZdbMatch� TypeError�error�
exceptions�Error�str�len�next�
StopIterationZRPMTAG_PROVIDENAME�index�
ValueError�decodeZRPMTAG_PROVIDEFLAGSZRPMTAG_PROVIDEVERSIONZRPMSENSE_EQUAL�KeyError�
IndexErrorr )Zinstallroot�tsZdistroverpkg�idx�e�hdr�msgZ
releaseverZoff�flagZver� r$ �4/usr/lib/python3.9/site-packages/dnf/rpm/__init__.py�detect_releasever sB
*
r&