Ë
    i©¹d�  ã                   ó0   — d dl mZmZmZ  G d„ dee«      Zy)é    )ÚPluginÚRedHatPluginÚ	PluginOptc                   óN   — e Zd ZdZdZdZdZdZdZ e	ddd	¬
«      gZ
d„ Zd„ Zd„ Zy)Ú	DNFPluginaü  
    The DNF plugin collects information for the dnf package manager and how it
    is configured for local system.

    By default, this plugin will collect configuration files from /etc/dnf,
    repo files defined in /etc/yum.repos.d/, module information, and various
    'dnf list' commands.

    When using the 'history-info' option, detailed transaction information will
    be collected for the most recent 50 dnf transactions, and will be saved to
    the sos_commands/dnf/history-info directory.
    zdnf package managerÚdnf)ÚsystemÚpackagemanagerÚsysmgmt)ú/etc/dnf/dnf.conf)r   úhistory-infoFz$collect detailed transaction history)ÚdefaultÚdescc                 óœ   — |sy |j                  «       D ]6  }d|v sŒ|j                  «       d   }|dk7  sŒ!| j                  d|z   d¬«       Œ8 y )Nz[i]r   zHint:zdnf module info Údnf_module_info©Útags)Ú
splitlinesÚsplitÚadd_cmd_output)ÚselfÚmodulesÚlineÚmodules       ú8/usr/lib/python3/dist-packages/sos/report/plugins/dnf.pyÚget_modules_infozDNFPlugin.get_modules_info(   sa   € ÙØð ×&Ñ&Ó(ò 	@ˆDØ˜Š}ØŸ™› a™�Ø˜WÓ$Ø×'Ñ'Ð(:¸VÑ(CØ->ð (õ @ñ		@ó    c                 ó  — | j                  ddi«       | j                  g d¢«       | j                  dg d¢¬«       | j                  d«      r| j                  d«       n3| j                  d	«       | j                  d
«       | j                  d«       | j                  dd¬«       | j                  g d¢«       | j                  dddg¬«       | j                  dddg¬«       | j                  d«       | j	                  ddg«       | j                  g d¢«       | j                  d«      s| j                  dd¬«       n”| j                  dd¬«      }d}|d   rE|d   j                  «       D ]/  }	 t        |j                  d«      d   j                  «       «      } n t        d t        |d z   d!«      «      D ]  }| j                  d"|z  dd#¬$«       Œ d%}| j                  |«      }| j                  |d   «       y # t        $ r Y Œšw xY w)&Nz/etc/dnf/modules.d/.*.moduleÚdnf_modules)z	/etc/dnf/z/etc/yum.confz/etc/yum/pluginconf.d/z/etc/yum/vars/z/etc/yum.repos.d/)Úyum_repos_dÚdnf_repos_dÚdnf_repor   Úall_logsz/var/log/dnf.*z/var/log/dnf.log*z/var/log/dnf.librepo.log*z/var/log/dnf.rpm.log*zdnf module listÚdnf_module_list)zdnf --versionzdnf list extraszpackage-cleanup --dupeszpackage-cleanup --problemszdnf list installedÚyum_list_installedÚdnf_list_installedzdnf -C repolistÚyum_repolistÚdnf_repolistzdnf -C repolist --verbosez/etc/pki/entitlement/key.pemz/etc/pki/entitlement/*-key.pem)z/etc/pki/product/*.pemz/etc/pki/consumer/cert.pemz/etc/pki/entitlement/*.pemr   zdnf historyÚdnf_historyéÿÿÿÿÚoutputú|r   é   é2   zdnf history info %dÚdnf_history_info)Úsubdirr   zdnf module list --installed)Úadd_file_tagsÚadd_copy_specÚ
get_optionr   Úadd_forbidden_pathÚcollect_cmd_outputr   Úintr   ÚstripÚ
ValueErrorÚrangeÚminr   )r   ÚhistoryÚtransactionsr   Útr_idÚ
module_cmdr   s          r   ÚsetupzDNFPlugin.setup4   sU  € à×ÑØ*¨Mð
ô 	ð 	×Ñò 
ô 	ð 	×ÑÐ.Ú Jð 	ô 	Lð �?‰?˜:Ô&Ø×ÑÐ/Õ0à×ÑÐ2Ô3Ø×ÑÐ:Ô;Ø×ÑÐ6Ô7à×ÑÐ-Ø!2ð 	ô 	4ð 	×Ñò 
ô 	ð 	×ÑÐ0Ø"6Ð8LÐ!Mð 	ô 	Oð 	×ÑÐ-Ø"0°.Ð!Að 	ô 	Cð 	×ÑÐ7Ô8à×ÑØ*Ø,ð!
ô 	ð
 	×Ñò 
ô 	ð �‰˜~Ô.Ø×Ñ °MÐÕBà×-Ñ-¨mØ3@ð .ó BˆGàˆLØ�xÒ Ø# HÑ-×8Ñ8Ó:ò �DðÜ'*¨4¯:©:°c«?¸1Ñ+=×+CÑ+CÓ+EÓ'F˜Ùðô ˜q¤# l°1¡n°bÓ"9Ó:ò =�Ø×#Ñ#Ð$9¸EÑ$AØ+9Ø);ð $õ =ð=ð 3ˆ
Ø×)Ñ)¨*Ó5ˆØ×Ñ˜g hÑ/Õ0øô &ò Ùðús   Å/+G:Ç:	HÈHc                 óf   — d}d}dD ]  }| j                  |||«       Œ | j                  d||«       y )Nz(password(\s)*=(\s)*)(\S+)\nz\1********\n)z/etc/yum.repos.d/*z/etc/dnf/vars/*r   )Údo_path_regex_subÚdo_file_sub)r   ÚregexpÚreplÚfs       r   ÚpostproczDNFPlugin.postproc~   sD   € ð 1ˆØˆØ:ò 	4ˆAØ×"Ñ" 1 f¨dÕ3ð	4ð 	×ÑÐ,¨f°dÕ;r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
short_descÚplugin_nameÚprofilesÚfilesÚpackagesr   Úoption_listr   r?   rF   © r   r   r   r      sL   „ ñð '€JØ€KØ6€Hà"€EØ€Hñ 	�.¨%Ø=ô	?ð€Kò

@òH1óT<r   r   N)Úsos.report.pluginsr   r   r   r   rQ   r   r   ú<module>rS      s   ð÷ ?Ñ >ôG<�˜õ G<r   