summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-02-27 15:12:58 -0500
committerJoey Hess <joey@gnu.kitenet.net>2009-02-27 15:12:58 -0500
commitaa2e7a24dbe8dfe62b9dcc967282858cee0f6087 (patch)
treef7dace53b5d9f6923e093f47747c427458dfd81f
parent6c80d913e37857ae525d6ff7464cedcb01a67658 (diff)
downloaddebhelper-aa2e7a24dbe8dfe62b9dcc967282858cee0f6087.tar.gz
dh: Support debian/rules calling make with -B
That is useful to avoid issues with phony implicit rules (see bug #509756). Apparently make treats the name of the Makfile as an automaticall set up target, so this causes it to try to build the Makefile even though it's up-to-date, and the implicit target makes it run 'dh debian/rules'. So, make that a no-op. (cherry picked from commit 378b377ef732119de4c2a08dcb9721500b017da1) Conflicts: debian/changelog dh
-rw-r--r--debian/changelog3
-rwxr-xr-xdebian/rules4
-rwxr-xr-xdh8
3 files changed, 12 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index 19e372a4..9c0abb3f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,9 @@ debhelper (7.2.0) UNRELEASED; urgency=low
than the old method.
* Remove rules.simple example, there's no need to use explcit targets
with dh anymore.
+ * dh: Support debian/rules calling make with -B,
+ which is useful to avoid issues with phony implicit
+ rules (see bug #509756).
-- Joey Hess <joeyh@debian.org> Thu, 25 Dec 2008 16:26:36 -0500
diff --git a/debian/rules b/debian/rules
index 03db2d00..ae141867 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,4 +1,4 @@
-#!/usr/bin/make -f
+#!/usr/bin/make -Bf
# If you're looking for an example debian/rules that uses debhelper, see
# the examples directory.
#
@@ -11,3 +11,5 @@
# Not intended for use by anyone except the author.
announcedir:
@echo ${HOME}/src/joeywiki/code/debhelper/news
+
+.PHONY: build
diff --git a/dh b/dh
index 88dc9c4a..571d4b63 100755
--- a/dh
+++ b/dh
@@ -311,8 +311,12 @@ if (! @ARGV) {
error "specify a sequence to run";
}
my $sequence=shift;
-if (! exists $sequences{$sequence}) {
- error "Unknown sequence $sequence (chose from: ".
+if ($sequence eq 'debian/rules') {
+ # make -B causes the rules file to be run as a target
+ exit 0
+}
+elsif (! exists $sequences{$sequence}) {
+ error "Unknown sequence $sequence (choose from: ".
join(" ", sort keys %sequences).")";
}
my @sequence=@{$sequences{$sequence}};