add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
B

�/g^�c@s�dZddlZddlZddlmZmZddlmZddlm	Z	ddd�Z
d	d
�Zddd�Zej
d
krvddlmZdadaddd�Zddd�ZdS)z�distutils.spawn

Provides the 'spawn()' function, a front-end to various platform-
specific functions for launching another program in a sub-process.
Also provides the 'find_executable()' to search the path for a given
executable name.
�N)�DistutilsPlatformError�DistutilsExecError)�DEBUG)�log�cCsNt|�}tjdkr"t|||d�n(tjdkr<t|||d�ntdtj��dS)a�Run another program, specified as a command list 'cmd', in a new process.

    'cmd' is just the argument list for the new process, ie.
    cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
    There is no way to run a program with a name different from that of its
    executable.

    If 'search_path' is true (the default), the system's executable
    search path will be used to find the program; otherwise, cmd[0]
    must be the exact path to the executable.  If 'dry_run' is true,
    the command will not actually be run.

    Raise DistutilsExecError if running the program fails in any way; just
    return on success.
    Zposix)�dry_runZntz1don't know how to spawn programs on platform '%s'N)Zlist�osZname�_spawn_posix�	_spawn_ntr)�cmd�search_path�verboser�r
�'/usr/lib64/python3.7/distutils/spawn.py�spawns

rcCs.x(t|�D]\}}d|kr
d|||<q
W|S)z�Quote command-line arguments for DOS/Windows conventions.

    Just wraps every argument which contains blanks in double quotes, and
    returns a new argument list.
    � z"%s")Z	enumerate)�argsZiZargr
r
r�_nt_quote_args+src
Cs�|d}t|�}|r t|�p|}t�d�|g|dd���|s�yt�tj||�}Wn@tk
r�}z"t	sp|}t
d||jdf��Wdd}~XYnX|dkr�t	s�|}t
d||f��dS)Nrrr�command %r failed: %s������%command %r failed with exit status %d)r�find_executabler�info�joinrZspawnvZP_WAIT�OSErrorrrr)r
rrr�
executableZrc�excr
r
rr	;s$&r	�darwin)�	sysconfigc
Cstt�d�|��|rdS|d}|r*tjp.tj}d}tjdkr�tdkrlt	�
d�pRdatrldd�t�d�D�atr�tj
�dt�}td	d�|�d�D�kr�d
|tf}t|��ttj
|d�}|r�tjp�tj}t��}	|	dk�rty$|dkr�|||�n||||�WnNtk
�rL}
z.t�s|}tj�d||
jf�t�d
�Wdd}
~
XYnXt�sX|}tj�d|�t�d
�n�x�yt�|	d�\}	}WnDtk
�r�}z$t�s�|}td||jdf��Wdd}~XYnXt�|��r�t�s�|}td|t�|�f��nlt�|��r>t� |�}
|
dk�r"dSt�s,|}td||
f��n,t�!|��rP�qvnt�sZ|}td||f���qvWdS)Nrrr�MACOSX_DEPLOYMENT_TARGETZcS�g|]}t|��qSr
�Zint�Z.0Zxr
r
r�
<listcomp>e�z _spawn_posix.<locals>.<listcomp>Z.cSrr
r r!r
r
rr"kr#zF$MACOSX_DEPLOYMENT_TARGET mismatch: now "%s" but "%s" during configure)rzunable to execute %r: %s
rz(unable to execute %r for unknown reasonsrrz"command %r terminated by signal %drz1unknown error executing %r: termination status %d)"rrrrZexecvpZexecv�sys�platform�_cfg_targetrZget_config_var�split�_cfg_target_split�environ�getrZdictZexecvpeZexecveZforkrrZstderrZwriteZstrerrorZ_exitZwaitpidrrZWIFSIGNALEDZWTERMSIGZ	WIFEXITEDZWEXITSTATUSZ
WIFSTOPPED)r
rrrrZexec_fnZenvZ
cur_targetZmy_msgZpidZeZstatusrZexit_statusr
r
rrXs�



&

rc	Cs�tj�|�\}}tjdkr*|dkr*|d}tj�|�r:|S|dkr�tj�dd�}|dkr�yt�d�}Wnt	t
fk
r�tj}YnX|s�dS|�tj
�}x*|D]"}tj�||�}tj�|�r�|Sq�WdS)z�Tries to find 'executable' in the directories listed in 'path'.

    A string listing directories separated by 'os.pathsep'; defaults to
    os.environ['PATH'].  Returns the complete filename or None if not found.
    Zwin32z.exeNZPATHZCS_PATH)r�pathZsplitextr$r%Zisfiler)r*ZconfstrZAttributeErrorZ
ValueErrorZdefpathr'Zpathsepr)rr+Z_ZextZpathsZpZfr
r
rr�s(
r�rrrr,r,)N)Z__doc__r$rZdistutils.errorsrrZdistutils.debugrZ	distutilsrrrr	r%rr&r(rrr
r
r
rZ<module>s



Q