File: //usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/esm.cpython-310.pyc
o
��Jh� � @ s� d dl Z d dlmZmZmZ d dlmZmZmZ d dl m
Z
mZmZ d dl
mZ d dlmZ d dlmZ d dlmZ d d lmZ G d
d� dej�ZG dd
� d
e�ZG dd� de�ZdS )� N)�Tuple�Type�Union)�api�messages�system)�APT_KEYS_DIR�DEB822_REPO_FILE_CONTENT�KEYRINGS_DIR)�ESM_APT_ROOTDIR)�repo)�
UAEntitlement)�CanDisableFailure)�set_filename_extensionc sf e Zd ZejjZdZede e
e df fdd��Zde
jdef� fdd�Zdd
d�Zddd
�Z� ZS )�ESMBaseEntitlementT�return.c C s ddl m}m} ||fS )Nr )�ROSEntitlement�ROSUpdatesEntitlement)�uaclient.entitlements.rosr r )�selfr r � r �;/usr/lib/python3/dist-packages/uaclient/entitlements/esm.py�dependent_services s z%ESMBaseEntitlement.dependent_services�progressc s2 ddl m} t� �|�}|r|| j� | �� |S �Nr )�update_motd_messages)�uaclient.timer.update_messagingr �super�_perform_enable�cfg�disable_local_esm_repo)r r r �enable_performed�� __class__r r r s
z"ESMBaseEntitlement._perform_enableNc
C s� t �� j}| j�d�s
J �| jtd�d � }ttj� t
| j �d�}ttj� t
| j �d�}tj�|�s:tj�|�r<d S dj
|d�}dj
||d�}t �|tj
||t| jdd �� d S )
Nzesm-�sources�listz$https://esm.ubuntu.com/{name}/ubuntu)�namez0{series}-{name}-security {series}-{name}-updates)�seriesr&