Description of problem: The debuginfo rpm has the whole vmlinux file in /usr/lib/debug, but /usr/src/debug lacks its source files. I'm guessing the debugedit magic didn't run on vmlinux the way it ran on the .ko.debug files. Version-Release number of selected component (if applicable): kernel-debuginfo-2.6.11-1.1366_FC4 How reproducible: 100% Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
I think I see a way to fix this in the rpm-build script find-debuginfo.sh, leaving the kernel spec file alone.
The kernel spec file copies the unstripped vmlinux binary into /usr/lib/debug/lib/modules/VERSION/vmlinux to get it into the debuginfo package. This seems like a reasonable thing for packages to do when they have the case like the kernel does (on several platforms anyway), where there is an ELF binary embedded in some nonobvious way in the installed files. To be able to use debugging tools on the binary, it needs to be in a normal ELF file somewhere, and when the package's normal install doesn't have any such ELF file, it makes sense to put the unstripped file directly into /usr/lib/debug somewhere (as opposed to having just a .debug file there).
Created attachment 115071 [details] patch for find-debuginfo.sh script Continuing last comment: The magic for producing debuginfo rpms needs to know about these files to run them through debugedit and get the source files they refer to into the package. This patch makes find-debuginfo.sh run debugedit on ELF files found in /usr/lib/debug in the $RPM_BUILD_ROOT. This produces good results for the kernel package.
Heh, thanks for the patch, find-debuginfo.sh fixing ain't fun. Added to rpm-4_4, should be in rpm-4.4.2-0.8 when built.
This issue is on Red Hat Engineering's list of planned work items for the upcoming Red Hat Enterprise Linux 4.4 release. Engineering resources have been assigned and barring unforeseen circumstances, Red Hat intends to include this item in the 4.4 release.