X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm-debuginfo.patch;h=8ebb50a5a968b84787585aae108b8a646a23bf6f;hb=0e0b5d610ca32ed5af7f797acd25aa58cb26b9bc;hp=402a3ede20095b44eab75cf25f16fbf9c472c01b;hpb=68f854fb8e7f861ef65adca66590d7698bf2b54e;p=packages%2Frpm.git diff --git a/rpm-debuginfo.patch b/rpm-debuginfo.patch index 402a3ed..8ebb50a 100644 --- a/rpm-debuginfo.patch +++ b/rpm-debuginfo.patch @@ -1,15 +1,15 @@ -diff -ur rpm-4.4.6.org/macros.in rpm-4.4.6/macros.in ---- rpm-4.4.6.org/macros.in 2006-04-08 21:04:54.000000000 +0200 -+++ rpm-4.4.6/macros.in 2006-06-30 22:03:15.076727750 +0200 -@@ -168,15 +168,20 @@ +--- rpm-4.4.9.orig/macros.in 2008-01-31 19:20:08.798315963 +0200 ++++ rpm-4.4.9/macros.in 2008-01-31 19:20:50.850567944 +0200 +@@ -188,15 +188,21 @@ %debug_package \ %ifnarch noarch\ %global __debug_package 1\ -%package debug\ +%package debuginfo\ Summary: Debug information for package %{name}\ -+Summary(pl): Informacje dla debuggera dla pakietu %{name}\ ++Summary(pl.UTF-8): Informacje dla debuggera dla pakietu %{name}\ Group: Development/Debug\ ++Requires: filesystem-debuginfo >= 3.0-16\ AutoReqProv: 0\ -%description debug\ +%description debuginfo\ @@ -17,16 +17,16 @@ diff -ur rpm-4.4.6.org/macros.in rpm-4.4.6/macros.in Debug information is useful when developing applications that use this\ package or when debugging this package.\ -%files debug -f debugfiles.list\ -+%description debuginfo -l pl\ ++%description debuginfo -l pl.UTF-8\ +Ten pakiet dostarcza informacje dla debuggera dla pakietu %{name}.\ -+Informacje te s± przydatne przy rozwijaniu aplikacji u¿ywaj±cych tego\ ++Informacje te są przydatne przy rozwijaniu aplikacji używających tego\ +pakietu oraz przy odpluskwianiu samego pakietu.\ +%files debuginfo -f debugfiles.list\ %defattr(-,root,root)\ %endif\ %{nil} -@@ -961,7 +966,7 @@ - %__spec_install_pre %{___build_pre} +@@ -1046,7 +1052,7 @@ + %{?buildroot:%{__rm} -rf '%{buildroot}'} %__spec_install_body %{___build_body} %__spec_install_post\ -%{?__debug_package:%{__debug_install_post}}\ @@ -34,9 +34,8 @@ diff -ur rpm-4.4.6.org/macros.in rpm-4.4.6/macros.in %{__arch_install_post}\ %{__os_install_post}\ %{nil} -diff -ur rpm-4.4.6.org/platform.in rpm-4.4.6/platform.in ---- rpm-4.4.6.org/platform.in 2006-06-30 22:01:46.743207000 +0200 -+++ rpm-4.4.6/platform.in 2006-06-30 22:03:15.080728000 +0200 +--- rpm-4.4.9.orig/platform.in 2008-01-31 19:20:08.676303626 +0200 ++++ rpm-4.4.9/platform.in 2008-01-31 19:20:50.844567337 +0200 @@ -61,7 +61,7 @@ %{nil} @@ -46,10 +45,31 @@ diff -ur rpm-4.4.6.org/platform.in rpm-4.4.6/platform.in %{__arch_install_post}\ %{__os_install_post}\ %{nil} -diff -ur rpm-4.4.6.org/scripts/find-debuginfo.sh rpm-4.4.6/scripts/find-debuginfo.sh ---- rpm-4.4.6.org/scripts/find-debuginfo.sh 2006-02-12 15:59:51.000000000 +0100 -+++ rpm-4.4.6/scripts/find-debuginfo.sh 2006-06-30 22:03:53.451126000 +0200 -@@ -15,7 +15,8 @@ +--- 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() { @@ -58,19 +78,75 @@ diff -ur rpm-4.4.6.org/scripts/find-debuginfo.sh rpm-4.4.6/scripts/find-debuginf + 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 -@@ -30,7 +31,7 @@ - [ -f "${debugfn}" ] && continue +-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/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug -l "$SOURCEFILE" "$f" -+ /usr/bin/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug -l "$SOURCEFILE" "$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. -@@ -54,4 +55,5 @@ - find ${RPM_BUILD_ROOT}/usr/src/debug -type d -print0 | xargs -0 chmod a+rx +@@ -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/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 +-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