ruạṛ
a ���fS � @ s~ d dl Z d dlZd dlZd dlmZ d dlmZ dd� Zddd�Zddd �Z ddd�Z g g d d dfdd�Zdd� Zdd� Z dS )� N)�alxutils)�utilsc s: t ddd�}|j�� �� � � fdd�| D �}t||dd�S )NTF��load_system_repo�load_available_reposc s g | ]}t � |��qS � )�_package_tup2obj)�.0�tup�� installedr �;/usr/share/oracle-cloud-agent/plugins/osms/osms/dnfutils.py� <listcomp> � z"package_remove.<locals>.<listcomp>)�remove� allow_erasing)� _dnf_base�sack�queryr �_dnf_transaction)�package_list�base� to_remover r r �package_remove s r c C s� t ddd�}|j�� �� }|j�� �� }d }g }g }| D �]}t|�dk rT|�d� |\} } }}} | dkr�|dkr�|dkr�| dkr�|j| d�r�t� d| � q8|dkr�d}|j| | d�� � }t||�}|s�d t|� }t� d |� |�|� q8|D ]J}|� |�}|dk�rt� dt|�� q8q�|dkr�t� dt|�� q8q�|�|� q8|�s�|�rpd dd�|� ddd�f}n ddi f}|j�� |�� |S t|||d�S )NTr � � )�namezPackage %s is already installedr )r �archz,Package %s is not available for installationzE: %szPackage %s already installedz6More recent version of package %s is already installed� z-Failed: Packages failed to install properly: � �1�package_install_failure)�versionr z$Requested packages already installed)�install� cache_only)r r r r � available�len�append�filter�logging�debug�latestr �_package_tup2str�evr_cmp�join�_plugins�_unload�closer )r r$ r r r% �errZerrmsgsZ to_install�packager r"