Your IP : 3.15.237.229


Current Path : /opt/alt/python312/lib64/python3.12/__pycache__/
Upload File :
Current File : //opt/alt/python312/lib64/python3.12/__pycache__/_aix_support.cpython-312.opt-1.pyc

�

�Q�f���D�dZddlZddlZd
d�Zd�Zd�Zd�Zd�Zd�Zd	�Z	y)zShared AIX support functions.�Nc�.�ddl}ddl}td|j���d�}|j	|�5}|r|�d|j
�d�}n|�d|j
�d�}|j
|�s|j�ndcddd�S#1swYyxYw)	z0Output from successful command execution or NonerNz/tmp/_aix_support.zw+bz >'z' 2>&1z 2>/dev/null >'�')�os�
contextlib�open�getpid�closing�name�system�read)�
commandstring�capture_stderrrr�fp�cmds      �3/opt/alt/python312/lib64/python3.12/_aix_support.py�_read_cmd_outputrs|��
��	
�
�	�	����
�B�
�	�	�B�	�2��%2�B�G�G�<�C�,9�2�7�7�C�C� "�	�	�#��r�w�w�y�D�9�9�	�	�s�A
B�Bc�~�tjdk(rdnd}|dk7r|nd}dj|d|d|d||�S)	Ni���� �@r�'zaix-{:1x}{:1d}{:02d}-{:04d}-{}��)�sys�maxsize�format)�vrtl�bd�_sz�_bds    r�_aix_tagr sI������(�"�b�C��a��"�T�C�+�2�2�4��7�D��G�T�!�W�c�SV�W�W�c�x�|jd�dd\}}}t|d�t|�t|�gS)N�.����)�split�int)�vrmf�v�r�tls    r�	_aix_vrtlr,$s9���z�z�#��r��"�H�A�q�"���"��J��A���B��(�(r!c��	ddl}|jgd��}|j	d�}|j�j
d�}|ddk7rt|d�nd	}t|d
�|fS#t$rtd�}Y�nwxYw)a(
    Return a Tuple[str, int] e.g., ['7.1.4.34', 1806]
    The fileset bos.rte represents the current AIX run-time level. It's VRMF and
    builddate reflect the current ABI levels of the runtime environment.
    If no builddate is found give a value that will satisfy pep425 related queries
    rN)z/usr/bin/lslppz-Lqczbos.rtez/usr/bin/lslpp -Lqc bos.rtezutf-8�:r%�rr)	�
subprocess�check_output�ImportErrorr�decode�stripr&r'�str)r0�outrs   r�_aix_bos_rter7*s���>���%�%�&K�L���*�*�W�
�C�

�)�)�+�
�
�C�
 �C��b�'�R�-�#�c�"�g�,�T�C���A��K������>��<�=��>�s�A1�1B�Bc�F�t�\}}tt|�|�S)a�
    AIX filesets are identified by four decimal values: V.R.M.F.
    V (version) and R (release) can be retrieved using ``uname``
    Since 2007, starting with AIX 5.3 TL7, the M value has been
    included with the fileset bos.rte and represents the Technology
    Level (TL) of AIX. The F (Fix) value also increases, but is not
    relevant for comparing releases and binary compatibility.
    For binary compatibility the so-called builddate is needed.
    Again, the builddate of an AIX release is associated with bos.rte.
    AIX ABI compatibility is described  as guaranteed at: https://www.ibm.com/    support/knowledgecenter/en/ssw_aix_72/install/binary_compatability.html

    For pep425 purposes the AIX platform tag becomes:
    "aix-{:1x}{:1d}{:02d}-{:04d}-{}".format(v, r, tl, builddate, bitsize)
    e.g., "aix-6107-1415-32" for AIX 6.1 TL7 bd 1415, 32-bit
    and, "aix-6107-1415-64" for AIX 6.1 TL7 bd 1415, 64-bit
    )r7r r,)r(rs  r�aix_platformr9?s ��&�~�H�D�"��I�d�O�R�(�(r!c�^�tjd�}|std��t|��S)N�BUILD_GNU_TYPEzBUILD_GNU_TYPE is not defined)r()�	sysconfig�get_config_var�
ValueErrorr,)�gnu_types r�_aix_bgtr@Ws-���'�'�(8�9�H���8�9�9��(�#�#r!c��tjd�}	t|�}tt
�|�S#ttf$rtd|����wxYw)zD
    Return the platform_tag of the system Python was built on.
    �
AIX_BUILDDATEz)AIX_BUILDDATE is not defined or invalid: )r<r=r'r>�	TypeErrorr r@)�
build_dates r�aix_buildtagrE_sc���)�)�/�:�J�,���_�
��H�J�
�+�+��
�	�"�,��D�&�>�+�,�	,�,�s	�6�A)F)
�__doc__rr<rr r,r7r9r@rE�r!r�<module>rHs2��#�
��9�$X�)��*)�0$�
,r!

?>