File: //lib/python3.9/site-packages/up2date_client/__pycache__/rpmUtils.cpython-39.pyc
a
c8h� � @ s| d dl Z d dlZd dlmZ d dlmZ d dlZejddd�Ze ed�sPeje_
ej
Zdd � Zd
d� Z
ddd
�Zdd� ZdS )� N)�sstr)�transactionzrhn-client-toolsT)�fallback�ugettextc K sN t �� }|�� }| �� D ]}|�|tj| | � qg }|D ]}|�|� q:|S )z@ just cause this is such a potentially useful looking method... )r �initReadOnlyTransaction�dbMatch�keys�pattern�rpmZRPMMIRE_GLOB�append)�kwargs�_ts�mi�keywordZ
headerList�h� r �;/usr/lib/python3.9/site-packages/up2date_client/rpmUtils.py�installedHeaderByKeyword s r c C sp i }g }g }| D �]T}|d |d |d |d d�}|� � D ]"}|| dksX|| dkr<||= q<tf i |��}t|�dkr�|�|� |D ]�}|d } | dkr�d} |d }
|
dkr�d}
|d
|d |d | |
f}|d dkr�d
|d |d |d f }n d|d |d |d |d f }d| }
t�|
�}|�� }|�� g }|D ]}|�|�� � �q@|�||g� q�q||fS )zf given a list of package labels, run rpm -V on them
and return a dict keyed off that data
r � � � )�name�version�release�archN� �epochr r r r z%s-%s-%sz%s-%s-%s.%sz/usr/bin/rpmverify -V %s) r r �lenr �os�popen� readlines�close�strip)Zpackages�dataZmissing_packagesZretlist�package�keywords�keyZheaders�headerr r �pkgZpackageLabelZverifystring�fd�resZreslist�liner r r �verifyPackages* sL
�
�
r, c
C sz g }| dkr| t d�� t�� }d}d}|�� D ]}|dkr@ qJ|d }q0|}d}|�� D �]}|dkrn �qft|d �|d t|d �t|d �|d d
�} | d dkr�d| d<