403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib/python3.9/site-packages/dnf/module/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/dnf/module/__pycache__/module_base.cpython-39.opt-1.pyc
a

�!cA��@s�ddlmZddlZddlZddlZddlZddlZddl	m
Z
ddlmZddl
mZmZmZddlZejjjZejjjZejjjZejjjZed�Zed�Zdd	�ZGd
d�de�Z dd
�Z!dS)�)�OrderedDictN)�EnableMultipleStreamsException)�logger)�_�P_�ucdz6

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledz@

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctivecCs|��S�N��getName)�profile�r�:/usr/lib/python3.9/site-packages/dnf/module/module_base.py�_profile_comparison_key'src@seZdZdd�Zdd�Zdd�ZdBdd	�ZdCd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dDdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�ZdEd%d&�Zd'd(�Zd)d*�Zd+d,�ZdFd-d.�Zd/d0�Zed1d2��Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAS)G�
ModuleBasecCs
||_dSr)�base)�selfrrrr
�__init__.szModuleBase.__init__c	Csj|�|�\}}}}|��D],\}\}}|jrt�td��|j|j��q|sT|sT|rftj	j
|||d��dS)N�%Ignoring unnecessary profile: '{}/{}'��no_match_group_specsZerror_group_specs�module_depsolv_errors)�!_resolve_specs_enable_update_sack�itemsrr�infor�format�name�dnf�
exceptions�
MarkingErrors)	r�module_specs�no_match_specs�error_specs�
solver_errors�module_dicts�spec�nsvcap�module_dictrrr
�enable2s�
��zModuleBase.enablecCs,|�|t�\}}|s|r(tjj||d��dS�N)rr)�_modules_reset_or_disable�STATE_DISABLEDrrr�rrr r"rrr
�disable?s
�zModuleBase.disableTcs���|�\}}}}tj}i}t�}	d}
|��D�]J\}\}}
|
��D�]2\}}|��D�]\}}�fdd�|D�}|s�t�td��|||��|�	|�qVg}��
|�}|��|kr�td�}t�|�|�
�|��d}
|j�rX|�|�|j��|�s|��}|�r2d�tdd�|D���}td	��||||�}ntd
��|�}t�|�|�	|�qVn��jj�||�}|�s�|��}|�r�d�tdd�|D���}td��|||�}ntd
��||�}t�|�|�	|�t|�D]B}|�|�}|�s
t�td��|||��|�	|�|�|��q�|D]>}�jj�||���|��D]}|�|t���|��q<�q|D]}|	�|����q`qVqDq.|
�r�tj�td����� |	||�\}}|�r�|�|�|�s�|�s�|�r�tjj!|||d��dS)NFcs"g|]}�jj�|���r|�qSr�r�_moduleContainer�isModuleActiveZgetId��.0�x�rrr
�
<listcomp>Ss�z&ModuleBase.install.<locals>.<listcomp>zAAll matches for argument '{0}' in module '{1}:{2}' are not active�DInstalling module '{0}' from Fail-Safe repository {1} is not allowedT�, cSsg|]}|���qSrr	�r1rrrr
r4g��KUnable to match profile for argument {}. Available profiles for '{}:{}': {}�'Unable to match profile for argument {}cSsg|]}|���qSrr	r7rrr
r4wr8z<No default profiles for module {}:{}. Available profiles: {}zNo profiles for module {}:{}z0Default profile {} not available in module {}:{}�:Installing module from Fail-Safe repository is not allowedr)"r�hawkey�MODULE_FAIL_SAFE_REPO_NAME�setrr�errorrr�append�_get_latest�	getRepoID�critical�
getNameStreamr�extend�getProfiles�join�sortedrr.�getDefaultProfiles�installr
�
getContent�
setdefault�add�update�getArtifactsrr�Error�_install_profiles_internalr)rr�strictr r!r"r#�fail_safe_repo�install_dict�install_set_artifacts�fail_safe_repo_usedr$r%�
moduledictr�
streamdict�stream�module_list�install_module_list�profiles�
latest_module�msg�available_profiles�
profile_namesZprofiles_stringsr�module_profiles�pkg_name�module�__�profiles_errorsrr3r
rJFs��
�

���

���


��
��
�zModuleBase.installc.s���|�\}}}t�}t�}ddh}|��D]�\}	\}
}|��D]p}�jj�|dddd�D]T}
�jj�|
�rZ|
��D]8}|�	dd�d}||vr�qt|�	dd�d}|�
|�qtqZq@q,���}��|�}|r�|�
|�tj}i}t�}d	}�jj��}|��D�].\}	\}
}|��D�]\}}|��D�]\}}�fd
d�|D�}|�slt�td��|	||��|�|	��q$g}��|�}|��|k�r�td
�}t�|�|��|��d}|
j�r.|�
|�|
j��|�s~|��}|�rd�tdd�|D���} td��|	||| �}ntd��|	�}t�|�|�|	��q$nP||v�r~||D]<}!|�|!�}"|"�spt�td��|!||���q@|�
|"��q@|D]>}!�jj�||!� ��|!�!�D]}|�"|t���
|	��q��q�|D]\}
|
��}#|�#|#�|#D]>}|�	dd�d}||v�r�q�|�	dd�d}|�
|��q�qƐq$�qq�|�rDt$j%�&td�����'|||�\}$}%|%�rf|�
|%�t�}&|&�#|�|&�#|��jj(��j)dd�}'�jj(��j)ddgd��*�}(|&D]�}|(j+|d�})|)�,�}*|*�s֐q�|)�-�}+|+�st�td��|��||v�r�|'�.|)�}'�q�|)�/|$�},|,�r$|,})t$j0�1�jj(�}-|-j|)d��jj2j3|-d��q��j�4|'�|�sr|�sr|�r�t$j%j5|||d��dS)N�nosrc�src��.��-�rFcs"g|]}�jj�|���r|�qSrr-r0r3rr
r4�s�z(ModuleBase.switch_to.<locals>.<listcomp>z8No active matches for argument '{0}' in module '{1}:{2}'r5Tr6cSsg|]}|���qSrr	r7rrr
r4�r8r9r:zEInstalled profile '{0}' is not available in module '{1}' stream '{2}'r;��empty�Z	arch__neq�rz9No packages available to distrosync for package name '{}'��pkg��selectr)6�_resolve_specs_enabler>r�keysrr.�queryr/rO�rsplitrM�_update_sack�_enable_dependenciesrEr<r=ZgetRemovedProfilesrr?rrr@rArBrCrDrrFrGrHZwarningrJr
rKrLrNrrrPrQ�sack�filterm�apply�filter�	installed�	available�union�intersection�selector�Selector�_goalZdistupgrade�_remove_if_unneededr).rrrRr r!r#Znew_artifacts_namesZactive_artifacts_namesZ
src_archesr$r%rWrrc�artifact�archrbr"�dependency_error_specrSrTrUrVZremoved_profilesrXrYrZr[r\r]r^r_r`rra�	artifacts�install_base_queryreZ	all_namesZremove_query�base_no_source_queryrwrr�Zonly_new_module�sltrrr3r
�	switch_to�s�

