X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm-debuginfo.patch;h=537f8bcf4cc426f4227f65486be5185c23063a63;hb=c3a6b2ca1a9086a8effc12a06e905086777a78ec;hp=8ebb50a5a968b84787585aae108b8a646a23bf6f;hpb=0e0b5d610ca32ed5af7f797acd25aa58cb26b9bc;p=packages%2Frpm.git diff --git a/rpm-debuginfo.patch b/rpm-debuginfo.patch index 8ebb50a..537f8bc 100644 --- a/rpm-debuginfo.patch +++ b/rpm-debuginfo.patch @@ -45,108 +45,3 @@ %{__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 '' | 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