
    idh
                     F    d dl mZ d dlmZ d dlmZ d dlZ G d de      Zy)    )DebianPlugin)LinuxPolicy)DpkgPackageManagerNc            
       z     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	Zd Zedd       Zd Z x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forkyc                     t         t        |   ||||       t        | j                  |      | _        | xj                  t        gz  c_        y )N)sysrootinitprobe_runtimeremote_exec)chrootr!   )superr   __init__r   r   package_managervalid_subclassesr   )selfr   r   r    r!   	__class__s        =/usr/lib/python3/dist-packages/sos/policies/distros/debian.pyr$   zDebianPolicy.__init__&   sN    lD*79F7B 	+ 	D  2>I K,/    c                 *    ddij                  ||      S )Nxzzxz-utils)get)r'   binarys     r)   _get_pkg_name_for_binaryz%DebianPolicy._get_pkg_name_for_binary/   s     *

#ff
	r*   c                 `    |r| j                   |v S t        j                  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remotes     r)   checkzDebianPolicy.check5   s*    
 ::''ww~~344r*   c                 6   	 t        dd      5 }d}|j                         }|D ]*  }d|v s|j                  d      d   j                         } n || j                  v r| j                  |   cd d d        S 	 d d d        y# 1 sw Y   yxY w# t
        $ r Y yw xY w)Nz/etc/os-releaser VERSION_CODENAME=   F)open	readlinessplitstripdeb_versionsIOError)r'   fp
rel_stringlineslines        r)   dist_versionzDebianPolicy.dist_version?   s    	'- 9
! D)T1%)ZZ_Q%7%=%=%?
 !2!22,,Z89 9 39 9  		s:   B B AB ,	B 7B  B	B 	B 	BB)NNTN)r:   )__name__
__module____qualname__r1   vendorvendor_urlsname_patternr   r&   PATHsos_pkg_namerB   r$   r/   classmethodr7   rH   __classcell__)r(   s   @r)   r   r      s~    F!FCDKL$~/DL 

L ?C!0 5 5r*   r   )sos.report.pluginsr   sos.policies.distrosr   "sos.policies.package_managers.dpkgr   r2   r    r*   r)   <module>rW      s    , , A 	<; <r*   