Commands will fail rather than warning when they are passed unknown options.
+=item -
+
+dh_makeshlibs will run dpkg-gensymbols on all shared libraries that it
+generates shlibs files for. So -X can be used to exclude libraries.
+Also, libraries in unusual locations that dpkg-gensymbols would not
+have processed before will be passed to it, a behavior change that
+can cause some packages to fail to build.
+
=back
=back
* Add deprecation warning for dh_clean -k.
* In v8 mode, do not allow directly passing unknown options to debhelper
commands. (Unknown options in DH_OPTIONS still only result in warnings.)
+ * In v8 mode, dh_makeshlibs will run dpkg-gensymbols on all shared
+ libraries it generates shlibs files for. This means that -X can be
+ used to exclude libraries from processing by dpkg-gensymbols. It also
+ means that libraries in unusual locations, where dpkg-gensymbols does
+ not itself normally look will be passed to it, a behavior change which
+ may break some packages. Closes: #557603
-- Joey Hess <joeyh@debian.org> Mon, 17 May 2010 20:01:19 -0400
# because only if we can get a library name and a major number from
# objdump is anything actually added.
my $exclude='';
- my @udeb_lines;
+ my (@udeb_lines, @lib_files);
if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') {
$exclude="! \\( $dh{EXCLUDE_FIND} \\) ";
}
open (FIND, "find $tmp -type f \\( -name '*.so' -or -name '*.so.*' \\) $exclude |");
while (<FIND>) {
my ($library, $major);
+ push @lib_files, $_;
my $objdump=`objdump -p $_`;
if ($objdump=~m/\s+SONAME\s+(.+)\.so\.(.+)/) {
# proper soname format
# dpkg-gensymbols files
my $symbols=pkgfile($package, "symbols");
if (-e $symbols) {
+ my @liblist;
+ if (! compat(7)) {
+ @liblist=map { "-e$_" } @lib_files;
+ }
# -I is used rather than using dpkg-gensymbols
# own search for symbols files, since that search
# is not 100% compatible with debhelper. (For example,
# this supports --ignore being used.)
doit("dpkg-gensymbols", "-p$package", "-I$symbols",
- "-P$tmp", @{$dh{U_PARAMS}});
+ "-P$tmp",
+ @liblist,
+ @{$dh{U_PARAMS}});
if (-s "$tmp/DEBIAN/symbols" == 0) {
doit("rm", "-f", "$tmp/DEBIAN/symbols");
}
* make dh_install use hard links for efficiency (maybe?)
* dh_installinit --restart-after-upgrade as default?
* #487006: dh_installman with 3-letter codes
-* apply patch in #557603 (breaks compatibility slightly; see #560120)
* clean up dh's handling of options passed onto commands it calls,
by implementing one of the changes discussed in #570039
(either change #3, change #4, or change #5; change #0 was done, but
was an incomplete workaround)
+ My preference ATM is #3, require dh options come before --,
+ and after, options to be passed on to commands.
* better package arch filtering for -N , -p (#576990)
* Support DEB_BUILD_OPTIONS=debug ; maybe also support passing
-g -O2 by default. See patch (and discussion of why this breaks