]> git.donarmstrong.com Git - debhelper.git/commitdiff
dh: Remove obsolete optimisation hack that caused sequence breakage in v9 with a...
authorJoey Hess <joey@kitenet.net>
Wed, 20 Jul 2011 02:31:24 +0000 (22:31 -0400)
committerJoey Hess <joey@kitenet.net>
Wed, 20 Jul 2011 02:39:10 +0000 (22:39 -0400)
This hack was necessary back when dh ran each target, and so recursively
invoked itself. If debian/rules binary ran debian/rules binary-arch ran
debian/rules install-arch ran debian/rules build-arch, then debhelper
commands would be running with -a throughout, and so for debian/rules
binary-indep it would have to re-run all the commands with -i. The hack
avoided this extra work (and expecially dh_auto_configure running twice) by
first running the common commands without -i or -a and only then following
through with running the explicit per-arch targets, which didn't run many
(if any) additional commands.

But now dh does not run implicit targets, so (unless targets
are explicit), it will instead just construct a sequence of debhelper
commands to run directly, and so the -a flag is avoided.

debian/changelog
dh

index e0f383f8138917374968870789efbd49a5a2d5ce..25773b8fbdac817ee1bacf7e231bf4466281d006 100644 (file)
@@ -1,3 +1,10 @@
+debhelper (8.9.3) UNRELEASED; urgency=low
+
+  * dh: Remove obsolete optimisation hack that caused sequence breakage
+    in v9 with a rules file with an explict build target. Closes: #634784
+
+ -- Joey Hess <joeyh@debian.org>  Tue, 19 Jul 2011 22:29:43 -0400
+
 debhelper (8.9.2) unstable; urgency=low
 
   * dh: Support make 3.82. Closes: #634385
diff --git a/dh b/dh
index 443d9341e3be18df182ccad87e56c3a8ca137a29..68f3d79ee6c625b2bab205baa8a25f44030c481f 100755 (executable)
--- a/dh
+++ b/dh
@@ -373,9 +373,6 @@ my @bd = qw{
        dh_auto_build
        dh_auto_test
 };
-my @i_minimal = qw{
-       dh_testroot
-};
 my @i = qw{
        dh_testroot
        dh_prep
@@ -438,26 +435,10 @@ $sequences{'build-indep'} = [@bd];
 $sequences{'build-arch'} = [@bd];
 if (! compat(8)) {
        # From v9, sequences take standard rules targets into account.
-       if (rules_explicit_target('build-arch') ||
-           rules_explicit_target('build-indep')) {
-               # run sequences separately
-               $sequences{build} = [@bd_minimal, rules("build-arch"), rules("build-indep")];
-       }
-       else {
-               # run standard sequence (this is faster)
-               $sequences{build} = [@bd];
-       }
+       $sequences{build} = [@bd_minimal, rules("build-arch"), rules("build-indep")];
        $sequences{'install-indep'} = [rules("build-indep"), @i];
        $sequences{'install-arch'} = [rules("build-arch"), @i];
-       if (rules_explicit_target('install-arch') ||
-           rules_explicit_target('install-indep')) {
-               # run sequences separately
-               $sequences{'install'} = [rules("build"), @i_minimal, rules("install-arch"), rules("install-indep")];
-       }
-       else {
-               # run standard sequence (this is faster)
-               $sequences{'install'} = [rules("build"), @i, rules("install-arch"), rules("install-indep")];
-       }
+       $sequences{'install'} = [rules("build"), rules("install-arch"), rules("install-indep"), @i];
        $sequences{'binary-indep'} = [rules("install-indep"), @b];
        $sequences{'binary-arch'} = [rules("install-arch"), @ba, @b];
        $sequences{binary} = [rules("install"), rules("binary-arch"), rules("binary-indep")];