]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm-debuginfo.patch
- adopted by patch from jbj:
[packages/rpm.git] / rpm-debuginfo.patch
index 8ebb50a5a968b84787585aae108b8a646a23bf6f..537f8bcf4cc426f4227f65486be5185c23063a63 100644 (file)
      %{__arch_install_post}\
      %{__os_install_post}\
  %{nil}
---- rpm-4.5.debuginfo/scripts/find-debuginfo.sh        2007-08-31 04:07:02.000000000 +0300
-+++ rpm-4.5/scripts/find-debuginfo.sh  2008-10-05 00:49:03.834523059 +0300
-@@ -1,36 +1,54 @@
- #!/bin/sh
--#find-debuginfo.sh - automagically generate debug info and file list
--#for inclusion in an rpm spec file.
-+# find-debuginfo.sh - automagically generate debug info and file list
-+# for inclusion in an rpm spec file.
--if [ -z "$1" ] ; then BUILDDIR="."
--else BUILDDIR=$1
-+if [ -z "$1" ]; then
-+      BUILDDIR="."
-+else
-+      BUILDDIR=$1
- fi
- LISTFILE=$BUILDDIR/debugfiles.list
- SOURCEFILE=$BUILDDIR/debugsources.list
--debugdir="${RPM_BUILD_ROOT}/usr/lib/debug"
--
--echo -n > $SOURCEFILE
-+: > $SOURCEFILE
-+: > $LISTFILE
- strip_to_debug()
- {
--  eu-strip --remove-comment -f "$1" "$2" || :
-+  objcopy --only-keep-debug --remove-section .comment "$2" "$1"
-+  objcopy --add-gnu-debuglink="$1" "$2"
- }
-+if [ ! -d $RPM_BUILD_ROOT ]; then
-+      # no buildroot, exit
-+      exit 0
-+fi
-+
-+filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f '(' -perm -0100 -or -perm -0010 -or -perm -0001 ')')
-+if [ -z "$filelist" ]; then
-+      # no files, exit
-+      exit 0
-+fi
-+
-+filetypes=$(echo "$filelist" | xargs -r -d'\n' file)
-+elflist=$(echo "$filetypes" | awk -F: '/ELF.*, not stripped/ {print $1}')
-+if [ -z "$elflist" ]; then
-+      # no elf objects, exit
-+      exit 0
-+fi
-+
- # Strip ELF binaries
--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
--
--      debugdn="${debugdir}${dn}"
--      debugfn="${debugdn}/${bn}"
--      [ -f "${debugfn}" ] && continue
-+echo "$elflist" | while read f; do
-+      dn=$(dirname "${f#$RPM_BUILD_ROOT}")
-+      bn=$(basename "$f" .debug).debug
-+
-+      debugdn="$RPM_BUILD_ROOT/usr/lib/debug$dn"
-+      debugfn="$debugdn/$bn"
-+      [ -f "$debugfn" ] && continue
-       echo extracting debug info from $f
--      /usr/lib/rpm/4.5/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug -l "$SOURCEFILE" "$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.
-@@ -38,20 +56,21 @@
-       /usr/lib/debug/*) continue ;;
-       esac
--      mkdir -p "${debugdn}"
-+      mkdir -p "$debugdn"
-       if test -w "$f"; then
--              strip_to_debug "${debugfn}" "$f"
-+              strip_to_debug "$debugfn" "$f"
-       else
-               chmod u+w "$f"
--              strip_to_debug "${debugfn}" "$f"
-+              strip_to_debug "$debugfn" "$f"
-               chmod u-w "$f"
-       fi
- done
--mkdir -p ${RPM_BUILD_ROOT}/usr/src/debug
--cat $SOURCEFILE | (cd $RPM_BUILD_DIR; LANG=C sort -z -u | cpio -pd0mL ${RPM_BUILD_ROOT}/usr/src/debug)
-+mkdir -p $RPM_BUILD_ROOT/usr/src/debug
-+cat $SOURCEFILE | (cd $RPM_BUILD_DIR; LANG=C sort -z -u | fgrep -zv '<built-in>' | cpio --quiet -pd0mL $RPM_BUILD_ROOT/usr/src/debug)
- # stupid cpio creates new directories in mode 0700, fixup
--find ${RPM_BUILD_ROOT}/usr/src/debug -type d -print0 | xargs -0 chmod a+rx
-+find $RPM_BUILD_ROOT/usr/src/debug -type d -print0 | xargs -0 chmod a+rx
--find ${RPM_BUILD_ROOT}/usr/lib/debug -type f | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $LISTFILE
--find ${RPM_BUILD_ROOT}/usr/src/debug -mindepth 1 -maxdepth 1 | sed -n -e "s#^$RPM_BUILD_ROOT##p" >> $LISTFILE
-+find $RPM_BUILD_ROOT/usr/lib/debug -type f | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $LISTFILE
-+find $RPM_BUILD_ROOT/usr/lib/debug -mindepth 1 -type d | sed -n -e "s#^$RPM_BUILD_ROOT#%dir #p" >> $LISTFILE
-+find $RPM_BUILD_ROOT/usr/src/debug -mindepth 1 -maxdepth 1 | sed -n -e "s#^$RPM_BUILD_ROOT##p" >> $LISTFILE
This page took 0.089468 seconds and 4 git commands to generate.