tags 321564 patch
thanks

I just ran into this myself with a package containing Apache modules and
spent some time fixing it.  Here's a patch that only warns for SONAMEs of
libraries found in /lib, /usr/lib, or /usr/X11R6/lib.  This may still miss
some interesting cases, but I think it will catch 95% of the useful cases
that the test should catch with far fewer false positives.

--- lintian-1.23.11/checks/binaries.orig        2005-07-23 16:09:01.000000000 
-0700
+++ lintian-1.23.11/checks/binaries     2005-08-16 23:02:16.000000000 -0700
@@ -113,7 +113,20 @@
 }
 close(IN);
 
-my @sonames = keys %SONAME;
+# For the package naming check, filter out SONAMEs where all the files are
+# at paths other than /lib, /usr/lib, or /usr/X11R6/lib.  This avoids false
+# positives with plugins like Apache modules, which may have their own
+# SONAMEs but which don't matter for the purposes of this check.
+sub lib_soname_path {
+    my (@paths) = @_;
+    foreach my $path (@paths) {
+        return 1 if $path =~ m%^(\.?/)?lib/[^/]+$%;
+        return 1 if $path =~ m%^(\.?/)?usr/lib/[^/]+$%;
+        return 1 if $path =~ m%^(\.?/)?usr/X11R6/lib/[^/]+$%;
+    }
+    return 0;
+}
+my @sonames = grep { lib_soname_path (@{$SONAME{$_}}) } keys %SONAME;
 tag "several-sonames-in-same-package", "@sonames" if @sonames > 1;
 
 my $match_found = 0;

-- 
Russ Allbery ([EMAIL PROTECTED])             <http://www.eyrie.org/~eagle/>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to