PK APOCALYPSE V1

APOCALYPSE V1

Current Path : /proc/self/root/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/
Upload File :
Current File : //proc/self/root/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc

U

��.e-�@sxddlmZddlZddlZddlZddlmZerDddlmZm	Z	dd�Z
dd�Zd	d
�Zdd�Z
d
d�Zdd�ZdS)�)�absolute_importN)�MYPY_CHECK_RUNNING)�Optional�TuplecCst�p
t�S)z9Returns glibc version string, or None if not using glibc.)�glibc_version_string_confstr�glibc_version_string_ctypes�rr�=/usr/lib/python3.8/site-packages/pip/_internal/utils/glibc.py�glibc_version_stringsr
c
Cs8zt�d���\}}Wntttfk
r2YdSX|S)z@Primary implementation of glibc_version_string using os.confstr.�CS_GNU_LIBC_VERSIONN)�os�confstr�split�AttributeError�OSError�
ValueError)�_�versionrrr	rs
rcCsvzddl}Wntk
r"YdSX|�d�}z
|j}Wntk
rNYdSX|j|_|�}t|t�sr|�	d�}|S)z=Fallback implementation of glibc_version_string using ctypes.rN�ascii)
�ctypes�ImportErrorZCDLL�gnu_get_libc_versionrZc_char_pZrestype�
isinstance�str�decode)rZprocess_namespacer�version_strrrr	r&s



rcCsHt�d|�}|s$t�d|t�dSt|�d��|koFt|�d��|kS)Nz$(?P<major>[0-9]+)\.(?P<minor>[0-9]+)z=Expected glibc version with 2 components major.minor, got: %sF�major�minor)�re�match�warnings�warn�RuntimeWarning�int�group)r�required_major�
minimum_minor�mrrr	�check_glibc_versionFs���r(cCst�}|dkrdSt|||�S)NF)r
r()r%r&rrrr	�have_compatible_glibcWsr)cCst�}|dkrdSd|fSdS)z�Try to determine the glibc version

    Returns a tuple of strings (lib, version) which default to empty strings
    in case the lookup fails.
    N)�r*Zglibc)r
)Z
glibc_versionrrr	�libc_verpsr+)Z
__future__rrrr Zpip._internal.utils.typingr�typingrrr
rrr(r)r+rrrr	�<module>s 

if you don't want to be vaporized in a nuclear explosion, i simply have to become nuclear myself… i am atomic