summaryrefslogtreecommitdiff
path: root/dh_shlibdeps
diff options
context:
space:
mode:
Diffstat (limited to 'dh_shlibdeps')
-rwxr-xr-xdh_shlibdeps33
1 files changed, 31 insertions, 2 deletions
diff --git a/dh_shlibdeps b/dh_shlibdeps
index 5001d75f..9d7c03f4 100755
--- a/dh_shlibdeps
+++ b/dh_shlibdeps
@@ -12,7 +12,7 @@ use Debian::Debhelper::Dh_Lib;
=head1 SYNOPSIS
-B<dh_shlibdeps> [S<I<debhelper options>>] [B<-l>I<directory>] [B<-X>I<item>] [S<B<--> I<params>>]
+B<dh_shlibdeps> [S<I<debhelper options>>] [B<-L>I<package>] [B<-l>I<directory>] [B<-X>I<item>] [S<B<--> I<params>>]
=head1 DESCRIPTION
@@ -49,8 +49,33 @@ package and another package contains binaries linked against said
library. Relative paths will be made absolute for the benefit of
dpkg-shlibdeps.
+Note that the directory given should be the complete or relative path to
+a directory that contains the library. See example below.
+
+=item B<-L>I<package>, B<--libpackage=>I<package>
+
+Use the shlibs file automatically generated by dh_makeshlibs for the named
+package as a kind of automatically generated shlibs.local file. You can us
+this switch in concert with the -l switch to make dpkg-shlibdeps find a
+library built as part of the current package, and get the shlibs information.
+See example below.
+
=back
+=head1 EXAMPLES
+
+Suppose that your source package produces libfoo1, libfoo-dev, and
+libfoo-bin binary packages. libfoo-bin links against libfoo, and should
+depend on it. In your rules file, first run dh_makeshlibs, then dh_shlibdeps:
+
+ dh_makeshlibs
+ dh_shlibdeps -L libfoo1 -l debian/libfoo1/usr/lib
+
+This will have the effect of generating automatically a shlibs file for
+libfoo1, and using that file and the libfoo1 library in the
+debian/libfoo1/usr/lib directory to calculate shared library dependency
+information.
+
=cut
init();
@@ -98,8 +123,12 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
}
if (@filelist) {
+ my @opts;
+ if (defined $dh{LIBPACKAGE} && length $dh{LIBPACKAGE}) {
+ @opts=("-L".tmpdir($dh{LIBPACKAGE}."/DEBIAN/shlibs"));
+ }
doit("dpkg-shlibdeps","-Tdebian/${ext}substvars",
- @{$dh{U_PARAMS}},@filelist);
+ @opts,@{$dh{U_PARAMS}},@filelist);
}
}