[NTLUG:Discuss] debuginfo in rpm repositories

Justin M. Forbes jmforbes at linuxtx.org
Tue Aug 9 10:33:14 CDT 2005


On Tue, Aug 09, 2005 at 06:54:57AM -0500, Peter A. Koren wrote:
> What is the purpose of binary rpm packages in repositories with the
> form:
> 
> thepackage-debuginfo-whatever.i386
> 
> as opposed to
> 
> thepackage-whatever.i386 ?

When an rpm is built, one of the last things done is a strip of the binary.
This pulls all of the debugging symbols and leaves you with a reasonable
size binary, with limited ability to debug that binary.  For the times you
need to debug, those symbols are quite handy, so rpm (and conary) have made
it possible to only install the missing parts if and when you need them.
this saves a *ton* of space, debuginfo on a kernel is roughly 150MB
compressed, almost 10x the size of the kernel itself.
When building an rpm yourself, the creation of debuginfo is suppressed for
everyone but root I believe on Fedora.  This can be changed by a
modification to your rpm config file.  For conary troves, we automatically
build debuginfo components if 'debugedit' is installed. 
It should be noted that a debuginfo package does not include the executable
binary, only the stripped debug symbols.  It really should have a
dependancy on the runtime.
If you want to see the difference debuginfo makes, try running a gdb
session on an app without debuginfo installed then again on the same app with
debuginfo installed.  It really makes debugging much easier.  You may see a
developer ask you to install debuginfo for a package that you have
submitted a bug against, and provide a backtrace.

Hope this helps,
Justin M. Forbes
Kernel Engineer
rpath, Inc.
http://wiki.conary.com




More information about the Discuss mailing list