diff options
author | jbj <devnull@localhost> | 2005-07-13 11:09:39 +0000 |
---|---|---|
committer | jbj <devnull@localhost> | 2005-07-13 11:09:39 +0000 |
commit | d66903fe9c842ec5cb6bb3cf8f27e39c40420309 (patch) | |
tree | b1c4233d92d2594f49e79db8028f09d3e46d61e0 /scripts | |
parent | 51b32ae1301f6b862fab83bfebb574a08defbc77 (diff) | |
download | rpm-d66903fe9c842ec5cb6bb3cf8f27e39c40420309.tar.gz rpm-d66903fe9c842ec5cb6bb3cf8f27e39c40420309.tar.bz2 rpm-d66903fe9c842ec5cb6bb3cf8f27e39c40420309.zip |
- fix: find-debuginfo.sh kernel voo-doo tweaks (#159346).
CVS patchset: 7880
CVS date: 2005/07/13 11:09:39
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/find-debuginfo.sh | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh index 15f4c2c60..f057827a1 100644 --- a/scripts/find-debuginfo.sh +++ b/scripts/find-debuginfo.sh @@ -14,8 +14,8 @@ debugdir="${RPM_BUILD_ROOT}/usr/lib/debug" echo -n > $SOURCEFILE # Strip ELF binaries -for f in `find $RPM_BUILD_ROOT -path "${debugdir}" -prune -o -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \ - sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p'` +for f in `find $RPM_BUILD_ROOT ! -path "${debugdir}/*.debug" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \ + sed -n -e 's/^\(.*\):[ ]*.*ELF.*, not stripped/\1/p'` do dn=$(dirname $f | sed -n -e "s#^$RPM_BUILD_ROOT##p") bn=$(basename $f .debug).debug @@ -24,9 +24,16 @@ do debugfn="${debugdn}/${bn}" [ -f "${debugfn}" ] && continue - mkdir -p "${debugdn}" echo extracting debug info from $f /usr/lib/rpm/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug -l "$SOURCEFILE" "$f" + + # A binary already copied into /usr/lib/debug doesn't get stripped, + # just has its file names collected and adjusted. + case "$dn" in + /usr/lib/debug/*) continue ;; + esac + + mkdir -p "${debugdn}" if test -w "$f"; then eu-strip -f "${debugfn}" "$f" || : else |