add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

��Vc�csB�ddlZddlZddlZddlZddlZddlmZmZmZddl	m
Z
ddl	mZdgZdZ
ejdkoeed	d
��Zej����d��Zd�Zeejej��Zd
�ZGd�de��ZdS)�Ni)�	reduction�get_spawning_popen�set_spawning_popen)�spawn)�util�PopeniZwin32ZfrozenFzpythonservice.execs��||kp?tj�|��tj�|��kS�N)�osZpathZnormcase)Zp1Zp2�  �:/usr/lib64/python3.11/multiprocessing/popen_spawn_win32.py�_path_eqrs6��
��8�C�r�w�'�'��+�+�r�w�/?�/?��/C�/C�C�C�cs8�|D]}tj|���dSr)�_winapi�CloseHandle)Zhandles�handler	r
�_close_handlesrs/���$�$����F�#�#�#�#�$�$rcs>�eZdZ	dZd�Zd�Zd	d�Zd�Zd�ZeZ	d�Z
dS)
rrcsx�tj|j��}tjdd��\}}tj|d��}tjtj	��|���}tj
��}trYt|tj��r?tjx|d<}tj���}tj|d<nd}d�d�|D����}t'|dd���5}		tj||ddd	d|dd�	�	\}
}}}
tj|��n#tj|���xYw||_d|_|
|_t3|
��|_t7j|t:|jt3|��f��|_t?|��	tAj!||	��tAj!||	��t?d��n#t?d��wxYw	ddd��dS#1swxYwYdS)
Nr)Z
parent_pidZpipe_handleZ__PYVENV_LAUNCHER__z c3s K�|]	}d|zV��
dS)z"%s"N�)Z.0Zxr	r
z	<genexpr>z!Popen.__init__.<locals>.<genexpr>Es&����/�/�a�v��z�/�/�/�/�/�/rZwbT)ZclosefdF)"rZget_preparation_dataZ_namer
Z
CreatePipe�msvcrtZopen_osfhandleZget_command_linerZgetpidZget_executable�WINENVr�sys�
executable�_base_executableZenvironZcopyZjoinZopenZ
CreateProcessr�pid�
returncode�_handle�int�sentinelrZFinalizer�	finalizerrrZdump)�selfZprocess_objZ	prep_dataZrhandleZwhandleZwfdZcmdZ
python_exeZenvZto_childZhpZhtrZtids              r
�__init__zPopen.__init__,sr���.�{�/@�A�A�	�#�-�d�A�6�6�����#�G�Q�/�/���$��	���18�:�:�:���)�+�+�
��	�h�z�3�>�:�:�	�"%�"6�6�C��F�Z��*�/�/�#�#�C�),��C�%�&�&��C��h�h�/�/�3�/�/�/�/�/��
�#�t�T�
*�
*�
*�	)�h�
�#*�#8����$��q�#�t�T�$;�$;� ��B��S��#�B�'�'�'�'��
��#�G�,�,�,������D�H�"�D�O��D�L���G�G�D�M�!�]�4��,0�M�3�w�<�<�+H�J�J�D�N�
�t�$�$�$�
)���y�(�3�3�3���{�H�5�5�5�"�4�(�(�(�(��"�4�(�(�(�(����(�3	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)sC�H/�5E�H/�E#�#A/H/�*H
�=H/�
H�H/�/H3�6H3cs6�tj||j��Sr)rZ	duplicater)rrr	r
�duplicate_for_childzPopen.duplicate_for_childbs���"�6�4�=�9�9�9rNcs`�|j��|�
tj}n#tdt	|dzdz����}tjt	|j��|��}|tjkr8tj|j��}|tkr
tj}||_|jS)Nri�g�?)rr
ZINFINITEZmaxrZWaitForSingleObjectrZ
WAIT_OBJECT_0ZGetExitCodeProcess�	TERMINATE�signalZSIGTERM)r�timeoutZmsecsZresZcodes     r
�waitz
Popen.waitfs����?�	'��
:��(����A�s�7�T�>�C�#7�8�8�9�9���-�c�$�,�.?�.?��G�G�C��g�+�+�
'��1�$�,�?�?���9�$�+�"�N�?�D�"&�����rcs.�|�d���S)Nr�r")r#�r� r
�pollz
Popen.pollvs���y�y��y�#�#�#rcs��|j�W	tjt|j��t
��dS#t$r|�d�����YdSwxYwdS)Ng�?r$)rr
ZTerminateProcessrrr ZOSErrorr#r%r&r
�	terminatezPopen.terminateys����?�	�
��(��T�\�):�):�I�F�F�F�F�F���
�
�
��9�9�S�9�)�)������
����	�	s�,7�!A�Acs.�|���dSr)rr%r&r
�closezPopen.close�s���������rr)Z__name__Z
__module__Z__qualname__Zmethodrrr#r'r(Zkillr)rrr
rr&s���������F�4)�4)�4)�l:�:�:����� $�$�$�����D�����r)rrr!rr
ZcontextrrrZrrZ__all__r ZplatformZgetattrZWINEXErZlowerZendswithZ
WINSERVICErrrrZobjectrrrr
�<module>r*s=��	�	�	�	�
�
�
�
�
�
�
�
�
�
�
�
�����F�F�F�F�F�F�F�F�F�F��������������)��
�	�

�,�'�
!�
C�g�g�c�8�U�&C�&C��
�^�
!�
!�
#�
#�
,�
,�-@�
A�
A�
�D�D�D��X�c�n�c�&:�
;�
;�	;��$�$�$�^�^�^�^�^�F�^�^�^�^�^r