diff options
-rw-r--r-- | debhelper.pod | 3 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rwxr-xr-x | dh | 15 |
3 files changed, 21 insertions, 3 deletions
diff --git a/debhelper.pod b/debhelper.pod index e5794c48..f1488457 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 3fae5b73..f917d82c 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 @@ -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. |