Package: lintian Version: 2.5.24 Severity: normal Hello,
The attached patch implements a comparison of the description and the package name. If it is the same, we trigger a 'description-is-pkg-name' warning. For example, we have this with: acoustid-fingerprinter Acoustid fingerprinter Note that the patch in bug #756643 must be applied first. Cheers, Sylvestre -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (900, 'testing'), (600, 'unstable'), (500, 'stable-updates'), (500, 'stable'), (300, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.13-1-amd64 (SMP w/4 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages lintian depends on: ii binutils 2.24.51.20140604-3 ii bzip2 1.0.6-5 ii diffstat 1.58-1 ii file 1:5.17-1 ii gettext 0.18.3.2-1 ii hardening-includes 2.5 ii intltool-debian 0.35.0+20060710.1 ii libapt-pkg-perl 0.1.29+b1 ii libarchive-zip-perl 1.37-2 ii libclass-accessor-perl 0.34-1 ii libclone-perl 0.36-1 ii libdpkg-perl 1.17.6 ii libemail-valid-perl 1.192-1 ii libfile-basedir-perl 0.03-1 ii libipc-run-perl 0.92-1 ii liblist-moreutils-perl 0.33-2 ii libparse-debianchangelog-perl 1.2.0-1 ii libtext-levenshtein-perl 0.06~01-2 ii libtimedate-perl 2.3000-1 ii liburi-perl 1.60-1 ii man-db 2.6.6-1 ii patchutils 0.3.2-3 ii perl [libdigest-sha-perl] 5.18.2-7 ii t1utils 1.37-2 Versions of packages lintian recommends: pn libperlio-gzip-perl <none> ii perl-modules [libautodie-perl] 5.18.2-7 Versions of packages lintian suggests: pn binutils-multiarch <none> ii dpkg-dev 1.17.6 ii libhtml-parser-perl 3.71-1+b1 pn libtext-template-perl <none> pn libyaml-perl <none> ii xz-utils 5.1.1alpha+20120614-2 -- no debconf information
>From 4c5fd8a61707dc422c21368ed6eab0330f1b5d6c Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru <sylves...@debian.org> Date: Thu, 7 Aug 2014 20:34:54 +0200 Subject: [PATCH] [SL] Check if the short description is the same as the package name. --- checks/description.desc | 7 +++++++ checks/description.pm | 6 ++++++ debian/changelog | 1 + t/tests/description-general/debian/debian/control.in | 18 ++++++++++++++++++ t/tests/description-general/tags | 3 +++ 5 files changed, 35 insertions(+) diff --git a/checks/description.desc b/checks/description.desc index 8753436..fee50a0 100644 --- a/checks/description.desc +++ b/checks/description.desc @@ -38,6 +38,13 @@ Ref: devref 6.2.2 Info: The description contains only a single word. It is likely that the description won't be very clear for the user. +Tag: description-is-pkg-name +Severity: serious +Certainty: certain +Ref: devref 6.2.2 +Info: The description is the same the package name. A better description should + be provided for the user. + Tag: extended-description-is-probably-too-short Severity: minor Certainty: possible diff --git a/checks/description.pm b/checks/description.pm index 8d61878..bf9e551 100644 --- a/checks/description.pm +++ b/checks/description.pm @@ -81,6 +81,12 @@ sub run { if (($wordcount = $synopsis =~ s/((^|\s)\S)/$1/g) == 1) { tag 'description-too-short'; } + my $pkg_fmt = lc $pkg; + $pkg_fmt =~ s/[-_]/ /g; + if ($pkg_fmt eq $synopsis) { + tag 'description-is-pkg-name', $synopsis; + } + # We have to decode into UTF-8 to get the right length for the # length check. If the changelog uses a non-UTF-8 encoding, diff --git a/debian/changelog b/debian/changelog index dd7626e..f823b9e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -37,6 +37,7 @@ lintian (2.5.26) UNRELEASED; urgency=medium + [BR] Update ref url. (Closes: #755275). * checks/description.{desc,pm}: + [SL] Check for one word short description. + + [SL] Check if the short description is the same as the package name. * data/cruft/warn-file-type: + [BR] Add debug source suffix for detecting javascript diff --git a/t/tests/description-general/debian/debian/control.in b/t/tests/description-general/debian/debian/control.in index bbc6986..cef4661 100644 --- a/t/tests/description-general/debian/debian/control.in +++ b/t/tests/description-general/debian/debian/control.in @@ -75,6 +75,24 @@ Description: Short . And a third. (dummy) +Package: foo-duplicate +Architecture: {$architecture} +Depends: $\{shlibs:Depends\}, $\{misc:Depends\} +Description: foo duplicate + The description is the same as the package name. + A real description would be appreciated + . + And a third. (dummy) + +Package: foo-bar-duplicate +Architecture: {$architecture} +Depends: $\{shlibs:Depends\}, $\{misc:Depends\} +Description: foo bar duplicate + The description is the same as the package name. + A real description would be appreciated + . + And a third. (dummy) + Package: {$source}-dummy Section: oldlibs Architecture: {$architecture} diff --git a/t/tests/description-general/tags b/t/tests/description-general/tags index 321c314..0e3afce 100644 --- a/t/tests/description-general/tags +++ b/t/tests/description-general/tags @@ -7,6 +7,9 @@ E: description-general: description-contains-invalid-control-statement E: description-general: description-contains-tabs E: description-general: description-is-debmake-template E: description-general: description-starts-with-package-name +E: foo-bar-duplicate: description-is-pkg-name foo bar duplicate +E: foo-duplicate: description-is-pkg-name foo duplicate +I: description-general source: duplicate-long-description foo-duplicate foo-bar-duplicate I: description-general-3: using-first-person-in-description line 5: I I: description-general-4: capitalization-error-in-description debian Debian I: description-general-syn-spelling: capitalization-error-in-description-synopsis debian Debian -- 2.0.1