On Sat, Dec 16, 2017 at 09:51:48AM +, 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
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