From: Joey Hess <joey@gnu.kitenet.net>
Date: Mon, 4 May 2009 18:46:50 +0000 (-0400)
Subject: dh: Add --without to allow disabling sequence addons (particularly useful to disable... 
X-Git-Tag: 7.2.9~1
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=30dc53b5fc56e50f12cf46682a92dcbd4a9c6294;p=debhelper.git

dh: Add --without to allow disabling sequence addons (particularly useful to disable the default python-support addon).
---

diff --git a/debian/changelog b/debian/changelog
index 9b94440..34eae09 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ debhelper (7.2.9) UNRELEASED; urgency=low
   * dh_fixperms: Ensure lintian overrides are mode 644.
     (Patch from #459548)
   * dh_fixperms: Fix permissions of OCaml .cmxs files. Closes: #526221
+  * dh: Add --without to allow disabling sequence addons (particularly
+    useful to disable the default python-support addon).
 
  -- Joey Hess <joeyh@debian.org>  Tue, 21 Apr 2009 17:01:41 -0400
 
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;