�

���



��

��


�


�zModuleBase.switch_tocCs(|�|t�\}}|r$tjj||d��dSr()r)�
STATE_UNKNOWNrrrr+rrr
�resets
�zModuleBase.resetc	sg}tj}d}�jj��jddgd���}|D�]�}��|�\}}|sR|�|�q.�fdd�|D�}	|	s~t	�
td��|��q.��
|	|d�}
t�}|
��D]�\}}
|
��D]�\}}|���||����|�}|��|kr�td�}t	�|�|��|��d	}|j�r4|�|j�}|�sq�|D]}|�|����qq�|��D]}|�|����q<|��D]4}t�|�}|jtjgd
�D]}|�|j��qx�qZq�q�|�s�t	�
td��|��|j|d�}|r.t j!�"�jj�}|j|d
��jj#j$|d�q.|�rt j%�&td���|S)NFrgrfrocs"g|]}�jj�|���r|�qSrr-r0r3rr
r43s�z&ModuleBase.upgrade.<locals>.<listcomp>�Unable to resolve argument {}zCUpgrading module '{0}' from Fail-Safe repository {1} is not allowedT)Zforms�&Unable to match profile in argument {}rprqrsz9Upgrading module from Fail-Safe repository is not allowed)'r<r=rr{rwr|r}�_get_modulesr@rr?rr�_create_module_dict_and_enabler>rrN�)_get_package_name_set_and_remove_profilesrArBrCrDrrFrKrO�SubjectZget_nevra_possibilitiesZ
FORM_NEVRArMrr~rr�r�r��upgraderrP)rrr rSrVr�r$rZr%Zupdate_module_listr&Zupgrade_package_setrrXrY�module_list_from_dictr]r^�profiles_setrr��subjZ	nevra_objrwr�rr3r
r�%sj

�
�
�
�zModuleBase.upgradec
Cs�g}t�}|D]�}|�|�\}}|s0|�|�q|�||d�}g}|��D].\}	}
|
��D]\}}|�|�||d��qZqJ|s�t�t	d��
|��|�|�q|r�|jj
��}
|�|
�}|r�|jj����j|d�}|r�|j�|�|S)NFTr�rp)r>r�r@r�rrEr�rr?rrrNrr.ZgetInstalledPkgNames�
differencer{rwrr|r�)rrr Zremove_package_setr$rZr%r&Zremove_packages_namesrrXrYr�Zkeep_pkg_namesrwrrr
�remove_s2
�

zModuleBase.removecCs
|�|�Sr)r�)r�module_specrrr
�get_modules|szModuleBase.get_modulesc
Cs�t�|�}|��D]�}|jr"|jnd}|jr2|jnd}d}|jrF|jnd}|jrV|jnd}|jrt|jdkrtt|j�}|j	j
�|||||�}	|	r|	|fSqdS)Nrh���)rN)r<r�Znsvcap_possibilitiesrrY�contextr��version�strrr.rw)
rr�r�r%rrYr�r�r��modulesrrr
r��s

zModuleBase._get_modulescCs:d}|r6|d}|dd�D]}|��|��kr|}q|S)Nrrj)Z
getVersionNum)rrZ�latestrcrrr
rA�szModuleBase._get_latestc
Cs`i}|D]&}|�|��i��|��g��|�q|��D�] \}}|jj�|�}t|�dk�r6|t	kr�|t
kr�|tkr�d�t
|��t�|jjj�d��}	td�j|t|�|	|d�}
t||
��|t
kr�|jj�|�}n|jj�|�}|r�||vr�t|��t
|���D]0}||k�r*|�r|jj�||��q||=�qq8|r8|��D]}|jj�||��qBq8|S)Nrjz', '��keyz�Argument '{argument}' matches {stream_count} streams ('{streams}') of module '{module}', but none of the streams are enabled or default)�argumentZstream_countZstreamsrc)rLr
�	getStreamr@rrr.ZgetModuleState�len�
STATE_DEFAULT�
STATE_ENABLEDr*rGrHrv�	functools�
cmp_to_keyr{Zevr_cmprrrZgetEnabledStream�getDefaultStreamr')
rrZr$r'�
moduleDictrcZ
moduleName�
streamDictZmoduleStateZstreams_strr^rYr�rrr
r��sN�����
�

z)ModuleBase._create_module_dict_and_enablec
Cs�g}g}i}|D]�}|�|�\}}|s2|�|�qz|�||d�}||f||<Wqttfy�}	z8|�|�t�t|	��t�td��	|��WYd}	~	qd}	~	00q|||fS)NTr�)
r�r@r��RuntimeErrorrrr?rrr)
rrr �
error_specr#r$rZr%r&�errr
ru�s 

,z ModuleBase._resolve_specs_enablec
Cs�dd�|jj��D�}z4|jjj|jj||jjj|jjjd|jjj	d�}Wn6t
jy�}ztj
�t|���WYd}~n
d}~00|S)NcSsg|]}|jr|j�qSr�Zmodule_hotfixes�id�r1�irrr
r4�r8z+ModuleBase._update_sack.<locals>.<listcomp>T)Zupdate_onlyZdebugsolver)r�repos�iter_enabledr{Zfilter_modulesr.�confZinstallrootZmodule_platform_idZdebug_solverr<�	ExceptionrrrPr)r�
hot_fix_reposr"r�rrr
ry�s
�
&zModuleBase._update_sackc	
Cs�g}|��D]�\}\}}|��D]~}|��D]p}z|jj�tj�|��Wq,ty�}z8|�	|�t
�t|��t
�t
d��|��WYd}~q,d}~00q,q q|S)Nr�)r�valuesrr.ZenableDependencyTree�libdnfrcZVectorModulePackagePtrr�r@rr?rrr)	rr#r�r$r%r�r�r�r�rrr
rz�s
�
0zModuleBase._enable_dependenciescCs<|�|�\}}}|��}|�|�}|r0|�|�||||fSr)ruryrzrE)rrr r�r#r"r�rrr
r�s

z,ModuleBase._resolve_specs_enable_update_sackcCs�g}|D]�}|�|�\}}|s>t�td��|��|�|�q|js\|js\|js\|j	s\|j
rpt�td��|��t�}|D]}|�
|���qz|D]0}	|tkr�|jj�|	�|tkr�|jj�|	�q�q|��}
||
fS)Nr�zMOnly module name is required. Ignoring unneeded information in argument: '{}')r�rr?rrr@rYr�r�r�rrr>rMr
r�rr.r�r*r,ry)rrZto_stater r$rZr%Zmodule_namesrcrr"rrr
r)�s*
�z$ModuleBase._modules_reset_or_disableFc
Cs�t�}|�|�}t|jj�|����}|s0t�S|jr�|�|j�}|sLt�S|D]6}|��|vrP|rx|jj�||���|�	|�
��qPn<|D]6}	|r�|jj�||	�|�|	�D]}|�	|�
��q�q�|Sr)r>rArr.�getInstalledProfilesr
rrFZ	uninstallrNrK)
rrZr%r�Zpackage_name_setr]Zinstalled_profiles_stringsr�rZprofile_stringrrr
r�s,

�z4ModuleBase._get_package_name_set_and_remove_profilesc	Cs�t�}|D]�}|�|�\}}|s6t�td��|��q
|jrVt�td��|j|j��|D]`}t�}|�	�|d<t
|��td�D]$}d�
dd�|��D��||��<q�|�|�|����qZq
d�
t
|��S)	Nr�r�Namer��
cSsg|]}|�qSrr)r1ZpkgNamerrr
r45r8z1ModuleBase._get_info_profiles.<locals>.<listcomp>�

)r>r�rrrrrrr�getFullIdentifierrHrFrrGrKr
rM�_create_simple_table�toString)	rr�outputr�rZr%rc�linesrrrr
�_get_info_profiles#s&��zModuleBase._get_info_profilescCs||jj�|���}|��}d}t|td�D]D}|d�|��|��|vrJdnd�7}||��|vrh|rhdnd7}q*|dd�S)Nrhr�z{}{}� [d]z [i], r6���)rr.r�r
rFrHrr)r�
modulePackage�default_profiles�enabled_strZinstalled_profilesr_�profiles_strrrrr
�_profile_report_formatter:s���z$ModuleBase._profile_report_formattercCs|���dd�S)Nr�� )�strip�replace)rZsummaryrrr
�_summary_report_formatterFsz$ModuleBase._summary_report_formattercCs�d}d}d}|��|jj�|���kr*d}|jj�|�rJ|s@d}|d7}n|jj�|�rh|s`d}|d7}|r�|jj�|�r�|s�d}|d7}|||fS)Nrhr�r�z[e]z[x]z[a])r�rr.r�r
Z	isEnabledZ
isDisabledr/)rr��
markActive�default_strr��disabled_strrrr
�_module_strs_formatterIs(�
z!ModuleBase._module_strs_formatterc
Cs�t�}|D�]�}|�|�\}}|s8t�td��|��q
|jrXt�td��|j|j��|D�]p}|j|dd�\}}}	|j	j
�|��|�
��}
|�||
|�}t�}|��|d<|�
�|||	|d<|��|d<|��|d<|��|d	<||d
<d�|
�|d<|��|d
<|��|d<|��|d<t�}
|��D]B}|��D]2}|��D]"\}}|
�d�|d�|����qJ�q>�q2d�t|
��|d<|��}|�r�d�|�|d<d�t|����|d<|�|�|����q\q
d�t|��}|�r�|t 7}|S)Nr�rT�r�r��StreamZVersionZContextZArchitecture�Profilesr�zDefault profiles�Repo�SummaryZDescriptionz{}:[{}]�,r�ZRequireszDemodularized rpmsZ	Artifactsr�)!r>r�rrrrrrr�rr.rIr
r�r�rZ
getVersionZ
getContextZgetArchrGrB�
getSummaryZgetDescriptionZgetModuleDependenciesZgetRequiresrrMrHZgetDemodularizedRpmsrOr�r��MODULE_INFO_TABLE_HINT)rrr�r�rZr%r�r�r�r�r�r�r�Zreq_setZreqZrequire_dictZmod_requirerYZ
demodularized�	str_tablerrr
�	_get_info^s`
�
����$zModuleBase._get_infocCs�tj��}|�d�|�d�|�d�}|�d�}|�d�|�d�|��|�	�D]@\}}|durjd}|�
�}|�|��|�|�|��t
|��qV|S)NTz : r�ZValuer�rh)r��	smartcols�TableZenableNoheadingsZsetColumnSeparator�	newColumn�setWrapZsetSafecharsZsetNewlineWrapFunctionr�newLine�
getColumnCell�setDatar�)r��table�column_nameZcolumn_valueZ	line_name�value�linerrr
r��s






zModuleBase._create_simple_tablec	Cs�t�}|D]l}|�|�\}}|s6t�td��|��q
|jrVt�td��|j|j��|D]}|��}|rZ|�	|�qZq
d�
t|��}|S)Nr�rr�)r>r�rrrrrrZgetYamlrMrGrH)	rrr�r�rZr%r�rZ
output_stringrrr
�_get_full_info�s �zModuleBase._get_full_infoc
Csrt�}|jj��}|jj��jdd���}|jjjtj	d�}|D].}t
j�|�}|�
|j|jjddd|d��}q@|��|D]�}|��}	|	s�q||j|	d�}
|
r||
D]�}d}g}
t|��td�D] }|j|��vr�|
�|���q�t�}|��|d	<d
�t|
��|d<|��|d<|��|d
<|�|�}|d�|jjj �!t"|���7}|d�|�#��7}|�$|�q�q|d�t|��S)NTrm)�flagsF)Z
with_nevraZ
with_providesZwith_filenamesrw�Znevra_strictrhr�ZModuler�r�r�r��{}
z{}r�)%r>rr.�getModulePackagesr{rwr|r}r<ZIGNORE_MODULAR_EXCLUDESrZsubjectr�r�Zget_best_queryrOr~rHrFrrrKr@r
rr�rGrBr�r�rr��term�boldr�r�rM)rZ	rpm_specsr�ZmodulePackagesZ	baseQueryZgetBestInitQueryr$r�r�r�rwrrZ
string_outputr\rr�r�rrr
�_what_provides�sB�

