diff options
author | Joey Hess <joey@kitenet.net> | 2012-06-07 12:00:37 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-06-07 12:01:05 -0400 |
commit | 49281a1503549efdae30e5262f166eced711ffd7 (patch) | |
tree | b38e8f163feb4052e9581c469d3031afd8e407e1 /dh | |
parent | 6f7afa5148aebb6beb5f895801e636f67e64ec74 (diff) | |
download | debhelper-49281a1503549efdae30e5262f166eced711ffd7.tar.gz |
dh: When there's an -indep override target without -arch, or vice versa, avoid acting on packages covered by the override target when running the command for packages not covered by it. Closes: #676462
Hmm, this is technically a behavior change, but hopefully not one anything
could sanely depend on working like it used to.
Diffstat (limited to 'dh')
-rwxr-xr-x | dh | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -662,11 +662,21 @@ foreach my $i (0..$stoppoint) { # the usual command. (The non-arch-specific override is tried first, # for simplest semantics; mixing it with arch-specific overrides # makes little sense.) + my @oldtodo=@todo; foreach my $override_type (undef, "arch", "indep") { @todo = run_override($override_type, $command, \@todo, @opts); } next unless @todo; + # No need to run the command for any packages handled by the + # override targets. + my %todo=map { $_ => 1 } @todo; + foreach my $package (@oldtodo) { + if (! $todo{$package}) { + push @opts, "-N$package"; + } + } + run($command, @opts); } |