U
    *b                     @   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                       s\   e Zd ZdZdZdgZdZegZdZ	dZ
d fd	d
	Zdd ZedddZdd Z  ZS )DebianPolicyZDebianzthe Debian project)zCommunity Websitezhttps://www.debian.org/ZfriendlyzX/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/sbin:/usr/local/binZ	sosreportNTc                    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   Z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 )NZ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 |k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)clsZremoter   r   r   check)   s    
zDebianPolicy.checkc              	   C   sp   zTt dd>}| }d|kr.W 5 Q R  W dS d|krFW 5 Q R  W dS W 5 Q R X W dS  tk
rj   Y dS X d S )Nz/etc/lsb-releaserz
wheezy/sid   z
jessie/sid   F)openreadIOError)r   fpZ
rel_stringr   r   r   dist_version3   s    zDebianPolicy.dist_version)NNTN)r   )__name__
__module____qualname__r   ZvendorZvendor_urlsZname_patternr   r   PATHZsos_pkg_namer   r   classmethodr   r$   __classcell__r   r   r   r   r      s     		r   )Zsos.report.pluginsr   Zsos.policies.distrosr   Z"sos.policies.package_managers.dpkgr   r   r   r   r   r   r   <module>	   s   