add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
f

��_�c@spddlZddlZddlmZmZddlmZddlmZddlmZdgZ	Gdd	�d	e
�ZGd
d�dej�ZdS)iN�)�	reduction�set_spawning_popen)�
popen_fork)�spawn)�util�Popenc@seZdZdd�Zdd�ZdS)�_DupFdcCs
||_dS�N��fd��selfr
�r
�:/usr/lib64/python3.10/multiprocessing/popen_spawn_posix.py�__init__�z_DupFd.__init__cCs|jSrr	)rr
r
r�detachrz
_DupFd.detachN)�__name__�
__module__�__qualname__rrr
r
r
rrsrcs4eZdZdZeZ�fdd�Zdd�Zdd�Z�Z	S)rrcsg|_t��|�dSr)�_fdsZsuperr)r�process_obj�Z	__class__r
rrszPopen.__init__cCs|j�|�|Sr)r�appendrr
r
r�duplicate_for_child"szPopen.duplicate_for_childcCs�ddlm}|��}|j�|�t�|j�}t�	�}t
|�z$t�||�t�||�Wt
d�n
t
d�0d}}}}	z�t
��\}}t
��\}}	tj||d�}
|j�||g�t�t��|
|j�|_||_t|	ddd��}|�|���Wd�n1�s0YWg}||	fD]}
|
du�r|�|
��qt�|tj|�|_||fD]}
|
du�rRt
�|
��qRn`g}||	fD]}
|
du�r||�|
��q|t�|tj|�|_||fD]}
|
du�r�t
�|
��q�0dS)Nr)�resource_tracker)�
tracker_fdZpipe_handleZwbF)Zclosefd)�rZgetfdrrrZget_preparation_dataZ_name�ioZBytesIOrrZdump�osZpipeZget_command_lineZextendrZspawnv_passfdsZget_executableZpidZsentinelZopenZwriteZ	getbufferZFinalizeZ	close_fdsZ	finalizerZclose)rrrrZ	prep_dataZfpZparent_rZchild_wZchild_rZparent_wZcmdZfZfds_to_closer
r
r
r�_launch&sP�
�0

�

z
Popen._launch)
rrrZmethodrZDupFdrrrZ
__classcell__r
r
rrrs
)
rrZcontextrrrrrrZ__all__Zobjectrrr
r
r
rZ<module>s