| Current Path : /usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/ |
| Current File : //usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/esm.cpython-38.pyc |
U
8�-dF � @ s� d dl Z d dlmZmZmZ d dlmZmZ d dlm Z m
Z
mZ d dlm
Z
d dlmZ d dlmZ d dlmZ G d d
� d
ej�ZG dd� de�ZG d
d� de�ZdS )� N)�Tuple�Type�Union)�gpg�system)�APT_KEYS_DIR�ESM_REPO_FILE_CONTENT�KEYRINGS_DIR)�ESM_APT_ROOTDIR)�repo)�
UAEntitlement)�CanDisableFailurec sd e Zd ZdZeeee df d�dd��Zde e d�� fdd �
Z
d
d�dd�Zd
d�d
d�Z� Z
S )�ESMBaseEntitlementzhttps://ubuntu.com/security/esm.��returnc C s ddl m}m} ||fS )Nr )�ROSEntitlement�ROSUpdatesEntitlement)Zuaclient.entitlements.rosr r )�selfr r � r �;/usr/lib/python3/dist-packages/uaclient/entitlements/esm.py�dependent_services s z%ESMBaseEntitlement.dependent_servicesF)�silentr c s4 ddl m} t� j|d�}|r0|| j� | �� |S �Nr )�update_motd_messages)r )�uaclient.jobs.update_messagingr �super�_perform_enable�cfg�disable_local_esm_repo)r r r Zenable_performed�� __class__r r r s
z"ESMBaseEntitlement._perform_enableNc C s� t �� d }| j�d�st�| jtd�d � }tj�t | j
j| jd� �}| j}tj�
|�r`d S t �|tj||d�� tj�t|�}tj�t t | �}tjtj�|�dd� t�||� d S )N�serieszesm-��name)r# r! T)�exist_ok)r Zget_platform_infor# �
startswith�AssertionError�len�os�path�normpathr
�repo_list_file_tmpl�format�
repo_key_file�existsZ
write_filer �joinr r �makedirs�dirnamer Zexport_gpg_key)r r! Zesm_name�
repo_filename�keyring_fileZsource_keyring_fileZdestination_keyring_filer r r �setup_local_esm_repo! s&