From 0fc7d4c7cc3a3953c17347dde0a083e5929b4d21 Mon Sep 17 00:00:00 2001 From: joey Date: Thu, 25 Jul 2002 23:20:33 +0000 Subject: [PATCH] r540: * Added a -L flag to dh_shlibdeps that is a nice alternative to providing a shlibs.local. --- Debian/Debhelper/Dh_Getopt.pm | 2 ++ debian/changelog | 7 +++++++ dh_shlibdeps | 33 +++++++++++++++++++++++++++++++-- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/Debian/Debhelper/Dh_Getopt.pm b/Debian/Debhelper/Dh_Getopt.pm index 7967414..38aa342 100644 --- a/Debian/Debhelper/Dh_Getopt.pm +++ b/Debian/Debhelper/Dh_Getopt.pm @@ -146,6 +146,8 @@ sub parseopts { "list-missing" => \$options{LIST_MISSING}, + "L|libpackage=s" => \$options{LIBPACKAGE}, + "<>" => \&NonOption, ); diff --git a/debian/changelog b/debian/changelog index d7f088a..d5c59e1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +debhelper (4.1.1) unstable; urgency=low + + * Added a -L flag to dh_shlibdeps that is a nice alternative to providing a + shlibs.local. + + -- Joey Hess Thu, 25 Jul 2002 19:15:09 -0400 + debhelper (4.1.0) unstable; urgency=low * Remove /usr/doc manglement code from postinst and prerm. diff --git a/dh_shlibdeps b/dh_shlibdeps index 5001d75..9d7c03f 100755 --- a/dh_shlibdeps +++ b/dh_shlibdeps @@ -12,7 +12,7 @@ use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS -B [S>] [B<-l>I] [B<-X>I] [S I>] +B [S>] [B<-L>I] [B<-l>I] [B<-X>I] [S I>] =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, B<--libpackage=>I + +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); } } -- 2.39.2