]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_makeshlibs
In v8 mode, dh_makeshlibs will run dpkg-gensymbols on all shared libraries it generat...
[debhelper.git] / dh_makeshlibs
index 03a54f95420d3d990f39ef14c962863730608f18..428e5b278f15f077ae351777fbe0d060ffee6a4f 100755 (executable)
@@ -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");
                }