zModuleBase._what_providescsjtj��}|�tjjj�|�d�|�d�}|�d�}|�d�}|�d�|�d�}|�d��jj	j
spd|_|D]�}|D]�}t|�dkr�|d}	n(�fdd	�|D�}
|
r�|
d}	n|d}	|�
�}�j|	d
d�\}}
}�jj�|	��|	���}��|	||
�}|�|��|	���|�|��|	��||
|�|�|��|���|	���}|�|��|�q|qt|S)NTr�r�r�r�rjrcsg|]}�jj�|�r|�qSr)rr.r/)r1rcr3rr
r4�s�z5ModuleBase._create_and_fill_table.<locals>.<listcomp>Fr�)r�r�r�ZsetTermforceZTermForce_AUTOZenableMaxoutr�r�rr��verboseZhiddenr�r�r�r.rIr
r�r�r�r�r�r�)rr�r�r�Z
column_streamZcolumn_profilesZcolumn_infoZlatest_per_repoZnameStreamArchr�Zactiver�r�r�r�r�r�Zsummary_strrr3r
�_create_and_fill_table�sN










�����z!ModuleBase._create_and_fill_tablec	Cs�g}|r,|D]}|�|�\}}|�|�qn|jj��}|jj�||�}|sPdS|�|�}d}	d}
z"|jj|ddd��j	}Wn&t
y�|ddd��}Yn0t|d�}|�|�}
|�
|�}||
7}td|���D]�}||
|k�rz|
|7}
|	d7}	z"|jj||	dd��j	}Wn(t
�yN||	dd��}Yn0t||	�}|d7}||�
|�7}||
7}|�|�}||�||�7}q�|tS)Nrhrrjr�)r�rErr.r�ZgetLatestModulesPerRepor�r�rBr�KeyErrorr��_format_header�_format_repoid�rangeZgetNumberOfLines�getLiner��MODULE_TABLE_HINT)rrZmodule_stater�r$rZr%r�r�Zcurrent_repo_id_indexZalready_printed_lines�	repo_nameZversions�headerr�r�r�rrr
�_get_brief_descriptionsJ
"

�

z!ModuleBase._get_brief_descriptioncCs&|�d�}|�||��dd�ddS)Nrr�rj)r�r��split)rr�r�rrr
r�1s
zModuleBase._format_headercCsd�|jjj�|��S)Nr�)rrr�r�r�)rr�rrr
r�5szModuleBase._format_repoidcCs|jj��jddgd���}|j|d�}g}dd�|jj��D�}|j||��d�}|�	|�}|�
�D]�\}	}
|j|	d�}|s�|j|	d�}|s�|
D]}t�t
d	��|��q�t�t
d
��|	��|�|
�qf|jjj�|	�tj�|jj�}
|
j|d�|jjj|
|d�qf||fS)
Nrgrfror�cSsg|]}|jr|j�qSrr�r�rrr
r4?r8z9ModuleBase._install_profiles_internal.<locals>.<listcomp>)Zreponamerrpr�zNo match for package {}rq)rtZoptional)rr{rwr|r}r~r�r�rvr�rrr?rrrEr�Z
group_membersrMrr�r�r>rJ)rrUrTrRr�r�r!r�Zhotfix_packagesrbZ	set_specsrwr$r�rrr
rQ8s.�

z%ModuleBase._install_profiles_internalN)T)T)T)F)F)#�__name__�
__module__�__qualname__rr'r,rJr�r�r�r�r�r�rAr�ruryrzrr)r�r�r�r�r�r��staticmethodr�r�r�r�r�r�r�rQrrrr
r+sB

U
:	
%

0
(**rcCs&tj�|�}d�tddt|��|g�S)Nr�zModular dependency problem:zModular dependency problems:)r�utilZ_format_resolve_problemsrGrr�)�errorsr^rrr
�format_modular_solver_errorsVs�r)"�collectionsrr<Zlibdnf.smartcolsr�Z
libdnf.moduleZdnf.selectorrZdnf.exceptionsZdnf.module.exceptionsrZdnf.utilrZdnf.i18nrrrr�rcZModulePackageContainerZModuleState_DEFAULTr�ZModuleState_ENABLEDr�ZModuleState_DISABLEDr*ZModuleState_UNKNOWNr�r�r�r�objectrrrrrr
�<module>s0



1

Youez - 2016 - github.com/yon3zu
LinuXploit