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

Bug#743453: lintian: Detect needless suggests/recommends on libservlet[\d\.]+-java



Package: lintian
Version: 2.5.21
Severity: wishlist

Hello,

The attached patch detects if a package suggests/recommends
libservlet[\d\.]+-java.
They are actually useless because managed by the web container
and complexify the transition process.

Thanks,
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.12-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-4
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.30-7
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-1+b2
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-2+b1
ii  t1utils                        1.37-2

Versions of packages lintian recommends:
pn  libperlio-gzip-perl             <none>
ii  perl-modules [libautodie-perl]  5.18.2-2

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 c88f7abc841ba210ec5121bcd1a06a8874dd9888 Mon Sep 17 00:00:00 2001
From: Sylvestre Ledru <sylvestre@debian.org>
Date: Wed, 2 Apr 2014 22:48:32 +0200
Subject: [PATCH] [SL] Warn that the suggests/recommends on
 libservlet[\d\.]+-java is needless

---
 checks/fields.desc                           | 6 ++++++
 checks/fields.pm                             | 4 ++++
 checks/java.pm                               | 2 +-
 debian/changelog                             | 2 ++
 t/tests/fields-java/debian/debian/control.in | 2 ++
 t/tests/fields-java/tags                     | 2 ++
 6 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/checks/fields.desc b/checks/fields.desc
index 552d0e4..0606246 100644
--- a/checks/fields.desc
+++ b/checks/fields.desc
@@ -1222,3 +1222,9 @@ Info: The implementation of the "Debian Maintainers" GR has changed
  .
  Instead these permissions are granted via "dak-commands" files.
 Ref: https://lists.debian.org/debian-devel-announce/2012/09/msg00008.html
+
+Tag: needless-suggest-recommend-libservlet-java
+Severity: normal
+Certainty: certain
+Info: Package should not suggest of recommend libservlet-java
+ This is going to be handle by the web container.
diff --git a/checks/fields.pm b/checks/fields.pm
index 0619349..bc44729 100644
--- a/checks/fields.pm
+++ b/checks/fields.pm
@@ -804,6 +804,10 @@ sub run {
                         && $d_pkg eq 'packaging-dev'
                         && !$info->is_pkg_class('any-meta'));
 
+                    tag 'needless-suggest-recommend-libservlet-java', "$d_pkg"
+                      if ( ( $field eq 'recommends' || $field eq 'suggests')
+                        && $d_pkg =~ m/libservlet[\d\.]+-java/);
+
                     tag 'needlessly-depends-on-awk', $field
                       if ( $d_pkg eq 'awk'
                         && !$d_version->[0]
diff --git a/checks/java.pm b/checks/java.pm
index 4ed60cd..e47e62d 100644
--- a/checks/java.pm
+++ b/checks/java.pm
@@ -222,7 +222,7 @@ sub run {
         tag 'missing-classpath', join(', ', @java_lib_depends);
     }
 
-    if (!$has_public_jars && $pkg =~ /^lib[^\s,]+-java$/ && $pkg !~ /^lib.*maven.*plugin.*java$/) {
+    if (!$has_public_jars && $pkg =~ /^lib[^\s,]+-java$/ && $pkg !~ /^lib.*maven.*plugin.*/) {
         # Skip this warning if the package name indicates that it is a maven plugin.
 
         # Skip this if it installs a symlink in usr/share/java
diff --git a/debian/changelog b/debian/changelog
index f11dfd8..17b5451 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,8 @@ lintian (2.5.22.2) UNRELEASED; urgency=medium
     + [SL] Catch uses of Java8 byte code
     + [SL] Do not trigger a warning when a jar is not in /usr/share/java and
       the package name matches lib.*maven.*plugin.*java
+    + [SL] Warn that the suggests/recommends on libservlet[\d\.]+-java is
+      needless
 
  -- Bastien Roucariès <roucaries.bastien+debian@gmail.com>  Mon, 31 Mar 2014 18:52:04 +0200
 
diff --git a/t/tests/fields-java/debian/debian/control.in b/t/tests/fields-java/debian/debian/control.in
index 5125554..7c068b0 100644
--- a/t/tests/fields-java/debian/debian/control.in
+++ b/t/tests/fields-java/debian/debian/control.in
@@ -11,6 +11,8 @@ Depends: $\{misc:Depends\},
          default-jre-headless | java-runtime-headless |
          java2-runtime-headless | kaffe | gcj-jdk |
          openjdk-6-jre | gcj-4.5-jre
+Suggests: libservlet2.5-java
+Recommends: libservlet3.0-java
 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
diff --git a/t/tests/fields-java/tags b/t/tests/fields-java/tags
index 77ba9af..1486627 100644
--- a/t/tests/fields-java/tags
+++ b/t/tests/fields-java/tags
@@ -6,3 +6,5 @@ W: fields-java source: build-depends-on-specific-java-doc-package openjdk-6-doc
 W: fields-java source: virtual-package-depends-without-real-package-depends build-depends: java-compiler
 W: libfields-java-java-doc: depends-on-specific-java-doc-package recommends
 W: libfields-java-java: needless-dependency-on-jre
+W: libfields-java-java: needless-suggest-recommend-libservlet-java libservlet2.5-java
+W: libfields-java-java: needless-suggest-recommend-libservlet-java libservlet3.0-java
-- 
1.9.0.279.gdc9e3eb


Reply to: