From: Raphael Hertzog Date: Wed, 26 Sep 2007 22:06:21 +0000 (+0200) Subject: dpkg-shlibdeps: don't try to add dependency information for private libraries X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=097a64746d783ea7c1b669c908b478438f1e61e3;p=dpkg dpkg-shlibdeps: don't try to add dependency information for private libraries Private libraries are defined as libraries without SONAME. They are not listed in shlibs files and thus there's no point in trying to add a dependency for them. It also reduce the number of false-positive failures/warnings generated by dpkg-shlibdeps. --- diff --git a/scripts/dpkg-shlibdeps.pl b/scripts/dpkg-shlibdeps.pl index a6378113..15df7d7f 100755 --- a/scripts/dpkg-shlibdeps.pl +++ b/scripts/dpkg-shlibdeps.pl @@ -137,9 +137,11 @@ foreach my $file (keys %exec) { } } else { # No symbol file found, fall back to standard shlibs - $dumplibs_wo_symfile->parse($lib); + my $id = $dumplibs_wo_symfile->parse($lib); push @soname_wo_symfile, $soname; - if (not add_shlibs_dep($soname, $pkg)) { + my $libobj = $dumplibs_wo_symfile->get_object($id); + # Only try to generate a dependency for libraries with a SONAME + if ($libobj->is_public_library() and not add_shlibs_dep($soname, $pkg)) { failure(sprintf( _g("No dependency information found for %s (used by %s)."), $soname, $file)) unless $ignore_missing_info;