lintian: r768 - in trunk: checks debian
Author: rra
Date: 2006-11-11 05:40:54 +0100 (Sat, 11 Nov 2006)
New Revision: 768
Modified:
trunk/checks/binaries
trunk/checks/shared-libs
trunk/debian/changelog
Log:
* checks/binaries{.desc,}:
+ [RA] Add a special exception to the shared library dependency check
for the dynamic loader itself.
* checks/shared-libs:
+ [RA] Calling ldconfig is also required for libraries installed in
various subdirectories of its standard search path based on hardware
capabilities. Reported by Aurelien Jarno. (Closes: #396278)
Modified: trunk/checks/binaries
===================================================================
--- trunk/checks/binaries 2006-11-11 04:09:01 UTC (rev 767)
+++ trunk/checks/binaries 2006-11-11 04:40:54 UTC (rev 768)
@@ -224,16 +224,20 @@
my %libc5_binary;
my @needed;
if (!exists($NEEDED{$file}) && !defined($NEEDED{$file})) {
- if ($info =~ m/shared object/o && $file !~ m#^\./usr/lib/debug/#) {
+ if ($info =~ m/shared object/o) {
+ # Some exceptions: detached debugging information and the dynamic
+ # loader (which itself has no dependencies).
+ next if ($file =~ m%^\./usr/lib/debug/%);
+ next if ($file =~ m%^\./lib/(?:[\w/]+/)?ld-[\d.]+\.so$%);
tag "shared-lib-without-dependency-information", "$file";
} else {
# Some exceptions: files in /boot, /usr/lib/debug/*, named *-static or
# *.static, or *-static as package-name.
- next if ($file =~ m#^./boot/#);
+ next if ($file =~ m%^./boot/%);
# klibc binaries appear to be static.
next if ($KLIBC{$file});
# Location of debugging symbols:
- next if ($file =~ m#^./usr/lib/debug/#);
+ next if ($file =~ m%^./usr/lib/debug/%);
next if ($file =~ /(\.|-)static$/);
next if ($pkg =~ /-static$/);
Modified: trunk/checks/shared-libs
===================================================================
--- trunk/checks/shared-libs 2006-11-11 04:09:01 UTC (rev 767)
+++ trunk/checks/shared-libs 2006-11-11 04:40:54 UTC (rev 768)
@@ -41,6 +41,12 @@
lib/libc5-compat
);
+# Libraries that should only be used in the presence of certain capabilities
+# may be located in subdirectories of the standard ldconfig search path with
+# one of the following names.
+my %hwcap_dir = map { $_ => 1 }
+ qw( i486 i586 i686 cmov tls );
+
# The following architectures should always have a STACK setting in shared
# libraries to disable executable stack. Other architectures don't always add
# this section and therefore can't be checked.
@@ -171,8 +177,16 @@
}
}
- # installed in a directory controlled by the dynamic linker?
- if (exists $ldso_dir{dirname($cur_file)}) {
+ # Installed in a directory controlled by the dynamic linker? We have
+ # to strip off directories named for hardware capabilities.
+ my $dirname = dirname($cur_file);
+ my $last;
+ do {
+ $dirname =~ s%/([^/]+)$%%;
+ $last = $1;
+ } while ($last && $hwcap_dir{$last});
+ $dirname .= "/$last" if $last;
+ if (exists $ldso_dir{$dirname}) {
# yes! so postinst must call ldconfig
$must_call_ldconfig = $real_file;
}
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2006-11-11 04:09:01 UTC (rev 767)
+++ trunk/debian/changelog 2006-11-11 04:40:54 UTC (rev 768)
@@ -1,8 +1,10 @@
lintian (1.23.26) UNRELEASED; urgency=low
- * checks/binaries.desc:
+ * checks/binaries{.desc,}:
+ [RA] Add a policy reference for unstripped-binary-or-object.
Thanks, Bas Wijnen. (Closes: #394419)
+ + [RA] Add a special exception to the shared library dependency check
+ for the dynamic loader itself.
* checks/control-file{.desc,}:
+ [RA] Diagnose a control file that creates binary packages in a
different archive category from the source package or the other
@@ -24,8 +26,12 @@
* checks/menu.desc:
+ [RA] Remove stray commas in Ref strings since the reporting code
considers commas to be separating two different references.
+ * checks/shared-libs:
+ + [RA] Calling ldconfig is also required for libraries installed in
+ various subdirectories of its standard search path based on hardware
+ capabilities. Reported by Aurelien Jarno. (Closes: #396278)
- -- Russ Allbery <rra@debian.org> Fri, 10 Nov 2006 20:04:11 -0800
+ -- Russ Allbery <rra@debian.org> Fri, 10 Nov 2006 20:39:32 -0800
lintian (1.23.25) unstable; urgency=low
Reply to: