o
    O6ufx  ã                   @   s*   d dl mZmZmZ G dd„ deeƒZdS )é    )ÚPluginÚIndependentPluginÚSoSPredicatec                   @   s,   e Zd ZdZdZdZdZdd„ Zdd„ Zd	S )
ÚGrub2zGRUB2 bootloaderÚgrub2)Úboot)r   z	grub2-efizgrub2-commonc                 C   s‚   |   ddddœ¡ |  g d¢¡ | jddd� d	}|› d
�ddœ}| j| t| |d�d�r0|d7 }| j|ddit| dgd�d� d S )NÚ	grub2_cfgÚgrub2_efi_cfgÚgrubenv)ú/boot/grub2/grub.cfgz/boot/efi/.*/grub.cfgú/boot/grub2/grubenv)z/boot/efi/EFI/*/grub.cfgr   r   z/boot/grub/grub.cfgz/boot/loader/entriesz/boot/grub2/custom.cfgz/boot/grub2/user.cfgz/etc/default/grubz/etc/grub2.cfgz/etc/grub.dz/etc/grub2-efi.cfgzls -lanR /bootÚls_boot)Útagsúgrub2-mkconfigz --helpz--no-grubenv-update)ÚcmdÚoutput)Úcmd_outputs)Úpredz --no-grubenv-updateÚGRUB_DISABLE_OS_PROBERÚtrueÚdm_mod)Úkmods)Úenvr   )Úadd_file_tagsÚadd_copy_specÚadd_cmd_outputÚtest_predicater   )ÚselfÚgrub_cmdÚout© r    ú:/usr/lib/python3/dist-packages/sos/report/plugins/grub2.pyÚsetup   s   ý
ÿzGrub2.setupc                 C   sL   d}d}d}d}|   d||¡ |   d||¡ |  d||¡ |  d||¡ d S )Nz(password )\s*(\S*)\s*(\S*)z!(password_pbkdf2)\s*(\S*)\s*(\S*)z\1 \2 ********z\1 \2 grub.pbkdf2.********r   z
.*\/grub\.)Údo_cmd_output_subÚdo_path_regex_sub)r   Ú
passwd_expÚpasswd_pbkdf2_expÚ
passwd_subÚpasswd_pbkdf2_subr    r    r!   Úpostproc7   s0   ýýýýzGrub2.postprocN)	Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesÚpackagesr"   r)   r    r    r    r!   r      s    #r   N)Úsos.report.pluginsr   r   r   r   r    r    r    r!   Ú<module>   s   