no debuginfo built - why?

Roland McGrath roland at redhat.com
Sun Feb 3 22:01:32 UTC 2008


> I'm putting together a new srpm.  It builds fine, but no debuginfo package. 
> Why not?  What triggers building debuginfo?

It is automatic for any build that is not noarch.
This is controlled by lots of macro magic in /usr/lib/rpm/redhat/macros
and /usr/lib/rpm/macros (the former overriding some of the latter).

I think the crucial hook in is this macro:

	%install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\
	%%install\
	LANG=C\
	export LANG\
	unset DISPLAY\
	%{nil}

So _enable_debug_packages has to be set (it is set by default earlier in
the file), and buildsubdir has to be set.  The latter requirement is (I
think) imposed because the way files are placed in /usr/src/debug depends
on %{buildsubdir} to distinguish packages from each other.

> The word 'debug' does not even occur in the stdout output of the rpmbuild
> process.  How do I debug this?

I don't have any great ideas there, if it's not the buildsubdir issue.
You can try to find a sympathetic rpm guru and cry pitifully until they
figure it out for you.  What I've done is basically just a lot of guess
at likely spec tweaks and try it, occasionally resorting to reading the
rpm source to salt my guesses a little (because for the picayune details,
the documentation to be found is just that lousy).

This buildsubdir macro is magically set by %setup, AIUI.  So perhaps you
are for some reason not using that macro.  If you've avoided it, it's
probably a better idea to figure out options for it that work for your
build, even if that requires fiddling with how you do things and adding
a directory level into the tree you unpack.  From looking at the rpm
source, setting buildsubdir seems to be the only magical thing that
%setup does in addition to the shell commands it emits.  So you could
use %define buildsubdir and do your own thing.  But I suspect that
always using %setup is preferable.


Thanks,
Roland




More information about the fedora-devel-list mailing list