Package: lintian Version: 2.5.113 Severity: normal Tags: patch Dear Maintainer,
When debian/rules includes a make prefix in front of dh, the use of dh isn’t recognised and lintian reports package-does-not-use-debhelper-or-cdbs. The attached patch fixes this. Regards, Stephen -- System Information: Debian Release: 9.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-debug'), (500, 'stable'), (100, 'unstable-debug'), (100, 'testing-debug'), (100, 'unstable'), (100, 'testing'), (1, 'experimental-debug'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.9.0-8-amd64 (SMP w/8 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages lintian depends on: ii binutils 2.28-5 ii bzip2 1.0.6-8.1 ii diffstat 1.61-1+b1 ii dpkg 1.18.25 ii dpkg-dev 1.18.25 ii file 1:5.30-1+deb9u2 ii gettext 0.19.8.1-2 ii gnupg [gpg] 2.1.18-8~deb9u3 ii intltool-debian 0.35.0+20060710.4 ii libapt-pkg-perl 0.1.32 ii libarchive-zip-perl 1.59-1+deb9u1 ii libcgi-pm-perl 4.35-1 ii libclass-accessor-perl 0.34-1 ii libclone-perl 0.38-2+b1 ii libdigest-sha-perl 5.96-1+b1 ii libdpkg-perl 1.18.25 ii libemail-valid-perl 1.202-1 ii libfile-basedir-perl 0.07-1 ii libipc-run-perl 0.94-1+deb9u1 ii liblist-moreutils-perl 0.416-1+b1 ii libparse-debianchangelog-perl 1.2.0-12 ii libperl5.24 [libdigest-sha-perl] 5.24.1-3+deb9u4 ii libtext-levenshtein-perl 0.13-1 ii libtimedate-perl 2.3000-2 ii liburi-perl 1.71-1 ii libxml-simple-perl 2.22-1 ii libyaml-libyaml-perl 0.63-2 ii man-db 2.7.6.1-2 ii patchutils 0.3.4-2 ii perl 5.24.1-3+deb9u4 ii t1utils 1.39-2 ii xz-utils 5.2.2-1.2+b1 Versions of packages lintian recommends: ii libperlio-gzip-perl 0.19-1+b2 Versions of packages lintian suggests: pn binutils-multiarch <none> ii libhtml-parser-perl 3.72-3 ii libtext-template-perl 1.46-1 -- no debconf information
>From a36de5d0924aa9df78dba247d2b778951aa44a0f Mon Sep 17 00:00:00 2001 From: Stephen Kitt <sk...@debian.org> Date: Sat, 24 Nov 2018 16:25:48 +0100 Subject: [PATCH] Avoid false positives with make prefixes on dh debian/rules which use a - or + prefix on dh trigger package-does-not-use-debhelper-or-cdbs. This patch allows - or + in front of dh and includes appropriate unit tests. Signed-off-by: Stephen Kitt <sk...@debian.org> --- checks/debhelper.pm | 4 ++-- .../debian/debian/control.in | 14 ++++++++++++++ .../debian/debian/rules | 7 +++++++ .../desc | 6 ++++++ .../tags | 2 ++ .../debian/debian/control.in | 14 ++++++++++++++ .../debian/debian/rules | 7 +++++++ .../debhelper-package-uses-debhelper-with-prefix-plus/desc | 6 ++++++ .../debhelper-package-uses-debhelper-with-prefix-plus/tags | 2 ++ 9 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 t/tests/debhelper-package-uses-debhelper-with-prefix-minus/debian/debian/control.in create mode 100755 t/tests/debhelper-package-uses-debhelper-with-prefix-minus/debian/debian/rules create mode 100644 t/tests/debhelper-package-uses-debhelper-with-prefix-minus/desc create mode 100644 t/tests/debhelper-package-uses-debhelper-with-prefix-minus/tags create mode 100644 t/tests/debhelper-package-uses-debhelper-with-prefix-plus/debian/debian/control.in create mode 100755 t/tests/debhelper-package-uses-debhelper-with-prefix-plus/debian/debian/rules create mode 100644 t/tests/debhelper-package-uses-debhelper-with-prefix-plus/desc create mode 100644 t/tests/debhelper-package-uses-debhelper-with-prefix-plus/tags diff --git a/checks/debhelper.pm b/checks/debhelper.pm index 3b3c67e7b..810226f00 100644 --- a/checks/debhelper.pm +++ b/checks/debhelper.pm @@ -87,7 +87,7 @@ sub run { } next if /^\s*\#/; - if (m/^\s+-?(dh_\S+)/) { + if (m/^\s+[@+-]?(dh_\S+)/) { my $dhcommand = $1; $build_systems{'debhelper'} = 1 if not exists($build_systems{'dh'}); @@ -131,7 +131,7 @@ sub run { } $seencommand = 1; $needbuilddepends = 1; - } elsif (m,^\s+dh\s+,) { + } elsif (m,^\s+[@+-]?dh\s+,) { $build_systems{'dh'} = 1; delete($build_systems{'debhelper'}); $seen_dh = 1; diff --git a/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/debian/debian/control.in b/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/debian/debian/control.in new file mode 100644 index 000000000..28b7d974a --- /dev/null +++ b/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/debian/debian/control.in @@ -0,0 +1,14 @@ +Source: {$source} +Priority: optional +Section: {$section} +Maintainer: {$author} +Standards-Version: {$standards_version} +Build-Depends: {$build_depends} +Rules-Requires-Root: binary-targets + +Package: {$source} +Architecture: {$package_architecture} +Description: {$description} + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. diff --git a/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/debian/debian/rules b/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/debian/debian/rules new file mode 100755 index 000000000..42680a88b --- /dev/null +++ b/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/debian/debian/rules @@ -0,0 +1,7 @@ +#!/usr/bin/make -f + +PKG = debhelper-package-uses-debhelper-with-prefix-minus +DOCS = debian/tmp/usr/share/doc/$(PKG) + +%: + -dh $@ diff --git a/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/desc b/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/desc new file mode 100644 index 000000000..9e337d2a0 --- /dev/null +++ b/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/desc @@ -0,0 +1,6 @@ +Testname: debhelper-package-uses-debhelper-with-prefix-minus +Version: 1.0 +Description: Test for packages using debhelper with a - prefix +Options: --pedantic -I +Test-Against: + package-does-not-use-debhelper-or-cdbs diff --git a/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/tags b/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/tags new file mode 100644 index 000000000..32e7485b4 --- /dev/null +++ b/t/tests/debhelper-package-uses-debhelper-with-prefix-minus/tags @@ -0,0 +1,2 @@ +W: debhelper-package-uses-debhelper-with-prefix-minus source: debhelper-but-no-misc-depends debhelper-package-uses-debhelper-with-prefix-minus +W: debhelper-package-uses-debhelper-with-prefix-minus: empty-binary-package diff --git a/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/debian/debian/control.in b/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/debian/debian/control.in new file mode 100644 index 000000000..28b7d974a --- /dev/null +++ b/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/debian/debian/control.in @@ -0,0 +1,14 @@ +Source: {$source} +Priority: optional +Section: {$section} +Maintainer: {$author} +Standards-Version: {$standards_version} +Build-Depends: {$build_depends} +Rules-Requires-Root: binary-targets + +Package: {$source} +Architecture: {$package_architecture} +Description: {$description} + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. diff --git a/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/debian/debian/rules b/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/debian/debian/rules new file mode 100755 index 000000000..294002eac --- /dev/null +++ b/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/debian/debian/rules @@ -0,0 +1,7 @@ +#!/usr/bin/make -f + +PKG = debhelper-package-uses-debhelper-with-prefix-plus +DOCS = debian/tmp/usr/share/doc/$(PKG) + +%: + +dh $@ diff --git a/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/desc b/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/desc new file mode 100644 index 000000000..67704273e --- /dev/null +++ b/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/desc @@ -0,0 +1,6 @@ +Testname: debhelper-package-uses-debhelper-with-prefix-plus +Version: 1.0 +Description: Test for packages using debhelper with a + prefix +Options: --pedantic -I +Test-Against: + package-does-not-use-debhelper-or-cdbs diff --git a/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/tags b/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/tags new file mode 100644 index 000000000..94312102e --- /dev/null +++ b/t/tests/debhelper-package-uses-debhelper-with-prefix-plus/tags @@ -0,0 +1,2 @@ +W: debhelper-package-uses-debhelper-with-prefix-plus source: debhelper-but-no-misc-depends debhelper-package-uses-debhelper-with-prefix-plus +W: debhelper-package-uses-debhelper-with-prefix-plus: empty-binary-package -- 2.11.0