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

[lintian] 01/01: Warn about changelog files that are too short. Thanks to Adrian Bunk for the suggestion. (Closes: #890920)



This is an automated email from the git hooks/post-receive script.

lamby pushed a commit to branch master
in repository lintian.

commit e19c3b1343c76db16778b89d1129cdfdda55cd4c
Author: Chris Lamb <lamby@debian.org>
Date:   Wed Feb 21 15:54:10 2018 +0000

    Warn about changelog files that are too short. Thanks to Adrian Bunk for the suggestion. (Closes: #890920)
---
 checks/changelog-file.desc                         | 22 ++++++++++++++++++++++
 checks/changelog-file.pm                           |  5 ++++-
 debian/changelog                                   |  3 +++
 .../debian/debian/changelog.in                     | 14 ++++++++++++++
 t/tests/changelog-file-line-too-short/desc         |  8 ++++++++
 t/tests/changelog-file-line-too-short/tags         |  4 ++++
 6 files changed, 55 insertions(+), 1 deletion(-)

diff --git a/checks/changelog-file.desc b/checks/changelog-file.desc
index 1dff2df..2acb75a 100644
--- a/checks/changelog-file.desc
+++ b/checks/changelog-file.desc
@@ -351,6 +351,28 @@ Info: The given line of the latest changelog entry is over 80 columns.
  messages and be annoying to read.  Please wrap changelog entries at 80
  columns or less where possible.
 
+Tag: debian-changelog-line-too-short
+Severity: pedantic
+Certainty: possible
+Info: The given line of the latest changelog entry appears to contain a
+ very terse entry.
+ .
+ This can make it hard for others to understand the changelog entry.
+ Please keep in mind that:
+ .
+  * It is not uncommon that people read changelog entries that are more
+    than a decade old to understand why a change was made or why a
+    package works in a specific way.
+  * Many users will read the changelog via
+    <tt>apt-listchanges(1)</tt>
+  * The information in <tt>debian/changelog</tt> is permanent.
+ .
+ Examples for too short entries include "dh 11" or simply "R³" - these
+ could be expanded to, for example:
+ .
+  * Switch to debhelper compat 11.
+  * Rules-Requires-Root: no
+
 Tag: changelog-news-debian-mismatch
 Severity: normal
 Certainty: possible
diff --git a/checks/changelog-file.pm b/checks/changelog-file.pm
index 210d75e..7dd61c9 100644
--- a/checks/changelog-file.pm
+++ b/checks/changelog-file.pm
@@ -482,9 +482,12 @@ sub run {
         # length check.
         my @lines = split("\n", decode('utf-8', $changes));
         for my $i (0 .. $#lines) {
+            my $line = $i + $chloff;
+            tag 'debian-changelog-line-too-short', $1, "(line $line)"
+              if $lines[$i] =~ /^   [*]\s(.{1,5})$/;
             if (length($lines[$i]) > 81
                 and $lines[$i] !~ /^[\s.o*+-]*(?:[Ss]ee:?\s+)?\S+$/) {
-                tag 'debian-changelog-line-too-long', 'line ' . ($i + $chloff);
+                tag 'debian-changelog-line-too-long', "line $line";
             }
         }
 
diff --git a/debian/changelog b/debian/changelog
index 9641dd3..383fe46 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,9 @@ lintian (2.5.76) UNRELEASED; urgency=medium
       of "header" terminology (versus "field", etc.) in descriptions and
       tag names.  Thanks!  (Closes: #890959)
 
+  * checks/changelog-file.{desc,pm}:
+    + [CL] Warn about changelog files that are too short.  Thanks to Adrian
+      Bunk for the suggestion.  (Closes: #890920)
   * checks/cruft.pm:
     + [CL] Avoid false-positives in Jush's syntax highlighting definition
       files.
diff --git a/t/tests/changelog-file-line-too-short/debian/debian/changelog.in b/t/tests/changelog-file-line-too-short/debian/debian/changelog.in
new file mode 100644
index 0000000..2ba39b5
--- /dev/null
+++ b/t/tests/changelog-file-line-too-short/debian/debian/changelog.in
@@ -0,0 +1,14 @@
+{$source} ({$version}) unstable; urgency=low
+
+  * Suppress "should close ITP bug" messages.  (Closes: #123456)
+
+  * The following lines are too short.
+  * R³
+  * dh 11
+  * 12345
+
+  * The following entries are long enough.
+  * dh 11.
+  * 123456
+
+ -- {$author}  {$date}
diff --git a/t/tests/changelog-file-line-too-short/desc b/t/tests/changelog-file-line-too-short/desc
new file mode 100644
index 0000000..1cc7733
--- /dev/null
+++ b/t/tests/changelog-file-line-too-short/desc
@@ -0,0 +1,8 @@
+Testname: changelog-file-line-too-short
+Type: non-native
+Options: --pedantic
+Skeleton: pedantic
+Version: 1.0-1
+Description: Test for short changelog entries
+Test-For:
+ debian-changelog-line-too-short
diff --git a/t/tests/changelog-file-line-too-short/tags b/t/tests/changelog-file-line-too-short/tags
new file mode 100644
index 0000000..18a368b
--- /dev/null
+++ b/t/tests/changelog-file-line-too-short/tags
@@ -0,0 +1,4 @@
+P: changelog-file-line-too-short source: debian-watch-does-not-check-gpg-signature
+P: changelog-file-line-too-short: debian-changelog-line-too-short 12345 (line 8)
+P: changelog-file-line-too-short: debian-changelog-line-too-short R³ (line 6)
+P: changelog-file-line-too-short: debian-changelog-line-too-short dh 11 (line 7)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git


Reply to: