
    i&                         d dl mZ d dlZd dlZd dlZd dlZd dlmc mZ	 d dl
Z
ddlmZmZ e	j        Z G d de	j                  Zd e	j        j        D             ej        z   e_        dS )    )DistutilsArgErrorN   )SetuptoolsDeprecationWarningSetuptoolsWarningc                       e Zd ZdZej        j        ddgz   Zej        j        ddgz   Zdd fdd	 fgZ e	e          Z
d
 Zd Zd Zd Zed             Zd ZdS )installz7Use easy_install to install the package, w/dependencies)old-and-unmanageableNzTry not to use this!)!single-version-externally-managedNz5used by system package builders to create 'flat' eggsr	   r
   install_egg_infoc                     dS NT selfs    W/root/projects/qq-shell/venv/lib/python3.11/site-packages/setuptools/command/install.py<lambda>zinstall.<lambda>   s    $     install_scriptsc                     dS r   r   r   s    r   r   zinstall.<lambda>   s     r   c                     t          j        dddt          j        v rdndz   ddt          j        v rdndz              t          j                            |            d | _        d | _        d S )	Nzsetup.py install is deprecated.z
            Please avoid running ``setup.py`` directly.
            Instead, use pypa/build, pypa/installer or other
            standards-based tools.
            RPM_BUILD_ROOTzw
            Follow the current Python packaging guidelines when building
            Python RPM packages.
             zAhttps://blog.ganssle.io/articles/2021/10/setup-py-deprecated.htmlzF
and https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/)see_url)	r   emitosenvironorigr   initialize_optionsold_and_unmanageable!single_version_externally_managedr   s    r   r   zinstall.initialize_options!   s    $)- $rz11  8:; YZjnpnxZxZxVV  AB	
 	
 	
 	
$ 	''---$(!15...r   c                     t           j                            |            | j        r	d| _        d S | j        r| j        s| j        st          d          d S d S d S )NTzAYou must specify --record or --root when building system packages)r   r   finalize_optionsrootr    recordr   r   s    r   r"   zinstall.finalize_options8   s    %%d+++9 	59D2223 	9 T[ '   	 	   r   c                 |    | j         s| j        rt          j                            |           S d | _        d| _        d S )Nr   )r#   r    r   r   handle_extra_path	path_file
extra_dirsr   s    r   r&   zinstall.handle_extra_pathC   s@    9 	8> 	8<11$777 r   c                    | j         s| j        rt          j                            |           S |                     t          j                              s!t          j                            |            d S |                                  d S )N)	r   r    r   r   run_called_from_setupinspectcurrentframedo_egg_installr   s    r   r*   zinstall.runM   s    $ 	*(N 	*<##D)))&&w';'='=>> 	"LT"""""!!!!!r   c                    | Ed}t          j        |           t          j                    dk    rd}t          j        |           dS t	          j        |           }|dd         D ]a}|dd         \  }t	          j        |          }|j                            d	d
          }|dk    r|j	        dk    rO|dk    o
|j	        dk    c S dS )a  
        Attempt to detect whether run() was called from setup() or by another
        command.  If called by setup(), the parent caller will be the
        'run_command' method in 'distutils.dist', and *its* caller will be
        the 'run_commands' method.  If called any other way, the
        immediate caller *might* be 'run_command', but it won't have been
        called by 'run_commands'. Return True in that case or if a call stack
        is unavailable. Return False otherwise.
        Nz4Call stack not available. bdist_* commands may fail.
IronPythonz6For best results, pass -X:Frames to enable call stack.Tr         __name__r   zsetuptools.distrun_commandzdistutils.distrun_commands)
r   r   platformpython_implementationr,   getouterframesgetframeinfo	f_globalsgetfunction)	run_framemsgframesframecallerinfocaller_modules          r   r+   zinstall._called_from_setupX   s     HC"3'''-//<??N!&s+++4'	22AaC[ 	 	EBQBiGF'//D",00R@@M 111dm}6T6T !11 4M^3  	 	r   c                    | j                             d          } || j         d| j        | j                  }|                                 d|_        |j                            t          j        d                     | 	                    d           | j         
                    d          j        g}t          j        r |                    dt          j                   ||_        |                    d	           d t          _        d S )
Neasy_installx)argsr#   r$   .z*.egg	bdist_eggr   F)show_deprecation)distributionget_command_classr#   r$   ensure_finalizedalways_copy_frompackage_indexscanglobr4   get_command_obj
egg_output
setuptoolsbootstrap_install_frominsertrG   r*   )r   rE   cmdrG   s       r   r.   zinstall.do_egg_installz   s    (::>JJlCdi
 
 
 	" 	ty11222%%%!11+>>IJ, 	>KK:<===''',0
)))r   N)r3   
__module____qualname____doc__r   r   user_optionsboolean_optionsnew_commandsdict_ncr   r"   r&   r*   staticmethodr+   r.   r   r   r   r   r      s        AA<,>	B0 L
 l2 C6 O 
../	--.L $|

C6 6 6.	 	 	  	" 	" 	"   \B1 1 1 1 1r   r   c                 :    g | ]}|d          t           j        v|S )r   )r   r_   ).0rW   s     r   
<listcomp>rc      s(    KKKSQw{1J1JS1J1J1Jr   )distutils.errorsr   r,   rQ   r   r6   distutils.command.installcommandr   r   rT   warningsr   r   _installsub_commandsr]   r   r   r   <module>rj      s    . . . . . .   				  ( ( ( ( ( ( ( ( (     F F F F F F F F <@1 @1 @1 @1 @1dl @1 @1 @1J LKDL-KKK    r   