File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/yumpkg.cpython-310.pyc
o
�N�g�� � @ sd d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
ZddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZmZmZ ddlmZ e�e�ZdZdZ dZ!dd � Z"d
d� Z#dd
� Z$edfdd�Z%dd� Z&dd� Z'dd� Z(d�dd�Z)dd� Z*dd� Z+d�dd�Z,d�dd �Z-d�d!d"�Z.d#d$� Z/d%d&� Z0d'd(� Z1ej2j3�4e1d)�Z5d*d+� Z6d,d-� Z7d�d/d0�Z8d1d2� Z9d�d3d4�Z:d5d6� Z;d�d7d8�Z<ej2j3�4e<d9�Z=d:d;� Z>d<d=� Z?d>d?� Z@d@dA� ZAG dBdC� dCej2jBjC�ZD . . . . . D .d�dEdF�ZE . . d�dGdH�ZF . . .d�dIdJ�ZGd�dKdL�ZHd�dMdN�ZI d�dOdP�ZJd�dQdR�ZKedfdSdT�ZLej2j3�4eLdU�ZMdVdW� ZNdXdY� ZOd�dZd[�ZPd\d]� ZQd�d_d`�ZRej2j3�4eRda�ZSd�dbdc�ZTd�ddde�ZUd�dfdg�ZVd�dhdi�ZWd�djdk�ZXdldm� ZYdndo� ZZdpdq� Z[drds� Z\dtdu� Z]dvdw� Z^d�dxdy�Z_d�dzd{�Z`d|d}� Zad~d� ZbdS )�ak
Support for YUM/DNF
.. important::
If you feel that Salt should be using this module to manage packages on a
minion, and it is using a different module (or gives an error similar to
*'pkg.install' is not available*), see :ref:`here
<module-provider-override>`.
.. note::
DNF is fully supported as of version 2015.5.10 and 2015.8.4 (partial
support for DNF was initially added in 2015.8.0), and DNF is used
automatically in place of YUM in Fedora 22 and newer.
.. versionadded:: 3003
Support for ``tdnf`` on Photon OS.
.. versionadded:: 3006.10
Support for ``dnf5``` on Fedora 41
� N)�CommandExecutionError�MinionError�SaltInvocationError��LooseVersionz[\w+]+(?:[.-][^-]+)*�.�pkgc C sn t �d�dkr dS ztd �� } td �� }W n
ty! Y dS w d}|dks,| |v r5t� d u r3d
S tS dS )z2
Confine this module to yum based systems
Zyum_providerZ
yumpkg_api)Fz0Module yumpkg: yumpkg_api provider not available�os� os_family)Fz+Module yumpkg: no yum based system detected)ZamazonZxcpZ xenserverZvirtuozzolinuxZ virtuozzozissabel pbxZ openeulerZredhatN)FzDNF nor YUM found)�__opts__�get�
__grains__�lower� Exception�_yum�__virtualname__)Zos_grainr
�enabled� r �G/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/yumpkg.py�__virtual__8 s �
r c G sN |sd}ndd� |D �}d}t jj�| d�D ]}|�� |vr$||d 7 }q|S )N)zinstalled packageszavailable packageszavailable upgradeszupdated packageszupgraded packagesc S � g | ]}|� � �qS r )r ��.0�xr r r �
<listcomp>_ � z"_strip_headers.<locals>.<listcomp>� �
)�salt�utils� itertools�splitr )�output�argsZargs_lc�ret�liner r r �_strip_headersU s �r&