summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2013-05-09 10:34:16 -0400
committerJoey Hess <joey@kitenet.net>2013-05-09 10:34:16 -0400
commit136f0c7517ce5bffbbebec5bf710fc810510f3bd (patch)
treeaf26d27f229e262dab2b3f6815e9e0e56258c72a
parentd934f613e9b584840e351f0a0e00e433cd7b466a (diff)
dh: As a workaround for anything not in debhelper that may rely on debhelper command that is now skipped creating the package build directory, the directory is created when a command is skipped. This workaround is disabled in compat level 10. Closes: #707336
-rw-r--r--debhelper.pod3
-rw-r--r--debian/changelog6
-rwxr-xr-xdh15
3 files changed, 21 insertions, 3 deletions
diff --git a/debhelper.pod b/debhelper.pod
index e5794c4..f148845 100644
--- a/debhelper.pod
+++ b/debhelper.pod
@@ -536,7 +536,8 @@ Changes from v9 are:
=item -
-None yet..
+B<dh> no longer creates the package build directory when skipping
+running debhelper commands.
=back
diff --git a/debian/changelog b/debian/changelog
index 3fae5b7..f917d82 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,7 +5,11 @@ debhelper (9.20130508) UNRELEASED; urgency=low
* dh_installinfo: Stop inserting dependencies for partial upgrades
from lenny to squeeze. Closes: #707218
* dh_compress, dh_perl: Avoid failing if the package build directory does
- not exist.
+ not exist. (Audited all the rest.)
+ * dh: As a workaround for anything not in debhelper that may rely
+ on debhelper command that is now skipped creating the package build
+ directory, the directory is created when a command is skipped.
+ This workaround is disabled in compat level 10. Closes: #707336
-- Joey Hess <joeyh@debian.org> Tue, 07 May 2013 19:42:52 -0400
diff --git a/dh b/dh
index 9e5e5e2..7f81661 100755
--- a/dh
+++ b/dh
@@ -673,7 +673,20 @@ foreach my $i (0..$stoppoint) {
}
next unless @todo;
- next if can_skip($command, @todo) && ! $dh{NO_ACT};
+ if (can_skip($command, @todo) && ! $dh{NO_ACT}) {
+ # This mkdir is to avoid skipping the command causing
+ # breakage if some later command assumed that the
+ # command ran, and created the tmpdir, as a side effect.
+ # No commands in debhelper should make such an assuption,
+ # but there may be third party commands or other things
+ # in the rules file that does.
+ if (! compat(10)) {
+ foreach my $package (@todo) {
+ mkdir(tmpdir($package));
+ }
+ }
+ next;
+ }
# No need to run the command for any packages handled by the
# override targets.