]> git.donarmstrong.com Git - debhelper.git/commitdiff
r264: * dh_shlibdeps: Fixed quoting problem that made it fail on weird file names.
authorjoey <joey>
Thu, 2 Sep 1999 20:43:22 +0000 (20:43 +0000)
committerjoey <joey>
Thu, 2 Sep 1999 20:43:22 +0000 (20:43 +0000)
     Patch from Devin Carraway <debianbug-debhelper@devin.com>, Closes: #44016

debian/changelog
dh_shlibdeps

index 5d8dc8ab6b29442fdae4c2acf7bba139bff7f35f..8e15c7e5a80c948df8e8e9b80c12d96a764c1204 100644 (file)
@@ -1,3 +1,10 @@
+debhelper (2.0.29) unstable; urgency=low
+
+  * dh_shlibdeps: Fixed quoting problem that made it fail on weird file names.
+    Patch from Devin Carraway <debianbug-debhelper@devin.com>, Closes: #44016
+
+ -- Joey Hess <joeyh@master.debian.org>  Thu,  2 Sep 1999 13:40:37 -0700
+
 debhelper (2.0.28) unstable; urgency=low
 
   * Oops, dh_installpam was omitted from the package. Added back. 
index e30c4a5b34d4693f879c758c943934b968be502d..bd733b370602cf30860e1d92ab5122c3e42f0c5a 100755 (executable)
@@ -1,24 +1,28 @@
-#!/bin/sh -e
+#!/usr/bin/perl -w
 #
 # Find dependancies. Simple dpkg-shlibdeps wrapper.
 
-PATH=debian:$PATH:/usr/lib/debhelper
-. dh_lib
+BEGIN { push @INC, "debian", "/usr/share/debhelper" }
+use Dh_Lib;
+init();
 
-for PACKAGE in $DH_DOPACKAGES; do
-       TMP=`tmpdir $PACKAGE`
-       EXT=`pkgext $PACKAGE`
+foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
+       $TMP=tmpdir($PACKAGE);
+       $EXT=pkgext($PACKAGE);
 
-       # Run dpkg-shlibdeps to generate dependancies.
-       filelist=""
-       for file in `find $TMP -type f \( -perm +111 -or -name "*.so*" \) | tr "\n" " "` ; do
-               case "`file $file`" in
-                       *ELF*)
-                               filelist="$file $filelist"
-                       ;;
-               esac
-       done
-       if [ "$filelist" ]; then
-               doit "dpkg-shlibdeps -Tdebian/${EXT}substvars $DH_U_PARAMS $filelist"
-       fi
-done
+       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*" \\)`)) {
+               # TODO: this is slow, optimize. Ie, file can run once on multiple files..
+               $ff=`file "$file"`;
+               if ($ff=~m/ELF/) {
+                       push @filelist,$file;
+               }
+       }
+
+       if (@filelist) {
+               doit("dpkg-shlibdeps","-Tdebian/$EXT\substvars",@{$dh{U_PARAMS}},@filelist);
+       }
+}