add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

��Vc��cs��	ddlZddlZddlZddlmZ	ddlZn
#e$rdZYnwxYwddlTddlm	Z	m
Z
ddlmZm
Z
mZddlmZddlmZejd��Zd	�ZGd
�d��ZGd�d
��Zd�ZdS)�N)�message_from_file)Z*)�FancyGetopt�translate_longopt)�
check_environ�	strtobool�
rfc822_escape��log)�DEBUGz^[a-zA-Z]([a-zA-Z0-9_]*)$cs��t|t��rn`t|t��sKt|��j}d|�d|�d�}tjt
j|��t|��}|S)Nz
Warning: 'z' should be a list, got type '�')�
isinstance�str�list�type�__name__rZWARN)�valueZ	fieldnameZtypename�msg�    �'/usr/lib64/python3.11/distutils/dist.py�_ensure_listrsu���%����	�	
�
��t�
$�
$����;�;�'��O�9�O�O�H�O�O�O������#�����U�����L�cs�eZdZ	gd�ZdZgd�Zd�eD��ZddiZd)d�Zd	�Z	d*d�Z
d�Zd)d
�Zd�Z
d�Zd�Zd�Zddgfd�Zd�Zd�Zd�Zd�Zd�Zd�Zd+d�Zd)d�Zd,d�Zejfd�Zd�Zd �Zd!�Z d"�Z!d#�Z"d$�Z#d%�Z$d&�Z%d'�Z&d(�Z'dS)-�Distribution))�verbose�vzrun verbosely (default)�)�quietZqz!run quietly (turns verbosity off))zdry-runZnzdon't actually do anything)�helpZhzshow detailed help message)zno-user-cfgNz-ignore pydistutils.cfg in your home directoryz�Common commands: (see '--help-commands' for more)

  setup.py build      will build the package underneath 'build/'
  setup.py install    will install the package
))z
help-commandsNzlist all available commands)�nameNzprint package name)�versionZVzprint package version)�fullnameNzprint <package name>-<version>)�authorNzprint the author's name)�author-emailNz print the author's email address)�
maintainerNzprint the maintainer's name)zmaintainer-emailNz$print the maintainer's email address)�contactNz7print the maintainer's name if known, else the author's)z
contact-emailNz@print the maintainer's email address if known, else the author's)�urlNzprint the URL for this package)�licenseNz print the license of the package)�licenceNzalias for --license)�descriptionNzprint the package description)zlong-descriptionNz"print the long package description)�	platformsNzprint the list of platforms)�classifiersNzprint the list of classifiers)�keywordsNzprint the list of keywords)�providesNz+print the list of packages/modules provided)�requiresNz+print the list of packages/modules required)�	obsoletesNz0print the list of packages/modules made obsoletecs8�g|]}t|d����S�r�r)�.0Zx�  r�
<listcomp>zDistribution.<listcomp>�s%��M�M�M��-�a��d�3�3�M�M�MrrrNc	s��	d|_d|_d|_|jD]}t	||d���t��|_|jjD]+}d|z}t	||t|j|�����,i|_	d|_
d|_d|_i|_
g|_d|_i|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_i|_i|_|�r�|�d��}|�S|d=|���D];\}}|� |��}|���D]\}	}
d|
f||	<�
�<d|vrN|d|d<|d=d	}tB�tCj"|��n"tFj$�%|d
z��|���D]�\}}
tM|jd|z��r"t|jd|z��|
���?tM|j|��rt	|j||
���ktM||��rt	|||
����dtO|��z}tCj"|����d
|_(|j�0|jD](}
|
�)d��sn|
dkr	d|_(n�)|�*��dS)Nrr�get_��optionszsetup scriptr%r$z:'licence' distribution option is deprecated; use 'license'�
Zset_zUnknown distribution option: %sT�-z
--no-user-cfgF)+r�dry_runr�display_option_names�setattr�DistributionMetadata�metadata�_METHOD_BASENAMES�getattr�cmdclass�command_packages�script_name�script_args�command_optionsZ
dist_files�packagesZpackage_dataZpackage_dir�
py_modules�	libraries�headers�ext_modulesZext_packageZinclude_dirsZ
extra_path�scripts�
data_filesZpassword�command_obj�have_run�get�items�get_option_dict�warningsZwarn�sysZstderr�write�hasattrZrepr�
want_user_cfgZ
startswith�finalize_options)�selfZattrs�attrZbasenameZmethod_namer4�commandZcmd_options�opt_dict�opt�valrZkeyZarg�              r�__init__zDistribution.__init__�sx��	���������	��-�	#�	#�D��D�$��"�"�"�"�-�.�.��
��
�7�	L�	L�H� �8�+�K��D�+�w�t�}�k�'J�'J�K�K�K�K���
�!%���
 ������ "������
��
���������������������� ��������������
������
��!	'�
�i�i�	�*�*�G��
>��)�$�.5�m�m�o�o�>�>�*�W�k�#�3�3�G�<�<�H�&1�&7�&7�&9�&9�>�>�
��c�)7��(=���
�
�>��E�!�
1�#(��#3��i� ��)�$�R���1��M�#�&�&�&�&��J�$�$�S�4�Z�0�0�0�$�k�k�m�m�	
'�	
'�
��c��4�=�&�3�,�7�7�'�8�G�D�M�6�C�<�8�8��=�=�=�=��T�]�C�0�0�'��D�M�3��4�4�4�4��T�3�'�'�'��D�#�s�+�+�+�+�;�d�3�i�i�G�C��M�#�&�&�&�&�"�����	��'�
�
���~�~�c�*�*���E��/�)��).�D�&��E��	
�������rcsX�	|j�|��}|�ix}|j|<|S�N)rBrL)rUrWZdict�   rrNzDistribution.get_option_dict&s>��	�
�#�'�'��0�0���	6�35�5�D�4�'��0��rr3cs�ddlm}|�&t|j�����}|�|�||z��|dz}|s|�|dz��dS|D]�}|j�|��}|�|�|d|zz���:|�|d|zz��||��}|�d��D]}|�|dz|z�����dS)Nr)�pformatz  zno commands known yetzno option dict for '%s' commandzoption dict for '%s' command:r5)Zpprintr_ZsortedrB�keys�announcerL�split)	rU�header�commandsZindentr_Zcmd_namerXZoutZline�	         r�dump_option_dictszDistribution.dump_option_dicts1s`��"�"�"�"�"�"��	;��d�2�7�7�9�9�:�:�H��	#��M�M�&�6�/�*�*�*��d�]�F��	��M�M�&�#:�:�;�;�;��F� �
	8�
	8�H��+�/�/��9�9�H��
