diff options
author | Joey Hess <joey@kitenet.net> | 2010-05-28 14:41:58 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-05-28 14:41:58 -0400 |
commit | 653fb43cfa731d047deaf19b61aef2ebbeb00990 (patch) | |
tree | 1c0f3164daeb3b2612605f57f37bce811f6ded3f | |
parent | 4b62726560265020e5d44453e93e49e8f44aced0 (diff) |
In v8 mode, debhelper only ever acts on packages that can be built for the given architecture, even if -N or -p are used to specify packages specific to other architectures.
-rw-r--r-- | Debian/Debhelper/Dh_Getopt.pm | 19 | ||||
-rw-r--r-- | debhelper.pod | 6 | ||||
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | doc/TODO | 1 |
4 files changed, 20 insertions, 9 deletions
diff --git a/Debian/Debhelper/Dh_Getopt.pm b/Debian/Debhelper/Dh_Getopt.pm index 257fe649..06898923 100644 --- a/Debian/Debhelper/Dh_Getopt.pm +++ b/Debian/Debhelper/Dh_Getopt.pm @@ -230,8 +230,9 @@ sub parseopts { } # If we have not been given any packages to act on, assume they - # want us to act on them all. Note we have to do this before excluding - # packages out, below. + # want us to act on all relevant packages. Note we have to do + # this before excluding packages out, below. + my @packages_relevant=getpackages("both"); if (! defined $dh{DOPACKAGES} || ! @{$dh{DOPACKAGES}}) { if ($dh{DOINDEP} || $dh{DOARCH}) { # User specified that all arch (in)dep package be @@ -239,25 +240,27 @@ sub parseopts { warning("You asked that all arch in(dep) packages be built, but there are none of that type."); exit(0); } - push @{$dh{DOPACKAGES}},getpackages("both"); + push @{$dh{DOPACKAGES}}, @packages_relevant; } # Remove excluded packages from the list of packages to act on. # Also unique the list, in case some options were specified that # added a package to it twice. + # And avoid acting on packages that are not relevant. my @package_list; my $package; my %packages_seen; + my %packages_relevant=map { $_ => 1 } @packages_relevant; foreach $package (@{$dh{DOPACKAGES}}) { if (defined($dh{EXCLUDE_LOGGED}) && grep { $_ eq basename($0) } load_log($package)) { $exclude_package{$package}=1; } - if (! $exclude_package{$package}) { - if (! exists $packages_seen{$package}) { - $packages_seen{$package}=1; - push @package_list, $package; - } + if (! $exclude_package{$package} && + ! exists $packages_seen{$package} && + $packages_relevant{$package}) { + $packages_seen{$package}=1; + push @package_list, $package; } } @{$dh{DOPACKAGES}}=@package_list; diff --git a/debhelper.pod b/debhelper.pod index a7735b1f..c97db213 100644 --- a/debhelper.pod +++ b/debhelper.pod @@ -530,6 +530,12 @@ can cause some packages to fail to build. dh requires the sequence to run be specified as the first parameter, and any switches come after it. Ie, use "dh $@ --foo", not "dh --foo $@" + +=item - + +Debhelper only ever acts on packages that can be built for the given +architecture, even if -N or -p are used to specify packages specific +to other architectures. =back diff --git a/debian/changelog b/debian/changelog index 5df9e2c9..592ade39 100644 --- a/debian/changelog +++ b/debian/changelog @@ -26,6 +26,9 @@ debhelper (7.9.1) UNRELEASED; urgency=low file with a name like HISTORY. Closes: #582749 * dh_installchangelogs: Also look for changelog files in doc(s) subdirectories. Closes: #521258 + * In v8 mode, debhelper only ever acts on packages that can be built + for the given architecture, even if -N or -p are used to specify + packages specific to other architectures. -- Joey Hess <joeyh@debian.org> Mon, 17 May 2010 20:01:19 -0400 @@ -1,6 +1,5 @@ v8: -* better package arch filtering for -N , -p (#576990) * Support DEB_BUILD_OPTIONS=debug ; maybe also support passing -g -O2 by default. See patch (and discussion of why this breaks compatability) in #544844. |