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

lintian: r584 - in trunk: checks debian testset testset/libbaz/debian



Author: jeroen
Date: 2006-03-18 03:19:20 +0100 (Sat, 18 Mar 2006)
New Revision: 584

Modified:
   trunk/checks/shared-libs
   trunk/debian/changelog
   trunk/testset/libbaz/debian/lib.shlibs
   trunk/testset/tags.libbaz
Log:
* checks/shared-libs:
  + [JvW] Consider also the soname version for shlibs checking, preventing
    some bogus 'duplicate' warnings, and actually throw a warning when
    soname version doesn't match


Modified: trunk/checks/shared-libs
===================================================================
--- trunk/checks/shared-libs	2006-03-18 01:38:38 UTC (rev 583)
+++ trunk/checks/shared-libs	2006-03-18 02:19:20 UTC (rev 584)
@@ -274,10 +274,11 @@
 	    my $udeb="";
 	    $udeb = "udeb: " if s/^udeb:\s+//o;
 	    @words = split(/\s+/o,$_);
-	    if ($shlibs_control{$udeb.$words[0]}) {
-		tag "duplicate-entry-in-shlibs-control-file", "$udeb$words[0]";
+	    my $shlibs_string = $udeb.$words[0].' '.$words[1];
+	    if ($shlibs_control{$shlibs_string}) {
+		tag "duplicate-entry-in-shlibs-control-file", $shlibs_string;
 	    } else {
-		$shlibs_control{$udeb.$words[0]} = 1;
+		$shlibs_control{$shlibs_string} = 1;
 	    }
 	}
 	close(SHLIBS);
@@ -285,11 +286,11 @@
 	for my $shlib (@shlibs) {
 	    $shlib_name = $SONAME{$shlib};
 	    # libfoo.so.X.X
-	    if ($shlib_name =~ m/(.+)\.so\..*$/) {
-		$shlib_name = $1;
+	    if ($shlib_name =~ m/(.+)\.so\.(.*)$/) {
+		$shlib_name = "$1 $2";
 	    # libfoo-X.X.so
-	    } elsif ($shlib_name =~ m/(.+)\-\w[\w\.]*\.so$/) {
-		$shlib_name = $1;
+	    } elsif ($shlib_name =~ m/(.+)\-(\w[\w\.]*)\.so$/) {
+		$shlib_name = "$1 $2";
 	    }
 	    $shlibs_control_used{$shlib_name} = 1;
 	    $shlibs_control_used{"udeb: ".$shlib_name} = 1;
@@ -297,11 +298,11 @@
 		# skip it if it's not a public shared library
  		next unless defined $ldso_dir{dirname($shlib)};
 		# no!!
-		tag "shlib-missing-in-control-file", "$shlib_name $shlib";
+		tag "shlib-missing-in-control-file", $shlib_name, 'for', $shlib;
 	    }
 	}
 	for $shlib_name (keys %shlibs_control) {
-	    tag "unused-shlib-entry-in-control-file", "$shlib_name"
+	    tag "unused-shlib-entry-in-control-file", $shlib_name
 		unless $shlibs_control_used{$shlib_name};
 	}
     }

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2006-03-18 01:38:38 UTC (rev 583)
+++ trunk/debian/changelog	2006-03-18 02:19:20 UTC (rev 584)
@@ -1,4 +1,4 @@
-lintian (1.23.16) UNRELEASED; urgency=low
+lintian (1.23.16~r583) UNRELEASED; urgency=low
 
   The "What's this Russ guy up to?" release
 
@@ -69,6 +69,9 @@
       no postinst at all, instead of just one lacking a ldconfig call
     + [JvW] Implement checks for "udeb:" lines in shlibs files
       (Closes: #357541)
+    + [JvW] Consider also the soname version for shlibs checking, preventing
+      some bogus 'duplicate' warnings, and actually throw a warning when
+      soname version doesn't match
 
   * debian/{control,copyright}:
     + [RA] Add Russ Allbery to Uploaders and copyright.

Modified: trunk/testset/libbaz/debian/lib.shlibs
===================================================================
--- trunk/testset/libbaz/debian/lib.shlibs	2006-03-18 01:38:38 UTC (rev 583)
+++ trunk/testset/libbaz/debian/lib.shlibs	2006-03-18 02:19:20 UTC (rev 584)
@@ -1,4 +1,5 @@
 libdoesntexist2 1.0 libbaz2
 libdoesntexist2 1.0 libbaz2
+libbaz2 1.1 libbaz2
 udeb: libdoesntexist2 1.0 libbaz2
 udeb: libdoesntexist2 1.0 libbaz2

Modified: trunk/testset/tags.libbaz
===================================================================
--- trunk/testset/tags.libbaz	2006-03-18 01:38:38 UTC (rev 583)
+++ trunk/testset/tags.libbaz	2006-03-18 02:19:20 UTC (rev 584)
@@ -1,12 +1,12 @@
 E: libbaz1: control-file-has-bad-permissions shlibs 0755 != 0644
-E: libbaz1: duplicate-entry-in-shlibs-control-file libdoesntexist2
-E: libbaz1: duplicate-entry-in-shlibs-control-file udeb: libdoesntexist2
+E: libbaz1: duplicate-entry-in-shlibs-control-file libdoesntexist2 1.0
+E: libbaz1: duplicate-entry-in-shlibs-control-file udeb: libdoesntexist2 1.0
 E: libbaz1: file-directly-in-usr-share-doc usr/share/doc/README.Debian
 E: libbaz1: ldconfig-symlink-missing-for-shlib usr/lib/libbaz2.so.1.0 usr/lib/libfoo2.so.1.0.3b libbaz2.so.1.0
 E: libbaz1: maintainer-shell-script-fails-syntax-check postinst
 E: libbaz1: postinst-must-call-ldconfig usr/lib/libfoo2.so.1.0.3b
 E: libbaz1: sharedobject-in-library-directory-not-actually-a-shlib usr/lib/libbaz1.so.1.0.3b
-E: libbaz1: shlib-missing-in-control-file libbaz2 usr/lib/libfoo2.so.1.0.3b
+E: libbaz1: shlib-missing-in-control-file libbaz2 1.0 for usr/lib/libfoo2.so.1.0.3b
 E: libbaz1: shlib-with-executable-bit usr/lib/libfoo2.so.1.0.3b 0755
 E: libbaz1: shlib-with-non-pic-code usr/lib/libbaz1.so.1.0.3b
 E: libbaz1: unstripped-binary-or-object ./usr/lib/libbaz1.so.1.0.3b
@@ -21,7 +21,8 @@
 W: libbaz1: missing-depends-line
 W: libbaz1: package-name-doesnt-match-sonames libbaz2-1.0
 W: libbaz1: postinst-should-not-set-usr-doc-link
-W: libbaz1: unused-shlib-entry-in-control-file libdoesntexist2
-W: libbaz1: unused-shlib-entry-in-control-file udeb: libdoesntexist2
+W: libbaz1: unused-shlib-entry-in-control-file libbaz2 1.1
+W: libbaz1: unused-shlib-entry-in-control-file libdoesntexist2 1.0
+W: libbaz1: unused-shlib-entry-in-control-file udeb: libdoesntexist2 1.0
 W: libbaz1: zero-byte-file-in-doc-directory usr/share/doc/README.Debian
 W: libbaz2: package-name-doesnt-match-sonames libbaz2-1.0



Reply to: