HEX
Server: LiteSpeed
System: Linux w5304130.sdnsbox.com 4.18.0-425.3.1.lve.el8.x86_64 #1 SMP Tue Nov 22 22:59:23 EST 2022 x86_64
User: makefitmeserver (1001)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/dnf/db/__pycache__/group.cpython-36.pyc
3

�ft`a:�@s|ddlZddlZddlZddlZddlmZddlm	Z	Gdd�de
�ZGdd�de�ZGdd	�d	e�Z
Gd
d�de
�ZdS)�N)�_)�loggerc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�
PersistorBasecCs<t|tjjj�s ttt|����||_i|_i|_	i|_
dS)N)�
isinstance�dnf�db�historyZ
SwdbInterface�AssertionError�str�type�
_installed�_removed�	_upgraded)�selfr�r�/usr/lib/python3.6/group.py�__init__s
 zPersistorBase.__init__cCst|j�t|j�t|j�S)N)�lenrr
r)rrrr�__len__&szPersistorBase.__len__cCsi|_i|_i|_dS)N)rr
r)rrrr�clean)szPersistorBase.cleancCst�dS)N)�NotImplementedError)r�objrrr�_get_obj_id.szPersistorBase._get_obj_idcCs*|jjj|d|tjj�}|jtjj�dS)N�)r�swdb�addItem�libdnf�transaction�TransactionItemReason_USERZsetStateZTransactionItemState_DONE)r�item�action�tirrr�_add_to_history1szPersistorBase._add_to_historycCs$||j|j|�<|j|tjj�dS)N)rrr"rr�TransactionItemAction_INSTALL)rrrrr�install5szPersistorBase.installcCs$||j|j|�<|j|tjj�dS)N)r
rr"rr�TransactionItemAction_REMOVE)rrrrr�remove9szPersistorBase.removecCs$||j|j|�<|j|tjj�dS)N)rrr"rr�TransactionItemAction_UPGRADE)rrrrr�upgrade=szPersistorBase.upgradecCst�dS)N)r)r�obj_id�name�translated_name�	pkg_typesrrr�newAszPersistorBase.newcCst�dS)N)r)rr)rrr�getDszPersistorBase.getcCst�dS)N)r)r�patternrrr�search_by_patternGszPersistorBase.search_by_patternN)�__name__�
__module__�__qualname__rrrrr"r$r&r(r-r.r0rrrrrsrc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�GroupPersistorcCs"|jjj�}dd�|D�}t|�S)NcSsg|]}|j�r|�qSr)�getCompsGroupItem)�.0�irrr�
<listcomp>Osz+GroupPersistor.__iter__.<locals>.<listcomp>)rr�getItems�iter)r�itemsrrr�__iter__MszGroupPersistor.__iter__cCs|j�S)N)�
getGroupId)rrrrrrRszGroupPersistor._get_obj_idcCsH|jjj�}|j|�|dk	r(|j|�|dk	r:|j|�|j|�|S)N)rrZcreateCompsGroupItemZ
setGroupId�setName�setTranslatedName�setPackageTypes)rr)r*r+r,�
swdb_grouprrrr-Us



zGroupPersistor.newcCs"|jjj|�}|sdS|j�}|S)N)rrr5)rr)rArrrr._s
zGroupPersistor.getcCs|jjj|�S)N)rrZgetCompsGroupItemsByPattern)rr/rrrr0fsz GroupPersistor.search_by_patterncCs|jjj|�S)N)rrZgetPackageCompsGroups)r�pkg_namerrr�get_package_groupsisz!GroupPersistor.get_package_groupscCs�|jjj|dd�}|tjjkr"dSt|j|��}xJ|jj	�D]<\}}x2|j
�D]&}|j�|kr`qN|j�sjqN|j
|�qNWq<WxJ|jj	�D]<\}}x2|j
�D]&}|j�|kr�q�|j�s�q�|j|�q�Wq�W|r�dSdS)Nr�FT���)rr�resolveRPMTransactionItemReasonrrZTransactionItemReason_GROUP�setrCr
r;ZgetPackagesZgetName�getInstalledr&r�add)rrB�reasonZpackage_groups�group_id�group�pkgrrr�is_removable_pkgls*zGroupPersistor.is_removable_pkgN)
r1r2r3r<rr-r.r0rCrNrrrrr4Ks
r4c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�EnvironmentPersistorcCs"|jjj�}dd�|D�}t|�S)NcSsg|]}|j�r|�qSr)�getCompsEnvironmentItem)r6r7rrrr8�sz1EnvironmentPersistor.__iter__.<locals>.<listcomp>)rrr9r:)rr;rrrr<�szEnvironmentPersistor.__iter__cCs|j�S)N)ZgetEnvironmentId)rrrrrr�sz EnvironmentPersistor._get_obj_idcCsH|jjj�}|j|�|dk	r(|j|�|dk	r:|j|�|j|�|S)N)rrZcreateCompsEnvironmentItemZsetEnvironmentIdr>r?r@)rr)r*r+r,�swdb_envrrrr-�s



zEnvironmentPersistor.newcCs"|jjj|�}|sdS|j�}|S)N)rrrP)rr)rQrrrr.�s
zEnvironmentPersistor.getcCs|jjj|�S)N)rrZ!getCompsEnvironmentItemsByPattern)rr/rrrr0�sz&EnvironmentPersistor.search_by_patterncCs|jjj|�S)N)rrZgetCompsGroupEnvironments)rrKrrr�get_group_environments�sz+EnvironmentPersistor.get_group_environmentscCs�|jjj|�}|sdSt|j|��}xJ|jj�D]<\}}x2|j�D]&}|j�|krTqB|j	�s^qB|j
|�qBWq0WxJ|jj�D]<\}}x2|j�D]&}|j�|kr�q�|j	�s�q�|j|�q�Wq|W|r�dSdS)NFT)
rrLr.rGrRr
r;Z	getGroupsr=rHr&rrI)rrKrAZgroup_environmentsZenv_id�envrLrrr�is_removable_group�s*z'EnvironmentPersistor.is_removable_groupN)
r1r2r3r<rr-r.r0rRrTrrrrrO�s
rOc@s�eZdZd,dd�Zdd�Zdd�Zdd	�Zd-d
d�Zdd
�Zdd�Z	dd�Z
d.dd�Zd/dd�Zd0dd�Z
d1dd�Zd2dd�Zd3dd�Zd4dd�Zd d!�Zd"d#�Zed$d%��Zed&d'��Zd(d)�Zd*d+�ZdS)5�RPMTransactionNc	Cs:||_||_|js0y|jjj�WnYnXi|_dS)N)rrrZinitTransaction�_swdb_ti_pkg)rrrrrrr�szRPMTransaction.__init__cs8�jr�jj�}n�jjj�}�fdd�|D�}t|�S)Ncs&g|]}|j�rtjjj�j|��qSr)�
getRPMItemrrr�RPMTransactionItemWrapper)r6r7)rrrr8�sz+RPMTransaction.__iter__.<locals>.<listcomp>)rr9rrr:)rr;r)rrr<�s
zRPMTransaction.__iter__cs8�jr�jj�}n�jjj�}�fdd�|D�}t|�S)Ncs&g|]}|j�rtjjj�j|��qSr)rWrrrrX)r6r7)rrrr8�sz*RPMTransaction.__len__.<locals>.<listcomp>)rr9rrr)rr;r)rrr�s
zRPMTransaction.__len__cCsP|jjj�}|j|j�|j|jp$d�|j|j�|j	|j
�|j|j�|S)Nr)
rrZ
createRPMItemr>r*ZsetEpochZepochZ
setVersion�versionZ
setRelease�releaseZsetArch�arch)rrM�rpm_itemrrr�_pkg_to_swdb_rpm_item�sz$RPMTransaction._pkg_to_swdb_rpm_itemcCsV|j|�}|j|�}|dkr&|j|�}|jjj||||�}|rH|j|�||j|<|S)N)r]�
get_repoid�
get_reasonrrr�
addReplacedByrV)rrMr rJ�replaced_byr\Zrepoid�resultrrrr-�s




zRPMTransaction.newcCst|dd�}|r|S|jS)NZ_force_swdb_repoid)�getattrZreponame)rrMrbrrrr^�szRPMTransaction.get_repoidcCs|jjj|j|jd�S)zGet reason for package����)rrrFr*r[)rrMrrrr_�szRPMTransaction.get_reasoncCstjj|j|��S)zGet reason for package)rrZTransactionItemReasonToStringr_)rrMrrr�get_reason_name�szRPMTransaction.get_reason_namecCs8|pg}x*|D]"}|j|tjj�}|r|j|�qWdS)N)r-rr�TransactionItemAction_OBSOLETEDr`)r�	obsoletedraZobsr!rrr�_add_obsoleteds

zRPMTransaction._add_obsoletedcCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)ra)r-rr�TransactionItemAction_DOWNGRADE� TransactionItemAction_DOWNGRADEDri)rr-�oldrh�ti_new�ti_oldrrr�
add_downgrade
szRPMTransaction.add_downgradecCs|j||�dS)N)�
add_remove)rrlrJrrr�	add_eraseszRPMTransaction.add_erasecCs4|dkrtjj}|j|tjj|�}|j||d�dS)N)ra)rrrr-r#ri)rr-rhrJrmrrr�add_installszRPMTransaction.add_installcCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)ra)r-rr�TransactionItemAction_REINSTALL�!TransactionItemAction_REINSTALLEDri)rr-rlrhrmrnrrr�
add_reinstallszRPMTransaction.add_reinstallcCs"|p
tjj}|j|tjj|�}dS)N)rrrr-r%)rrlrJrnrrrrpszRPMTransaction.add_removecCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)ra)r-rrr'�TransactionItemAction_UPGRADEDri)rr-rlrhrmrnrrr�add_upgrade!szRPMTransaction.add_upgradecCs^|jr
dS|jjrdSy.|drB|j�rBtjtd�j|��dSWntk
rXdSXdS)NrZmodularitylabelz\No available modular metadata for modular package '{}', it cannot be installed on the systemrd)	Z
_from_cmdlineZrepoZmodule_hotfixesZ_is_in_active_modulerZcriticalr�format�
ValueError)r�hdrrMrrr�_test_fail_safe&szRPMTransaction._test_fail_safecCsd}�x�|D�]�}|jtjjkrJ|jj}||j||j�7}|j||d�q|jtjjkrh|j	|jj
�q|jtjjkr�|jj}||j||j�7}|j||d�q|jtjjkr�|jj}||j||j�7}|j||d�q|jtjj
kr�|j	|jj
�q|jtjjk�r.|jj}||j||j�7}|j||�q|jtjjk�rN|j	|jj
�q|jtjjk�rn|j	|jj
�q|jtjjk�r�|jj}||j||j�7}|j||d�q|jtjjk�r�|j	|jj
�q|jtjjk�r�qtd|j��qW|�rtjjtd���|S)z!Populate the RPM transaction set.r�ur7z%TransactionItemAction not handled: %sz1No available modular metadata for modular package)r rrrjrMZ_headerr{Z
addInstallrkZaddErase�idxr#ZTransactionItemAction_OBSOLETErgrsZaddReinstallrtr%r'rvZ#TransactionItemAction_REASON_CHANGE�RuntimeErrorr�
exceptions�Errorr)rZtsZmodular_problems�tsirzrrr�_populate_rpm_ts4sLzRPMTransaction._populate_rpm_tscCsXt�}xL|D]D}|jtjjkry|j|j�Wqtk
rNtd|��YqXqW|S)Nz*TransactionItem is has no RPM attached: %s)	rGr rrZFORWARD_ACTIONSrIrM�KeyErrorr~)rrbr�rrr�install_setcs
zRPMTransaction.install_setcCsbt�}xV|D]N}|jtjjtjjgkry|j|j�Wqt	k
rXt
d|��YqXqW|S)Nz*TransactionItem is has no RPM attached: %s)rGr rrZBACKWARD_ACTIONSrrtrIrMr�r~)rrbr�rrr�
remove_setos
zRPMTransaction.remove_setcCs,dd�|jD�}t|�r(td�|dSdS)zj Ensures all the members can be passed to rpm as they are to perform
            the transaction.
        cSsg|]}|jdkr|�qS)�src)r[)r6rMrrrr8sz3RPMTransaction._rpm_limitations.<locals>.<listcomp>z+Will not install a source rpm package (%s).rN)r�rr)rZsrc_installsrrr�_rpm_limitations{s

zRPMTransaction._rpm_limitationscs�fdd�|D�S)Ncsg|]}|j�kr|�qSr)r )r6r�)r rrr8�sz-RPMTransaction._get_items.<locals>.<listcomp>r)rr r)r r�
_get_items�szRPMTransaction._get_items)N)NN)N)N)N)NN)N)N)N)r1r2r3rr<rr]r-r^r_rfrirorqrrrurprwr{r��propertyr�r�r�r�rrrrrU�s*
		







/
rU)Zlibdnf.transactionrZdnf.db.historyrZdnf.transactionZdnf.exceptionsZdnf.i18nrZdnf.utilr�objectrr4rOrUrrrr�<module>s-<<