X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=dh_shlibdeps;h=a0666b939e3e4cc5a8d9f8906cf6a75e39818263;hb=03df94d493434998d367cb2e18771f6a6f8da572;hp=3fec714ceeb05b3fa7e74cfb10e028fa42331ae0;hpb=ce53cf82751a1711e02152b25ac2f14810e0e020;p=debhelper.git diff --git a/dh_shlibdeps b/dh_shlibdeps index 3fec714..a0666b9 100755 --- a/dh_shlibdeps +++ b/dh_shlibdeps @@ -2,8 +2,8 @@ # # Find dependancies. Simple dpkg-shlibdeps wrapper. -BEGIN { push @INC, "debian", "/usr/share/debhelper" } -use Dh_Lib; +use Cwd; +use Debian::Debhelper::Dh_Lib; init(); foreach $PACKAGE (@{$dh{DOPACKAGES}}) { @@ -13,8 +13,15 @@ foreach $PACKAGE (@{$dh{DOPACKAGES}}) { my @filelist; my $ff; - # Generate a list of all ELF binaries in the package. - foreach $file (split(/\n/,`find $TMP -type f \\( -perm +111 -or -name "*.so*" \\)`)) { + # Generate a list of ELF binaries in the package, ignoring any + # we were told to exclude. + if (! defined($dh{EXCLUDE_FIND}) || $dh{EXCLUDE_FIND} eq '') { + $find_options=""; + } + else { + $find_options="! \\( $dh{EXCLUDE_FIND} \\)"; + } + foreach $file (split(/\n/,`find $TMP -type f \\( -perm +111 -or -name "*.so*" \\) $find_options`)) { # TODO: this is slow, optimize. Ie, file can run once on multiple files.. $ff=`file "$file"`; if ($ff=~m/ELF/ && $ff!~/statically linked/) { @@ -22,11 +29,15 @@ foreach $PACKAGE (@{$dh{DOPACKAGES}}) { } } - if ($dh{L_PARAMS}) { - $ENV{'LD_LIBRARY_PATH'}=$dh{L_PARAMS} - } - if (@filelist) { - doit("dpkg-shlibdeps","-Tdebian/$EXT\substvars",@{$dh{U_PARAMS}},@filelist); + if ($dh{L_PARAMS}) { + # Force the path absolute. + unless ($dh{L_PARAMS}=~m:^/:) { + $dh{L_PARAMS}=getcwd()."/$dh{L_PARAMS}"; + } + $ENV{'LD_LIBRARY_PATH'}=$dh{L_PARAMS}; + verbose_print("LD_LIBRARY_PATH=$dh{L_PARAMS} \\"); + } + doit("dpkg-shlibdeps","-Tdebian/${EXT}substvars",@{$dh{U_PARAMS}},'-dDepends',@filelist); } }