diff options
author | Joey Hess <joey@kitenet.net> | 2011-12-08 18:40:02 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-12-08 18:40:02 -0400 |
commit | 72b8aa1a2f706537a7941dd9d6c025612c5cc044 (patch) | |
tree | 16acb0de089daccbccee9f6ba2c590a3f3b62feb | |
parent | c722e25aeb3ad55c3efa9e60503636939bed1bb2 (diff) |
dh_strip: Use build-id in /usr/lib/debug. Closes: #642158 Thanks, Jakub Wilk
I see no reason to make this v9 only.
-rw-r--r-- | debian/changelog | 2 | ||||
-rwxr-xr-x | dh_strip | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog index a3a72c7a..13320c2c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ debhelper (8.9.13) UNRELEASED; urgency=low * Pass CPPFLAGS to qmake. Closes: #646129 Thanks, Felix Geyert + * dh_strip: Use build-id in /usr/lib/debug. + Closes: #642158 Thanks, Jakub Wilk -- Joey Hess <joeyh@debian.org> Thu, 08 Dec 2011 18:27:02 -0400 @@ -161,7 +161,14 @@ sub make_debug { return unless get_file_type($file) =~ /not stripped/; my ($base_file)=$file=~/^\Q$tmp\E(.*)/; - my $debug_path=$desttmp."/usr/lib/debug/".$base_file; + my $debug_path; + my $elfnotes=`readelf -n $file`; + if ($elfnotes =~ /^\s+Build ID: ([0-9a-f]{2})([0-9a-f]+)$/m) { + $debug_path=$desttmp."/usr/lib/debug/.build-id/$1/$2.debug" + } + else { + $debug_path=$desttmp."/usr/lib/debug/".$base_file; + } my $debug_dir=dirname($debug_path); if (! -d $debug_dir) { doit("install", "-d", $debug_dir); |