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: //lib/python3/dist-packages/uaclient/__pycache__/version.cpython-310.pyc
o

nHJe�
�@s�dZddlZddlmZddlmZddlmZm	Z	m
Z
ddlmZm
Z
ddlmZddlmZd	Zd
Zdefdd
�Zdeefdd�Zdeefdd�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)�subp�30z30~22.04�returncCspt�d�stStj�tj�t��}tj�tj�|d��r6gd�}zt|�\}}|�	�WSt
y5YtSwtS)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.git)�git�describez
--abbrev=8z--match=[0-9]*z--long)�PACKAGED_VERSION�
startswith�os�path�dirname�__file__�exists�joinr
�stripr	�__VERSION__)�topdir�cmd�out�_�r�2/usr/lib/python3/dist-packages/uaclient/version.py�get_versions

�rcCs�t�pt}tj�t�rt�t�j|krSz.td�}|r@tj	t
dd�ttd��}|�|�Wd�|WS1s8wY|WSWnt
yR|durP|YSYnwzttd��}|����Wd�WS1skwYWdSt
y|YdSw)Nzubuntu-advantage-toolsT)�exist_ok�w�r)rrrrrr�stat�st_mtimer�makedirsr�open�write�	Exception�readr)�last_apt_cache_update�candidate_version�frrr�get_last_known_candidate.s>

��
�����
$���r-cCs"t�}|rt|t��dkr|SdS)Nr)r-rr)�	candidaterrr�check_for_new_versionLsr/)�__doc__�os.pathr�mathr�typingr�uaclient.aptrrr�uaclient.defaultsrr�uaclient.exceptionsr	�uaclient.systemr
rr�strrr-r/rrrr�<module>s