�
*�Kg� � �� � d Z ddlZddlZddlZddlZddlmc mZ ddl
mc mZ ddl
m
Z
mZmZ ddlmZ G d� de j � � Z G d� dej � � Zd � Zd
� Zd� Zd� Zd
� Zd� Z e� � dS )a
Apply Debian-specific patches to distutils commands.
Extracts the customized behavior from patches as reported
in pypa/distutils#2 and applies those customizations (except
for scheme definitions) to those commands.
Place this module somewhere in sys.path to take effect.
� N)�to_filename� safe_name�safe_version)�DistutilsOptionErrorc �d � � e Zd Z eej j � � dgz Z� fd�Z� fd�Z� fd�Z � xZ
S )�install)zinstall-layout=Nz7installation layout to choose (known values: deb, unix)c �d �� t � � � � � d | _ d | _ d S �N��super�initialize_options�
prefix_option�install_layout��self� __class__s ��,/usr/lib/python3.11/_distutils_system_mod.pyr
zinstall.initialize_options �/ �� �
���"�"�$�$�$�!���"����� c � �� |dk r�| j rK| j � � � dv rd}n�| j � � � dv rd}n�t d� � �| j r(t j � | j � � dk st � � rd}nFt j � | j � � dk rdx| _ | _ dx| _
| _ d}t � � �
|� � d S ) N�posix_prefix)�deb�
deb_system)�unix�"unknown value for --install-layout�
/usr/local�/usr�posix_local)r �lowerr r �os�path�normpath�prefix�is_virtual_environment�exec_prefix�install_base�install_platbaser �
select_scheme)r �namer s �r r( zinstall.select_scheme% s
�� ��>�!�!��"�
%��&�,�,�.�.�'�9�9�'�D�D��(�.�.�0�0�H�<�<�)�D�D�.�<�>� >� >��%�
%��7�#�#�D�K�0�0�L�@�@�+�-�-� A�%����7�#�#�D�K�0�0�L�@�@�5;�;�D�K�$�"2�@F�F�D�%��(=�$��
�����d�#�#�#�#�#r c �` �� | j | _ t � � � � � d S r
)r# r r �
finalize_unixr s �r r+ zinstall.finalize_unix: s) �� �!�[���
���������r )�__name__�
__module__�__qualname__�list�orig_installr �user_optionsr
r( r+ �
__classcell__�r s @r r r s� �� � � � � ��4��,�9�:�:� D�>� �L�
#� #� #� #� #�
$� $� $� $� $�* � � � � � � � � r r c �p � � e Zd Z eej j � � dgz Z� fd�Z� fd�Ze d� � � Z
� xZS )�install_egg_info)zinstall-layoutNzcustom installation layoutc �d �� t � � � � � d | _ d | _ d S r
r r s �r r
z#install_egg_info.initialize_optionsD r r c � �� | � dd� � | � dd� � t � � � � � d S )Nr )r r )r r )�set_undefined_optionsr �finalize_optionsr s �r r9 z!install_egg_info.finalize_optionsI sM �� ��"�"�9�-P�Q�Q�Q��"�"�9�-N�O�O�O�
��� � �"�"�"�"�"r c � � | j rH| j � � � dvrt d� � �| j � � � dk }n| j rd}nd}|rkt t | j � � � � � � � �dt t | j � � � � � � � �d�}n~dt t | j � � � � � � � t t | j � � � � � � � gt j d d � �R z }|S )
N)r r r r FT�-z .egg-infoz%s-%s-py%d.%d.egg-info� )r r r r r r �distribution�get_namer �get_version�sys�version_info)r �no_pyver�basenames r rC zinstall_egg_info.basenameN sF � ��� ��&�,�,�.�.�/�A�A�*�8�:� :� :��+�1�1�3�3�u�<�H�H�
�
� ��H�H��H��
��I�d�&7�&@�&@�&B�&B�C�C�D�D�D�D��L��):�)F�)F�)H�)H�I�I�J�J�J�J��H�H�
0��I�d�&7�&@�&@�&B�&B�C�C�D�D��L��):�)F�)F�)H�)H�I�I�J�J�3� �!�"�1�"�%�3� 3� �H�
�r )r, r- r. r/ �orig_install_egg_infor5 r1 r
r9 �propertyrC r2 r3 s @r r5 r5 ? s� �� � � � � ��4�-�>�K�L�L�>�P� �L�#� #� #� #� #�
#� #� #� #� #�
�� � �X�� � � � r r5 c �` � t j t j k pt t d� � S )N�real_prefix)r@ �base_prefixr# �hasattr� r r r$ r$ g s � ��?�c�j�(�G�G�C��,G�,G�Gr c � � | p t j � |� � dv }| r|S |r0t � � s"t j � |ddd� � S t j � |d� � S )N)r r �lib�python3z
dist-packagesz
site-packages)r r! r" |