]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_shlibdeps
r421: use strict
[debhelper.git] / dh_shlibdeps
index e08184a0dfef4de02aedd65f426eacfd4320d131..93f9bd071bd6c34d13f670b14f0ae284f5181373 100755 (executable)
@@ -2,25 +2,25 @@
 #
 # Find dependancies. Simple dpkg-shlibdeps wrapper.
 
+use strict;
+use Cwd;
 use Debian::Debhelper::Dh_Lib;
 init();
 
-foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
-       $TMP=tmpdir($PACKAGE);
-       $EXT=pkgext($PACKAGE);
+foreach my $package (@{$dh{DOPACKAGES}}) {
+       my $tmp=tmpdir($package);
+       my $ext=pkgext($package);
 
        my @filelist;
        my $ff;
 
        # 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 {
+       my $find_options='';
+       if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') {
                $find_options="! \\( $dh{EXCLUDE_FIND} \\)";
        }
-       foreach $file (split(/\n/,`find $TMP -type f \\( -perm +111 -or -name "*.so*" \\) $find_options`)) {
+       foreach my $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/) {
@@ -28,12 +28,15 @@ foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
                }
        }
 
-       if ($dh{L_PARAMS}) {
-               $ENV{'LD_LIBRARY_PATH'}=$dh{L_PARAMS};
-               verbose_print("LD_LIBRARY_PATH=$dh{L_PARAMS} \\");
-       }
-
        if (@filelist) {
-               doit("dpkg-shlibdeps","-Tdebian/${EXT}substvars",@{$dh{U_PARAMS}},'-dDepends',@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);
        }
 }