]> err.no Git - dpkg/commitdiff
dpkg-shlibdeps: look into package directories before the root filesytem
authorRaphael Hertzog <hertzog@debian.org>
Wed, 26 Sep 2007 09:45:04 +0000 (11:45 +0200)
committerRaphael Hertzog <hertzog@debian.org>
Wed, 26 Sep 2007 09:45:04 +0000 (11:45 +0200)
When dpkg-shlibdeps tries to find a library, it will scan
the same directories as ld.so but at various "virtual root" (the real root
and also the root of the build trees). The root of the built
packages should have precedence otherwise we might analyze outdated
files which are installed in the root filesystem and which would
be replaced by the package being built.

scripts/dpkg-shlibdeps.pl

index 5f4358662a52166719865d4223f92211c581063d..cc188532535d396858d7e41a94044377579b0beb 100755 (executable)
@@ -414,8 +414,7 @@ sub symfile_has_soname {
 # find_library ($soname, \@rpath, $format)
 sub my_find_library {
     my ($lib, $rpath, $format) = @_;
-    my $file = find_library($lib, $rpath, $format, "");
-    return $file if defined($file);
+    my $file;
 
     # Look into the packages we're currently building (but only those
     # that provides shlibs file...)
@@ -425,6 +424,12 @@ sub my_find_library {
        $file = find_library($lib, $rpath, $format, $builddir);
        return $file if defined($file);
     }
+
+    # Fallback in the root directory if we have not found what we were
+    # looking for in the packages
+    $file = find_library($lib, $rpath, $format, "");
+    return $file if defined($file);
+
     return undef;
 }