[lintian] 01/01: checks/debhelper.{desc, pm}: Warn about warn packages that use about dh_systemd_enable or dh_systemd_start overrides whilst using debhelper compat level 11 as they are no longer being called. (Closes: #887899)
This is an automated email from the git hooks/post-receive script.
lamby pushed a commit to branch master
in repository lintian.
commit c96ea19be9a9f3c4d2cd52075b9627a7de258bb7
Author: Chris Lamb <lamby@debian.org>
Date: Mon Jan 22 12:54:16 2018 +1100
checks/debhelper.{desc,pm}: Warn about warn packages that use about dh_systemd_enable or dh_systemd_start overrides whilst using debhelper compat level 11 as they are no longer being called. (Closes: #887899)
---
checks/debhelper.desc | 14 ++++++++++++++
checks/debhelper.pm | 9 +++++++++
debian/changelog | 5 +++++
.../debian/debian/rules | 10 ++++++++++
t/tests/rules-uses-deprecated-systemd-override/desc | 5 +++++
t/tests/rules-uses-deprecated-systemd-override/tags | 2 ++
6 files changed, 45 insertions(+)
diff --git a/checks/debhelper.desc b/checks/debhelper.desc
index fb23fd7..915c5df 100644
--- a/checks/debhelper.desc
+++ b/checks/debhelper.desc
@@ -406,3 +406,17 @@ Info: The package (for example) <tt>dh $@ --with quilt</tt> in
source format via the <tt>debian/source/format</tt> file.
.
Please remove the <tt>--with quilt</tt> argument.
+
+Tag: debian-rules-uses-deprecated-systemd-override
+Severity: serious
+Certainty: certain
+Info: The <tt>debian/rules</tt> file for this package has an
+ <tt>override_dh_systemd_enable</tt> or <tt>override_dh_systemd_start</tt>
+ target but the package uses debhelper compatibility level 11.
+ .
+ The <tt>dh_systemd_{enable,start}</tt> commands were deprecated in this
+ compat level and are no longer called. This is likely to cause your
+ package to not function as intended.
+ .
+ Please replace these with calls to <tt>dh_installsystemd</tt>.
+Ref: debhelper(7)
diff --git a/checks/debhelper.pm b/checks/debhelper.pm
index 793d399..d70f319 100644
--- a/checks/debhelper.pm
+++ b/checks/debhelper.pm
@@ -66,6 +66,7 @@ sub run {
my $seen_dh = 0;
my $seen_python_helper = 0;
my $seen_python3_helper = 0;
+ my %overrides;
$drules = $droot->child('rules') if $droot;
@@ -195,6 +196,7 @@ sub run {
# Can be multiple targets per rule.
while ($targets =~ /\boverride_(dh_[^\s]+)/g) {
my $dhcommand = $1;
+ $overrides{$dhcommand} = $.;
# If maintainer is using wildcards, it's unlikely to be a typo.
next if ($dhcommand =~ /%/);
next if ($dh_commands_depends->known($dhcommand));
@@ -322,6 +324,13 @@ sub run {
tag 'dh-clean-k-is-deprecated';
}
+ for my $suffix (qw(enable start)) {
+ my $line = $overrides{"dh_systemd_$suffix"};
+ tag 'debian-rules-uses-deprecated-systemd-override',
+ "override_dh_systemd_$suffix", "(line $line)"
+ if $line and $level >= 11;
+ }
+
# Check the files in the debian directory for various debhelper-related
# things.
for my $file ($droot->children) {
diff --git a/debian/changelog b/debian/changelog
index 2c6b6c9..96e261f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,11 @@ lintian (2.5.72) UNRELEASED; urgency=medium
XXX: generate tag summary
+ * checks/debhelper.{desc,pm}:
+ + [CL] Warn about warn packages that use about dh_systemd_enable or
+ dh_systemd_start overrides whilst using debhelper compat level 11 as
+ they are no longer being called. (Closes: #887899)
+
-- Chris Lamb <lamby@debian.org> Sun, 21 Jan 2018 16:42:25 +1100
lintian (2.5.71) unstable; urgency=medium
diff --git a/t/tests/rules-uses-deprecated-systemd-override/debian/debian/rules b/t/tests/rules-uses-deprecated-systemd-override/debian/debian/rules
new file mode 100755
index 0000000..2ebf950
--- /dev/null
+++ b/t/tests/rules-uses-deprecated-systemd-override/debian/debian/rules
@@ -0,0 +1,10 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@
+
+override_dh_systemd_enable:
+ dh_systemd_enable
+
+override_dh_systemd_start:
+ dh_systemd_start
diff --git a/t/tests/rules-uses-deprecated-systemd-override/desc b/t/tests/rules-uses-deprecated-systemd-override/desc
new file mode 100644
index 0000000..dbaefb3
--- /dev/null
+++ b/t/tests/rules-uses-deprecated-systemd-override/desc
@@ -0,0 +1,5 @@
+Testname: rules-uses-deprecated-systemd-override
+Version: 1.0
+Description: Test for override_dh_systemd_enable with compat levels 11
+Test-For:
+ debian-rules-uses-deprecated-systemd-override
diff --git a/t/tests/rules-uses-deprecated-systemd-override/tags b/t/tests/rules-uses-deprecated-systemd-override/tags
new file mode 100644
index 0000000..c476e17
--- /dev/null
+++ b/t/tests/rules-uses-deprecated-systemd-override/tags
@@ -0,0 +1,2 @@
+E: rules-uses-deprecated-systemd-override source: debian-rules-uses-deprecated-systemd-override override_dh_systemd_enable (line 6)
+E: rules-uses-deprecated-systemd-override source: debian-rules-uses-deprecated-systemd-override override_dh_systemd_start (line 9)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git
Reply to: