diff options
author | Bernd Zeimetz <bernd@bzed.de> | 2009-07-19 15:16:21 +0200 |
---|---|---|
committer | Bernd Zeimetz <bernd@bzed.de> | 2009-07-19 15:16:21 +0200 |
commit | 20161f72998f986d8892fb309570762ef33c767a (patch) | |
tree | 5fb0cb029b596b1e2bf53b53867a021181b0a0ea /Debian | |
parent | eec6717067c008cc0baf6c75b241e81651ee0ccb (diff) | |
parent | feb5e4c3cccb539003e043bec406cb32acf3770d (diff) | |
download | debhelper-20161f72998f986d8892fb309570762ef33c767a.tar.gz |
Merge commit 'origin/buildsystems' into python-build
Conflicts:
Debian/Debhelper/Buildsystem/python_distutils.pm
Diffstat (limited to 'Debian')
-rw-r--r-- | Debian/Debhelper/Buildsystem/python_distutils.pm | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/Debian/Debhelper/Buildsystem/python_distutils.pm b/Debian/Debhelper/Buildsystem/python_distutils.pm index 63bc8716..c29a9529 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(); @@ -86,7 +86,8 @@ sub dbg_build_needed { my @dbg; open (CONTROL, $this->get_sourcepath('debian/control')) || error("cannot read debian/control: $!\n"); - foreach my $builddeps (join('', <CONTROL>) =~ /^Build-Depends[^:]*:.*\n(?:^[^\w\n].*\n)*/gmi) { + foreach my $builddeps (join('', <CONTROL>) =~ + /^Build-Depends[^:]*:.*\n(?:^[^\w\n].*\n)*/gmi) { foreach ($builddeps =~ /(python[^, ]*-dbg)/g) { push @dbg, $1; } @@ -101,23 +102,26 @@ sub setup_py { my $this=shift; my $act=shift; - my $python_default = `pyversions -d`; - $python_default =~ s/^\s+//; - $python_default =~ s/\s+$//; - my $python_requested = split ' ', `pyversions -r 2>/dev/null`; - my @dbg_build_needed = $this->dbg_build_needed(); - # 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 - if (grep /^$python_default/, $python_requested) { - $this->doit_in_sourcedir("python", "setup.py", $act, @_); - } - if (grep /^(python-all-dbg|python-dbg)/, $dbg_build_needed) { - $this->doit_in_sourcedir("python-dbg", "setup.py", $act, @_); + # Take into account that the default Python must not be in + # the requested Python versions. + # 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+$//; + my @python_requested = split ' ', `pyversions -r 2>/dev/null`; + if (grep /^$python_default/, @python_requested) { + @python_requested = ("python", grep(!/^$python_default/, + @python_requested); } - for my $python (grep !/^$python_default/, $python_requested) { - if (-x "/usr/bin/" . $python) { + my @dbg_build_needed = $this->dbg_build_needed(); + + foreach my $python (@python_requested) { + if (-x "/usr/bin/".$python) { $this->doit_in_sourcedir($python, "setup.py", $act, @_); } $python = $python . "-dbg"; |