Bug 130779

Summary: debuginfo rpms made useless by containing only links to nonexistent source files
Product: [Fedora] Fedora Reporter: Jason Vas Dias <jvdias>
Component: rpmAssignee: Paul Nasrat <nobody+pnasrat>
Status: CLOSED CURRENTRELEASE QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-04-19 18:40:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 123268, 136451    

Description Jason Vas Dias 2004-08-24 17:06:35 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510

Description of problem:
 When RPMs are built and debuginfo packages are generated,
 the debuginfo package contains symbolic links to the source
 files on the build system, not the source files themselves.
 This renders debuginfo packages useless - they cannot be
 used for debugging unless installed on the system that 
 built the RPM.

 For instance,  dhcp-debuginfo-3.0.1-7.i386.rpm, as built by
 the build system, contains no source code files, only links
 to where they were when the package was built:

lrwxrwxrwx  1 root root 56 Aug 24 12:08
/usr/src/debug/dhcp-3.0.1/work.linux-2.2/server/mdb.c ->
/usr/src/build/438185-i386/BUILD/dhcp-3.0.1/server/mdb.c

 The /usr/src/build/438185-i386/BUILD/dhcp-3.0.1/server/mdb.c
 file does not exist on the target platform, hence dhcp cannot
 be debugged on the target platform using the dhcp-debuginfo
 package.

 This seems to be true for all the *debuginfo rpms; they are 
 quite useless for debugging purposes, since all the source
 files they contain are links to non-existent files.

 The debuginfo packages must contain the actual source files,
 not links.

Version-Release number of selected component (if applicable):
redhat-rpm-config-8.0.28-1.1.1, 8.0.28-2

How reproducible:
Always

Steps to Reproduce:
1. Build an rpm with rpmbuild containing executable shared objects
2. The "%{name}-debuginfo-%{version}-%{release}.%{arch}.rpm" 
   debuginfo package is generated


Actual Results:     
   The debuginfo package will contain only links to the
   source files on the build server, not the files themselves,
   rendering the debuginfo package useless for debugging 
   (or any other!) purposes. 
    

Expected Results:     
   The debuginfo package should install the actual source code files
   under /usr/src/debug/%{name}-%{version}, not links
   

Additional info:

Comment 1 Jason Vas Dias 2004-08-25 14:02:27 UTC
 Oops - this is less severe a problem than I first thought - it appears
 the actual source files in dhcp build tree and the other package I
 looked at ARE links - but still the links should be resolved and the
 actual source files should be put into the debuginfo package. 
  

Comment 2 Elliot Lee 2004-12-03 20:09:09 UTC
This is made worse by the package using absolute symlinks instead of
relative ones. The core of the problem is rpm's find-debuginfo.sh
script. Fixing it is possible but it'd take a lot of hacking and we
don't have anyone maintaining the debuginfo stuff (which is actually
in rpm itself).

In a word: submit patches. :)

Comment 3 Jeff Johnson 2004-12-08 04:04:40 UTC
Yah, what sopwith said.

"Patches cheerfully accepted." is my mantra too.

NEEDINFO waiting for patches ...

Comment 4 Jeremy Katz 2005-04-19 18:40:02 UTC
Closing due to inactivity.  If this issue still occurs with current releases,
please reopen and set the release in which you've encountered the problem.