File: //lib/python3/dist-packages/UbuntuDrivers/__pycache__/detect.cpython-312.pyc
�
=�Yg� � �� � d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl m
Z
ddlmZ dai a
dZ G d� de� Zd � Zd9d
�Zd� Zd� Zd
� Zd� Zd� Zi e_ d� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Z d� Z!d� Z"d� Z#d� Z$d:d�Z%d� Z&d� Z'd� Z(d;d �Z)d<d!�Z*d=d"�Z+ d>d#�Z,d$� Z-d%� Z. G d&� d'e� Z/d(� Z0d?d)�Z1d@d*�Z2d9d+�Z3d,� Z4d-� Z5d.� Z6d/� Z7d0� Z8d1� Z9d2� Z:d3� Z;d4� Z<d5� Z=d6� Z>d7� Z?d8� Z@y)AzGHardware and driver package detection functionality for Ubuntu systems.� N)�kerneldetection)�
cmp_to_key� z/etc/custom_supported_gpus.jsonc �: � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z d� Z
y )
�NvidiaPkgNameInfoz%Class to process NVIDIA package namesc � � || _ d| _ d| _ d| _ d| _ d| _ d| _ | j | j � y )NF���r )� _pkg_name�_obsolete_name_scheme�_server�_open�
_major_ver�_flavour�is_valid�
_process_name)�self�pkg_names �6/usr/lib/python3/dist-packages/UbuntuDrivers/detect.py�__init__zNvidiaPkgNameInfo.__init__ sF � �!���%*��"������
������
���
����4�>�>�*� c �P � d|vrt j d|� y t j d� }|j |� }|r?d| _ t
|j d� � | _ | j | _ d| _
y t j d� }|j |� }|r�|j d� j d� d k7 | _ |j d� j d
� d k7 | _
|j d� �| j rdnd�| j rd
nd��| _ t
|j d� � | _ d| _
t j d� }|j |� }|r�|j d� j d� d k7 | _ |j d� j d
� d k7 | _
|j d
� �| j rdnd�| j rd
nd��| _ |j d
� | _ d| _
y y )N�nvidiaz8NvidiaPkgNameInfo: %s is not an NVIDIA package. Skippingznvidia-([0-9]+)T� znvidia-driver-([0-9]+)(.*)r z-serverr z-openr z nvidia-headless(.*)-([0-9]+)(.*)� )�logging�debug�re�compile�matchr �int�groupr r r �findr r
)r �name�patternr s r r zNvidiaPkgNameInfo._process_name) s� � ��4���M�M�T�VZ�[���*�*�.�/���
�
�d�#�� �)-�D�&�!�%�+�+�a�.�1�D�O� �O�O�D�M� �D�M�� �*�*�9�:���
�
�d�#��� �;�;�q�>�.�.�y�9�R�?�D�L����Q��,�,�W�5��;�D�J�(-���A��59�\�\� �r�(I�37�:�:��2�(E�G�D�M� "�%�+�+�a�.�1�D�O� �D�M� �*�*�?�@���
�
�d�#��� �;�;�q�>�.�.�y�9�R�?�D�L����Q��,�,�W�5��;�D�J�(-���A��59�\�\� �r�(I�37�:�:��2�(E�G�D�M� $�k�k�!�n�D�O� �D�M� r c � � | j S �N)r �r s r �has_obsolete_name_schemez*NvidiaPkgNameInfo.has_obsolete_name_schemeS s � ��)�)�)r c � � | j S r&