From: Joey Hess <joey@gnu.kitenet.net>
Date: Mon, 23 Nov 2009 18:16:49 +0000 (-0500)
Subject: dh_makeshlibs: Make -X also exclude libraries from the symbols file. Closes: #557603... 
X-Git-Tag: 7.4.8~3
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a6d3e307da558f6bf455a0d21e1cb9ec1b4fef03;p=debhelper.git

dh_makeshlibs: Make -X also exclude libraries from the symbols file. Closes: #557603 (Peter Samuelson)
---

diff --git a/debian/changelog b/debian/changelog
index af29f85..141920e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 debhelper (7.4.8) UNRELEASED; urgency=low
 
   * dh: Document --no-act. Closes: #557505
+  * dh_makeshlibs: Make -X also exclude libraries from the symbols file.
+    Closes: #557603 (Peter Samuelson)
 
  -- Joey Hess <joeyh@debian.org>  Sun, 22 Nov 2009 13:32:50 -0500
 
diff --git a/dh_makeshlibs b/dh_makeshlibs
index 03a54f9..4e4a8e2 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
@@ -227,7 +228,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
 		# 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");
 		}