diff options
author | Joey Hess <joey@kitenet.net> | 2010-05-23 19:26:41 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-05-23 19:27:44 -0400 |
commit | 78279dbcdd52d16b14f2de5eb6958948f9dc3dcf (patch) | |
tree | db124439bdb2780bbe49b3137e6ac4da48b7cee9 /dh_makeshlibs | |
parent | 00ed6d0cc8f74caf4a591152a97027194304383c (diff) |
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
Diffstat (limited to 'dh_makeshlibs')
-rwxr-xr-x | dh_makeshlibs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/dh_makeshlibs b/dh_makeshlibs index 03a54f95..428e5b27 100755 --- a/dh_makeshlibs +++ b/dh_makeshlibs @@ -139,13 +139,14 @@ foreach my $package (@{$dh{DOPACKAGES}}) { # 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 @@ -222,12 +223,18 @@ foreach my $package (@{$dh{DOPACKAGES}}) { # 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"); } |