summaryrefslogtreecommitdiff
path: root/dh_makeshlibs
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-05-23 19:26:41 -0400
committerJoey Hess <joey@kitenet.net>2010-05-23 19:27:44 -0400
commit78279dbcdd52d16b14f2de5eb6958948f9dc3dcf (patch)
treedb124439bdb2780bbe49b3137e6ac4da48b7cee9 /dh_makeshlibs
parent00ed6d0cc8f74caf4a591152a97027194304383c (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-xdh_makeshlibs11
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");
}