From: Tarek Ziadé Date: Fri, 13 Feb 2009 23:00:43 +0000 (+0000) Subject: Fixed #4524: distutils build_script command failed with --with-suffix=3 X-Git-Tag: v2.7a1~2027 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2432b0b36785031acc53886a893d792ff2636765;p=python Fixed #4524: distutils build_script command failed with --with-suffix=3 --- diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py index 48e06aa562..2ad4c7beb9 100644 --- a/Lib/distutils/command/build_scripts.py +++ b/Lib/distutils/command/build_scripts.py @@ -102,8 +102,8 @@ class build_scripts (Command): outf.write("#!%s%s\n" % (os.path.join( sysconfig.get_config_var("BINDIR"), - "python" + sysconfig.get_config_var("VERSION") - + sysconfig.get_config_var("EXE")), + "python%s%s" % (sysconfig.get_config_var("VERSION"), + sysconfig.get_config_var("EXE"))), post_interp)) outf.writelines(f.readlines()) outf.close() diff --git a/Lib/distutils/tests/test_build_scripts.py b/Lib/distutils/tests/test_build_scripts.py index 666ca44c1d..2acfab828e 100644 --- a/Lib/distutils/tests/test_build_scripts.py +++ b/Lib/distutils/tests/test_build_scripts.py @@ -5,6 +5,7 @@ import unittest from distutils.command.build_scripts import build_scripts from distutils.core import Distribution +from distutils import sysconfig from distutils.tests import support @@ -73,6 +74,33 @@ class BuildScriptsTestCase(support.TempdirManager, f.write(text) f.close() + def test_version_int(self): + source = self.mkdtemp() + target = self.mkdtemp() + expected = self.write_sample_scripts(source) + + + cmd = self.get_build_scripts_cmd(target, + [os.path.join(source, fn) + for fn in expected]) + cmd.finalize_options() + + # http://bugs.python.org/issue4524 + # + # On linux-g++-32 with command line `./configure --enable-ipv6 + # --with-suffix=3`, python is compiled okay but the build scripts + # failed when writing the name of the executable + old = sysconfig._config_vars.get('VERSION') + sysconfig._config_vars['VERSION'] = 4 + try: + cmd.run() + finally: + if old is not None: + sysconfig._config_vars['VERSION'] = old + + built = os.listdir(target) + for name in expected: + self.assert_(name in built) def test_suite(): return unittest.makeSuite(BuildScriptsTestCase) diff --git a/Misc/NEWS b/Misc/NEWS index a18e45f27b..3c35413d61 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -155,6 +155,9 @@ Core and Builtins Library ------- +- Issue #4524: distutils build_script command failed with --with-suffix=3. + Initial patch by Amaury Forgeot d'Arc. + - Issue #2461: added tests for distutils.util - Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on