ž «ÿfWc@sÒdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlZejd ƒZGd d „d eƒZGd d „d ee ƒZdS(uRdistutils.command.build_scripts Implements the Distutils 'build_scripts' command.iN(uST_MODE(u sysconfig(uCommand(unewer(u convert_pathu Mixin2to3(ulogs^#!.*python[0-9.]*([ ].*)?$cBsn|EeZdZdZdddgZdgZd d „Zd d„Zdd„Zdd„Z dd„Z dS(u build_scriptsu("build" scripts (copy and fixup #! line)u build-dir=ududirectory to "build" (copy) touforceufu1forcibly build everything (ignore file timestampsu executable=ueu*specify final destination interpreter pathcCs1d|_d|_d|_d|_d|_dS(N(uNoneu build_diruscriptsuforceu executableuoutfiles(uself((uD/opt/alt/python33/lib64/python3.3/distutils/command/build_scripts.pyuinitialize_optionss     u build_scripts.initialize_optionscCs)|jddddƒ|jj|_dS( Nubuildu build_scriptsu build_diruforceu executable(u build_scriptsu build_dir(uforceuforce(u executableu executable(uset_undefined_optionsu distributionuscripts(uself((uD/opt/alt/python33/lib64/python3.3/distutils/command/build_scripts.pyufinalize_options%s  ubuild_scripts.finalize_optionscCs|jS(N(uscripts(uself((uD/opt/alt/python33/lib64/python3.3/distutils/command/build_scripts.pyuget_source_files,subuild_scripts.get_source_filescCs|js dS|jƒdS(N(uscriptsu copy_scripts(uself((uD/opt/alt/python33/lib64/python3.3/distutils/command/build_scripts.pyurun/s ubuild_scripts.runc$Cs |j|jƒg}g}xÞ|jD]Ó}d}t|ƒ}tjj|jtjj|ƒƒ}|j |ƒ|j rŸt ||ƒ rŸt j d|ƒq&nyt|dƒ}Wn'tk rÛ|jsÑ‚nd}Yn‚Xtj|jƒ\}}|jdƒ|jƒ} | s*|jd|ƒq&ntj| ƒ} | r]d}| jdƒpWd} n|rÉt jd||jƒ|j |ƒ|js³tjs¤|j} n:tjjtjdƒd tjd ƒtjd ƒfƒ} tj | ƒ} d | | d } y| j!dƒWn't"k r9t#dj$| ƒƒ‚YnXy| j!|ƒWn*t"k rwt#dj$| |ƒƒ‚YnXt|dƒ'}|j%| ƒ|j&|j'ƒƒWdQXn|rù|j(ƒqùq&|rÜ|j(ƒn|j |ƒ|j)||ƒq&Wtj*dkr–x‡|D]|}|jr5t jd|ƒqtj+|ƒt,d@}|dBd@}||krt jd|||ƒtj-||ƒqqWn||fS(u"Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. unot copying %s (up-to-date)urbiu%s is an empty file (skipping)isucopying and adjusting %s -> %suBINDIRu python%s%suVERSIONuEXEs#!s uutf-8u.The shebang ({!r}) is not decodable from utf-8uAThe shebang ({!r}) is not decodable from the script encoding ({})uwbNuposixuchanging mode of %siÿimu!changing mode of %s from %o to %oFT(.umkpathu build_diruscriptsuFalseu convert_pathuosupathujoinubasenameuappenduforceunewerulogudebuguopenuIOErrorudry_runuNoneutokenizeudetect_encodingureadlineuseekuwarnu first_line_reumatchuTrueugroupuinfou sysconfigu python_buildu executableuget_config_varufsencodeudecodeuUnicodeDecodeErroru ValueErroruformatuwriteu writelinesu readlinesucloseu copy_fileunameustatuST_MODEuchmod(uselfuoutfilesu updated_filesuscriptuadjustuoutfileufuencodingulinesu first_lineumatchu post_interpu executableushebanguoutfufileuoldmodeunewmode((uD/opt/alt/python33/lib64/python3.3/distutils/command/build_scripts.pyu copy_scripts5s $                        ubuild_scripts.copy_scriptsN(u build-dir=ududirectory to "build" (copy) to(uforceufu1forcibly build everything (ignore file timestamps(u executable=ueu*specify final destination interpreter path( u__name__u __module__u __qualname__u descriptionu user_optionsuboolean_optionsuinitialize_optionsufinalize_optionsuget_source_filesurunu copy_scripts(u __locals__((uD/opt/alt/python33/lib64/python3.3/distutils/command/build_scripts.pyu build_scriptss      u build_scriptscBs |EeZdZdd„ZdS(ubuild_scripts_2to3cCs8tj|ƒ\}}|js.|j|ƒn||fS(N(u build_scriptsu copy_scriptsudry_runurun_2to3(uselfuoutfilesu updated_files((uD/opt/alt/python33/lib64/python3.3/distutils/command/build_scripts.pyu copy_scriptsœs ubuild_scripts_2to3.copy_scriptsN(u__name__u __module__u __qualname__u copy_scripts(u __locals__((uD/opt/alt/python33/lib64/python3.3/distutils/command/build_scripts.pyubuild_scripts_2to3šsubuild_scripts_2to3(u__doc__uosureustatuST_MODEu distutilsu sysconfigudistutils.coreuCommandudistutils.dep_utilunewerudistutils.utilu convert_pathu Mixin2to3ulogutokenizeucompileu first_line_reu build_scriptsubuild_scripts_2to3(((uD/opt/alt/python33/lib64/python3.3/distutils/command/build_scripts.pyus ‰