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

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



On 03/04/2014 12:20, Bastien ROUCARIES wrote:
> On Wed, Apr 2, 2014 at 10:52 PM, Sylvestre Ledru <sylvestre@debian.org> wrote:
>> 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.
> The description is too short and outside java programmer does not
> understand. Care to add reference even to wiki page or java policy ?
> And how to solve the problem ?
>
Here it is + rebased :)

Sorry about the delay
Sylvestre

>From da174b6c6170bf4de70c5e0ab7ea74888ae99263 Mon Sep 17 00:00:00 2001
From: Sylvestre Ledru <sylvestre@debian.org>
Date: Sat, 12 Apr 2014 18:44:37 +0200
Subject: [PATCH] [SL] Warn that the suggests/recommends on
 libservlet[\d\.]+-java is needless (Closes: #743453)

---
 checks/fields.desc                           | 13 +++++++++++++
 checks/fields.pm                             |  4 ++++
 debian/changelog                             |  2 ++
 t/tests/fields-java/debian/debian/control.in |  2 ++
 t/tests/fields-java/tags                     |  2 ++
 5 files changed, 23 insertions(+)

diff --git a/checks/fields.desc b/checks/fields.desc
index b427ca0..a04c254 100644
--- a/checks/fields.desc
+++ b/checks/fields.desc
@@ -1222,3 +1222,16 @@ 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 or recommend libservlet-java
+ Java servlets are only used in the context of a server (example: Tomcat or
+ Jetty). This server will have this dependency and will take care of the
+ loading of this package with the right libservlet.
+ .
+ Removing this dependency will fix this warning.
+ .
+ If there is otherwise a valid reason for this suggestion or recommendation,
+ please override the tag.
diff --git a/checks/fields.pm b/checks/fields.pm
index 3ec9a53..f245dc4 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/debian/changelog b/debian/changelog
index 1fb1330..e0c631f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -24,6 +24,8 @@ lintian (2.5.22.2) UNRELEASED; urgency=medium
       /usr/share/java and the package name matches
       lib.*maven.*plugin.*java.
     + [SL] Catch uses of Java8 byte code
+    + [SL] Warn that the suggests/recommends on libservlet[\d\.]+-java is
+      needless (Closes: #743453)
   * data/java/constants:
     + [SL] introduce this file to specify JDK values
 
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.1


Reply to: