add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

�Wc�Fcsj�	ddlZddlZddlZddlmZddlmZmZmZm	Z	m
Z
ddlmZGd�d�ZdS)�N)�DistutilsOptionError)�util�dir_util�	file_util�archive_util�dep_util��logcs��eZdZ	gZd�Zd�Zd�Zd�Zd�Zd$d�Z	d	�Z
d%d�Zd�Zd&d
�Z
d&d�Zd�Z	d&d�Zd�Zd�Zd�Zd�Zd%d�Zd'd�Zd�Zd�Zd�Zd(d�Zd)d�Z		d*d�Z		d+d�Zd%d �Zd,d!�Z		d-d"�Z 	d.d#�Z!dS)/�Commandcs�	ddlm}t||�s
td��|jt
ur
t
d��||_|j�d|_	|j|_
d|_d|_d|_
dS)Nr)�Distributionz$dist must be a Distribution instancezCommand is an abstract class)Zdistutils.distr
�
isinstance�	TypeError�	__class__r	�RuntimeError�distribution�initialize_optionsZ_dry_runZverbose�forceZhelp�	finalized)�selfZdistr
�   �&/usr/lib64/python3.12/distutils/cmd.py�__init__zCommand.__init__/s���	�	0�/�/�/�/�/��$��-�-��B�C�C��>�>�W�$�$��=�>�>� ������!�!���
��|�|�����
���	������cs��|dkr-t|d|z�}|�t|j|�S|St|��)N�dry_run�_)�getattrrZAttributeError)rZattrZmyvalrr�__getattr__zCommand.__getattr___sE���9����D�#��*�-�E��}��t�0�0�$�7�7��� ��&�&rcsN�|js|j�d|_dS�N�)r�finalize_options�r� r�ensure_finalizedzCommand.ensure_finalizedis%���~�~�~��!�!�#�#�����rc�8�	td|jz���Nz,abstract method -- subclass %s must override�rr
rr rrzCommand.initialize_options{�%��	��I�!�^�^�,�-�	-rcr"r#r$rr rrzCommand.finalize_options�s%��		��I�!�^�^�,�-�	-rN�cst�ddlm}|�d|j�z}|j||ztj
��|dz}|jD]b\}}}|j|�}|ddkr|dd}t||�}|j||�d|��ztj
���ddS)	Nr)�
longopt_xlatezcommand options for '%s':)�levelz  i����z=z = )	Zdistutils.fancy_getoptr'�get_command_name�announcerZINFOZuser_optionsZ	translater)rZheaderZindentr'�optionrZvalue�       r�dump_optionszCommand.dump_options�s���8�8�8�8�8�8��>�0�4�3H�3H�3J�J�F��
�
�f�v�o�S�X�X�
�6�6��$���"�/�/�	*�	*�N�V�Q���%�%�m�4�F��b�z�S� � �������D�&�)�E��M�M�&������#>�>� #���
�
*�
*�
*�	*�	*rcr"r#r$rr r�runzCommand.run�r%rrcs8�	tj||�dS�Nr)r�msgr(rrr*zCommand.announce�s ��	�	����s����rcsv�	ddlm}|r/t|�tjj�dSdS)Nr)�DEBUG)Zdistutils.debugr1Zprint�sysZstdoutZflush)rr0r1rr�debug_printzCommand.debug_print�sI��	�	*�)�)�)�)�)��5��#�J�J��J�J��������5rc	s��t||�}|�t|||�|St|t�st	d|�d|�d|�d���|S)N�'z' must be a z (got `z`))r�setattrr�strr)rr+�what�default�val�     r�_ensure_stringlikezCommand._ensure_stringlike�sa���d�F�#���;��D�&�'�*�*��N��C��%�%�&�&�*0�&�&�$�$�$����(=�>�
>��
rcs0�	|j|d|�dS)NZstring)r;)rr+r8rr�
ensure_stringzCommand.ensure_string�s$��	�	
�����'�:�:�:�:rcs"�	t||�}|�dSt|t�r't||t	j
d|��dSt|t�rtd�|D��}nd}|std|�d|�d���dS)Nz,\s*|\s+c3s>K�|]}t|t����dSr/)rr6)Z.0Zv�  rz	<genexpr>z-Command.ensure_string_list.<locals>.<genexpr>�s)����9�9���A�s�+�+�+�+�+�9�9rFr4z!' must be a list of strings (got z))	rrr6r5�reZsplit�listZallr)rr+r9Zok�    r�ensure_string_listzCommand.ensure_string_list�s���	�
�d�F�#���;��F�
��S�
!�
!��D�&�"�(�(�;��"<�=�=�=�=��#�t�$�$��9�9�S�9�9�9������2�*�*�������&�'�'��2rcsr�|j|||�}|� ||�std|z||fz��dSdS)Nzerror in '%s' option: )r;r)rr+Ztesterr7Z	error_fmtr8r9r,r�_ensure_tested_stringzCommand._ensure_tested_string�sQ���%�%�f�d�G�<���?�6�6�#�;�;�&�(@�9�(L�*0�#��(7�8�
8�$/�;�?�?rcsd�	|j|tjjdd�dS)NZfilenamez$'%s' does not exist or is not a file)rB�os�pathZisfile�rr+r=r�ensure_filenamezCommand.ensure_filename�s8��C��"�"�6�2�7�7�>�>�#-�#I�	K�	K�	K�	Krcsb�|j|tjjdd�dS)Nzdirectory namez)'%s' does not exist or is not a directory)rBrCrDZisdirrEr=r�ensure_dirnamezCommand.ensure_dirnames5���"�"�6�2�7�7�=�=�#3�#N�	P�	P�	P�	Prcsb�t|d�r|jS|jjS)N�command_name)ZhasattrrHr
�__name__rr rr)zCommand.get_command_name	s+���4��(�(��$�$�$��>�>�*�*�*rc	s��	|jj|�}|j�|D]/\}}t||���t	||t||���1dSr/)r�get_command_objr!rr5)rZsrc_cmdZoption_pairsZsrc_cmd_objZ
src_optionZ
dst_options      r�set_undefined_optionszCommand.set_undefined_optionssw��	��'�'�7�7��@���$�$�&�&�(4�	L�	L�$�Z���t�Z�(�0����j�'�+�z�*J�K�K�K�	L�	Lrcsd�	|jj||�}|j�|Sr/)rrJr!)r�commandZcreateZcmd_objr@r�get_finalized_commandzCommand.get_finalized_command$s5��	�
�#�#�3�3�G�V�D��� � �"�"��rrcs<�|jj||�Sr/)r�reinitialize_command)rrLZreinit_subcommandsrrrNzCommand.reinitialize_command0s"��� � �5�5�g�6H�J�	Jrcs@�	|jj|�dSr/)r�run_command)rrLr=rrOzCommand.run_command4s&��	�	
���%�%�g�.�.�.�.rcsn�	g}|jD]#\}}|�
||�s�|j|��%|Sr/)�sub_commandsZappend)rZcommandsZcmd_nameZmethodr@r�get_sub_commandszCommand.get_sub_commands;sO��	���"&�"3�"3�	*�	*��X�v��~�����������)�)�)��rcsV�tjd|j�|�dS)Nzwarning: %s: %s
)r�warnr))rr0r=rrRzCommand.warnKs%�����$�d�&;�&;�&=�s�C�C�C�CrcsP�tj||||j��dS�N�r)r�executer)r�func�argsr0r(r:rrUzCommand.executeNs$�����T�4��d�l�l�;�;�;�;�;r��csN�tj|||j��dSrS)r�mkpathr)rZnameZmoderrrYzCommand.mkpathQs"������d�D�L�L�9�9�9�9�9rc	sj�	tj|||||j||j��SrS)r�	copy_filerr)r�infile�outfile�
preserve_mode�preserve_timesZlinkr(r,rrZzCommand.copy_fileTs<��	L��"�"�6�7�M�#1�t�z�z�>�4�+/�<�<�9�9�	9rc	sj�	tj||||||j|j��SrS)r�	copy_treerr)rr[r\r]r^Zpreserve_symlinksr(r,rr_zCommand.copy_tree]s?��	��!�!�&�'�=�"0�2C�&*�j�j�.�$�,�,�H�H�	HrcsL�	tj|||j��SrS)r�	move_filer)rZsrcZdstr(r@rr`zCommand.move_filefs!��2��"�"�3��T�\�\�B�B�Brcs@�	ddlm}||||j��dS)Nr)�spawnrT)Zdistutils.spawnrar)rZcmdZsearch_pathr(rar:rraz
Command.spawnjs5��@�)�)�)�)�)�)�
��c�;����5�5�5�5�5rc	sR�tj|||||j||��S)N)r�owner�group)r�make_archiver)rZ	base_nameZformatZroot_dirZbase_dirrbrcr,rrdzCommand.make_archiveos1���(�(��F�H�h�15���/4�E�C�C�	Crcsj�	|�d|z}t|t�r|f}n't|ttf�s
t	d��|�d|�ddj|���}|jstj||�r|j||||�dStj|�dS)Nzskipping %s (inputs unchanged)z9'infiles' must be a string, or a list or tuple of stringszgenerating z from z, )rr6r?ZtuplerZjoinrrZnewer_grouprUrZdebug)rZinfilesr\rVrWZexec_msgZskip_msgr(s        r�	make_filezCommand.make_fileus���	���7�'�A�H��g�s�#�#��j�G�G��G�d�E�]�3�3��M�O�
O����29�'�'�4�9�9�W�;M�;M�N�H�
�:�:�:��-�-�g�w�?�?��L�L��t�X�u�5�5�5�5�
�I�I�h����r)Nr&)rr/)rr)rX)rrNr)rrrr)rr)NNNN)NNr)"rIZ
__module__Z__qualname__rPrrr!rrr-r.r*r3r;r<rArBrFrGr)rKrMrNrOrQrRrUrYrZr_r`rardre�rrr	r	sr������
�:�L�
-�-�-�`'�'�'����$-�-�-�-�-�-�*�*�*�*�-�-�-��������.����;�;�;�;�'�'�'�,'+�8�8�8�8�K�K�K�P�P�P�+�+�+�L�L�L�*����J�J�J�J�/�/�/���� D�D�D�<�<�<�<�:�:�:�:�JK�#$�9�9�9�9�JK�./�H�H�H�H�C�C�C�C�6�6�6�6�
GK�'+�C�C�C�C�78� � � � � � rr	)
r2rCr>Zdistutils.errorsrZ	distutilsrrrrrrr	rfrr�<module>rgs����������������1�1�1�1�1�1�G�G�G�G�G�G�G�G�G�G�G�G�G�G�������G �G �G �G �G �G �G �G �G r