8��
�
�f�?�(�J�K�L�L�L�L��
�
�f�=��H�I�J�J�J��g�h�'�'���I�I�d�O�O�8�8�D��M�M�&�4�-�$�"6�7�7�7�7�8�
	8�
	8rcs"�	g}t��tj�tjdj��}tj�|d��}tj�|��r|�	|��tj
dkrd}nd}|jrqtj�tj�d��|��}tj�|��r|�	|��d}tj�|��r|�	|��tr+|�dd	�|��z��|S)
N�	distutilsz
distutils.cfgZposixz.pydistutils.cfgzpydistutils.cfgz~z	setup.cfgzusing config files: %sz, )r�os�pathZdirnamerP�modulesZ__file__�joinZisfile�appendrrSZ
expanduserr	ra)rUZfilesZsys_dirZsys_fileZ
user_filenameZ	user_fileZ
local_file�       r�find_config_fileszDistribution.find_config_filesMsM��
	��������'�/�/�#�+�k�":�"C�D�D���7�<�<���9�9��
�7�>�>�(�#�#�	#��L�L��"�"�"��7�g��	.�.�M�M�-�M���	(�����R�W�%7�%7��%<�%<�m�L�L�I��w�~�~�i�(�(�
(����Y�'�'�'�!�
�
�7�>�>�*�%�%�	%��L�L��$�$�$��	G��M�M�2�T�Y�Y�u�5E�5E�E�F�F�F��rcs�ddlm}tjtjkrgd�}ng}t|��}|�|���}tr|�d��|��}|D]�}tr|�d|z��|�	|��|�
��D]n}|�|��}|�|��}|D]?}	|	dkr7|	|vr3|�
||	��}
|	�dd��}	||
f||	<�@�o|�����d	|jvr�|jd	���D]�\}	\}}
|j�
|	��}	|r t'||t)|
����n4|	d
vrt'||	t)|
����nt'||	|
���z#t*$r}
t-|
���d}
~
wwxYwdSdS)Nr)�ConfigParser)
zinstall-basezinstall-platbasezinstall-libzinstall-platlibzinstall-purelibzinstall-headerszinstall-scriptszinstall-data�prefixzexec-prefixZhomeZuserZrootz"Distribution.parse_config_files():z  reading %srr6Z_Zglobal)rr7)ZconfigparserrorPrpZbase_prefixZ	frozensetrnr	raZreadZsectionsr4rNrLZreplacer\rBrM�negative_optr9r�
ValueError�DistutilsOptionError)rUZ	filenamesroZignore_options�parserZfilenameZsectionr4rXrYrZZsrcZaliasrr[r�parse_config_fileszDistribution.parse_config_files}s}��-�-�-�-�-�-��:���(�	 �(�(�(�N�N� �N�"�>�2�2���	1��.�.�0�0�I��	@��M�M�>�?�?�?������!�	�	�H��
9��
�
�n�x�7�8�8�8��K�K��!�!�!�!�?�?�,�,�
8�
8�� �.�.��1�1���/�/��8�8��"�8�8�C��j�(�8�S��-F�8�$�j�j���5�5��!�k�k�#�s�3�3��)1�3����
��	8�
�O�O�����
�t�+�+�	4�%)�%9�(�%C�%I�%I�%K�%K�

4�

4�!��j�s�C��)�-�-�c�2�2��4��0���e��3���-?�@�@�@�@�� 6�6�0���c�9�S�>�>�:�:�:�:���c�3�/�/�/���!�4�4�4�.�s�3�3�3�����4����	4�	4�

4�

4s�AG%�%
H�/G>�>Hcsn�	|���}g|_t||jz��}|�|j��|�ddi��|�|j|���}|�	��}tj|j��|�
|��rdS|r|�||��}|�dS|�|jr5|�|t#|j��dk|j���dS|jst%d���dS)Nr%r$)�argsZobjectr��display_optionsrdzno commands suppliedT)�_get_toplevel_optionsrdrrx�set_negative_aliasesrqZset_aliases�getoptrAZget_option_orderrZ
set_verbosityr�handle_display_options�_parse_command_optsr�
_show_help�len�DistutilsArgError)rUZtoplevel_optionsrtrv�option_order�     r�parse_command_linezDistribution.parse_command_line�s`��	�, �5�5�7�7����
��-��0D�D�E�E���#�#�D�$5�6�6�6����I�y�1�2�2�2��}�}�$�"2�4�}�@�@���.�.�0�0����$�,�'�'�'��&�&�|�4�4�	��F��	��+�+�F�D�9�9�D��
����	��9�	��O�O�F�,/��
�,>�,>�!�,C�%)�]�
�
4�
4�
4�
�F��}�	<�#�$:�;�;�;��trcs�	|jdgzS)N)zcommand-packages=Nz0list of packages that provide distutils commands)�global_options�rU� rryz"Distribution._get_toplevel_options�s$��	�
�"�
A�&��	rcs��	ddlm}|d}t�|��st	d|z���|j�|��	|�|��}n!#t$r}t|���d}~wwxYwt||��std|z���t|d��rt|jt��sd}t||z���|j}t|d��r.|���}|�|j��t|d��r/t|jt��rt)|j��}ng}|�|j|jz|z��|�|��|�|d	d���\}}	t|	d
��r"|	jr|�|d|g���dSt|d��r�t|jt��rjd}
|jD]\\}}}
}t|	|�|����r2d	}
t9|��r|���Ftd|�d
|�d�����]|
rdS|�|��}t=|	�����D]\}}d|f||<�
|S)Nr��Commandzinvalid command name '%s'z&command class %s must subclass Command�user_optionszIcommand class %s must provide 'user_options' attribute (a list of tuples)rq�help_optionsrrrwzinvalid help function z for help option 'z-': must be a callable object (function, etc.)zcommand line) �
distutils.cmdr��
command_reZmatchZ
SystemExitrdrl�get_command_class�DistutilsModuleErrorr��
issubclassZDistutilsClassErrorrRrr�r
rqZcopyZupdater��fix_help_options�set_option_tabler�rzr{rr~Z
get_attr_nameZcallablerNZvarsrM)rUrtrvr�rWZ	cmd_classrrqr�ZoptsZhelp_option_foundZhelp_optionZshortZdescZfuncrXrrs                  rr}z Distribution._parse_command_optssZ��	�	*�)�)�)�)�)��q�'������(�(�	D��8�7�B�C�C�C��
���W�%�%�%�
	)��.�.�w�7�7�I�I��#�	)�	)�	)�#�C�(�(�(�����	)����
�)�W�-�-�	F�%�8�9�D�F�F�
F�
�	�>�2�2�	7��9�1�4�8�8�	7�>�C�%�c�I�o�6�6�6��(���9�n�-�-�	8�'�,�,�.�.�L����	� 6�7�7�7�
�I�~�.�.�	��9�1�4�8�8�	�+�I�,B�C�C�L�L��L�	���� 3� )� 6�!7� ,�!-�	.�	.�	.�	�#�#�L�1�1�1��}�}�T�!�"�"�X�.�.���t��4�� � �	�T�Y�	��O�O�F�A���O�L�L�L��F��I�~�.�.�	��9�1�4�8�8�	���4=�4J�	
3�	
3�0��e�T�4��4��!5�!5�k�!B�!B�C�C�3�&'�%���~�~�3�������1�1� $�t�t�[�[�[�2�3�3�3�3�!�
����'�'��0�0��!�$�Z�Z�-�-�/�/�	5�	5�M�T�5�,�e�4�H�T�N�N��s�A-�-
B�7B�Bcs��	dD]d}t|j|��}|��t|t��r5d�|�d��D��}t|j||���edS)N�r)r'c�6�g|]}|�����S��Zstrip)r/Zelmr0rr1z1Distribution.finalize_options.<locals>.<listcomp>js ��A�A�A�������A�A�Ar�,)r=r;rrrbr9)rUrVrr^rrTzDistribution.finalize_options`s���	�.�	4�	4�D��D�M�4�0�0�E��
���%��%�%�
4�A�A����C�0@�0@�A�A�A����
�t�U�3�3�3��
	4�	4rrcsj�	ddlm}ddlm}|r_|r|���}n|j}|�|��|�|jdz��td��|r>|�|j
