depend on any particular version of the package containing the shared
library. It may be necessary for you to add some version dependancy
information to the shlibs file. If -V is specified with no dependancy
-information, the current version of the package is plugged into a
-dependancy that looks like "packagename (>= packageversion)". If -V is
-specified with parameters, the parameters can be used to specify the exact
-dependancy information needed (be sure to include the package name).
+information, the current upstream version of the package is plugged into a
+dependancy that looks like "packagename (>= packageversion)". Note that in
+debhelper compatability levels before v4, the debian part of the package
+version number is also included. If -V is specified with parameters, the
+parameters can be used to specify the exact dependancy information needed
+(be sure to include the package name).
Beware of using -V without any parameters; this is a conservative setting
that always ensures that other packages' shared library dependencies are at
-least as tight as they need to be, so that if the maintainer screws up then
-they won't break. The flip side is that packages might end up with
-dependencies that are too tight and so find it harder to be upgraded.
+least as tight as they need to be (unless your library is prone to changing
+ABI without updating the upstream version number), so that if the
+maintainer screws up then they won't break. The flip side is that packages
+might end up with dependencies that are too tight and so find it harder to
+be upgraded.
=item B<-n>, B<--noscripts>
=item B<-X>I<item>, B<--exclude=>I<item>
-Exclude files that contain "item" anywhere in their filename from
-being treated as shared libraries.
+Exclude files that contain "item" anywhere in their filename or directory
+from being treated as shared libraries.
=back
=head1 EXAMPLES
- dh_makeshlibs
+=over 4
+
+=item dh_makeshlibs
Assuming this is a package named libfoobar1, generates a shlibs file that
looks something like:
libfoobar 1 libfoobar1
- dh_makeshlibs -V
+=item dh_makeshlibs -V
-Assuming the current version of the package is 1.0-3, generates a shlibs
+Assuming the current version of the package is 1.1-3, generates a shlibs
file that looks something like:
- libfoobar 1 libfoobar1 (>= 1.0-3)
+ libfoobar 1 libfoobar1 (>= 1.1)
- dh_makeshlibs -V 'libfoobar1 (>= 1.0)'
+=item dh_makeshlibs -V 'libfoobar1 (>= 1.0)'
Generates a shlibs file that looks something like:
libfoobar 1 libfoobar1 (>= 1.0)
+=back
+
=cut
init();
foreach my $package (@{$dh{DOPACKAGES}}) {
+ next if is_udeb($package);
+
my $tmp=tmpdir($package);
my %seen;
if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') {
$exclude="! \\( $dh{EXCLUDE_FIND} \\) ";
}
- open (FIND, "find $tmp -type f -name '*.so*' $exclude |");
+ open (FIND, "find $tmp -type f \\( -name '*.so' -or -name '*.so.*' \\) $exclude |");
while (<FIND>) {
my ($library, $major);
my $objdump=`objdump -p $_`;
if (-e "$tmp/DEBIAN/shlibs") {
doit("chmod",644,"$tmp/DEBIAN/shlibs");
- doit("chown","0.0","$tmp/DEBIAN/shlibs");
+ doit("chown","0:0","$tmp/DEBIAN/shlibs");
}
}