]> git.donarmstrong.com Git - debhelper.git/commitdiff
r540: * Added a -L flag to dh_shlibdeps that is a nice alternative to providing a
authorjoey <joey>
Thu, 25 Jul 2002 23:20:33 +0000 (23:20 +0000)
committerjoey <joey>
Thu, 25 Jul 2002 23:20:33 +0000 (23:20 +0000)
     shlibs.local.

Debian/Debhelper/Dh_Getopt.pm
debian/changelog
dh_shlibdeps

index 79674144a95a04021ff63fa309a54a8bce4a63cb..38aa342447c110d5cac695d620e946071ea4f703 100644 (file)
@@ -146,6 +146,8 @@ sub parseopts {
 
                "list-missing" => \$options{LIST_MISSING},
                
+               "L|libpackage=s" => \$options{LIBPACKAGE},
+               
                "<>" => \&NonOption,
        );
 
index d7f088a3c54875daeb6ab66b621d6822e87fb539..d5c59e16d96ce4d277b2b575cb5cc227664f7cbd 100644 (file)
@@ -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.
index 5001d75fa35b5869ed372287262858d99abfdb20..9d7c03f4c5ba8edbbb982953b4d85f0f546cd33f 100755 (executable)
@@ -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);
        }
 }