X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debian%2FDebhelper%2FBuildsystem%2Fpython_distutils.pm;h=2ee2cc12b637a061b24df25ab34f81383c7365a9;hb=feb5e4c3cccb539003e043bec406cb32acf3770d;hp=cca000d6f5f616881a4d390ffe7e151f1154f6f6;hpb=ee5536e22dbe1a629beca2296c1b29ec5c771fde;p=debhelper.git diff --git a/Debian/Debhelper/Buildsystem/python_distutils.pm b/Debian/Debhelper/Buildsystem/python_distutils.pm index cca000d..2ee2cc1 100644 --- a/Debian/Debhelper/Buildsystem/python_distutils.pm +++ b/Debian/Debhelper/Buildsystem/python_distutils.pm @@ -61,12 +61,12 @@ sub pre_building_step { return unless grep /$step/, qw(build install clean); - # --build-base can only be passed to the build command. However, - # it is always read from the config file (really weird design). - # Therefore create such a cfg config file. - # See http://bugs.python.org/issue818201 - # http://bugs.python.org/issue1011113 if ($this->get_buildpath() ne $this->DEFAULT_BUILD_DIRECTORY()) { + # --build-base can only be passed to the build command. However, + # it is always read from the config file (really weird design). + # Therefore create such a cfg config file. + # See http://bugs.python.org/issue818201 + # http://bugs.python.org/issue1011113 not $this->not_our_cfg() or error("cannot set custom build directory: .pydistutils.cfg is in use"); $this->mkdir_builddir(); @@ -82,7 +82,21 @@ sub pre_building_step { sub setup_py { my $this=shift; my $act=shift; - $this->doit_in_sourcedir("python", "setup.py", $act, @_); + + # We need to to run setup.py with the default python first + # as distutils/setuptools modifies the shebang lines of scripts. + # This ensures that #!/usr/bin/python is used and not pythonX.Y + # Then, run setup.py with each available python, to build + # extensions for each. + my $python_default = `pyversions -d`; + $python_default =~ s/^\s+//; + $python_default =~ s/\s+$//; + foreach my $python ("python", grep(!/^$python_default/, + (split ' ', `pyversions -r 2>/dev/null`))) { + if (-x "/usr/bin/".$python) { + $this->doit_in_sourcedir($python, "setup.py", $act, @_); + } + } } sub build {