HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/realtime.cpython-310.pyc
o

nHJe��@s�ddlmZmZmZmZmZddlmZmZm	Z	m
Z
mZddlm
Z
ddlmZmZddlmZmZmZe��ZGdd�de
j�ZGdd	�d	e�ZGd
d�de�ZGdd
�d
e�ZGdd�de�ZdS)�)�Any�Dict�Optional�Tuple�Type)�apt�event_logger�messages�system�util)�repo)�IncompatibleService�
UAEntitlement)�MessagingOperations�MessagingOperationsDict�StaticAffordancec@s�eZdZdZejZejZej	Z
ejjZ
dZdZdZdZdZdefdd�Zdeeeeffd	d
�Zedeedffdd
��Zedeedffdd��Zede fdd��Z!ddd�Z"dS)�RealtimeKernelEntitlementzrealtime-kernelzubuntu-pro-realtime-kernel.gpgTF�UbuntuRealtimeKernel�returncCs(tjt|j�tdg�d�}t�|�|S)z%Check if system needs to be rebooted.zlinux-.*-realtime)�installed_pkgs�installed_pkgs_regex)r
�
should_reboot�set�packages�event�needs_reboot)�self�reboot_required�r�@/usr/lib/python3/dist-packages/uaclient/entitlements/realtime.py�_check_for_reboots�
z+RealtimeKernelEntitlement._check_for_rebootcCstjttjttjtiS�N)�GenericRealtime�variant_name�NvidiaTegraRealtime�IntelIotgRealtime�rrrr�
_get_variants$s�z'RealtimeKernelEntitlement._get_variants.cCs>ddlm}m}ddlm}t|tj�t|tj�t|tj	�fS)Nr)�FIPSEntitlement�FIPSUpdatesEntitlement)�LivepatchEntitlement)
�uaclient.entitlements.fipsr(r)�uaclient.entitlements.livepatchr*r
r	�REALTIME_FIPS_INCOMPATIBLE�"REALTIME_FIPS_UPDATES_INCOMPATIBLE�REALTIME_LIVEPATCH_INCOMPATIBLE)rr(r)r*rrr�incompatible_services+s����z/RealtimeKernelEntitlement.incompatible_servicescCstjdd�dffS)NcSst��Sr!)r
�is_containerrrrr�<lambda>Esz>RealtimeKernelEntitlement.static_affordances.<locals>.<lambda>F)r	�#REALTIME_ERROR_INSTALL_ON_CONTAINERr&rrr�static_affordances@s
��z,RealtimeKernelEntitlement.static_affordancescCsLd}|jstjtj|jdd�fg}d}|js!tjtj|jd�fg}||d�S)NT)�msg�
assume_yes�default)r5r6)�
pre_enable�pre_disable)�access_onlyr�prompt_for_confirmationr	�REALTIME_PROMPTr6�purge�REALTIME_PRE_DISABLE_PROMPT)rr8r9rrr�	messagingJs(�������z#RealtimeKernelEntitlement.messagingNcCs@t|j��tt����}|rt�t|�tjj	|j
d��dSdS)N)�title)rr�intersectionr�get_installed_packages_names�remove_packages�listr	�DISABLE_FAILED_TMPL�formatr@)rrrrrrCls

���z)RealtimeKernelEntitlement.remove_packages)rN)#�__name__�
__module__�__qualname__�namer	�REALTIME_TITLEr@�REALTIME_DESCRIPTION�description�REALTIME_HELP_TEXT�	help_text�urls�REALTIME_HOME_PAGE�help_doc_url�
repo_key_file�apt_noninteractive�supports_access_only�supports_purge�origin�boolr r�strrrr'�propertyrr
r0rr4rr?rCrrrrrs,		�!rcs.eZdZedeedff�fdd��Z�ZS)�RealtimeVariantr.cs(t�fdd��j��D��}t�j|S)Ncs*g|]\}}t|tjj�j|jd���qS))�service�variant)r
r	�REALTIME_VARIANT_INCOMPATIBLErFr@)�.0rJ�clsr&rr�
<listcomp>{s����z9RealtimeVariant.incompatible_services.<locals>.<listcomp>)�tuple�other_variants�items�superr0)r�incompatible_variants��	__class__r&rr0xs
��z%RealtimeVariant.incompatible_services)rGrHrIrZrr
r0�
__classcell__rrrgrr[ws$r[c@�$eZdZdZejZejZdZ	dZ
dS)r"�genericTN)rGrHrIr#r	�REALTIME_GENERIC_TITLEr@�REALTIME_GENERIC_DESCRIPTIONrM�
is_variant�check_packages_are_installedrrrrr"��r"c@rj)r$znvidia-tegraTN)rGrHrIr#r	�REALTIME_NVIDIA_TITLEr@�REALTIME_NVIDIA_DESCRIPTIONrMrnrorrrrr$�rpr$c@sLeZdZdZejZejZdZ	dZ
deee
fdeeeejffdd�ZdS)r%z
intel-iotgT�platform_checksrcCs@t��j}|�dg�}||vrdSdtjj|j|d�|�d�fS)N�cpu_vendor_ids)TNF�,)r@�vendor�supported_vendors)	r
�get_cpu_info�	vendor_id�getr	�INAPPLICABLE_VENDOR_NAMErFr@�join)rrsryrtrrr�verify_platform_checks�s
�z(IntelIotgRealtime.verify_platform_checksN)rGrHrIr#r	�REALTIME_INTEL_TITLEr@�REALTIME_INTEL_DESCRIPTIONrMrnrorrYrrrXr�NamedMessager}rrrrr%�s
��r%N)�typingrrrrr�uaclientrrr	r
r�uaclient.entitlementsr�uaclient.entitlements.baser
r�uaclient.typesrrr�get_event_loggerr�RepoEntitlementrr[r"r$r%rrrr�<module>sh