��|�d��td��|jD]�}t|t��rt||��r|}	n|�|��}	t!|	d��rJt|	jt$��r0|�|	jt)|	j��z��n|�|	j��|�d|	jz��td����t||j����dS)	Nr��	gen_usager�z
Global options:r3zKInformation display options (just display information, ignore any commands)r�zOptions for '%s' command:)�distutils.corer�r�r�ryr�r�Z
print_help�common_usage�printrxrdrrr�r�rRr�r
r�r�rr@)
rUrtr�rxrdr�r�r4rW�klasss
          rr~zDistribution._show_helpms���	�	-�,�,�,�,�,�)�)�)�)�)�)��	��
.��4�4�6�6����-���#�#�G�,�,�,����d�/�2E�E�F�F�F��"�I�I�I��	��#�#�D�$8�9�9�9����4�
5�
5�
5�
�"�I�I�I��}�	�	�G��'�4�(�(�
8�Z���-I�-I�
8�����.�.�w�7�7����~�.�.�
<��u�1�4�8�8�
<��'�'��(:�(8��9K�(L�(L�)M�N�N�N�N��'�'��(:�;�;�;����9�E�N�J�K�K�K��"�I�I�I�I�
�i�i��(�)�)�*�*�*�*�*rcs2�	ddlm}|jrB|���t	d��t	||j����dSd}i}|jD]
}d||d<�|D]�\}}|r�|�|��r�t|��}t|j
d|z����}|dvr#t	d�|����n6|dvr#t	d	�|����nt	|��d}��|S)
Nrr�r3rr2r�r�)r(r*r+r,r5)r�r�Z
help_commands�print_commandsr�r@rxrLrr=r;rk)	rUr�r�Zany_display_optionsZis_display_option�optionrYrZrrerr|z#Distribution.handle_display_options�sb��	�
	-�,�,�,�,�,�
��	����!�!�!��"�I�I�I��)�)�D�,�-�-�.�.�.��1�
 �����*�	-�	-�F�+,��f�Q�i�(�(�&�	(�	(�J�S�#��

(�(�,�,�S�1�1�

(�'��,�,��:���
�v�c�z�:�:�<�<���3�3�!��#�(�(�5�/�/�*�*�*�*��*�*�!��$�)�)�E�*�*�+�+�+�+��%�L�L�L�&'�#��"�"rcs��	t|dz��|D]c}|j�|��}|s|�|��}	|j}n#t
$rd}YnwxYwtd|||fz���ddS)Nz:�(no description available)z
  %-*s  %s)r�r>rLr�r&�AttributeError)rUrdrc�
max_length�cmdr�r&rmr�print_command_listzDistribution.print_command_list�s���	�	�f�s�l�����		A�		A�C��M�%�%�c�*�*�E��
4��.�.�s�3�3��
;�#�/����!�
;�
;�
;�:����
;����
�,�*�c�;�!?�?�@�@�@�@�		A�		As�
A�A!� A!cs��	ddl}|jj}i}|D]}d||<�g}|j���D],}|�|��s|�|���-d}||zD]$}t|��|krt|��}�%|�|d|��|r't��|�|d|��dSdS)NrrzStandard commandszExtra commands)
�distutils.commandrW�__all__r>r`rLrlrr�r�)rUrg�std_commands�is_stdr��extra_commandsr�rmrr�zDistribution.print_commands�s'��	�	!� � � � �(�0�����	�	�C��F�3�K�K����=�%�%�'�'�	+�	+�C��:�:�c�?�?�
+��%�%�c�*�*�*���
� �>�1�	&�	&�C��3�x�x�*�$�
&� ��X�X�
������ 3� *�	,�	,�	,��	0��G�G�G��#�#�N�$4�$.�
0�
0�
0�
0�
0�	0�	0rcs��	ddl}|jj}i}|D]}d||<�g}|j���D],}|�|��s|�|���-g}||zD]e}|j�|��}|s|�|��}	|j}n#t$rd}YnwxYw|�||f���f|S)Nrrr�)
r�rWr�r>r`rLrlr�r&r�)	rUrgr�r�r�r�Zrvr�r&rer�get_command_listzDistribution.get_command_list�s#��	�	!� � � � �(�0�����	�	�C��F�3�K�K����=�%�%�'�'�	+�	+�C��:�:�c�?�?�
+��%�%�c�*�*�*��
�� �>�1�	*�	*�C��M�%�%�c�*�*�E��
4��.�.�s�3�3��
;�#�/����!�
;�
;�
;�:����
;�����I�I�s�K�(�)�)�)�)��	s�!B)�)B8�7B8cs��	|j}t|t��sD|�d}d�|�d��D��}d|vr|�dd��||_|S)Nr3csB�g|]}|dk�|�����S)r3r�)r/Zpkgr0rr1z5Distribution.get_command_packages.<locals>.<listcomp>!s)��H�H�H�C�c�R�i�H�C�I�I�K�K�H�H�Hrr�zdistutils.commandr)r?rr
rbZinsert)rUZpkgsr0r�get_command_packagesz!Distribution.get_command_packagessx��G��$���$��%�%�	)��
���H�H�4�:�:�c�?�?�H�H�H�D�"�$�.�
4����A�2�3�3�3�$(�D�!��rcs��	|j�|��}|r|S|���D]�}|�d|��}|}	t|��tj|}n#t$rY�:wxYw	t||��}n'#t$rtd|�d|�d|�d����wxYw||j|<|cStd|z���)Nz.zinvalid command 'z
' (no class 'z
' in module 'z')zinvalid command '%s')
r>rLr�Z
__import__rPrj�ImportErrorr=r�r�)rUrWr�ZpkgnameZmodule_nameZ
klass_nameZmodulermrr�zDistribution.get_command_class's%��
	��
