U e5dXã@s”ddlZddlZddlmZddlmZddlmZddlm Z ddl m Z m Z ddlm Z ddlZe d¡ZGd d „d eƒZGd d „d ee ƒZdS) éN)ÚST_MODE)Ú sysconfig)ÚCommand)Únewer)Ú convert_pathÚ Mixin2to3)Úlogs^#!.*python[0-9.]*([ ].*)?$c@sHeZdZdZdddgZdgZdd„Zdd „Zd d „Zd d „Z dd„Z dS)Ú build_scriptsz("build" scripts (copy and fixup #! line))z build-dir=Údzdirectory to "build" (copy) to)ÚforceÚfz1forcibly build everything (ignore file timestamps)z executable=Úez*specify final destination interpreter pathr cCs"d|_d|_d|_d|_d|_dS©N)Ú build_dirÚscriptsr Ú executableÚoutfiles©Úself©rú7/usr/lib64/python3.8/distutils/command/build_scripts.pyÚinitialize_optionss z build_scripts.initialize_optionscCs| dddd¡|jj|_dS)NZbuild)r r)r r )rr)Zset_undefined_optionsZ distributionrrrrrÚfinalize_options%s ýzbuild_scripts.finalize_optionscCs|jSr)rrrrrÚget_source_files,szbuild_scripts.get_source_filescCs|js dS| ¡dSr)rÚ copy_scriptsrrrrÚrun/szbuild_scripts.runc Cs´| |j¡g}g}|jD�]}d}t|ƒ}tj |jtj |¡¡}| |¡|j slt ||ƒslt   d|¡qzt |dƒ}Wn tk rš|js’‚d}YnXXt |j¡\}}| d¡| ¡} | sÒ| d|¡qt | ¡} | ròd}|  d¡pðd} |�rt  d ||j¡| |¡|j�stj�s*|j} n(tj t d ¡d t d ¡t d ¡f¡} t | ¡} d| | d} z|  d¡Wn$tk �ržt d !| ¡ƒ‚YnXz|  |¡Wn&tk �rÔt d !| |¡ƒ‚YnXt |dƒ�}| "| ¡| #| $¡¡W5QRX|�r8| %¡q|�r"| %¡| |¡| &||¡qtj'dk�r¬|D]`}|j�rdt  d|¡nDt (|¡t)d@}|dBd@}||k�rJt  d|||¡t *||¡�qJ||fS)NFznot copying %s (up-to-date)Úrbrz%s is an empty file (skipping)Téózcopying and adjusting %s -> %sZBINDIRz python%s%sZVERSIONZEXEs#!ó zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})ÚwbÚposixzchanging mode of %siÿimz!changing mode of %s from %o to %o)+ZmkpathrrrÚosÚpathÚjoinÚbasenameÚappendr rrÚdebugÚopenÚOSErrorÚdry_runÚtokenizeÚdetect_encodingÚreadlineÚseekÚwarnÚ first_line_reÚmatchÚgroupÚinforZ python_buildrZget_config_varÚfsencodeÚdecodeÚUnicodeDecodeErrorÚ ValueErrorÚformatÚwriteÚ writelinesÚ readlinesÚcloseZ copy_fileÚnameÚstatrÚchmod)rrÚ updated_filesZscriptZadjustZoutfiler ÚencodingÚlinesZ first_liner1Z post_interprZshebangZoutfÚfileZoldmodeZnewmoderrrr5s¦       ÿ  ÿþ ÿÿ þÿ        ÿzbuild_scripts.copy_scriptsN) Ú__name__Ú __module__Ú __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrrrrrr sýr c@seZdZdd„ZdS)Úbuild_scripts_2to3cCs&t |¡\}}|js| |¡||fSr)r rr*Zrun_2to3)rrr@rrrrœs zbuild_scripts_2to3.copy_scriptsN)rDrErFrrrrrrGšsrG)r"Úrer>rZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr+Úcompiler0r rGrrrrÚs