o
    O6uf2
  ã                   @   s@   d dl Z d dlmZ d dlmZ d dlmZ G dd„ deƒZdS )é    N)ÚDebianPlugin)ÚLinuxPolicy)ÚDpkgPackageManagerc                
       sx   e Zd ZdZdZdgZdZegZdZ	dZ
ddd	d
ddddddœ	Z		d‡ fdd„	Zdd„ Zeddd„ƒZdd„ Z‡  ZS )ÚDebianPolicyÚDebianzthe Debian project)zCommunity Websitezhttps://www.debian.org/ÚfriendlyzX/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/sbin:/usr/local/binÚ	sosreporté   é   é   é	   é
   é   é   é   é   )	ÚsqueezeÚwheezyÚjessieÚstretchÚbusterÚbullseyeÚbookwormÚtrixieÚforkyNTc                    s8   t ƒ j||||d� t| j|d�| _|  jtg7  _d S )N)ÚsysrootÚinitÚprobe_runtimeÚremote_exec)Úchrootr   )ÚsuperÚ__init__r   r   Úpackage_managerÚvalid_subclassesr   )Úselfr   r   r   r   ©Ú	__class__© ú=/usr/lib/python3/dist-packages/sos/policies/distros/debian.pyr!   &   s   
þÿzDebianPolicy.__init__c                 C   s   ddi  ||¡S )NÚxzzxz-utils)Úget)r$   Úbinaryr'   r'   r(   Ú_get_pkg_name_for_binary/   s   ÿþz%DebianPolicy._get_pkg_name_for_binaryÚ c                 C   s   |r| j |v S tj d¡S )z[This method checks to see if we are running on Debian.
           It returns True or False.z/etc/debian_version)ÚdistroÚosÚpathÚisfile)ÚclsÚremoter'   r'   r(   Úcheck5   s   
zDebianPolicy.checkc                 C   s¢   zFt ddƒ�6}d}| ¡ }|D ]}d|v r | d¡d  ¡ } nq|| jv r3| j| W  d   ƒ W S W d   ƒ W dS 1 s?w   Y  W dS  tyP   Y dS w )Nz/etc/os-releaseÚrr-   ÚVERSION_CODENAMEú=é   F)ÚopenÚ	readlinesÚsplitÚstripÚdeb_versionsÚIOError)r$   ÚfpÚ
rel_stringÚlinesÚliner'   r'   r(   Údist_version?   s(   þ
ø
ù	÷	ÿzDebianPolicy.dist_version)NNTN)r-   )Ú__name__Ú
__module__Ú__qualname__r.   ÚvendorÚvendor_urlsÚname_patternr   r#   ÚPATHÚsos_pkg_namer=   r!   r,   Úclassmethodr4   rC   Ú__classcell__r'   r'   r%   r(   r      s2    ÷ÿ		r   )r/   Úsos.report.pluginsr   Úsos.policies.distrosr   Ú"sos.policies.package_managers.dpkgr   r   r'   r'   r'   r(   Ú<module>   s
   