o
    idh
                     @   s@   d dl mZ d dlmZ d dlmZ d dlZG dd deZdS )    )DebianPlugin)LinuxPolicy)DpkgPackageManagerNc                
       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                    s<   t t| j||||d t| j|d| _|  jtg7  _d S )N)sysrootinitprobe_runtimeremote_exec)chrootr   )superr   __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   )sos.report.pluginsr   sos.policies.distrosr   "sos.policies.package_managers.dpkgr   r/   r   r'   r'   r'   r(   <module>   s
   