XylotrechusZ
��Re� � @ s� d d l m Z d d l Z d d l Z d d l m Z e rT d d l m Z m Z d d � Z d d � Z
d d
� Z d d � Z d S)
� )�absolute_importN)�MYPY_CHECK_RUNNING)�Optional�Tuplec C s t � p t � S)z9Returns glibc version string, or None if not using glibc.)�glibc_version_string_confstr�glibc_version_string_ctypes� r r ��/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/utils/glibc.py�glibc_version_string s r
c
C sX t j d k r d Sy t j d � j � \ } } Wn t t t f k
rS d SYn X| S)z@Primary implementation of glibc_version_string using os.confstr.�win32N�CS_GNU_LIBC_VERSION)�sys�platform�os�confstr�split�AttributeError�OSError�
ValueError)�_�versionr r r r s r c C s� y d d l } Wn t k
r( d SYn X| j d � } y
| j } Wn t k
r] d SYn X| j | _ | � } t | t � s� | j d � } | S)z=Fallback implementation of glibc_version_string using ctypes.r N�ascii)
�ctypes�ImportError�CDLL�gnu_get_libc_versionr �c_char_p�restype�
isinstance�str�decode)r �process_namespacer �version_strr r r r '