[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#605012: lintian: Add check for missing build-arch and build-indep targets in debian/rules



On Fri, Nov 26, 2010 at 04:59:21PM +0000, Roger Leigh wrote:
> Updated patch attached.  Error text updated to use correct target
> name and indent code correctly.

New patch attached.  This is against current git master, and includes
all the needed testsuite changes.  Because it now warns if build-arch
and build-indep are missing, this necessitated adding them to quite
a number of the rules files.  Note that because some tests were skipped
on non-i386, it's possible they might need tweaking as well.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.
From e7b8301f543f7576b052c476373a65c0ffefe5a0 Mon Sep 17 00:00:00 2001
From: Roger Leigh <rleigh@debian.org>
Date: Fri, 3 Jun 2011 17:55:11 +0100
Subject: [PATCH] Add checks for missing build-arch and build-indep targets

---
 checks/rules                                       |   13 ++++++++++
 checks/rules.desc                                  |   25 ++++++++++++++++++++
 t/tests/debhelper-deprecated/debian/debian/rules   |    6 +++-
 t/tests/debhelper-deprecated/tags                  |   14 +++++-----
 .../debian/debian/rules                            |    6 +++-
 .../debhelper-dh-clean-k-ok/debian/debian/rules    |    6 +++-
 t/tests/debhelper-dh-depends/debian/debian/rules   |    5 +++-
 .../debian/debian/rules                            |    6 +++-
 t/tests/generic-dh-make-2005/tags                  |    2 +
 t/tests/generic-dh-make-2008/tags                  |    2 +
 t/tests/generic-empty/tags                         |    2 +
 .../rules-build-dep-pattern/debian/debian/rules    |    9 +++++-
 t/tests/rules-dh-unused-target-nonempty/tags       |    2 +
 t/tests/rules-dh-unused-target/debian/debian/rules |    9 +++++-
 t/tests/rules-not-makefile/debian/debian/rules     |    2 +
 t/tests/rules-perl-makemaker/debian/debian/rules   |    7 ++++-
 t/tests/rules-perl-makemaker/tags                  |    2 +-
 testset/binary/debian/rules                        |    6 +++-
 testset/debconf/debian/rules                       |   11 +++++++-
 testset/debug/debian/rules                         |    9 +++++-
 testset/etcfiles/debian/rules                      |    3 ++
 testset/fields/debian/rules                        |    8 ++++-
 testset/filenames/debian/rules                     |    9 +++++-
 testset/foo++/debian/rules                         |    8 ++++-
 testset/libbaz/debian/rules                        |   10 +++++--
 testset/maintainer-scripts/debian/rules            |    8 ++++-
 testset/relations/debian/rules                     |    8 ++++-
 testset/scripts/debian/rules                       |    9 +++++-
 testset/tags.binary                                |    5 ++-
 testset/tags.debconf                               |    6 ++--
 testset/tags.filenames                             |    2 +-
 testset/tags.scripts                               |    2 +-
 32 files changed, 172 insertions(+), 50 deletions(-)

diff --git a/checks/rules b/checks/rules
index 66e9f34..a8da26b 100644
--- a/checks/rules
+++ b/checks/rules
@@ -87,6 +87,10 @@ my @RULE_CLEAN_DEPENDS =
 my %required = map { $_ => 1 }
     qw(build binary binary-arch binary-indep clean);
 
+# The following targets are recommended per Policy.
+my %recommended = map { $_ => 1 }
+    qw(build-arch build-indep);
+
 # Rules about required debhelper command ordering.  Each command is put into a
 # class and the tag is issued if they're called in the wrong order for the
 # classes.  Unknown commands won't trigger this flag.
@@ -207,6 +211,7 @@ while (<RULES>) {
         my @targets = split (' ', $1);
         for (@targets) {
             $seen{$_}++ if $required{$_};
+            $seen{$_}++ if $recommended{$_};
         }
     }
 
@@ -224,8 +229,12 @@ while (<RULES>) {
                 for my $required (keys %required) {
                     $seen{$required}++ if $required =~ m/$pattern/;
                 }
+                for my $recommended (keys %recommended) {
+                    $seen{$recommended}++ if $recommended =~ m/$pattern/;
+                }
             } else {
                 $seen{$target}++ if $required{$target};
+                $seen{$target}++ if $recommended{$target};
             }
             if (grep { $target =~ /$_/ } @arch_rules) {
                 push (@arch_rules, @depends);
@@ -291,6 +300,10 @@ unless ($includes) {
         tag 'debian-rules-missing-required-target', $target
             unless $seen{$target};
     }
+    for my $target (sort keys %recommended) {
+        tag "debian-rules-missing-recommended-target", $target
+            unless $seen{$target};
+    }
 }
 
 # Make sure we have no content for binary-arch if we are arch-indep:
diff --git a/checks/rules.desc b/checks/rules.desc
index be3686c..af5b25e 100644
--- a/checks/rules.desc
+++ b/checks/rules.desc
@@ -35,6 +35,31 @@ Info: The <tt>debian/rules</tt> file for this package does not provide one
  binary-indep, and clean must be provided, even if they don't do anything
  for this package.
 
+Tag: debian-rules-missing-recommended-target
+Severity: normal
+Certainty: certain
+Ref: policy 4.9
+Info: The <tt>debian/rules</tt> file for this package does not provide
+ one of the recommended targets.  All of build-arch and build-indep
+ should be provided, even if they don't do anything for this package.
+ If this package does not currently split building of architecture
+ dependent and independent packages, the following rules may be added
+ to fall back to the build target:
+ .
+   build-arch: build
+   build-indep: build
+ .
+ Note that the following form is recommended however:
+ .
+   build: build-arch build-indep
+   build-arch: build-stamp
+   build-indep: build-stamp
+   build-stamp:
+	build here
+ .
+ These targets will be required by policy in the future, so should be
+ added to prevent future breakage.
+
 Tag: debian-rules-uses-pwd
 Severity: normal
 Certainty: certain
diff --git a/t/tests/debhelper-deprecated/debian/debian/rules b/t/tests/debhelper-deprecated/debian/debian/rules
index c477c2d..04ad1b4 100755
--- a/t/tests/debhelper-deprecated/debian/debian/rules
+++ b/t/tests/debhelper-deprecated/debian/debian/rules
@@ -2,7 +2,9 @@
 
 pkg = $(shell dh_listpackages)
 
-build:
+build: build-indep build-arch
+build-arch:
+build-indep:
 
 clean:
 	dh_testdir
@@ -39,4 +41,4 @@ endif
 	dh_md5sums
 	dh_builddeb
 
-.PHONY: binary binary-arch binary-indep build clean
+.PHONY: build-arch build-indep build binary binary-arch binary-indep clean
diff --git a/t/tests/debhelper-deprecated/tags b/t/tests/debhelper-deprecated/tags
index 669c348..a36d7ef 100644
--- a/t/tests/debhelper-deprecated/tags
+++ b/t/tests/debhelper-deprecated/tags
@@ -1,7 +1,7 @@
-W: debhelper-deprecated source: dh_desktop-is-deprecated line 21
-W: debhelper-deprecated source: dh_dhelp-is-deprecated line 22
-W: debhelper-deprecated source: dh_pycentral-is-obsolete line 25
-W: debhelper-deprecated source: dh_python-is-obsolete line 24
-W: debhelper-deprecated source: dh_scrollkeeper-is-deprecated line 23
-W: debhelper-deprecated source: dh_suidregister-is-obsolete line 35
-W: debhelper-deprecated source: dh_undocumented-is-obsolete line 36
+W: debhelper-deprecated source: dh_desktop-is-deprecated line 23
+W: debhelper-deprecated source: dh_dhelp-is-deprecated line 24
+W: debhelper-deprecated source: dh_pycentral-is-obsolete line 27
+W: debhelper-deprecated source: dh_python-is-obsolete line 26
+W: debhelper-deprecated source: dh_scrollkeeper-is-deprecated line 25
+W: debhelper-deprecated source: dh_suidregister-is-obsolete line 37
+W: debhelper-deprecated source: dh_undocumented-is-obsolete line 38
diff --git a/t/tests/debhelper-dh-clean-k-deprecated/debian/debian/rules b/t/tests/debhelper-dh-clean-k-deprecated/debian/debian/rules
index 488e728..bd004e3 100755
--- a/t/tests/debhelper-dh-clean-k-deprecated/debian/debian/rules
+++ b/t/tests/debhelper-dh-clean-k-deprecated/debian/debian/rules
@@ -6,7 +6,9 @@
 
 pkg = $(shell dh_listpackages)
 
-build:
+build: build-arch build-indep
+build-arch:
+build-indep:
 
 clean:
 	dh_testdir
@@ -32,4 +34,4 @@ binary-indep:
 	dh_md5sums
 	dh_builddeb
 
-.PHONY: binary binary-arch binary-indep build clean
+.PHONY: build-arch build-indep build binary binary-arch binary-indep clean
diff --git a/t/tests/debhelper-dh-clean-k-ok/debian/debian/rules b/t/tests/debhelper-dh-clean-k-ok/debian/debian/rules
index 488e728..243e5c2 100755
--- a/t/tests/debhelper-dh-clean-k-ok/debian/debian/rules
+++ b/t/tests/debhelper-dh-clean-k-ok/debian/debian/rules
@@ -6,7 +6,9 @@
 
 pkg = $(shell dh_listpackages)
 
-build:
+build: build-indep build-arch
+build-arch:
+build-indep:
 
 clean:
 	dh_testdir
@@ -32,4 +34,4 @@ binary-indep:
 	dh_md5sums
 	dh_builddeb
 
-.PHONY: binary binary-arch binary-indep build clean
+.PHONY: build-arch build-indep build binary binary-arch binary-indep clean
diff --git a/t/tests/debhelper-dh-depends/debian/debian/rules b/t/tests/debhelper-dh-depends/debian/debian/rules
index ddf20e4..a2b3604 100755
--- a/t/tests/debhelper-dh-depends/debian/debian/rules
+++ b/t/tests/debhelper-dh-depends/debian/debian/rules
@@ -1,6 +1,9 @@
 #!/usr/bin/make -f
 
-build: build-stamp
+build: build-arch build-indep
+build-arch:
+build-indep: build-stamp
+
 build-stamp:
 	dh_testdir
 	dh_auto_configure
diff --git a/t/tests/debhelper-script-token-unneeded/debian/debian/rules b/t/tests/debhelper-script-token-unneeded/debian/debian/rules
index 6a1c2cc..cd6ef15 100755
--- a/t/tests/debhelper-script-token-unneeded/debian/debian/rules
+++ b/t/tests/debhelper-script-token-unneeded/debian/debian/rules
@@ -6,7 +6,9 @@
 
 pkg = $(shell dh_listpackages)
 
-build:
+build: build-indep build-arch
+build-indep:
+build-arch:
 
 clean:
 	dh_testdir
@@ -33,4 +35,4 @@ binary-indep:
 	dh_md5sums
 	dh_builddeb
 
-.PHONY: binary binary-arch binary-indep build clean
+.PHONY: build-arch build-indep build binary binary-arch binary-indep clean
diff --git a/t/tests/generic-dh-make-2005/tags b/t/tests/generic-dh-make-2005/tags
index 6e8096e..ea2c774 100644
--- a/t/tests/generic-dh-make-2005/tags
+++ b/t/tests/generic-dh-make-2005/tags
@@ -7,6 +7,8 @@ I: generic-dh-make-2005 source: debian-watch-file-is-missing
 I: generic-dh-make-2005: extended-description-is-probably-too-short
 W: generic-dh-make-2005 source: ancient-standards-version 3.6.2 (current is CURRENT)
 W: generic-dh-make-2005 source: debian-rules-ignores-make-clean-error line 47
+W: generic-dh-make-2005 source: debian-rules-missing-recommended-target build-arch
+W: generic-dh-make-2005 source: debian-rules-missing-recommended-target build-indep
 W: generic-dh-make-2005 source: debian-rules-sets-DH_COMPAT line 12
 W: generic-dh-make-2005 source: dh_suidregister-is-obsolete line 85
 W: generic-dh-make-2005 source: package-uses-deprecated-debhelper-compat-version 2
diff --git a/t/tests/generic-dh-make-2008/tags b/t/tests/generic-dh-make-2008/tags
index 8c65d77..4287bb5 100644
--- a/t/tests/generic-dh-make-2008/tags
+++ b/t/tests/generic-dh-make-2008/tags
@@ -11,6 +11,8 @@ I: generic-dh-make-2008: package-contains-empty-directory usr/bin/
 I: generic-dh-make-2008: package-contains-empty-directory usr/sbin/
 W: generic-dh-make-2008 source: ancient-standards-version 3.7.3 (current is CURRENT)
 W: generic-dh-make-2008 source: bad-homepage <insert the upstream URL, if relevant>
+W: generic-dh-make-2008 source: debian-rules-missing-recommended-target build-arch
+W: generic-dh-make-2008 source: debian-rules-missing-recommended-target build-indep
 W: generic-dh-make-2008 source: dh-clean-k-is-deprecated
 W: generic-dh-make-2008 source: dh-make-template-in-source debian/cron.d.ex
 W: generic-dh-make-2008 source: dh-make-template-in-source debian/emacsen-install.ex
diff --git a/t/tests/generic-empty/tags b/t/tests/generic-empty/tags
index d6742e1..2acd3a2 100644
--- a/t/tests/generic-empty/tags
+++ b/t/tests/generic-empty/tags
@@ -9,6 +9,8 @@ E: generic-empty_1.0_arch changes: bad-urgency-in-changes-file unknown
 E: generic-empty_1.0_arch changes: changed-by-address-malformed a <>
 E: generic-empty_1.0_arch changes: changed-by-address-missing a <>
 W: generic-empty source: changelog-should-mention-nmu
+W: generic-empty source: debian-rules-missing-recommended-target build-arch
+W: generic-empty source: debian-rules-missing-recommended-target build-indep
 W: generic-empty source: maintainer-not-full-name a
 W: generic-empty source: no-section-field-for-source
 W: generic-empty source: source-nmu-has-incorrect-version-number 1.0
diff --git a/t/tests/rules-build-dep-pattern/debian/debian/rules b/t/tests/rules-build-dep-pattern/debian/debian/rules
index b0d1e14..3fbaa3d 100755
--- a/t/tests/rules-build-dep-pattern/debian/debian/rules
+++ b/t/tests/rules-build-dep-pattern/debian/debian/rules
@@ -1,10 +1,15 @@
 #!/usr/bin/make -f
 
-build: build-stamp
+build-indep:
+
+build-arch: build-stamp
+
 build-stamp:
 	dh build
 	touch $@
 
+build: build-arch build-indep
+
 # From deejayd 0.8.2-1
 clean: $(PYVERS:%=clean-python%)
 
@@ -29,4 +34,4 @@ binary-indep: install
 	dh $@
 
 binary: binary-arch binary-indep
-.PHONY: binary binary-arch binary-indep install clean build
+.PHONY: binary binary-arch binary-indep install clean build build-arch build-indep
diff --git a/t/tests/rules-dh-unused-target-nonempty/tags b/t/tests/rules-dh-unused-target-nonempty/tags
index eff746c..475f57f 100644
--- a/t/tests/rules-dh-unused-target-nonempty/tags
+++ b/t/tests/rules-dh-unused-target-nonempty/tags
@@ -1 +1,3 @@
 W: rules-dh-unused-target-nonempty source: binary-arch-rules-but-pkg-is-arch-indep
+W: rules-dh-unused-target-nonempty source: debian-rules-missing-recommended-target build-arch
+W: rules-dh-unused-target-nonempty source: debian-rules-missing-recommended-target build-indep
diff --git a/t/tests/rules-dh-unused-target/debian/debian/rules b/t/tests/rules-dh-unused-target/debian/debian/rules
index a1067da..1f14e4e 100755
--- a/t/tests/rules-dh-unused-target/debian/debian/rules
+++ b/t/tests/rules-dh-unused-target/debian/debian/rules
@@ -1,10 +1,15 @@
 #!/usr/bin/make -f
 
-build: build-stamp
+build-indep:
+
+build-arch: build-stamp
+
 build-stamp:
 	dh build
 	touch $@
 
+build: build-arch build-indep
+
 clean:
 	dh $@
 
@@ -21,4 +26,4 @@ binary-indep: install
 
 binary: binary-arch binary-indep
 
-.PHONY: binary binary-arch binary-indep install clean build
+.PHONY: binary binary-arch binary-indep install clean build build-arch build-indep
diff --git a/t/tests/rules-not-makefile/debian/debian/rules b/t/tests/rules-not-makefile/debian/debian/rules
index d3a1c6c..31a0c94 100755
--- a/t/tests/rules-not-makefile/debian/debian/rules
+++ b/t/tests/rules-not-makefile/debian/debian/rules
@@ -8,4 +8,6 @@ binary:
 binary-arch:
 binary-indep:
 build:
+build-arch:
+build-indep:
 clean:
diff --git a/t/tests/rules-perl-makemaker/debian/debian/rules b/t/tests/rules-perl-makemaker/debian/debian/rules
index e8ba5e8..1dac786 100755
--- a/t/tests/rules-perl-makemaker/debian/debian/rules
+++ b/t/tests/rules-perl-makemaker/debian/debian/rules
@@ -15,7 +15,10 @@ configure-stamp:
 
 	touch configure-stamp
 
-build: build-stamp
+build-indep:
+
+build-arch: build-stamp
+
 build-stamp: configure-stamp
 	dh_testdir
 
@@ -24,6 +27,8 @@ build-stamp: configure-stamp
 
 	touch build-stamp
 
+build: build-arch build-indep
+
 clean:
 	dh_testdir
 	dh_testroot
diff --git a/t/tests/rules-perl-makemaker/tags b/t/tests/rules-perl-makemaker/tags
index 42a8285..085b0de 100644
--- a/t/tests/rules-perl-makemaker/tags
+++ b/t/tests/rules-perl-makemaker/tags
@@ -1 +1 @@
-W: rules-perl-makemaker source: debian-rules-makemaker-prefix-is-deprecated line 41
+W: rules-perl-makemaker source: debian-rules-makemaker-prefix-is-deprecated line 46
diff --git a/testset/binary/debian/rules b/testset/binary/debian/rules
index be68ea0..08dd671 100755
--- a/testset/binary/debian/rules
+++ b/testset/binary/debian/rules
@@ -4,10 +4,12 @@ tmp=debian/tmp
 
 # This reference to $(PWD) should not cause an error but the one below
 # should.
-build:
+build-arch:
 	make
 	echo $(PWD)
 
+build: build-arch
+
 clean:
 	make -i clean
 	rm -f debian/files debian/substvars
@@ -88,4 +90,4 @@ binary-arch: build
 
 binary: binary-arch
 
-.PHONY: build binary-arch binary clean
+.PHONY: build-arch build binary-arch binary clean
diff --git a/testset/debconf/debian/rules b/testset/debconf/debian/rules
index 4cedfcd..65d283b 100755
--- a/testset/debconf/debian/rules
+++ b/testset/debconf/debian/rules
@@ -6,10 +6,17 @@ deb_dir		=	debian/debconf
 udeb_dir	=	debian/debconf-udeb
 build_dirs	=	$(deb_dir) $(udeb_dir)
 
-build:
+build-indep:
+# There are no architecture-independent files to be built
+# by this package.  If there were any they would be made
+# here.
+
+build-arch:
 	dh_testdir
 	touch build
 
+build: build-indep build-arch
+
 clean:
 	dh_testdir
 	dh_testroot
@@ -56,4 +63,4 @@ binary-arch:	build
 
 binary:		binary-indep binary-arch
 
-.PHONY: binary binary-arch binary-indep clean checkroot
+.PHONY: build-arch build-indep build binary binary-arch binary-indep clean checkroot
diff --git a/testset/debug/debian/rules b/testset/debug/debian/rules
index 26e777e..b4e68e2 100755
--- a/testset/debug/debian/rules
+++ b/testset/debug/debian/rules
@@ -4,7 +4,10 @@
 
 export DH_COMPAT := 5
 
-build: build-stamp
+build-indep:
+
+build-arch: build-stamp
+
 build-stamp:
 	dh_testdir
 	gcc -D_REENTRANT -fPIC -c libhello.c
@@ -13,6 +16,8 @@ build-stamp:
 	gcc -o hello hello.c -L. -lhello
 	touch build-stamp
 
+build: build-arch build-indep
+
 clean:
 	dh_testdir
 	dh_testroot
@@ -86,4 +91,4 @@ binary-arch: build-stamp install
 
 binary-indep:
 binary: binary-indep binary-arch
-.PHONY: binary binary-indep binary-arch build clean install
+.PHONY: build-arch build-indep build binary binary-indep binary-arch clean install
diff --git a/testset/etcfiles/debian/rules b/testset/etcfiles/debian/rules
index 60eb147..4434415 100755
--- a/testset/etcfiles/debian/rules
+++ b/testset/etcfiles/debian/rules
@@ -9,6 +9,9 @@ clean:
 	rm -rf debian/only-etcfiles
 
 build:
+build-arch:
+build-indep:
+build-indep:
 binary-indep:
 	install -d $(tmp)/etc
 	install -m 644 proper $(tmp)/etc
diff --git a/testset/fields/debian/rules b/testset/fields/debian/rules
index eb139f3..2d74d8b 100755
--- a/testset/fields/debian/rules
+++ b/testset/fields/debian/rules
@@ -2,7 +2,11 @@
 
 tmp=debian/tmp
 
-build:
+build-arch:
+
+build-indep:
+
+build: build-arch build-indep
 
 binary-arch:
 
@@ -26,4 +30,4 @@ binary: binary-arch binary-indep
 clean:
 	rm -rf debian/files $(tmp) debian/substvars
 
-.PHONY: build binary-arch binary-indep binary clean
+.PHONY: build-arch build-indep build binary-arch binary-indep binary clean
diff --git a/testset/filenames/debian/rules b/testset/filenames/debian/rules
index f77a857..3dacf6d 100755
--- a/testset/filenames/debian/rules
+++ b/testset/filenames/debian/rules
@@ -27,7 +27,12 @@ clean:
 	touch "files/'\\ "
 	touch filenames.c~
 
-build:
+build-arch:
+
+build-indep:
+
+build: build-arch build-indep
+
 
 binary-arch:
 
@@ -232,4 +237,4 @@ binary-indep:
 
 binary: binary-arch binary-indep
 
-.PHONY: build binary-arch binary-indep binary clean
+.PHONY: build-indep build-arch build binary-arch binary-indep binary clean
diff --git a/testset/foo++/debian/rules b/testset/foo++/debian/rules
index d769f80..b04bd36 100755
--- a/testset/foo++/debian/rules
+++ b/testset/foo++/debian/rules
@@ -3,7 +3,11 @@
 foo=foo++
 helper=foo++-helper
 
-build:
+build-arch:
+
+build-indep:
+
+build: build-arch build-indep
 
 binary-arch:
 
@@ -29,4 +33,4 @@ binary: binary-arch binary-indep
 
 clean:
 
-.PHONY: build binary-arch binary-indep binary clean
+.PHONY: build-arch build-indep build binary-arch binary-indep binary clean
diff --git a/testset/libbaz/debian/rules b/testset/libbaz/debian/rules
index 8ed2bb0..65cec1b 100755
--- a/testset/libbaz/debian/rules
+++ b/testset/libbaz/debian/rules
@@ -6,9 +6,13 @@ dev_tmp=debian/tmp-dev
 LIB=libbaz1
 DEV=libbaz1-dev
 
-build:
+build-arch:
 	$(MAKE)
 
+build-indep:
+
+build: build-arch build-indep
+
 clean:
 	$(MAKE) clean
 	dh_clean -plibbaz2 -plibbaz2-dev
@@ -57,7 +61,7 @@ binary-correct:
 	dh_builddeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
 
 # and the incorrect one
-binary-arch: build binary-correct
+binary-arch: build-arch binary-correct
 	# first, the lib package
 	install -d $(lib_tmp)/usr/lib
 	# resp. no soname (check), wrong soname (check), and no-pic (check)
@@ -120,4 +124,4 @@ binary: binary-arch
 
 # The mention of binary-indep here should be sufficient to suppress the
 # warning that it's not present.
-.PHONY: build binary-arch binary-indep binary clean
+.PHONY: build-arch build-indep build binary-arch binary-indep binary clean
diff --git a/testset/maintainer-scripts/debian/rules b/testset/maintainer-scripts/debian/rules
index 98240ed..f1f4075 100755
--- a/testset/maintainer-scripts/debian/rules
+++ b/testset/maintainer-scripts/debian/rules
@@ -1,6 +1,10 @@
 #!/usr/bin/make -f
 
-build:
+build-arch:
+
+build-indep:
+
+build: build-arch build-indep
 
 binary-arch:
 
@@ -29,4 +33,4 @@ clean2:
 	dh_clean
 clean3:
 
-.PHONY: build binary-arch binary-indep binary clean
+.PHONY: build-arch build-indep build binary-arch binary-indep binary clean
diff --git a/testset/relations/debian/rules b/testset/relations/debian/rules
index 722be9b..76ef605 100755
--- a/testset/relations/debian/rules
+++ b/testset/relations/debian/rules
@@ -18,7 +18,11 @@
 # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
 # MA 02110-1301, USA.
 
-build:
+build-arch:
+
+build-indep:
+
+build: build-arch build-indep
 
 binary-arch:
 
@@ -45,4 +49,4 @@ clean::
 # Test requiring perl Build-Depends for manual perl invocations.
 	[ ! -f Build ] || $(PERL) Build distclean
 
-.PHONY: build binary-arch binary-indep binary clean
+.PHONY: build-arch build-indep build binary-arch binary-indep binary clean
diff --git a/testset/scripts/debian/rules b/testset/scripts/debian/rules
index 3a4ab8c..e90d227 100755
--- a/testset/scripts/debian/rules
+++ b/testset/scripts/debian/rules
@@ -2,7 +2,12 @@
 
 tmp=debian/tmp
 
-build:
+build-arch:
+	echo "Hi, in an arch: all package, I am a bug!"
+
+build-indep:
+
+build: build-arch build-indep
 
 binary-arch:
 	echo "Hi, in an arch: all package, I am a bug!"
@@ -99,4 +104,4 @@ binary: binary-arch binary-indep
 clean:
 	rm -rf debian/files $(tmp) debian/substvars
 
-.PHONY: build binary-arch binary-indep binary clean
+.PHONY: build-arch build-indep build binary-arch binary-indep binary clean
diff --git a/testset/tags.binary b/testset/tags.binary
index 53bd28a..b8ba715 100644
--- a/testset/tags.binary
+++ b/testset/tags.binary
@@ -59,7 +59,8 @@ I: binary: desktop-entry-contains-encoding-key usr/share/applications/goodbye.de
 I: binary: desktop-entry-contains-encoding-key usr/share/applications/hello.desktop:13 Encoding
 I: binary: no-md5sums-control-file
 W: binary source: ancient-standards-version 3.2.1 (current is 3.9.2)
-W: binary source: debian-rules-ignores-make-clean-error line 12
+W: binary source: debian-rules-ignores-make-clean-error line 14
+W: binary source: debian-rules-missing-recommended-target build-indep
 W: binary source: debian-rules-uses-pwd line 9
 W: binary source: intra-source-package-circular-dependency binary binary-data
 W: binary source: maintainer-upload-has-incorrect-version-number 4-1.1
@@ -136,5 +137,5 @@ W: binary: unquoted-string-in-menu-item usr/lib/menu/binary needs:1
 W: binary: unquoted-string-in-menu-item usr/lib/menu/binary needs:2
 W: binary: unquoted-string-in-menu-item usr/share/menu/binary needs:1
 W: binary: unquoted-string-in-menu-item usr/share/menu/binary needs:2
-X: binary: duplicate-files usr/share/doc/binary/html/ch1.html usr/share/doc/binary/html/ch5.html usr/share/doc/binary/html/index.html
+X: binary: duplicate-files usr/share/doc/binary/html/ch1.html usr/share/doc/binary/html/ch6.html usr/share/doc/binary/html/index.html
 X: binary: package-contains-broken-symlink usr/share/doc/binary/html/ch3.html /usr/share/doc/binary/htm/ch1.html
diff --git a/testset/tags.debconf b/testset/tags.debconf
index 285ad4b..632377c 100644
--- a/testset/tags.debconf
+++ b/testset/tags.debconf
@@ -29,10 +29,10 @@ I: debconf-test: unused-debconf-template debconf/testnote
 I: debconf-test: unused-debconf-template debconf/teststring
 I: debconf-test: unused-debconf-template debconf/translate
 W: debconf source: ancient-standards-version 3.7.2 (current is 3.9.2)
-W: debconf source: debian-rules-calls-debhelper-in-odd-order dh_makeshlibs (line 49)
-W: debconf source: debian-rules-calls-debhelper-in-odd-order dh_makeshlibs (line 53)
+W: debconf source: debian-rules-calls-debhelper-in-odd-order dh_makeshlibs (line 56)
+W: debconf source: debian-rules-calls-debhelper-in-odd-order dh_makeshlibs (line 60)
 W: debconf source: debian-rules-sets-DH_COMPAT line 3
-W: debconf source: dh_python-is-obsolete line 40
+W: debconf source: dh_python-is-obsolete line 47
 W: debconf source: dpatch-build-dep-but-no-patch-list
 W: debconf source: invalid-po-file debian/po/fr.po
 W: debconf source: invalid-po-file debian/po/sample-file.po
diff --git a/testset/tags.filenames b/testset/tags.filenames
index 68d07c0..a41af94 100644
--- a/testset/tags.filenames
+++ b/testset/tags.filenames
@@ -144,7 +144,7 @@ W: filenames: zero-byte-file-in-doc-directory usr/share/doc/filenames/news.debia
 W: more-filename-games: binary-without-manpage usr/bin/another-test-game
 W: more-filename-games: binary-without-manpage usr/games/yet-another-test-game
 W: more-filename-games: package-section-games-but-has-usr-bin
-X: filenames: duplicate-files usr/share/doc/filenames/.DS_Store usr/share/doc/filenames/._NEWS.Debian usr/share/doc/filenames/Thumbs.db usr/share/doc/filenames/link-one
+X: filenames: duplicate-files usr/share/doc/filenames/.DS_Store usr/share/doc/filenames/._NEWS.Debian usr/share/doc/filenames/Thumbs.db usr/share/doc/filenames/link-two
 X: filenames: duplicate-files usr/share/doc/filenames/NEWS.Debian usr/share/doc/filenames/README.macosx usr/share/doc/filenames/examples/__init__.py usr/share/doc/filenames/examples/very_interesting_example
 X: filenames: package-contains-broken-symlink usr/lib/filenames/symlink2ok /etc/symlink
 X: filenames: package-contains-broken-symlink usr/lib/filenames/symlink3wrong /usr/lib/filenames/symlink2
diff --git a/testset/tags.scripts b/testset/tags.scripts
index caa3944..cd97194 100644
--- a/testset/tags.scripts
+++ b/testset/tags.scripts
@@ -37,7 +37,7 @@ W: scripts source: debian-watch-file-declares-multiple-versions line 7
 W: scripts source: debian-watch-file-should-use-sf-redirector line 8
 W: scripts source: debian-watch-file-specifies-old-upstream-version 5 line 8
 W: scripts source: debian-watch-file-uses-deprecated-sf-redirector-method line 5
-W: scripts source: dh_python-is-obsolete line 81
+W: scripts source: dh_python-is-obsolete line 86
 W: scripts source: maintainer-script-lacks-debhelper-token debian/postinst
 W: scripts source: maintainer-script-lacks-debhelper-token debian/postrm
 W: scripts source: package-uses-deprecated-debhelper-compat-version 1
-- 
1.7.5.3

Attachment: signature.asc
Description: Digital signature


Reply to: