Bug#838195: lintian: Check for PACKAGE.maintscript files that include "maint-script-parameters".
Package: lintian
Severity: wishlist
Tags: patch
Hi,
Attached is the following:
commit 767c26eb22eb0b7ee5ed04ef06be9daed12446e3
Author: Chris Lamb <lamby@debian.org>
Date: Sun Sep 18 11:19:14 2016 +0100
Check for PACKAGE.maintscript files that include "maint-script-parameters".
checks/debhelper.desc | 8 ++++++++
checks/debhelper.pm | 10 ++++++++++
.../debian/debian/maintscript | 2 ++
t/tests/maintscript-includes-maint-script-parameters/desc | 6 ++++++
t/tests/maintscript-includes-maint-script-parameters/tags | 1 +
5 files changed, 27 insertions(+)
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby@debian.org / chris-lamb.co.uk
`-
>From 767c26eb22eb0b7ee5ed04ef06be9daed12446e3 Mon Sep 17 00:00:00 2001
From: Chris Lamb <lamby@debian.org>
Date: Sun, 18 Sep 2016 11:19:14 +0100
Subject: [PATCH] Check for PACKAGE.maintscript files that include
"maint-script-parameters".
---
checks/debhelper.desc | 8 ++++++++
checks/debhelper.pm | 10 ++++++++++
.../debian/debian/maintscript | 2 ++
t/tests/maintscript-includes-maint-script-parameters/desc | 6 ++++++
t/tests/maintscript-includes-maint-script-parameters/tags | 1 +
5 files changed, 27 insertions(+)
create mode 100644 t/tests/maintscript-includes-maint-script-parameters/debian/debian/maintscript
create mode 100644 t/tests/maintscript-includes-maint-script-parameters/desc
create mode 100644 t/tests/maintscript-includes-maint-script-parameters/tags
diff --git a/checks/debhelper.desc b/checks/debhelper.desc
index 9b9d046..3317d56 100644
--- a/checks/debhelper.desc
+++ b/checks/debhelper.desc
@@ -361,3 +361,11 @@ Info: The listed target in debian/rules command is a likely misspelling.
Implementation detail: The typo is detected by using "Levenshtein
edit distance". Therefore, if the typo involve several characters,
Lintian may not detect it.
+
+Tag: maintscript-includes-maint-script-parameters
+Severity: normal
+Certainty: possible
+Info: Lines in a <tt>debian/*.maintscript</tt> correspond to
+ <tt>dpkg-maintscript-helper(1)</tt> commands and parameters. However, the
+ "maint-script-parameters" should not be included as debhelper will add those
+ automatically. See <tt>dh_installdeb(1)</tt> for more information.
diff --git a/checks/debhelper.pm b/checks/debhelper.pm
index ad80fc8..be8fd25 100644
--- a/checks/debhelper.pm
+++ b/checks/debhelper.pm
@@ -354,6 +354,16 @@ sub run {
_tag_if_executable($file);
} elsif ($basename =~ m/^ex\.|\.ex$/i) {
tag 'dh-make-template-in-source', $file;
+ } elsif ($basename =~ m/^(?:(.*)\.)?maintscript$/) {
+ next unless $file->is_open_ok;
+ my $fd = $file->open;
+ while (<$fd>) {
+ if (m/-- "\$@"\s*$/) {
+ tag 'maintscript-includes-maint-script-parameters',
+ $basename, "(line $.)";
+ }
+ }
+ close($fd);
} elsif ($basename =~ m/^(?:.+\.)?debhelper(?:\.log)?$/){
# The regex matches "debhelper", but debhelper/Dh_Lib does not
# make those, so skip it.
diff --git a/t/tests/maintscript-includes-maint-script-parameters/debian/debian/maintscript b/t/tests/maintscript-includes-maint-script-parameters/debian/debian/maintscript
new file mode 100644
index 0000000..9d5ecd5
--- /dev/null
+++ b/t/tests/maintscript-includes-maint-script-parameters/debian/debian/maintscript
@@ -0,0 +1,2 @@
+rm_conffile /etc/correct.conf 0.2~ foo
+rm_conffile /etc/incorrect.conf 0.2~ foo -- "$@"
diff --git a/t/tests/maintscript-includes-maint-script-parameters/desc b/t/tests/maintscript-includes-maint-script-parameters/desc
new file mode 100644
index 0000000..0313ac0
--- /dev/null
+++ b/t/tests/maintscript-includes-maint-script-parameters/desc
@@ -0,0 +1,6 @@
+Testname: maintscript-includes-maint-script-parameters
+Sequence: 6000
+Version: 1.0
+Description: Check for dh_installdeb .maintscript files
+Test-For:
+ maintscript-includes-maint-script-parameters
diff --git a/t/tests/maintscript-includes-maint-script-parameters/tags b/t/tests/maintscript-includes-maint-script-parameters/tags
new file mode 100644
index 0000000..ca38ca0
--- /dev/null
+++ b/t/tests/maintscript-includes-maint-script-parameters/tags
@@ -0,0 +1 @@
+W: maintscript-includes-maint-script-parameters source: maintscript-includes-maint-script-parameters maintscript (line 2)
--
2.9.3
Reply to: