HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/thread-self/root/lib/python3/dist-packages/uaclient/__pycache__/version.cpython-38.pyc
U

��Zh�
�@s�dZddlZddlmZddlmZddlmZm	Z	m
Z
ddlmZm
Z
ddlmZddlmZd	Zd
Zed�dd
�Zeed�dd�Zeed�dd�ZdS)z"
Client version related functions
�N)�inf)�Optional)�get_apt_cache_time�get_pkg_candidate_version�version_compare)�CANDIDATE_CACHE_PATH�UAC_RUN_PATH)�ProcessExecutionError)�subpZ36z36ubuntu0~20.04)�returncCsvt�d�stStj�tj�t��}tj�tj�|d��rrdddddg}zt|�\}}|�	�WSt
k
rpYnXtS)aOReturn the packaged version as a string

    Prefer the binary PACKAGED_VESION set by debian/rules to DEB_VERSION.
    If unavailable, check for a .git development environments:
      a. If run in our upstream repo `git describe` will gives a leading
         XX.Y so return the --long version to allow daily build recipes
         to count commit offset from upstream's XX.Y signed tag.
      b. If run in a git-ubuntu pkg repo, upstream tags aren't visible,
         believe __VERSION__ is correct - there is and MUST always be a
         test to make sure it matches debian/changelog
    z@@PACKAGED_VERSIONz.gitZgitZdescribez
--abbrev=8z--match=[0-9]*z--long)�PACKAGED_VERSION�
startswith�os�path�dirname�__file__�exists�joinr
�stripr	�__VERSION__)Ztopdir�cmd�out�_�r�2/usr/lib/python3/dist-packages/uaclient/version.py�get_versions

rc
Cs�t�pt}tj�t�r&t�t�j|kr�d}zDtd�}|rltj	t
dd�ttd��}|�|�W5QRX|WSWn$t
k
r�|dk	r�|YSYnXz0ttd��}|����W5QR�WSQRXWnt
k
r�YnXdS)Nzubuntu-pro-clientT)�exist_ok�w�r)rrrrrr�stat�st_mtimer�makedirsr�open�write�	Exception�readr)Zlast_apt_cache_updateZcandidate_version�frrr�get_last_known_candidate/s,

��
$r'cCs"t�}|rt|t��dkr|SdS)Nr)r'rr)�	candidaterrr�check_for_new_versionLsr))�__doc__�os.pathrZmathr�typingrZuaclient.aptrrrZuaclient.defaultsrrZuaclient.exceptionsr	Zuaclient.systemr
rr�strrr'r)rrrr�<module>s