Source: leveldb
Version: 1.14.0-2
Severity: wishlist
Tags: patch

I've dealt recently with a few segfaults in libleveldb1 code. I suspect
the error is in the code calling in to leveldb, and not the leveldb code
itself, but it's rather difficult to tell for sure, especially since
this happened on armel. gdb seems to have a lot of trouble determining
traceback chains and what assembly instructions belong to which
functions on that architecture.

If Debian's leveldb packages could ship detached debugging symbols, it
could make life easier for a lot of users.

I attach a tested patch to accomplish this here; I've also pushed it to
a branch named "add-libleveldb-dbg" in the collab-maint git repo, if
that is easier.

Thanks for working on Debian!

p


-- System Information:
Debian Release: 7.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable'), (50, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
commit 5c9728572621e63c503cc50030830ad147271eec
Author: paul cannon <p...@debian.org>
Date:   Wed Nov 6 10:18:51 2013 -0700

    Ship leveldb-dbg package.

diff --git a/debian/changelog b/debian/changelog
index d4552e6..62a864d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+leveldb (1.14.0-2.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Ship leveldb-dbg package.
+
+ -- paul cannon <p...@debian.org>  Wed, 06 Nov 2013 10:35:06 -0700
+
 leveldb (1.14.0-2) unstable; urgency=low
 
   * Inject CPPFLAGS into CFLAGS for hardening.
diff --git a/debian/control b/debian/control
index aa25039..e349ada 100644
--- a/debian/control
+++ b/debian/control
@@ -69,6 +69,20 @@ Description: fast key-value storage library (development 
files)
  .
  This package provides the development files.
 
+Package: libleveldb-dbg
+Section: debug
+Architecture: any
+Depends:
+ libleveldb1 (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends}
+Priority: extra
+Description: fast key-value storage library (debug symbols)
+ LevelDB is a fast key-value storage library written at Google that
+ provides an ordered mapping from string keys to string values.
+ .
+ This package provides the debugging symbols.
+
 Package: leveldb-doc
 Section: doc
 Architecture: all
diff --git a/debian/rules b/debian/rules
index 279a3ea..554069e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -19,7 +19,7 @@ else
     OPT=-O2
 endif
 
-export OPT += -DNDEBUG
+export OPT += -g -DNDEBUG
 
 %:
        dh $@ --parallel
@@ -29,3 +29,6 @@ override_dh_auto_test:
 
 get-orig-source:
        debian/get-git-source.sh
+
+override_dh_strip:
+       dh_strip --dbg-package=libleveldb-dbg

Reply via email to