summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorjbj <devnull@localhost>2005-07-13 11:09:39 +0000
committerjbj <devnull@localhost>2005-07-13 11:09:39 +0000
commitd66903fe9c842ec5cb6bb3cf8f27e39c40420309 (patch)
treeb1c4233d92d2594f49e79db8028f09d3e46d61e0 /scripts
parent51b32ae1301f6b862fab83bfebb574a08defbc77 (diff)
downloadrpm-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.sh13
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