--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: lintian: Add check for missing build-arch and build-indep targets in debian/rules
- From: Roger Leigh <rleigh@debian.org>
- Date: Fri, 26 Nov 2010 10:17:32 +0000
- Message-id: <20101126101732.28370.33455.reportbug@ravenclaw.codelibre.net>
Package: lintian
Version: 2.4.4
Severity: normal
Tags: patch
The attached patch adds a new tag
(debian-rules-missing-recommended-target) which checks for missing but
recommended targets in debian/rules; it's based upon the existing
debian-rules-missing-required-target check. I've updated the testsuite
as well. This is my first patch for lintian, so I may not have done
everything 100% correctly, particularly WRT the testsuite, but I think
it's good.
Why is this needed? We've wanted to get more widespread usage of the
build-arch and build-indep targets for some time (over six years), but
have not to date succeeded very well at this (#218893, #604397, #398625
and its duplicates, #229357). This is indended to push for adoption more
actively.
This isn't attempting to address the more contentious issues to enable
the use of these targets, such as control Build-Options flags, where
there is not universal consensus (this is the primary sticking point).
There is consensus on the need for having these targets, which this
does address. These two aspects of the problem aren't directly
coupled, and adding the targets now is not an issue. If you look at
the bug reports above, you'll see that work has been done to allow
reliable target detection in Makefiles, which would enable
dpkg-buildpackage to invoke build-arch and/or build-indep if present,
or else fall back to build, in which case the need for Build-Options
becomes moot.
We now have full support for build-arch and build-indep in cdbs and
patches for support in dh (#604563) which together give ~50% archive
coverage. This change is to get more widespread coverage in the
remaining 50% of the archive, with the ultimate goal being 100%
coverage and making the targets required rather than recommended.
Thanks,
Roger
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (550, 'unstable'), (400, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.36-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages lintian depends on:
ii binutils 2.20.1-15 The GNU assembler, linker and bina
ii diffstat 1.53-1 produces graph of changes introduc
ii dpkg-dev 1.15.8.6 Debian package development tools
ii file 5.04-5 Determines file type using "magic"
ii gettext 0.18.1.1-3 GNU Internationalization utilities
ii intltool-debian 0.35.0+20060710.1 Help i18n of RFC822 compliant conf
ii libapt-pkg-perl 0.1.24+b1 Perl interface to libapt-pkg
ii libclass-accessor-perl 0.34-1 Perl module that automatically gen
ii libipc-run-perl 0.89-1 Perl module for running processes
ii libparse-debianchangel 1.1.1-2.1 parse Debian changelogs and output
ii libtimedate-perl 1.2000-1 collection of modules to manipulat
ii liburi-perl 1.56-1 module to manipulate and access UR
ii locales 2.11.2-7 Embedded GNU C Library: National L
ii locales-all [locales] 2.11.2-7 Embedded GNU C Library: Precompile
ii man-db 2.5.7-6 on-line manual pager
ii perl [libdigest-sha-pe 5.10.1-16 Larry Wall's Practical Extraction
lintian recommends no packages.
Versions of packages lintian suggests:
pn binutils-multiarch <none> (no description available)
ii libtext-template-perl 1.45-1 Text::Template perl module
ii man-db 2.5.7-6 on-line manual pager
-- no debconf information
>From 17a32ac63fbc6a9c6e1c3ab9be043d6e6de6a92a Mon Sep 17 00:00:00 2001
From: Roger Leigh <rleigh@debian.org>
Date: Fri, 26 Nov 2010 09:54:28 +0000
Subject: [PATCH] Add check for missing build-arch and build-indep targets in debian/rules
Add new check (tag debian-rules-missing-recommended-target)
Update testsuite
Signed-off-by: Roger Leigh <rleigh@debian.org>
---
checks/rules | 13 ++++++++++++
checks/rules.desc | 21 ++++++++++++++++++++
t/tests/debhelper-deprecated/debian/debian/rules | 6 +++-
.../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/fields-quilt-debhelper/debian/debian/rules | 10 +++++---
t/tests/generic-empty/desc | 1 +
t/tests/generic-empty/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 | 1 +
testset/tags.etcfiles | 1 +
23 files changed, 133 insertions(+), 34 deletions(-)
diff --git a/checks/rules b/checks/rules
index 358db41..126c8e2 100644
--- a/checks/rules
+++ b/checks/rules
@@ -88,6 +88,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.
@@ -208,6 +212,7 @@ while (<RULES>) {
my @targets = split (' ', $1);
for (@targets) {
$seen{$_}++ if $required{$_};
+ $seen{$_}++ if $recommended{$_};
}
}
@@ -225,8 +230,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);
@@ -292,6 +301,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 7dd263f..809f8b0 100644
--- a/checks/rules.desc
+++ b/checks/rules.desc
@@ -35,6 +35,27 @@ 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 binary target.
+ .
+ binary-arch: binary
+ binary-indep: binary
+ .
+ Note that the following form is recommended however:
+ .
+ binary: binary-arch binary-indep
+ .
+ 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 7ec4692..f75cfb6 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
@@ -37,4 +39,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-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 1c04f36..803501b 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 bbd9fb3..ee51749 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
@@ -31,4 +33,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/fields-quilt-debhelper/debian/debian/rules b/t/tests/fields-quilt-debhelper/debian/debian/rules
index d893de8..da794bd 100755
--- a/t/tests/fields-quilt-debhelper/debian/debian/rules
+++ b/t/tests/fields-quilt-debhelper/debian/debian/rules
@@ -1,6 +1,8 @@
#!/usr/bin/make -f
-build:
+build: build-arch build-indep
+build-arch:
+build-indep:
dh_quilt_patch
clean:
@@ -17,8 +19,8 @@ install: build
dh_install
binary: binary-indep binary-arch
-binary-arch: build install
-binary-indep: build install
+binary-arch: build-arch install
+binary-indep: build-indep install
dh_testdir
dh_testroot
dh_installchangelogs
@@ -31,4 +33,4 @@ binary-indep: build install
dh_md5sums
dh_builddeb
-.PHONY: build clean binary-indep binary-arch binary install
+.PHONY: build-arch build-indep build clean binary-indep binary-arch binary install
diff --git a/t/tests/generic-empty/desc b/t/tests/generic-empty/desc
index a994997..9d4aef9 100644
--- a/t/tests/generic-empty/desc
+++ b/t/tests/generic-empty/desc
@@ -8,6 +8,7 @@ Test-For:
changed-by-address-missing
changelog-should-mention-nmu
debian-rules-missing-required-target
+ debian-rules-missing-recommended-target
maintainer-address-missing
maintainer-not-full-name
no-copyright-file
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/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 c206f69..41a9ff3 100644
--- a/testset/tags.binary
+++ b/testset/tags.binary
@@ -58,6 +58,7 @@ I: binary: capitalization-error-in-description debian Debian
I: binary: desktop-entry-contains-encoding-key /usr/share/applications/goodbye.desktop:11 Encoding
I: binary: desktop-entry-contains-encoding-key /usr/share/applications/hello.desktop:13 Encoding
I: binary: no-md5sums-control-file
+W: binary source: debian-rules-missing-recommended-target build-indep
W: binary source: ancient-standards-version 3.2.1 (current is 3.9.1)
W: binary source: debian-rules-ignores-make-clean-error line 12
W: binary source: debian-rules-uses-pwd line 9
diff --git a/testset/tags.etcfiles b/testset/tags.etcfiles
index 7875f92..49bfb0f 100644
--- a/testset/tags.etcfiles
+++ b/testset/tags.etcfiles
@@ -10,6 +10,7 @@ E: etcfiles: no-copyright-file
E: etcfiles: non-etc-file-marked-as-conffile /var/lib/foo
E: only-etcfiles: extended-description-is-empty
I: etcfiles source: missing-debian-source-format
+W: etcfiles source: debian-rules-missing-recommended-target build-arch
W: etcfiles source: ancient-standards-version 3.5.0 (current is 3.9.1)
W: etcfiles: file-missing-in-md5sums etc/improper-link
W: etcfiles: file-missing-in-md5sums usr/share/doc/etcfiles/changelog
--
1.7.2.3
--- End Message ---
--- Begin Message ---
Source: lintian
Source-Version: 2.5.1
We believe that the bug you reported is fixed in the latest version of
lintian, which is due to be installed in the Debian FTP archive:
lintian_2.5.1.dsc
to main/l/lintian/lintian_2.5.1.dsc
lintian_2.5.1.tar.gz
to main/l/lintian/lintian_2.5.1.tar.gz
lintian_2.5.1_all.deb
to main/l/lintian/lintian_2.5.1_all.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 605012@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Niels Thykier <niels@thykier.net> (supplier of updated lintian package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Wed, 15 Jun 2011 23:05:28 +0200
Source: lintian
Binary: lintian
Architecture: source all
Version: 2.5.1
Distribution: unstable
Urgency: low
Maintainer: Debian Lintian Maintainers <lintian-maint@debian.org>
Changed-By: Niels Thykier <niels@thykier.net>
Description:
lintian - Debian package checker
Closes: 460350 496902 541978 588831 598412 605012 614876 616493 616553 625886 626476 626587 626597 626775 627082 627431 628673 628754 629056 629189 629193 629288 629453 629648 630164 630560
Changes:
lintian (2.5.1) unstable; urgency=low
.
* Summary of tag changes:
+ Added:
- bad-perm-for-file-in-etc-sudoers.d
- debian-rules-missing-recommended-target
- dh_pycentral-is-obsolete
- dh_python-is-obsolete
- illegal-multi-arch-value
- non-empty-dependency_libs-in-la-file
+ Removed:
- uses-dh-python-with-no-pycompat
- ldconfig-symlink-before-shlib-in-deb
.
* checks/binaries:
+ [NT] Applied patch from Paul Wise to detect binaries embeddeding
glee, glew and libtheora. (Closes: #629288)
+ [NT] Also consider multiarch dirs when looking for public shared
libraries. (Closes: #630164)
* checks/debhelper{,.desc}:
+ [NT] Recognise that dh_python and dh_pycentral are now obsolete.
(Closes: #496902, #541978)
* checks/changes-file:
+ [NT] Always verify the checksums of changes-files.
* checks/copyright-file:
+ [NT] Extended current dh_make template checks. Thanks to
Nelson A. de Oliveira for the patch. (Closes: #598412)
* checks/fields{,.desc}:
+ [NT] Allow "all" and "any" to appear together in the Architecture
field of a .dsc file. (Closes: #626775)
+ [NT] Added illegal-multi-arch-value. (Closes: #616493)
* checks/files:
+ [NT] Fixed two misnamed udeb tags, which lead to an internal
error if triggered. Thanks to Guillem Jover for the report.
(Closes: #628754)
+ [NT] Added bad-perm-for-file-in-etc-sudoers.d tag.
(Closes: #588831)
+ [CW] Do not issue missing-pre-dependency-on-multiarch-support for
udebs.
+ [NT] Limit missing-pre-dependency-on-multiarch-support to real
files only. Previously it would also check symlinks.
(Closes: #629648)
* checks/java{,.desc}:
+ [NT] Sort the jar files by name, so they are checked in the same
order.
+ [NT] Improved the description of classpath-contains-relative-path.
(Closes: #629189)
+ [NT] Reduced false-positives of classpath-contains-relative-path.
Relative classpaths are now okay if they point to jar files in
/usr/share/java (but not subdirs thereof) and there is a strong
libX-java dependency. Alternatively if the classpath points to
a file or a symlink in the package itself, then it is also okay.
+ [NT] Allow maven plugins to be without classpaths.
(Closes: #629056)
* checks/manpages.desc:
+ [ADB] Don't suggest using debmake's output as a reference. The
package is not even in oldstable any more.
* checks/md5sums.desc:
+ [ADB] Drop references to obsolete debstd. Thanks to Steve Langasek
for the pointer.
* checks/rules:
+ [NT] Removed code for handling packages with dh_python.
+ [NT] Fixed the code for determining Build-Depends for python
packages. Thanks to Jakub Wilk for the patch.
(Closes: #614876, #616553)
+ [NT] Applied patch from Roger Leigh to implement the check for
rules files missing the build-arch and build-indep targets.
(Closes: #605012)
* checks/shared-libs{,.desc}:
+ [NT] Added non-empty-dependency_libs-in-la-file. (Closes: #628673)
+ [NT] Removed ldconfig-symlink-before-shlib-in-deb.
.
* collection/java:
+ [NT] Fixed a regex that would accept any file ending with "jar" to
be a jar file rather than only accepting ".jar". This fixes a
number of false-positives java checks.
* collection/unpacked:
+ [NT] Added support for unpacking source packages using libdpkg-perl,
instead of dpkg-source, if the latter is not present.
(Closes: #626476)
.
* data/binaries/multiarch-dirs:
+ [NT] New file - maps architectures to multiarch dirs.
* data/fields/{perl-provides,virtual-packages}:
+ [NT] Refreshed. (Closes: #627082, #627431)
* data/output/ftp-master-*:
+ [NT] Refreshed.
* data/shared-libs/ldconfig-dirs:
+ [NT] Updated ldconfig path for i386 multiarch paths. Thanks to
Raphaël Hertzog for the reminder.
* data/spelling/corrections-multiword:
+ [CW] Remove the "requires to" correction; it has too many common
false positives, especially involving relative clauses.
(Closes: #625886)
.
* debian/control:
+ [NT] (Build-)Dependency changes.
- xz-lzma is now preferred to lzma as Build-Dependency
- Added depends on libdpkg-perl
- Reduced dpkg-dev to a suggests, we can use libdpkg-perl as
fallback.
- Explicitly depends on bzip2 to always support bz2 source packages.
- Added xz-utils as suggests - needed for .xz source packages.
.
* doc/lintian.xml:
+ [NT] Clarify that the package type is not listed in the output for
binary packages. (Closes: #629193)
.
* frontend/lintian:
+ [NT] Allow some options to be put into the lintianrc file.
(Closes: #460350)
+ [NT] Added --no-cfg option that can be specified if no config
file should be read.
+ [NT] Deprecated --checksums (also known as --md5sums and -m).
Lintian will now always verify the checksums in changes files.
The options will be accepted with a warning for now, but may
be removed in a later release. (Closes: #629453)
+ [NT] Fixed an issue where fail was called before it was
available. Thanks to Toby Corkindale for the report.
(Closes: #630560, LP: #797553)
.
* lib/Lintian/Tag/Info.pm:
+ [NT] Output the name of the check and the type of the check
along with the description of the tag.
* lib/Lintian/Tags.pm:
+ [NT] Fixed a flaw in logic that gave incorrect results for
architecture dependent overrides. Thanks to Andreas Beckmann for
the report and the patch. (Closes: #626587)
.
* man/lintian.pod.in:
+ [NT] Mentioned that --checksums and aliases are deprecated.
.
* unpack/list-srcpkg:
+ [ADB] Don't rely on the order of fields in the Sources file. The
files produced by the Debian archive no longer follow the order
which the code previously assumed, and we shouldn't assume that
the order won't change again in the future. (Closes: #626597)
Checksums-Sha1:
0b389840ac927017e03373724f1589dcf190025b 2412 lintian_2.5.1.dsc
f0c1f42f79bbd71a753601495006e77e9df15add 934889 lintian_2.5.1.tar.gz
b6aae95d8c5f5757f3509f2ce8bfba8fa3c1dbf8 591218 lintian_2.5.1_all.deb
Checksums-Sha256:
5a4a013bfd18620e66890d91b35f06a9abe2eedd48a0b04725b6f0bcf72ef4d1 2412 lintian_2.5.1.dsc
b8812da6a1f31ed462b71d16ab39b491b75291dc7ac40bca629733dffa4726f6 934889 lintian_2.5.1.tar.gz
b6920d86725fe75f292594356071298fd173b65240159b6a3625bf1fd80174c5 591218 lintian_2.5.1_all.deb
Files:
449b2e67a7d792bcbef9203d3dc0f6c7 2412 devel optional lintian_2.5.1.dsc
8281c27f660386be3cb91dffd58173e6 934889 devel optional lintian_2.5.1.tar.gz
c34b7b14852cc1abd53d77ee29eb0d26 591218 devel optional lintian_2.5.1_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAEBCAAGBQJN+StEAAoJEAVLu599gGRC2pwP/j1tf2rT1bW6+EWH+eRgYci0
1/GQ0yBATvyEMxuynn3J0ScKExTuHDoIKEki5ZABpq1DIm1pk4Xao4G2+Fx2W/BB
GHL+7xDEGDdBDBn9CHLJNpeJIaBvZbFqR3O5U55FhHNQTPQqOCO5dY8iNW5wFSnT
DUFezYVHcKWNOaQWy9h9Wk0DGVsn4Dm1aNQG1ZtOpA7r3rs0sd+nA61GoMB8PAVK
IorF1nH1SQQdnJh/23sdc8VaKljc544MootFi+57P0LlAEzQn6eKMLQKEjq1WOHw
5hlM4/D37+xCMHoqrF2yFKdTpOvA1sVxpSatTq1z2NKI3+1uMQnPMlyPshku7EfY
i5lYcJevJ0ux80mlqZ0kW3QZHMhLZutd+rHR7zfeAq/bx+Y4NNAS+Td0NjJsDPt5
GFsoWAGinWSWipsTcovhCQv4jdfk6SjGUxHjhLnXte8zIVesCxVXVoUs2q2iIZWo
qGWSnXjAmPKt1CgiDuXtQniF81gi8B5/4oaGECUrTlZ7VPV04pzXowtaudElC1/t
O6HPkrfrPSFI/jof96mgAJbMaGdw4KH9T55kfXP3f6clkEWfn3b32dFwOEsL4tQc
kC1ehaqjeUXntf5dhuMacBhRWctuvCy1WksXUxHPVfAe20vLel09G/LYa3ErC+Dq
NXbJ1S/NJzjaFWqTEDaR
=hoYp
-----END PGP SIGNATURE-----
--- End Message ---