summaryrefslogtreecommitdiff
path: root/Debian
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-05-28 14:41:58 -0400
committerJoey Hess <joey@kitenet.net>2010-05-28 14:41:58 -0400
commit653fb43cfa731d047deaf19b61aef2ebbeb00990 (patch)
tree1c0f3164daeb3b2612605f57f37bce811f6ded3f /Debian
parent4b62726560265020e5d44453e93e49e8f44aced0 (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.
Diffstat (limited to 'Debian')
-rw-r--r--Debian/Debhelper/Dh_Getopt.pm19
1 files changed, 11 insertions, 8 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;