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

Bug#834290: Warn about libraries with excessive priority?



On Sat, Dec 16, 2017 at 09:51:48AM +0000, Chris Lamb wrote:
> Fixed in Git:
> 
>   https://anonscm.debian.org/git/lintian/lintian.git/commit/?id=588cbc9069b53c8be4ca6e66e010cfb507b095e6

Thanks for the fix; however, this doesn't look like it covers the cases I
originally reported. This covers packages matching /^lib.+-dev$/ in
section "libdevel"; I certainly agree that the tag also applies there.
However, I originally proposed also applying this to packages in section
"libs" matching /^lib/ and not /-bin$/ , and I reviewed every package
matching that test to make sure there were no false positives.

I've attached a patch implementing this.

- Josh Triplett
>From 48c06e8d04bf8ba5e4e7c96f0e6243faa1fe5d44 Mon Sep 17 00:00:00 2001
From: Josh Triplett <josh@joshtriplett.org>
Date: Sat, 16 Dec 2017 09:12:16 -0800
Subject: [PATCH] excessive-priority-for-library-package: Handle non-dev
 packages too

Exclude packages ending in -bin (for libc-bin and future-proofing) and
libc packages.

Expand the test accordingly.
---
 checks/fields.pm                                   |  6 +++--
 .../debian/debian/control.in                       | 27 +++++++++++++++++++++-
 .../tags                                           |  1 +
 3 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/checks/fields.pm b/checks/fields.pm
index f5cb67123..37c4a906d 100644
--- a/checks/fields.pm
+++ b/checks/fields.pm
@@ -593,8 +593,10 @@ sub run {
           unless $KNOWN_PRIOS->known($priority);
 
         tag 'excessive-priority-for-library-package', $priority
-          if $pkg =~ m/^lib.+-dev$/o
-          and $info->field('section', '') eq 'libdevel'
+          if $pkg =~ m/^lib/o
+          and $pkg !~ m/-bin$/o
+          and $pkg !~ m/^libc[0-9.]+$/o
+          and any { $_ eq $info->field('section', '') } qw(libdevel libs)
           and any { $_ eq $priority } qw(required important standard);
     }
 
diff --git a/t/tests/fields-excessive-priority-for-library-package/debian/debian/control.in b/t/tests/fields-excessive-priority-for-library-package/debian/debian/control.in
index 7cc798109..2bb8a6964 100644
--- a/t/tests/fields-excessive-priority-for-library-package/debian/debian/control.in
+++ b/t/tests/fields-excessive-priority-for-library-package/debian/debian/control.in
@@ -5,6 +5,16 @@ Standards-Version: {$standards_version}
 Build-Depends: {$build_depends}
 Rules-Requires-Root: no
 
+Package: lib{$source}42
+Architecture: {$architecture}
+Depends: $\{shlibs:Depends\}, $\{misc:Depends\}
+Priority: important
+Description: {$description} (lib)
+ 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
+ things.  It should not be installed like a regular package.  It may
+ be an empty package.
+
 Package: lib{$source}-dev
 Architecture: {$architecture}
 Depends: $\{shlibs:Depends\}, $\{misc:Depends\}
@@ -15,6 +25,21 @@ Description: {$description} (dev)
  Lintian.  It is part of the Lintian test suite and may do very odd
  things.  It should not be installed like a regular package.  It may
  be an empty package.
+ .
+ (This is a dev package.)
+
+Package: lib{$source}-false-positive-bin
+Architecture: {$architecture}
+Depends: $\{shlibs:Depends\}, $\{misc:Depends\}
+Section: libdevel
+Priority: required
+Description: {$description} (false positive bin)
+ 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
+ things.  It should not be installed like a regular package.  It may
+ be an empty package.
+ .
+ (This is a -bin false positive)
 
 Package: lib{$source}-false-positive-dev
 Architecture: {$architecture}
@@ -27,4 +52,4 @@ Description: {$description} (false positive)
  things.  It should not be installed like a regular package.  It may
  be an empty package.
  .
- (This is a false positive)
+ (This is a -dev false positive)
diff --git a/t/tests/fields-excessive-priority-for-library-package/tags b/t/tests/fields-excessive-priority-for-library-package/tags
index 22cee044d..1b388a49c 100644
--- a/t/tests/fields-excessive-priority-for-library-package/tags
+++ b/t/tests/fields-excessive-priority-for-library-package/tags
@@ -1 +1,2 @@
 W: libfields-excessive-priority-for-library-package-dev: excessive-priority-for-library-package standard
+W: libfields-excessive-priority-for-library-package42: excessive-priority-for-library-package important
-- 
2.15.1


Reply to: