diff options
author | joey <joey> | 2002-07-25 23:20:33 +0000 |
---|---|---|
committer | joey <joey> | 2002-07-25 23:20:33 +0000 |
commit | 0fc7d4c7cc3a3953c17347dde0a083e5929b4d21 (patch) | |
tree | 2cd27e01f19474091cc3020abd9cdb67810bd2d7 | |
parent | ff1eda3dfb95162cd26600ccdcc234d70916e1b8 (diff) |
r540: * Added a -L flag to dh_shlibdeps that is a nice alternative to providing a
shlibs.local.
-rw-r--r-- | Debian/Debhelper/Dh_Getopt.pm | 2 | ||||
-rw-r--r-- | debian/changelog | 7 | ||||
-rwxr-xr-x | 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 79674144..38aa3424 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 d7f088a3..d5c59e16 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 <joeyh@debian.org> 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 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); } } |