]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh
dh: Remove duplicate dh_installcatalogs list. Closes: #545483 (It was only run once...
[debhelper.git] / dh
diff --git a/dh b/dh
index 9a6af325433c8ed10c40cee431bcf0bbc8e7cba2..cd2f9f0870598da3650df0b46241f483757bf88d 100755 (executable)
--- a/dh
+++ b/dh
@@ -253,7 +253,6 @@ $sequences{install} = [@{$sequences{build}}, qw{
        dh_installcatalogs
        dh_installcron
        dh_installdebconf
-       dh_installcatalogs
        dh_installemacsen
        dh_installifupdown
        dh_installinfo
@@ -293,6 +292,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 +335,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;
@@ -362,7 +384,7 @@ foreach my $addon (@{$dh{WITH}}) {
        $mod=~s/-/_/g;
        eval "use $mod";
        if ($@) {
-               error("--with $addon not supported or failed to load module $mod");
+               error("unable to load addon $addon: $@");
        }
 }
 
@@ -501,6 +523,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 ".