add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

�Wc#cs��	ddlZddlZddlZddlZddlmZejed��dgZdZ	dZ
dZd	Zd
Z
dZe	e
eee
egZGd�d�Zd
�ZdS)�N)�quote)�i
)Zremove�TemplateZffz-fzf-�--z.-z-.csX�eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)rcs8�	d|_|j�dS)Nr)�	debugging�reset��self� �/usr/lib64/python3.12/pipes.py�__init__zTemplate.__init__Xs��;�����
�
�����cs"�d|j�d�S)Nz<Template instance, steps=z>��stepsrr	r
�__repr__zTemplate.__repr__]s��.�26�*�*�*�*�>�>rcs�	g|_dS�Nr
rr	r
rzTemplate.resetas��J���
�
�
rcsj�	t�}|jdd|_|j|_|Sr)rrr)rZt�  r
�clonezTemplate.clonees/��	-��J���*�*�Q�Q�-����n�n����rcs�	||_dSr)r)rZflagrr
�debugzTemplate.debugms��6�����rcs�	t|t�s
td��|tvrt	d|����|t
kr
t	d��|jr.|jddtkr
t	d��|ddkr%tjd	|�s
t	d
��|ddkr%tjd|�s
t	d��|jj||f�dS)
Nz%Template.append: cmd must be a stringzTemplate.append: bad kind z-Template.append: SOURCE can only be prepended������z'Template.append: already ends with SINKr�f�\$IN\bz#Template.append: missing $IN in cmd�\$OUT\bz$Template.append: missing $OUT in cmd)�
isinstance�str�	TypeError�	stepkinds�
ValueError�SOURCEr�SINK�re�search�append�r�cmd�kind�   r
r"zTemplate.appendqs���=��#�s�#�#��C�D�D��y� � ��*�t�t�E�F�F��6�>�>��L�M�M��:�:�:�$�*�*�R�.��+�t�3�3��F�G�G���7�c�>�>�"�)�)�I�s�";�";��B�C�C���7�c�>�>�"�)�)�J��"<�"<��C�D�D��
�
���3��+�&�&�&�&rcs �	t|t�s
td��|tvrt	d|����|t
kr
t	d��|jr.|jddtkr
t	d��|ddkr%tjd|�s
t	d	��|ddkr%tjd
|�s
t	d��|jjd||f�dS)Nz&Template.prepend: cmd must be a stringzTemplate.prepend: bad kind z+Template.prepend: SINK can only be appendedrrz,Template.prepend: already begins with SOURCErrz$Template.prepend: missing $IN in cmdrz%Template.prepend: missing $OUT in cmd)rrrrrrrrr r!�insertr#r&r
�prependzTemplate.prepend�s���@��#�s�#�#��D�E�E��y� � ��*���F�G�G��4�<�<��J�K�K��:�:�:�$�*�*�Q�-��*�f�4�4��K�L�L���7�c�>�>�"�)�)�I�s�";�";��C�D�D���7�c�>�>�"�)�)�J��"<�"<��D�E�E��
�
���!�c�4�[�)�)�)�)rcs��	|dkr|j|�S|dkr|j|�Std|����)N�r�wz*Template.open: rw must be 'r' or 'w', not )�open_r�open_wr)r�fileZrwr&r
�openz
Template.open�sQ��	J�
��9�9��;�;�t�$�$�
��9�9��;�;�t�$�$��j��B�!�"�	"rcs��	|jst|d�S|jddtkr
td��|j	|d�}tj|d�S)Nr)rrz)Template.open_r: pipeline ends width SINK�)rr.rr�makepipeline�os�popen�rr-r$r&r
r+zTemplate.open_r�sd��	A��z�z�z���c�?�"��:�:�b�>�!���$�$��H�I�I�����b�)���x�x��S�!�!rcs��|jst|d�S|jddtkr
td��|j	d|�}tj|d�S)Nr*rrz,Template.open_w: pipeline begins with SOURCEr/)rr.rrr0r1r2r3r&r
r,zTemplate.open_w�s^���z�z�z���c�?�"��:�:�a�=���v�%�%��K�L�L�����D�)���x�x��S�!�!rcsR�tj|j||��Sr)r1Zsystemr0)r�infile�outfiler&r
�copyz
Template.copy�s���y�y��*�*�6�7�;�<�<rcst�t||j|�}|jrt|�d|z}|S)Nzset -x; )r0rrZprint)rr4r5r$s    r
r0zTemplate.makepipeline�s5���6�4�:�:�w�7���>�>�>��#�J�J��s�"�C��
rN)�__name__Z
__module__Z__qualname__rrrrrr"r(r.r+r,r6r0�rr
rrUs�������1����
?�?�?����������'�'�'� *�*�*� "�"�"�"�"�"�"�"�"�=�=�=�����rcs�g}|D]\}}|jd||dg��|s|jgd��|ddd\}}|ddkr|s|jdgd��||dd<|ddd\}}|ddkr|s|jgd��||dd<g}tdt|��D]�}||dz
d}||d}	|ddks
|	ddks�;t	j
�\}
}t
j|
�|j|�|x||dz
d<||d<��|D]�}|\}
}}}|ddkrd	t|�zd
z|z}|ddkrdt|
�zd
z|z}|ddkr|
r|d
zt|
�z}|ddkr|r|dzt|�z}||d<��|dd}|ddD]3}|dd\}}|ddkrd|vrd|zdz}|dz|z}�,|dz|z}�5|r?d}|D]}|dzt|�z}�dt|dz�zdz}|dz|zdz|z}|S)Nr/)r/Zcatrr/rrrrrizOUT=z; zIN=z-z <z >z{ z; }z |
z
zrm -fz ztrap z; exitz 1 2 3 13 14 15)	r"r'ZrangeZlen�tempfileZmkstempr1Zcloser)r4rr5Zlistr$r%ZgarbageZiZlkindZrkindZfdZtempZitemZinfZoutfZcmdlistZrmcmdr-Ztrapcmds                   r
r0r0�s���D��)�)�	��T����R��d�B�'�(�(�(��4����)�)�)�*�*��q�'�!�A�,�K�S�$��A�w�#�~�~�f�f����A�,�,�,�-�-��D��G�A�J��r�(�1�Q�-�K�S�$��A�w�#�~�~�g�g����)�)�)�*�*��D��H�R�L��G�
�1�c�$�i�
 �.�.���Q�q�S�	�!����Q���
����8�s�?�?�e�A�h�#�o�o��!�)�)�+�J�R���H�H�R�L�L��N�N�4� � �)-�-�D��1��I�b�M�D��G�A�J�J��
�
��!%���c�4����7�c�>�>��5��;�&��-��3�C���7�c�>�>��%��*�$�t�+�c�1�C���7�c�>�>�c�c���*�u�S�z�)�C���7�c�>�>�d�d���*�u�T�{�*�C���Q����1�g�a�j�G��Q�R��+�+���1�Q�i���d���7�b�=�=��d�{�{��S�j�5�(����&��,�G�G���n�s�*�G�G��w����	.�	.�D��C�K�%��+�-�E�E��E�%�(�"2�3�3�6G�G���D�.�7�*�T�1�E�9���Nr)r r1r9ZwarningsZshlexrZ_deprecatedr7Z__all__ZFILEIN_FILEOUTZ
STDIN_FILEOUTZ
FILEIN_STDOUTZSTDIN_STDOUTrrrrr0r8rr
�<module>r:s���8�v
�	�	�	�	�	�	�	�������������������X�g�.�.�.��,�����
��
�������
�]�M�<�
�T�
�	�`�`�`�`�`�`�`�FB�B�B�B�Br