o
    Zh                     @   sl   d Z ddlZddlmZ ddlmZ ddlmZmZ ddl	m
Z
 ddlmZ dd	lmZ G d
d deZdS )zdistutils.command.bdist_dumb

Implements the Distutils 'bdist_dumb' command (create a "dumb" built
distribution -- i.e., just an archive to be unpacked under $prefix or
$exec_prefix).    N)log   )Command)ensure_relativeremove_tree)DistutilsPlatformError)get_python_version)get_platformc                	   @   s`   e Zd ZdZdddde  dfddd	d
dddg	Zg dZdddZdd Zdd Z	dd Z
dS )
bdist_dumbz"create a "dumb" built distribution)z
bdist-dir=dz1temporary directory for creating the distributionz
plat-name=pz8platform name to embed in generated filenames [default: ])zformat=fz>archive format to create (tar, gztar, bztar, xztar, ztar, zip))	keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z	dist-dir=r   z-directory to put final built distributions in)
skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths [default: false])zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])r   r   r   gztarzip)posixntc                 C   s:   d | _ d | _d | _d| _d | _d | _d| _d | _d | _d S )NF)		bdist_dir	plat_nameformat	keep_tempdist_dir
skip_buildr   ownergroup)self r"   _/var/www/html/lang_env/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_dumb.pyinitialize_options=   s   
zbdist_dumb.initialize_optionsc                 C   sv   | j d u r| dj}tj|d| _ | jd u r1z	| jtj | _W n t	y0   t
dtj w | dddd d S )NZbdistdumbz>don't know how to create dumb built distributions on platform )r   r   )r   r   )r   r   )r   Zget_finalized_command
bdist_baseospathjoinr   default_formatnameKeyErrorr   Zset_undefined_options)r!   r&   r"   r"   r#   finalize_optionsH   s&   

zbdist_dumb.finalize_optionsc                 C   s(  | j s| d | jddd}| j|_| j |_ d|_td| j | d | j	  d| j
 }tj| j|}| js@| j}n#| j rX|j|jkrXtd|jd	|jd
tj| jt|j}| j|| j|| j| jd}| j ryt }nd}| jjd||f | jst| j| jd d S d S )NbuildinstallT)Zreinit_subcommandsFzinstalling to %s.zLcan't make a dumb built distribution where base and platbase are different (z, ))root_dirr   r    anyr
   )dry_run)r   run_commandZreinitialize_commandr   rootZwarn_dirr   infodistributionZget_fullnamer   r'   r(   r)   r   r   Zhas_ext_modulesZinstall_baseZinstall_platbaser   r   make_archiver   r   r    r   Z
dist_filesappendr   r   r4   )r!   r/   Zarchive_basenameZpseudoinstall_rootZarchive_rootfilenameZ	pyversionr"   r"   r#   run]   sL   



zbdist_dumb.runN)__name__
__module____qualname__descriptionr	   Zuser_optionsZboolean_optionsr*   r$   r-   r<   r"   r"   r"   r#   r
      s,    %
r
   )__doc__r'   Zdistutils._logr   corer   Zdir_utilr   r   errorsr   	sysconfigr   utilr	   r
   r"   r"   r"   r#   <module>   s    