�!�!�'�*�*���	��L��0�0�2�2�	�	�G�%,�W�W�g�g�6�K� �J�
��;�'�'�'���[�1�����
�
�
���
����
:���
�3�3����!�
:�
:�
:�*�*��w�w�
�
�
�K�K�K�9�:�:�:�
:����
&+�D�M�'�"��L�L�L�"�#9�G�#C�D�D�Ds�!A"�"
A/�.A/�3B�$B(csN�	|j�|��}|s�|r�tr|�d|z��|�|��}||��x}|j|<d|j|<|j�|��}|r|�||��|S)Nz<Distribution.get_command_obj(): creating '%s' command objectr)rJrLr	rar�rKrB�_set_command_options)rUrWZcreate�cmd_objr�r4�      r�get_command_objzDistribution.get_command_objMs���	�
�"�&�&�w�/�/���	<�6�	<��
H��
�
�=�?F�G�H�H�H��*�*�7�3�3�E�27�%��+�+�=�G�d�&�w�/�%&�D�M�'�"��*�.�.�w�7�7�G��
<��)�)�'�7�;�;�;��rc
s,�	|���}|�|�|��}tr|�d|z��|���D�]2\}\}}tr|�d|�d|�d|�d���	d�|jD��}n#t$rg}YnwxYw	|j}n#t$ri}YnwxYw	t|t��}	||vr(|	r&t|||t|����n`||vr!|	rt||t|����n;t||��rt|||��ntd|�d|�d	|�d
������#t$r}
t|
���d}
~
wwxYwdS)Nz#  setting options for '%s' command:z    z = z (from z)cs,�g|]}t|����Sr�r.)r/Zor0rr1z5Distribution._set_command_options.<locals>.<listcomp>|s6��C�C�C�!"�/�q�1�1�C�C�Crz	error in z: command 'z' has no such option 'r
)�get_command_namerNr	rarMZboolean_optionsr�rqrrr9rrRrsrr)rUrJZoption_dict�command_namer�ZsourcerZ	bool_optsZneg_optZ	is_stringrs           rr�z!Distribution._set_command_optionshsF��	�#�3�3�5�5���	=��.�.�|�<�<�K��	P��M�M�?�,�N�O�O�O�)4�):�):�)<�)<�	0�	0�%�V�_�f�e��
B��
�
�
�������9?���A�B�B�B�
�C�C�&1�&A�C�C�C�	�	��!�
�
�
��	�	�	�
����
�%�2����!�
�
�
�����
����

