]> git.donarmstrong.com Git - debhelper.git/commitdiff
make standard targets support a v9 feature
authorJoey Hess <joey@kitenet.net>
Mon, 13 Jun 2011 21:51:51 +0000 (17:51 -0400)
committerJoey Hess <joey@kitenet.net>
Mon, 13 Jun 2011 21:51:51 +0000 (17:51 -0400)
debhelper.pod
debian/changelog
dh

index 9939ea13842964467786f7c360dd76cc541d09a7..301f0472663019fa59f9143d6781eba0003005d3 100644 (file)
@@ -550,6 +550,11 @@ while B<dh_makeshlibs> detects packages containing multiarch
 directories and sets a Pre-Dependency on multiarch-support in
 ${misc:Pre-Depends}
 
+=item -
+
+dh supports use of standard targets in debian/rules without needing
+to manually define the dependencies between targets there.
+
 =back
 
 =back
index 0c24fdeaad13b59c11828ba08c0468144dd7f65a..a626a3e47742eedf60c142f156a78952c5c139b5 100644 (file)
@@ -3,7 +3,7 @@ debhelper (8.1.7) UNRELEASED; urgency=low
   * Fix example. Closes: #627534
   * Fix error message. Closes: #628053
   * dh_movefiles: Optimise use of xargs. Closes: #627737
-  * dh: Now any standard rules file targets, including build-arch,
+  * dh: In v9, any standard rules file targets, including build-arch,
     build-indep, build, install, etc, can be defined in debian/rules
     without needing to explicitly tell make the dependencies between
     the targets. Closes: #629139
diff --git a/dh b/dh
index 33a7be33318c11be56ffbc175d07ecdab46cc98b..9c9a34323438e803078f1f542392878e06c64787 100755 (executable)
--- a/dh
+++ b/dh
@@ -257,7 +257,9 @@ B<build-indep>.
 
 Note that in the example above, dh will arrange for "debian/rules build"
 to call your build-indep and build-arch targets. You do not need to
-explicitly define the dependencies in the rules file when using dh.
+explicitly define the dependencies in the rules file when using dh with
+compatability level v9. This example would be more complicated with
+earlier compatability levels.
 
 =head1 INTERNALS
 
@@ -362,22 +364,6 @@ my @bd = qw{
        dh_auto_build
        dh_auto_test
 };
-$sequences{'build-indep'} = [@bd];
-$sequences{'build-arch'} = [@bd];
-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{clean} = [qw{
-       dh_testdir
-       dh_auto_clean
-       dh_clean
-}];
 my @i_minimal = qw{
        dh_testroot
 };
@@ -423,17 +409,6 @@ my @i = qw{
        dh_compress
        dh_fixperms
 };
-$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'];
-}
 my @ba=qw{
        dh_strip
        dh_makeshlibs
@@ -445,9 +420,48 @@ my @b=qw{
        dh_md5sums
        dh_builddeb
 };
-$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'];
+$sequences{clean} = [qw{
+       dh_testdir
+       dh_auto_clean
+       dh_clean
+}];
+$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{'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{'binary-indep'} = ['rules:install-indep', @b];
+       $sequences{'binary-arch'} = ['rules:install-arch', @ba, @b];
+       $sequences{binary} = ['rules:install', 'rules:binary-arch', 'rules:binary-indep'];
+}
+else {
+       $sequences{build} = [@bd];
+       $sequences{'install'} = [@{$sequences{build}}, @i];
+       $sequences{'install-indep'} = [@{$sequences{'build-indep'}}, @i];
+       $sequences{'install-arch'} = [@{$sequences{'build-arch'}}, @i];
+       $sequences{binary} = [@{$sequences{install}}, @ba, @b];
+       $sequences{'binary-indep'} = [@{$sequences{'install-indep'}}, @b];
+       $sequences{'binary-arch'} = [@{$sequences{'install-arch'}}, @ba, @b];
+}
 
 # Additional command options
 my %command_opts;