diff options
-rw-r--r-- | debian/changelog | 8 | ||||
-rwxr-xr-x | dh_makeshlibs | 11 |
2 files changed, 17 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog index 4246df99..589d861b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +debhelper (12.5.2) UNRELEASED; urgency=medium + + * dh_makeshlibs: Fix regression in compat 10 and earlier where + dh_makeshlibs now failed on error. This safety check was + intended to be a compat 11 or later feature. + + -- Niels Thykier <niels@thykier.net> Sun, 18 Aug 2019 07:18:04 +0000 + debhelper (12.5.1) unstable; urgency=medium * dh_installdeb: Allow "+" to appear in token names as it is diff --git a/dh_makeshlibs b/dh_makeshlibs index fbb5f4ce..f0e45a93 100755 --- a/dh_makeshlibs +++ b/dh_makeshlibs @@ -235,8 +235,15 @@ sub _all_so_files { @all_so_files = sort(@all_so_files); for my $lib_file (@all_so_files) { - my $ret = qx_cmd($objdump, '-p', $lib_file); - my ($library, $major); + my ($library, $majorm, $ret); + if (compat(10)) { + # In compat 10, we silently ignored failing exit codes + # from objdump. Its horrible, but such was compat 10. + $ret = `$objdump -p "$lib_file"`; + chomp($ret); + } else { + $ret = qx_cmd($objdump, '-p', $lib_file); + } if ($ret=~m/\s+SONAME\s+(.*)\.so\.(.*)/) { # proper soname format $library=$1; |