0�&�u�c�2�2�	��W�$�	:��	:��K����i��>N�>N�:N�O�O�O�O��y�(�:�Y�:��K���5�1A�1A�B�B�B�B��[�&�1�1�:��K���7�7�7�7�.�.�!�6�6�<�<�<����9�:�:�:����
0�
0�
0�*�3�/�/�/�����
0����5	0�	0s=�B"�"B1�0B1�5B=�=C�C�B!E3�3
F�=F�Frcsp�	ddlm}t||��s|}|�|��}n|���}|js|S|���d|_d|j|<|�|��|r-|�	��D]}|�
||���|S)Nrr�)r�r�rr�r�Z	finalizedZinitialize_optionsrKr�Zget_sub_commands�reinitialize_command)rUrWZreinit_subcommandsr�r�Zsubr�rr�z!Distribution.reinitialize_command�s���	�$	*�)�)�)�)�)��'�7�+�+�	6�"�L��*�*�<�8�8�G�G�"�3�3�5�5�L�� �	��N��"�"�$�$�$����&'��
�l�#��!�!�'�*�*�*��	C��/�/�1�1�
C�
C���)�)�#�/A�B�B�B�B��rcs0�tj||��dSr]r)rUrZlevelr^rrazDistribution.announce�s�����s�����rcsF�	|jD]}|�|���dSr])rd�run_command)rUr�r0r�run_commandszDistribution.run_commands�s;��	��=�	"�	"�C����S�!�!�!�!�	"�	"rcs��	|j�|��rdStjd|��|�|��}|���|���d|j|<dS)Nz
running %sr)rKrLrZinfor�Zensure_finalizedZrun)rUrWr�r^rr�zDistribution.run_command�s|��	��=���W�%�%�	��F����w�'�'�'��&�&�w�/�/��� � �"�"�"����
�
�
�!"��
�g���rcsD�t|jp|jpg��dkS�Nr)rrCrDr�r�r�has_pure_moduleszDistribution.has_pure_modules�s#���4�=�9�D�O�9�r�:�:�Q�>�>rc�@�|jot|j��dkSr�)rGrr�r�r�has_ext_moduleszDistribution.has_ext_modules�s ����=�C��(8�$9�$9�A�$=�=rcr�r�)rErr�r�r�has_c_librarieszDistribution.has_c_libraries�s���~�9�#�d�n�"5�"5��"9�9rcsR�|���p|���Sr])r�r�r�r�r�has_moduleszDistribution.has_modules�s%���$�$�&�&�@�$�*>�*>�*@�*@�@rcr�r�)rFrr�r�r�has_headerszDistribution.has_headers�����|�5��D�L� 1� 1�A� 5�5rcr�r�)rHrr�r�r�has_scriptszDistribution.has_scripts�r�rcr�r�)rIrr�r�r�has_data_fileszDistribution.has_data_files�s����;�3�t��#7�#7�!�#;�;rcs~�|���o)|���o|���Sr])r�r�r�r�r�r�is_purezDistribution.is_pure�sD���%�%�'�'�+��(�(�*�*�*�+��(�(�*�*�*�	,rr])NNr3)rr-)(r�
__module__�__qualname__r�r�rxr8rqr\rNrfrnrur�ryr}rTr~r|r�r�r�r�r�r�r�r�rZINFOrar�r�r�r�r�r�r�r�r�r�r�rrrr,s��������*���N��L�+
�+
�+
�O�XN�M�_�M�M�M���Y�'�L�\ �\ �\ �\ �|	�	�	�8�8�8�8�8.�.�.�`64�64�64�64�tA�A�A�F	�	�	�Y�Y�Y�v4�4�4�12�1��0+�0+�0+�0+�d&#�&#�&#�PA�A�A�"0�0�0�B���D
�
�
�$E�$E�$E�L����6*0�*0�*0�*0�X%�%�%�%�R#&�(�����"�"�"�#�#�#�(?�?�?�>�>�>�:�:�:�A�A�A�6�6�6�6�6�6�<�<�<�,�,�,�,�,rrcs��eZdZ	dZd"d�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�Zd�ZeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#dS)#r:)rrr�author_emailr!�maintainer_emailr#r$r&�long_descriptionr)r'rr"Z
contact_emailr(�download_urlr*r+r,Ncs@�|�$|�t|����dSd|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_d|_d|_d|_d|_dSr])�
read_pkg_file�openrrrr�r!r�r#r$r&r�r)r'r(r�r*r+r,)rUrir0rr\zDistributionMetadata.__init__
s����	"����t�D�z�z�*�*�*�*�*��D�I��D�L��D�K� $�D��"�D�O�$(�D�!��D�H��D�L�#�D��$(�D�!� �D�M�!�D�N�#�D�� $�D�� �D�M� �D�M�!�D�N�N�Nrcs���	t|����fd�}�fd�}�d}|d��|_|d��|_|d��|_|d��|_d|_|d��|_d|_|d	��|_|d
��|_	d�vr|d��|_
nd|_
|d��|_|d��|_d
�vr#|d
���d��|_
|d��|_|d��|_|dkr2|d��|_|d��|_|d��|_dSd|_d|_d|_dS)Ncs(���|}|dkrdS|S�NZUNKNOWNr�)rrr�  �r�_read_fieldz7DistributionMetadata.read_pkg_file.<locals>._read_field(s#�����I�E��	�!�
��t��LrcsD����|d��}|gkrdS|Sr])Zget_all)r�valuesrr�r�
_read_listz6DistributionMetadata.read_pkg_file.<locals>._read_list.s,����[�[��t�,�,�F���|�
��t��Mrzmetadata-versionrrZsummaryrr z	home-pager$zdownload-urlr&r)r�ZplatformZ
classifier�1.1r+r*r,)rrrr&rr!r�r�r#r$r�r�rbr)r'r(r+r*r,)rU�filer�r�Zmetadata_versionrs     @rr�z"DistributionMetadata.read_pkg_file$s����;���%�%��	�	�	�	�	�	�	�	�	�	��1�2���K��'�'��	�"�{�9�-�-���&�;�y�1�1���!�k�(�+�+������'�K��7�7��� $����;�{�+�+���"�{�9�-�-����S� �	%� +��N� ;� ;�D��� $�D�� +��M� :� :���&�;�y�1�1������	?�'�K�
�3�3�9�9�#�>�>�D�M�#��J�/�/���%�:�l�3�3����u�$�	"�&�J�z�2�2�D�M�&�J�z�2�2�D�M�'�Z��4�4�D�N�N�N� �D�M� �D�M�!�D�N�N�Nrcs��	ttj�|d��dd���5}|�|��ddd��dS#1swxYwYdS)NzPKG-INFOZwzUTF-8)Zencoding)r�rhrirk�write_pkg_file)rUZbase_dirZpkg_infor^r�write_pkg_infoz#DistributionMetadata.write_pkg_infoXs���	�
�"�'�,�,�x��4�4�c�"�$�$�$�	*�'/�����)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*s�A�A�Acs��	d}|js|js|js|js|jrd}|�d|z��|�d|���z��|�d|���z��|�d|���z��|�d|�	��z��|�d|�
��z��|�d	|���z��|�d
|���z��|jr|�d|jz��t|�����}|�d|z��d
�|�����}|r|�d|z��|�|d|�����|�|d|�����|�|d|�����|�|d|�����|�|d|�����dS)Nz1.0r�zMetadata-Version: %s
z	Name: %s
zVersion: %s
zSummary: %s
zHome-page: %s
zAuthor: %s
zAuthor-email: %s
zLicense: %s
zDownload-URL: %s
zDescription: %s
r�z
Keywords: %s
ZPlatformZ
ClassifierZRequiresZProvidesZ	Obsoletes)r*r+r,r(r�rQ�get_name�get_version�get_description�get_url�get_contact�get_contact_email�get_licenser�get_long_descriptionrk�get_keywords�_write_list�
get_platforms�get_classifiers�get_requires�get_provides�
get_obsoletes)rUr�rZ	long_descr)r�rr�z#DistributionMetadata.write_pkg_file_s���	����M�	�T�]�	�d�n�	�� �	�$(�$5�	��G��
�
�+�g�5�6�6�6��
�
�<�$�-�-�/�/�1�2�2�2��
�
�?�T�%5�%5�%7�%7�7�8�8�8��
�
�?�T�%9�%9�%;�%;�;�<�<�<��
�
�$�t�|�|�~�~�5�6�6�6��
�
�>�D�$4�$4�$6�$6�6�7�7�7��
�
�'�$�*@�*@�*B�*B�B�C�C�C��
�
�?�T�%5�%5�%7�%7�7�8�8�8���	A��J�J�+�d�.?�?�@�@�@�!�$�";�";�"=�"=�>�>�	��
�
�&��2�3�3�3��8�8�D�-�-�/�/�0�0���	4��J�J�'�(�2�3�3�3�����z�4�+=�+=�+?�+?�@�@�@�����|�T�-A�-A�-C�-C�D�D�D�	
����z�4�+<�+<�+>�+>�?�?�?�����z�4�+<�+<�+>�+>�?�?�?�����{�D�,>�,>�,@�,@�A�A�A�A�ArcsF�|D]}|�|�d|�d����dS)Nz: r5)rQ)rUr�rr�rr�rr�z DistributionMetadata._write_list�s=���	3�	3�E��J�J�T�T�T�5�5�5�1�2�2�2�2�	3�	3rc��|jpdSr�)rr�r�rr�zDistributionMetadata.get_name�s���y�%�I�%rcr�)Nz0.0.0)rr�r�rr�z DistributionMetadata.get_version�s���|�&�w�&rcsX�|����d|�����S)Nr6)r�r�r�r�r�get_fullnamez!DistributionMetadata.get_fullname�s(���-�-�/�/�/�/�4�+;�+;�+=�+=�+=�>�>rcr�r�)rr�r�r�
get_authorzDistributionMetadata.get_author�s���{�'�i�'rcr�r�)r�r�r�r�get_author_emailz%DistributionMetadata.get_author_email����� �-�I�-rcr�r�)r!r�r�r�get_maintainerz#DistributionMetadata.get_maintainer�s����+�)�+rcr�r�)r�r�r�r�get_maintainer_emailz)DistributionMetadata.get_maintainer_email�����$�1�	�1rc�"�|jp|jpdSr�)r!rr�r�rr�z DistributionMetadata.get_contact�s����:�$�+�:��:rcr�r�)r�r�r�r�rr�z&DistributionMetadata.get_contact_email�s���$�F��(9�F�Y�Frcr�r�)r#r�r�rr�zDistributionMetadata.get_url�s���x�$�9�$rcr�r�)r$r�r�rr�z DistributionMetadata.get_license�s���|�(�y�(rcr�r�)r&r�r�rr�z$DistributionMetadata.get_description�s����,�9�,rcr�r�)r�r�r�rr�z)DistributionMetadata.get_long_description�r�rc��|jpgSr])r)r�r�rr�z!DistributionMetadata.get_keywords�����}�"��"rc�0�t|d��|_dS)Nr))rr)�rUrr0r�set_keywordsz!DistributionMetadata.set_keywords�s��$�U�J�7�7��
�
�
rcs�|jpdgSr�)r'r�r�rr�z"DistributionMetadata.get_platforms�s���~�,�)��,rcr�)Nr')rr'r�r0r�
set_platformsz"DistributionMetadata.set_platforms�s��%�e�[�9�9����rcr�r])r(r�r�rr�z$DistributionMetadata.get_classifiers�s����%�2�%rcr�)Nr()rr(r�r0r�set_classifiersz$DistributionMetadata.set_classifiers�s��'��}�=�=����rcr�r�)r�r�r�r�get_download_urlz%DistributionMetadata.get_download_url�r�rcr�r])r+r�r�rr�z!DistributionMetadata.get_requires�r�rc�t�ddl}|D]}|j�|���t|��|_dSr�)�distutils.versionpredicate�versionpredicate�VersionPredicater
r+�rUrrgrrr�set_requiresz!DistributionMetadata.set_requires�sH��)�)�)�)��	;�	;�A��&�7�7��:�:�:�:��U����
�
�
rcr�r])r*r�r�rr�z!DistributionMetadata.get_provides�r�rcsr�d�|D��}|D] }ddl}|j�|���!||_dS)Ncr�r�r�)r/rr0rr1z5DistributionMetadata.set_provides.<locals>.<listcomp>�s ��*�*�*�q������*�*�*rr)r�r�Zsplit_provisionr*)rUrrrgrr�set_providesz!DistributionMetadata.set_provides�sU��*�*�E�*�*�*���	:�	:�A�-�-�-�-��&�6�6�q�9�9�9�9���
�
�
rcr�r])r,r�r�rr�z"DistributionMetadata.get_obsoletes�s���~�#��#rcr�r�)r�r�r�r
r,r�rr�
set_obsoletesz"DistributionMetadata.set_obsoletes�sH��)�)�)�)��	;�	;�A��&�7�7��:�:�:�:��e������rr])$rr�r�r<r\r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�Zget_licencer�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr:r:�s���������"�"�"�"�.2"�2"�2"�h*�*�*� B� B� B�D3�3�3�&�&�&�'�'�'�?�?�?�(�(�(�.�.�.�,�,�,�2�2�2�;�;�;�G�G�G�%�%�%�)�)�)��K�-�-�-�2�2�2�#�#�#�8�8�8�-�-�-�:�:�:�&�&�&�>�>�>�.�.�.�#�#�#�$�$�$�#�#�#����$�$�$�%�%�%�%�%rr:csP�	g}|D]}|�|dd���� |S)Nri)rl)r4Znew_optionsZ
help_tupler^rr�r��sB����K��,�,�
����:�a��c�?�+�+�+�+��r)rPrhZreZemailrrOr�Zdistutils.errorsZdistutils.fancy_getoptrrZdistutils.utilrrrrgrZdistutils.debugr	Zcompiler�rrr:r�r�rr�<module>r�ss����
�
�
�	�	�	�	�	�	�	�	�#�#�#�#�#�#���O�O�O�O�������H�H�H���������A�A�A�A�A�A�A�A�B�B�B�B�B�B�B�B�B�B�������!�!�!�!�!�!��R�Z�4�
5�
5�
����J,�J,�J,�J,�J,�J,�J,�J,�f`%�`%�`%�`%�`%�`%�`%�`%�D����s��$�$