]> git.donarmstrong.com Git - debhelper.git/commitdiff
Merge commit 'origin/buildsystems' into python-build
authorBernd Zeimetz <bernd@bzed.de>
Sun, 19 Jul 2009 13:16:21 +0000 (15:16 +0200)
committerBernd Zeimetz <bernd@bzed.de>
Sun, 19 Jul 2009 13:16:21 +0000 (15:16 +0200)
Conflicts:
Debian/Debhelper/Buildsystem/python_distutils.pm

1  2 
Debian/Debhelper/Buildsystem/python_distutils.pm

index 63bc8716064009c8100cd45a8bb3f1fd5e534ea2,2ee2cc12b637a061b24df25ab34f81383c7365a9..c29a9529c194fb74c33a90bb912280089b0823fc
@@@ -79,24 -79,6 +79,25 @@@ sub pre_building_step 
        $this->SUPER::pre_building_step($step);
  }
  
-       foreach my $builddeps (join('', <CONTROL>) =~ /^Build-Depends[^:]*:.*\n(?:^[^\w\n].*\n)*/gmi) {
 +sub dbg_build_needed {
 +      my $this=shift;
 +      my $act=shift;
 +
 +      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 ($builddeps =~ /(python[^, ]*-dbg)/g) {
 +                      push @dbg, $1;
 +              }
 +      }
 +
 +      close CONTROL;
 +      return @dbg;
 +
 +}
 +
  sub setup_py {
        my $this=shift;
        my $act=shift;
        # 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+$//;
 -      foreach my $python ("python", grep(!/^$python_default/,
 -                              (split ' ', `pyversions -r 2>/dev/null`))) {
++        # 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";
 +              if (grep /^(python-all-dbg|$python)/, @dbg_build_needed) {
 +                      $this->doit_in_sourcedir($python, "setup.py", $act, @_);
 +              }
 +
        }
  }