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

[SCM] Debian package checker branch, master, updated. 2.5.4-124-g45509c6



The following commit has been merged in the master branch:
commit 45509c6f226e9bf9006e50f901f29d4602aee668
Author: Niels Thykier <niels@thykier.net>
Date:   Sat Jan 28 20:25:47 2012 +0100

    Ignore missing symbols/shlibs files for libc libnss plugins
    
    Signed-off-by: Niels Thykier <niels@thykier.net>

diff --git a/checks/shared-libs b/checks/shared-libs
index efc000d..07cb811 100644
--- a/checks/shared-libs
+++ b/checks/shared-libs
@@ -297,7 +297,8 @@ if ($#shlibs == -1) {
             for my $shlib (@shlibs) {
                 # skip it if it's not a public shared library
                 next unless $ldconfig_dirs->known(dirname($shlib));
-                tag 'no-shlibs-control-file', $shlib;
+                tag 'no-shlibs-control-file', $shlib
+                    unless is_nss_plugin ($shlib);
             }
         }
     } else {
@@ -335,7 +336,8 @@ if ($#shlibs == -1) {
                 # skip it if it's not a public shared library
                 next unless $ldconfig_dirs->known(dirname($shlib));
                 # no!!
-                tag 'shlib-missing-in-control-file', $shlib_name, 'for', $shlib;
+                tag 'shlib-missing-in-control-file', $shlib_name, 'for', $shlib
+                    unless is_nss_plugin ($shlib);
             }
         }
         for $shlib_name (keys %shlibs_control) {
@@ -373,7 +375,8 @@ if ($#shlibs == -1 and not %unversioned_shlibs) {
         for my $shlib (@shlibs, keys %unversioned_shlibs) {
             # skip it if it's not a public shared library
             next unless $ldconfig_dirs->known(dirname($shlib));
-            tag 'no-symbols-control-file', $shlib;
+            tag 'no-symbols-control-file', $shlib
+                unless is_nss_plugin ($shlib);
         }
     }
 } elsif (open(IN, '<', $symbolsf)) {
@@ -518,7 +521,8 @@ if ($#shlibs == -1 and not %unversioned_shlibs) {
         unless (exists $symbols_control{$shlib_name}) {
             # skip it if it's not a public shared library
             next unless $ldconfig_dirs->known(dirname($shlib));
-            tag 'shlib-missing-in-symbols-control-file', $shlib_name, 'for', $shlib;
+            tag 'shlib-missing-in-symbols-control-file', $shlib_name, 'for', $shlib
+                unless is_nss_plugin ($shlib);
         }
     }
     for $shlib_name (keys %symbols_control) {
@@ -647,6 +651,14 @@ sub format_soname {
     return $soname
 }
 
+# Returns a truth value if the first argument appears to be the path
+# to an libc nss plugin (libnss_<name>.so.$version).
+sub is_nss_plugin {
+    my ($path) = @_;
+    return 1 if $path =~ m,^(.*/)?libnss_[^.]+\.so\.\d+$,o;
+    return 0;
+}
+
 1;
 
 # Local Variables:
diff --git a/debian/changelog b/debian/changelog
index 42ef5ea..eeafd60 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -97,6 +97,8 @@ lintian (2.5.5) UNRELEASED; urgency=low
     + [JW] Check for Multi-Arch foreign packages shipping shared
       libraries in public library directories.  (Closes: #650444)
     + [NT] Use the new hwcap-dirs data file to determine hwcap dirs.
+    + [NT] Ignore missing symbols/shlibs files for libc libnss
+      plugins.
   * checks/source-copyright:
     + [JW] Allow a trailing slash in the DEP-5 1.0 URL.
       (Closes: #649813)

-- 
Debian package checker


Reply to: