summaryrefslogtreecommitdiff
path: root/dh
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-05-04 14:46:50 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-05-04 14:46:50 -0400
commit30dc53b5fc56e50f12cf46682a92dcbd4a9c6294 (patch)
tree7909f426402b8a693b9eed3e7066dd1dc7b5546e /dh
parenta9c14bddba25c44ae2b3b9551002812761968a8f (diff)
dh: Add --without to allow disabling sequence addons (particularly useful to disable the default python-support addon).
Diffstat (limited to 'dh')
-rwxr-xr-xdh19
1 files changed, 14 insertions, 5 deletions
diff --git a/dh b/dh
index 2a91b92..427a1c9 100755
--- a/dh
+++ b/dh
@@ -53,6 +53,10 @@ than once, and is used when there is a third-party package that provides
debhelper commands. See the PROGRAMMING file for documentation about
the sequence addon interface.
+=item B<--without> I<addon>
+
+The inverse of --with, disables using the given addon.
+
=item B<--until> I<cmd>
Run commands in the sequence until and including I<cmd>, then stop.
@@ -172,6 +176,10 @@ default. This is how to use dh_pycentral instead.
# Stash this away before init modifies it.
my @ARGV_orig=@ARGV;
+# python-support is enabled by default, at least for now
+# (and comes first so python-central loads later and can disable it).
+unshift @ARGV, "--with=python-support";
+
init(options => {
"until=s" => \$dh{UNTIL},
"after=s" => \$dh{AFTER},
@@ -181,6 +189,10 @@ init(options => {
my ($option,$value)=@_;
push @{$dh{WITH}},$value;
},
+ "without=s" => sub {
+ my ($option,$value)=@_;
+ @{$dh{WITH}} = grep { $_ ne $value } @{$dh{WITH}};
+ },
});
inhibit_log();
@@ -253,9 +265,6 @@ $sequences{binary} = [@{$sequences{install}}, qw{
}, @b];
$sequences{'binary-arch'} = [@{$sequences{binary}}];
-# --with python-support is enabled by default, at least for now
-unshift @{$dh{WITH}}, "python-support";
-
# sequence addon interface
sub _insert {
my $offset=shift;
@@ -339,11 +348,11 @@ elsif ($sequence eq 'binary-indep') {
while (@ARGV_orig) {
my $opt=shift @ARGV_orig;
next if $opt eq $sequence;
- if ($opt =~ /^--?(after|until|before|with)$/) {
+ if ($opt =~ /^--?(after|until|before|with|without)$/) {
shift @ARGV_orig;
next;
}
- elsif ($opt =~ /^--?(no-act|remaining|(after|until|before|with)=)/) {
+ elsif ($opt =~ /^--?(no-act|remaining|(after|until|before|with|without)=)/) {
next;
}
push @options, $opt;