Here's a modified patch that makes sure all udeb: lines come after regular lines. As before, the patch for Dh_Getopt.pm remains unchanged.
Below is an (aesthetically pleasing even) example generated with the patch: $ cat DEBIAN/shlibs libpango-1.0 0 libpango1.0-0 (>= 1.10.1) libpangox-1.0 0 libpango1.0-0 (>= 1.10.1) libpangoft2-1.0 0 libpango1.0-0 (>= 1.10.1) libpangoxft-1.0 0 libpango1.0-0 (>= 1.10.1) libpangocairo-1.0 0 libpango1.0-0 (>= 1.10.1) udeb: libpango-1.0 0 libpango1.0-udeb (>= 1.10.1) udeb: libpangox-1.0 0 libpango1.0-udeb (>= 1.10.1) udeb: libpangoft2-1.0 0 libpango1.0-udeb (>= 1.10.1) udeb: libpangoxft-1.0 0 libpango1.0-udeb (>= 1.10.1) udeb: libpangocairo-1.0 0 libpango1.0-udeb (>= 1.10.1)
--- orig/dh_makeshlibs 2005-12-31 19:36:48.000000000 +0100
+++ dh_makeshlibs 2006-01-04 22:29:21.000000000 +0100
@@ -64,6 +64,11 @@
Exclude files that contain "item" anywhere in their filename or directory
from being treated as shared libraries.
+=item B<--add-udeb=>I<udeb>
+
+Create an additional line for udebs in shlibs and use "udeb" as the package
+name to depend on instead of the regular library package.
+
=back
=head1 EXAMPLES
@@ -111,6 +116,7 @@
# because only if we can get a library name and a major number from
# objdump is anything actually added.
my $exclude='';
+ my @udeb_lines;
if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') {
$exclude="! \\( $dh{EXCLUDE_FIND} \\) ";
}
@@ -155,6 +161,10 @@
$deps="$package (>= $version)";
}
}
+ my $udeb_package;
+ if (defined($dh{SHLIBS_UDEB}) && $dh{SHLIBS_UDEB} ne '') {
+ $udeb_package = $dh{SHLIBS_UDEB};
+ }
if (defined($library) && defined($major) && defined($deps) &&
$library ne '' && $major ne '' && $deps ne '') {
$need_ldconfig=1;
@@ -163,11 +173,22 @@
if (! $seen{$line}) {
$seen{$line}=1;
complex_doit("echo '$line' >>$tmp/DEBIAN/shlibs");
+ if (defined($udeb_package)) {
+ my $udeb_deps = $deps;
+ $udeb_deps =~ s/$package/$udeb_package/e;
+ $line="udeb: "."$library $major $udeb_deps";
+ push @udeb_lines, $line;
+ }
}
}
}
close FIND;
+ # Write udeb: lines
+ foreach (@udeb_lines) {
+ complex_doit("echo '$_' >>$tmp/DEBIAN/shlibs");
+ }
+
# New as of dh_v3.
if (! compat(2) && ! $dh{NOSCRIPTS} && $need_ldconfig) {
autoscript($package,"postinst","postinst-makeshlibs");
pgp5p3uafoWNU.pgp
Description: PGP signature

