Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib64/python3.6/distutils/command/__pycache__/ |
| [Home] [System Details] [Kill Me] |
3
\X�@s�dZddlZddlZddlmZddlmZddlmZddl m
Z
ddlmZm
Z
ddlmZddlZejd �ZGd
d�de�ZGdd
�d
ee
�ZdS)zRdistutils.command.build_scripts
Implements the Distutils 'build_scripts'
command.�N)�ST_MODE)� sysconfig)�Command)�newer)�convert_path� Mixin2to3)�logs^#!.*python[0-9.]*([
].*)?$c@sHeZdZdZdddgZdgZdd�Zd
d�Zdd�Zdd�Z dd�Z
dS)�
build_scriptsz("build" scripts (copy and fixup #!
line)�
build-dir=�d�directory to "build" (copy)
to�force�f�1forcibly build everything (ignore file
timestamps�executable=�e�*specify final destination interpreter
pathcCs"d|_d|_d|_d|_d|_dS)N)� build_dir�scriptsr
�
executable�outfiles)�self�r�%/usr/lib64/python3.6/build_scripts.py�initialize_optionss
z
build_scripts.initialize_optionscCs|jdddd�|jj|_dS) NZbuildr rr
r)r r)r
r
)rr)Zset_undefined_optionsZdistributionr)rrrr�finalize_options%s
zbuild_scripts.finalize_optionscCs|jS)N)r)rrrr�get_source_files,szbuild_scripts.get_source_filescCs|js
dS|j�dS)N)r�copy_scripts)rrrr�run/szbuild_scripts.runc"Cs�|j|j�g}g}�x,|jD�]
}d}t|�}tjj|jtjj|��}|j|�|j rtt
||�rttjd|�qyt
|d�}Wn tk
r�|js��d}YnXXtj|j�\}}|jd�|j�} | s�|jd|�qtj| �}
|
r�d}|
jd�p�d }|�rtjd
||j�|j|�|j�stj�s2|j}n(tjjtjd�dtjd
�tjd�f�}tj|�}d||d}
y|
jd�Wn$tk
�r�t dj!|
���YnXy|
j|�Wn&tk
�r�t
dj!|
|���YnXt
|d��}|j"|
�|j#|j$��WdQRX|�r@|j%�q|�r*|j%�|j|�|j&||�qWtj'dk�r�xh|D]`}|j�rptjd|�nDtj(|�t)d@}|dBd@}||k�rVtjd|||�tj*||��qVW||fS)a"Copy
each script listed in 'self.scripts'; if it's marked as a
Python script in the Unix way (first line matches
'first_line_re',
ie. starts with "\#!" and contains "python"),
then adjust the first
line to refer to the current Python interpreter as we copy.
Fznot copying %s (up-to-date)�rbNrz%s is an empty file
(skipping)T��zcopying and adjusting %s -> %s�BINDIRz
python%s%s�VERSION�EXEs#!�
zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r})
is not decodable from the script encoding ({})�wb�posixzchanging
mode of %si�imz!changing mode of %s from %o to
%o)+Zmkpathrrr�os�path�join�basename�appendr
rr�debug�open�OSError�dry_run�tokenize�detect_encoding�readline�seek�warn�
first_line_re�match�group�inforZpython_buildr�get_config_var�fsencode�decode�UnicodeDecodeError�
ValueError�format�write�
writelines� readlines�closeZ copy_file�name�statr�chmod)rr�
updated_filesZscriptZadjustZoutfiler�encoding�linesZ
first_liner7Zpost_interprZshebangZoutf�fileZoldmodeZnewmoderrrr5s�
zbuild_scripts.copy_scriptsN)r
rr)r
rr)rrr)�__name__�
__module__�__qualname__�descriptionZuser_optionsZboolean_optionsrrrrrrrrrr sr c@seZdZdd�ZdS)�build_scripts_2to3cCs&tj|�\}}|js|j|�||fS)N)r rr0Zrun_2to3)rrrGrrrr�s
zbuild_scripts_2to3.copy_scriptsN)rKrLrMrrrrrrO�srO)�__doc__r(�rerErZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr1�compiler6r rOrrrr�<module>s