Package: debhelper
Version: 7.4.7
Tags: patch

dh_makeshlibs -X correctly excludes files from DEBIAN/shlibs,
but not from DEBIAN/symbols.  This leads to a Lintian error
"symbols-declared-but-not-shlib".

Untested patch follows.  I'm testing it now, I'll update this bug
if I need to fix the patch.
-- 
Peter Samuelson | org-tld!p12n!peter | http://p12n.org/


--- dh_makeshlibs
+++ dh_makeshlibs
@@ -124,13 +124,14 @@
        # 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
@@ -212,7 +213,8 @@
                # 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", (map { -e => $_ } @lib_files),
+                       @{$dh{U_PARAMS}});
                if (-s "$tmp/DEBIAN/symbols" == 0) {
                        doit("rm", "-f", "$tmp/DEBIAN/symbols");
                }



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to