]> git.donarmstrong.com Git - debhelper.git/commitdiff
dh_strip: Use build-id in /usr/lib/debug. Closes: #642158 Thanks, Jakub Wilk
authorJoey Hess <joey@kitenet.net>
Thu, 8 Dec 2011 22:40:02 +0000 (18:40 -0400)
committerJoey Hess <joey@kitenet.net>
Thu, 8 Dec 2011 22:40:02 +0000 (18:40 -0400)
I see no reason to make this v9 only.

debian/changelog
dh_strip

index a3a72c7a6403f06c008d929a3f15aaaefa38d850..13320c2ca079c96b8f4df6e07a0c03c6fbd9fa4a 100644 (file)
@@ -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
 
index 4dc69616f971a5678374526e172a577f948a4ba5..be0b000d7abd3947db1699c352fe13a4fc65b54c 100755 (executable)
--- a/dh_strip
+++ b/dh_strip
@@ -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);