%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/realtime.cpython-312.pyc

�

�(�f���r�ddlZddlmZmZmZmZmZddlmZm	Z	m
Z
mZmZddl
mZddlmZmZddlmZmZmZe	j,�Zej0ej2e��ZGd�dej8�ZGd	�d
e�ZGd�de�ZGd
�de�Z Gd�de�Z!Gd�de�Z"y)�N)�Any�Dict�Optional�Tuple�Type)�apt�event_logger�messages�system�util)�repo)�EntitlementWithMessage�
UAEntitlement)�MessagingOperations�MessagingOperationsDict�StaticAffordancec�.�eZdZdZej
ZejZejZ
ejjZ
dZdZdZdZdZdefd�Zdeeeeffd�Zed	��Zedeed
ffd��Zedeed
ffd��Z ede!fd
��Z"dd�Z#y)�RealtimeKernelEntitlementzrealtime-kernelzubuntu-pro-realtime-kernel.gpgTF�UbuntuRealtimeKernel�returnc��tjt|j�tdg���}tj|�|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_requireds  �@/usr/lib/python3/dist-packages/uaclient/entitlements/realtime.py�_check_for_rebootz+RealtimeKernelEntitlement._check_for_reboots@�� �.�.��t�}�}�-�!$�&9�%:�!;�
��	���?�+���c��tjttjttjttjtiS�N)�GenericRealtime�variant_name�NvidiaTegraRealtime�RaspberryPiRealtime�IntelIotgRealtime�rs r!�
_get_variantsz'RealtimeKernelEntitlement._get_variants&s;���(�(�/��,�,�.A��,�,�.A��*�*�,=�	
�	
r#c�(�|jrytSr%)�access_onlyr&r+s r!�default_variantz)RealtimeKernelEntitlement.default_variant.s�������r#.c��ddlm}m}ddlm}t|tj�t|tj�t|tj�fS)Nr)�FIPSEntitlement�FIPSUpdatesEntitlement)�LivepatchEntitlement)
�uaclient.entitlements.fipsr1r2�uaclient.entitlements.livepatchr3rr
�REALTIME_FIPS_INCOMPATIBLE�"REALTIME_FIPS_UPDATES_INCOMPATIBLE�REALTIME_LIVEPATCH_INCOMPATIBLE)rr1r2r3s    r!�incompatible_servicesz/RealtimeKernelEntitlement.incompatible_services4sW��	
�	I�
#���!D�!D�
�
#�&��;�;�
�
#�$�h�&N�&N�
�
�	
r#c�,�tjd�dffS)Nc�*�tj�Sr%)r�is_container�r#r!�<lambda>z>RealtimeKernelEntitlement.static_affordances.<locals>.<lambda>Ns���+�+�-�r#F)r
�#REALTIME_ERROR_INSTALL_ON_CONTAINERr+s r!�static_affordancesz,RealtimeKernelEntitlement.static_affordancesIs"���<�<�-��
�
�	
r#c���d}|js$tjtjdd�fg}d}|j
s#tjdtjifg}||d�S)NT)�msg�defaultrB)�
pre_enable�pre_disable)r.r�prompt_for_confirmationr
�REALTIME_PROMPT�purge�REALTIME_PRE_DISABLE_PROMPT)rrDrEs   r!�	messagingz#RealtimeKernelEntitlement.messagingSs����
�����0�0�'�7�7�#'����J����z�z��0�0��x�C�C����K�%�&�
�	
r#Nc��t|j�jttj���}|rHtj
t
|�tjj|j���yy)N)�title)rr�intersectionr�get_installed_packages_names�remove_packages�listr
�DISABLE_FAILED_TMPL�formatrL)rrs  r!rOz)RealtimeKernelEntitlement.remove_packagesssf���t�}�}�%�2�2���0�0�2�3�
�������X���,�,�3�3�$�*�*�3�E�
�r#)rN)$�__name__�
__module__�__qualname__�namer
�REALTIME_TITLErL�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,�propertyr/rrr9rr@rrJrOr=r#r!rrs����D��#�#�E��/�/�K��+�+�I��=�=�3�3�L�4�M������N�
#�F��4��
�t�C��m�)<�$<�=�
�����
�
�u�-C�S�-H�'I�
��
�(�
�E�*:�C�*?�$@�
��
��
�	 �
��
�>r#rc�8��eZdZedeedff�fd��Z�xZS)�RealtimeVariantr.c
���t|jj�D��cgc]D\}}t|tj
j
|j|j�����Fc}}�}t�|�$|zScc}}w)N)�service�variant)
�tuple�other_variants�itemsrr
�REALTIME_VARIANT_INCOMPATIBLErRrL�superr9)rrV�cls�incompatible_variants�	__class__s    �r!r9z%RealtimeVariant.incompatible_servicess���� %�"&�!4�!4�!:�!:�!<�
��D�#�
'���:�:�A�A� $�
�
�C�I�I�B���
�
!
���w�,�/D�D�D��
s�A	B
)rSrTrUrfrrr9�
__classcell__�rss@r!rhrh~s*���
�E�u�-C�S�-H�'I�E��Er#rhc�j��eZdZdZej
ZejZdZ	dZ
edef�fd��Z
�xZS)r&�genericTrc�R��t�|�}tj�j}|dk7rx|jd�xsg}tjj|j|jd|xsd��}|jtjd|if�||d<|S)NrwrD�unknown)rkrj�base_flavor�current_flavorrB)rprJr�get_kernel_info�flavor�getr
�#KERNEL_FLAVOR_CHANGE_WARNING_PROMPTrRr'rV�appendrrF)rrJr{rDrBrss     �r!rJzGenericRealtime.messaging�s�����G�%�	��/�/�1�8�8���Y�&�"���|�4�:��J��>�>�E�E��)�)��	�	�%�-�:��	F��C�
����0�0��C�L��
�'1�I�l�#��r#)rSrTrUr'r
�REALTIME_GENERIC_TITLErL�REALTIME_GENERIC_DESCRIPTIONrY�
is_variant�check_packages_are_installedrfrrJrtrus@r!r&r&�sC����L��+�+�E��7�7�K��J�#'� �
��	 ���r#r&c�H�eZdZdZej
ZejZdZ	dZ
y)r(znvidia-tegraTN)rSrTrUr'r
�REALTIME_NVIDIA_TITLErL�REALTIME_NVIDIA_DESCRIPTIONrYr�r�r=r#r!r(r(�s(��!�L��*�*�E��6�6�K��J�#'� r#r(c�T�eZdZdZej
ZejZdZ	dZ
defd�Zy)r)�raspiTrc���d}	tj|�j�j�}d|vxsd|vS#t$r }t
j
d|�Yd}~yd}~wwxYw)Nz/proc/device-tree/modelzraspberry pi 4zraspberry pi 5z)Error while detecting if raspberry pi: %rF)r�	load_file�strip�lower�	Exception�LOG�info)r�proc_file_path�model�es    r!�variant_auto_selectz'RaspberryPiRealtime.variant_auto_select�sf��2��	��$�$�^�4�:�:�<�B�B�D�E�#�u�,�I�0@�E�0I�I���	��H�H�@�!�D���	�s�:?�	A(�A#�#A(N)
rSrTrUr'r
�REALTIME_RASPI_TITLErL�REALTIME_RASPI_DESCRIPTIONrYr�r�rdr�r=r#r!r)r)�s4���L��)�)�E��5�5�K��J�#'� ��T�r#r)c��eZdZdZej
ZejZdZ	dZ
deee
fdeeeej"ffd�Zy)r*z
intel-iotgT�platform_checksrc���tj�j}|jdg�}||vrydtj
j
|j|dj|���fS)N�cpu_vendor_ids)TNF�,)rL�vendor�supported_vendors)	r�get_cpu_info�	vendor_idr~r
�INAPPLICABLE_VENDOR_NAMErRrL�join)rr�r�r�s    r!�verify_platform_checksz(IntelIotgRealtime.verify_platform_checks�sr���'�'�)�3�3�	�(�,�,�-=�r�B����&���(�;�;�B�B��j�j� �"%�(�(�>�":�C���
r#N)rSrTrUr'r
�REALTIME_INTEL_TITLErL�REALTIME_INTEL_DESCRIPTIONrYr�r�rrerrrdr�NamedMessager�r=r#r!r*r*�sZ���L��)�)�E��5�5�K��J�#'� ��#�C��H�~��	�t�X�h�3�3�4�4�	5�r#r*)#�logging�typingrrrrr�uaclientrr	r
rr�uaclient.entitlementsr
�uaclient.entitlements.baserr�uaclient.typesrrr�get_event_loggerr�	getLogger�replace_top_level_logger_namerSr��RepoEntitlementrrhr&r(r)r*r=r#r!�<module>r�s����3�3�>�>�&�L���	&��%�%�'���g���:��:�:�8�D�E��j�� 4� 4�j�ZE�/�E�"�o��>(�/�(��/��"��r#

Zerion Mini Shell 1.0