X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_shlibdeps;h=e859f04aa3abc351b486156dc3b7b23e2675fd0a;hb=a882ba83571226997e9583f40a232da4dc468956;hp=cfbfa2def78ae84687f5c8723b380b1f392ec91b;hpb=ad83d2b881df3acd02925da328359b47c7b0f874;p=debhelper.git diff --git a/dh_shlibdeps b/dh_shlibdeps index cfbfa2d..e859f04 100755 --- a/dh_shlibdeps +++ b/dh_shlibdeps @@ -55,10 +55,11 @@ path. =item B<-L>I, B<--libpackage=>I With recent versions of dpkg-shlibdeps, this option is generally not -needed. +needed, unless your package builds multiple flavors of the same library. -Tell dpkg-shlibdeps to use the shlibs file automatically generated by -dh_makeshlibs for the named package instead of the shlibs.local file. +It tells dpkg-shlibdeps (via its -S parameter) to look first in the package +build directory for the specified package, when searching for libraries, +symbol files, and shlibs files. =back @@ -76,6 +77,12 @@ libfoo1, and using that file and the libfoo1 library in the debian/libfoo1/usr/lib directory to calculate shared library dependency information. +If a libbar1 package is also produced, that is an alternate build of +libfoo, and is installed into /usr/lib/bar/, you can make libfoo-bin depend +on libbar1 as follows: + + dh_shlibdeps -Llibbar1 -l/usr/lib/bar + =cut init(); @@ -110,7 +117,9 @@ foreach my $package (@{$dh{DOPACKAGES}}) { if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') { $find_options="! \\( $dh{EXCLUDE_FIND} \\)"; } - foreach my $file (split(/\n/,`find $tmp -path $tmp/usr/lib/debug -prune -or -type f \\( -perm +111 -or -name "*.so*" \\) $find_options -print`)) { + foreach my $file (split(/\n/,`find $tmp -type f \\( -perm +111 -or -name "*.so*" \\) $find_options -print`)) { + # Prune directories that contain separated debug symbols. + next if $file=~m!^\Q$tmp\E/usr/lib/debug/(lib|lib64|usr|bin|sbin|opt|dev|emul)/!; # TODO this is slow, optimize. Ie, file can run once on # multiple files.. $ff=`file "$file"`; @@ -122,7 +131,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) { if (@filelist) { my @opts; if (defined $dh{LIBPACKAGE} && length $dh{LIBPACKAGE}) { - @opts=("-L".tmpdir($dh{LIBPACKAGE}."/DEBIAN/shlibs")); + @opts=("-S".tmpdir($dh{LIBPACKAGE})); } push @opts, "-tudeb" if is_udeb($package);