]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh
Revert "dh_makeshlibs: Make -X also exclude libraries from the symbols file. Closes...
[debhelper.git] / dh
diff --git a/dh b/dh
index bdd78c52591ab68bc94ddc968ded73c2fddecd7f..11fb27b440854b74a2661317a8357c364f412314 100755 (executable)
--- a/dh
+++ b/dh
@@ -78,6 +78,10 @@ Run commands in the sequence that come after I<cmd>.
 
 Run all commands in the sequence that have yet to be run.
 
+=item B<--no-act>
+
+Prints commands that would run for a given sequence, but does not run them.
+
 =back
 
 All other options passed to dh are passed on to each command it runs. This
@@ -225,6 +229,13 @@ init(options => {
 });
 inhibit_log();
 
+# If make is using a jobserver, but it is not available
+# to this process, clean out MAKEFLAGS. This avoids
+# ugly warnings when calling make.
+if (is_make_jobserver_unavailable()) {
+       clean_jobserver_makeflags();
+}
+
 # Definitions of sequences.
 my %sequences;
 $sequences{build} = [qw{
@@ -253,7 +264,6 @@ $sequences{install} = [@{$sequences{build}}, qw{
        dh_installcatalogs
        dh_installcron
        dh_installdebconf
-       dh_installcatalogs
        dh_installemacsen
        dh_installifupdown
        dh_installinfo
@@ -293,6 +303,9 @@ $sequences{binary} = [@{$sequences{install}}, qw{
 }, @b];
 $sequences{'binary-arch'} = [@{$sequences{binary}}];
 
+# Additional command options
+my %command_opts;
+
 # sequence addon interface
 sub _insert {
        my $offset=shift;
@@ -333,6 +346,26 @@ sub add_command {
        my $sequence=shift;
        unshift @{$sequences{$sequence}}, $command;
 }
+sub add_command_options {
+       my $command=shift;
+       push @{$command_opts{$command}}, @_;
+}
+sub remove_command_options {
+       my $command=shift;
+       if (@_) {
+               # Remove only specified options
+               if (my $opts = $command_opts{$command}) {
+                       foreach my $opt (@_) {
+                               $opts = [ grep { $_ ne $opt } @$opts ];
+                       }
+                       $command_opts{$command} = $opts;
+               }
+       }
+       else {
+               # Clear all additional options
+               delete $command_opts{$command};
+       }
+}
 
 if ($dh{LIST}) {
        my %addons;
@@ -501,6 +534,10 @@ sub run {
                $command="debian/rules";
                @options="override_".$override_command;
        }
+       else {
+               # Pass additional command options if any
+               unshift @options, @{$command_opts{$command}} if exists $command_opts{$command};
+       }
 
        # 3 space indent lines the command being run up under the 
        # sequence name after "dh ".