�
i��d�
� �^ � d dl mZ d dlmZ d dlmZ d dlmZ d dlm Z d dl
Z
G d� de� Zy) � )�UbuntuPlugin)�DebianPolicy)�SnapPackageManager)�DpkgPackageManager)�MultiPackageManagerNc �z � � e Zd ZdZdZddgZdZdZdZdZ dZ
d� fd � Zedd
�� Z
d� Z� fd�Zd
� Z� fd�Z� xZS )�UbuntuPolicy�Ubuntu� Canonical)zCommunity Websitezhttps://www.ubuntu.com/)zCommercial Supportzhttps://www.canonical.comzb/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/sbin:/usr/local/bin:/snap/binz,https://files.support.canonical.com/uploads/�ubuntu�putc � �� t t | � ||||�� t t t
g| j |�� | _ | j j d� d dk( rd| _ | xj t gz
c_
y )N)�sysroot�init�
probe_runtime�remote_exec)�primary� fallbacks�chrootr � sosreport�pkg_manager�snapz /snap/bin)�superr �__init__r r r r �package_manager�pkg_by_name�sos_bin_path�valid_subclassesr )�selfr r r r � __class__s ��=/usr/lib/python3/dist-packages/sos/policies/distros/ubuntu.pyr zUbuntuPolicy.__init__! s� �� �
�l�D�*�7��9F�7B� +� D� 3�&�)�*��<�<�#� %��� ���+�+���*�,�/5�6� +�D�����,��/�� c � � |r| j |v S t dd� 5 }d|j � v cddd� S # 1 sw Y yxY w# t $ r Y yw xY w)z[This method checks to see if we are running on Ubuntu.
It returns True or False.�/etc/lsb-release�rr
NF)�distro�open�read�IOError)�cls�remote�fps r! �checkzUbuntuPolicy.check3 s\ � �
��:�:��'�'� ��(�#�.�
-�"��2�7�7�9�,�
-�
-�
-��� �� �s* �A �:� A �A�A �A � A�Ac � � t dd� 5 }|j � }|D ]< |