summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey>1999-11-29 05:56:08 +0000
committerjoey <joey>1999-11-29 05:56:08 +0000
commit854f6cec48a550299aa0b7a1d3b7f199b4d3ec9a (patch)
treeed913186d9acbd43923e844baf7df5acec15e612
parent6f4c988721a164cd690ea7c11f8aa7cbb9bc7d93 (diff)
r317: * Added -X option, which makes it not examine some files. This is useful in
rare cases. Closes: #51100 * Always pass "-dDepends" before the list of files, which makes it easier to specify other -d parameters in the uparams, and doesn't otherwise change the result at all.
-rwxr-xr-xdh_shlibdeps13
-rw-r--r--dh_shlibdeps.110
2 files changed, 18 insertions, 5 deletions
diff --git a/dh_shlibdeps b/dh_shlibdeps
index 3fec714c..f6ae235e 100755
--- a/dh_shlibdeps
+++ b/dh_shlibdeps
@@ -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/) {
@@ -27,6 +34,6 @@ foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
}
if (@filelist) {
- doit("dpkg-shlibdeps","-Tdebian/$EXT\substvars",@{$dh{U_PARAMS}},@filelist);
+ doit("dpkg-shlibdeps","-Tdebian/$EXT\substvars",@{$dh{U_PARAMS}},'-dDepends',@filelist);
}
}
diff --git a/dh_shlibdeps.1 b/dh_shlibdeps.1
index 366ceefd..75f31a87 100644
--- a/dh_shlibdeps.1
+++ b/dh_shlibdeps.1
@@ -3,7 +3,7 @@
dh_shlibdeps \- calculate shared library dependancies
.SH SYNOPSIS
.B dh_shlibdeps
-.I "[debhelper options] [-ldirectory] [-uparams] [-- params]"
+.I "[debhelper options] [-ldirectory] [-uparams] [-Xitem] [-- params]"
.SH "DESCRIPTION"
dh_shlibdeps is a debhelper program that is responsible for calculating
shared library dependancies for all executables found in the package build
@@ -11,7 +11,8 @@ directory.
.P
This program is merely a wrapper around
.BR dpkg-shlibdeps (1)
-that calls it once for each package listed in the control file.
+that calls it once for each package listed in the control file, passing it
+a list of ELF executables it has found.
.SH OPTIONS
.TP
.B debhelper options
@@ -25,6 +26,11 @@ for a list of options common to all debhelper commands.
Pass "params" to
.BR dpkg-shlibdeps (1)
.TP
+.B \-Xitem, \--exclude=item
+Exclude files that contain "item" anywhere in their filename from being
+passed to dpkg-shlibdeps. This will make their dependancies be ignored.
+This may be useful in some situations, but use it with caution.
+.TP
.B \-ldirectory
Before
.BR dpkg-shlibdeps (1)