]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh
Updated French man page translation. Closes: #685560
[debhelper.git] / dh
diff --git a/dh b/dh
index 36130f84fa9db0e33dc20d527eb7d9afe6d0ac82..17919dce794f365c6028235c78c2a22cdc07b84f 100755 (executable)
--- a/dh
+++ b/dh
@@ -55,7 +55,9 @@ the sequence addon interface.
 
 =item B<--without> I<addon>
 
-The inverse of B<--with>, disables using the given addon.
+The inverse of B<--with>, disables using the given addon. This option
+can be repeated more than once, or multiple addons to disable can be
+listed, separated by commas.
 
 =item B<--list>, B<-l>
 
@@ -285,7 +287,8 @@ init(options => {
                },
                "without=s" => sub {
                        my ($option,$value)=@_;
-                       @{$dh{WITH}} = grep { $_ ne $value } @{$dh{WITH}};
+                       my %without = map { $_ => 1 } split(",", $value);
+                       @{$dh{WITH}} = grep { ! $without{$_} } @{$dh{WITH}};
                },
                "l" => \&list_addons,
                "list" => \&list_addons,
@@ -328,7 +331,7 @@ if (! defined $sequence) {
        error "specify a sequence to run";
 }
 # make -B causes the rules file to be run as a target.
-# Also support completly empty override targets.
+# Also support completely empty override targets.
 # Note: it's not safe to use rules_explicit_target before this check,
 # since it causes dh to be run.
 my $dummy_target="debhelper-fail-me";
@@ -659,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);
 }
 
@@ -816,7 +829,7 @@ sub rules_explicit_target {
                                }
                                else {
                                        if (!$not_a_target && /^([^#:]+)::?\s*(.*)$/) {
-                                               # Target is defined. NOTE: if it is a depenency of
+                                               # Target is defined. NOTE: if it is a dependency of
                                                # .PHONY it will be defined too but that's ok.
                                                # $2 contains target dependencies if any.
                                                $current_target = $1;