#!/usr/bin/perl -w # # Find dependancies. Simple dpkg-shlibdeps wrapper. use Debian::Debhelper::Dh_Lib; init(); foreach $PACKAGE (@{$dh{DOPACKAGES}}) { $TMP=tmpdir($PACKAGE); $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 { $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/) { push @filelist,$file; } } if ($dh{L_PARAMS}) { $ENV{'LD_LIBRARY_PATH'}=$dh{L_PARAMS} } if (@filelist) { doit("dpkg-shlibdeps","-Tdebian/${EXT}substvars",@{$dh{U_PARAMS}},'-dDepends',@filelist); } }