Package: lintian
Version: 2.5.36
Severity: normal
Tags: patch

Hi!

The shared-lib-without-dependency-information tag has many overriden
entries (1944 currently). Here's a patch which gets rid of many of
them by ignoring kFreeBSD kernel modules, syslinux modules, and fixes
the regex matching the dynamic linker when used with multiarch paths.

I've tested the specific lines standalone, but not in lintian itself.

Thanks,
Guillem
From f87eb370c6842ccf5c0df59d55e3df5f0131f42b Mon Sep 17 00:00:00 2001
From: Guillem Jover <guil...@debian.org>
Date: Sat, 5 Sep 2015 02:24:47 +0200
Subject: [PATCH] c/binaries: Improve shared-lib-without-dependency-information
 tag

Ignore kFreeBSD kernel modules, syslinux modules, and fix the regex
matching the dynamic linker when used with multiarch paths.

Signed-off-by: Guillem Jover <guil...@debian.org>
---
 checks/binaries.pm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/checks/binaries.pm b/checks/binaries.pm
index 57ca2f0..0ca8d7c 100644
--- a/checks/binaries.pm
+++ b/checks/binaries.pm
@@ -479,13 +479,15 @@ sub run {
         # statically linked?
         if (!scalar(@{ $objdump->{NEEDED} })) {
             if ($fileinfo =~ m/shared object/o) {
-                # Some exceptions: kernel modules, detached debugging
-                # information and the dynamic loader (which itself has
-                # no dependencies).
+                # Some exceptions: kernel modules, syslinux modules, detached
+                # debugging information and the dynamic loader (which itself
+                # has no dependencies).
+                next if ($fname =~ m%^boot/modules/%);
                 next if ($fname =~ m%^lib/modules/%);
                 next if ($fname =~ m%^usr/lib/debug/%);
+                next if ($fname =~ m%\.(?:[ce]32|e64)$%);
                 next
-                  if ($fname =~ m%^lib(?:|32|64)/(?:[\w/]+/)?ld-[\d.]+\.so$%);
+                  if ($fname =~ m%^lib(?:|32|x32|64)/(?:[-\w/]+/)?ld-[\d.]+\.so$%);
                 tag 'shared-lib-without-dependency-information', $file;
             } else {
                 # Some exceptions: files in /boot, /usr/lib/debug/*,
-- 
2.5.1

Reply via email to