]> git.pld-linux.org Git - packages/rpm.git/blob - rpm-debuginfo.patch
- cleanups, exit early if nothing to be found
[packages/rpm.git] / rpm-debuginfo.patch
1 --- rpm-4.4.6.org/macros.in     2006-04-08 21:04:54.000000000 +0200
2 +++ rpm-4.4.6/macros.in 2006-06-30 22:03:15.076727750 +0200
3 @@ -168,15 +168,20 @@
4  %debug_package \
5  %ifnarch noarch\
6  %global __debug_package 1\
7 -%package debug\
8 +%package debuginfo\
9  Summary: Debug information for package %{name}\
10 +Summary(pl.UTF-8): Informacje dla debuggera dla pakietu %{name}\
11  Group: Development/Debug\
12  AutoReqProv: 0\
13 -%description debug\
14 +%description debuginfo\
15  This package provides debug information for package %{name}.\
16  Debug information is useful when developing applications that use this\
17  package or when debugging this package.\
18 -%files debug -f debugfiles.list\
19 +%description debuginfo -l pl.UTF-8\
20 +Ten pakiet dostarcza informacje dla debuggera dla pakietu %{name}.\
21 +Informacje te są przydatne przy rozwijaniu aplikacji używających tego\
22 +pakietu oraz przy odpluskwianiu samego pakietu.\
23 +%files debuginfo -f debugfiles.list\
24  %defattr(-,root,root)\
25  %endif\
26  %{nil}
27 @@ -961,7 +966,7 @@
28  %__spec_install_pre    %{___build_pre}
29  %__spec_install_body   %{___build_body}
30  %__spec_install_post\
31 -%{?__debug_package:%{__debug_install_post}}\
32 +%{expand:%%define __sip_%{?_enable_debug_packages} 1}%{?__sip_1:%{?__debug_package:%{__debug_install_post}}}%{expand:%%undefine __sip_%{?_enable_debug_packages}}\
33  %{__arch_install_post}\
34  %{__os_install_post}\
35  %{nil}
36 --- rpm-4.4.6.org/platform.in   2006-06-30 22:01:46.743207000 +0200
37 +++ rpm-4.4.6/platform.in       2006-06-30 22:03:15.080728000 +0200
38 @@ -61,7 +61,7 @@
39  %{nil}
40  
41  %__spec_install_post\
42 -    %{?__debug_package:%{__debug_install_post}}\
43 +    %{expand:%%define __sip_%{?_enable_debug_packages} 1}%{?__sip_1:%{?__debug_package:%{__debug_install_post}}}%{expand:%%undefine __sip_%{?_enable_debug_packages}}\
44      %{__arch_install_post}\
45      %{__os_install_post}\
46  %{nil}
47 --- rpm-4.4.9/scripts/find-debuginfo.sh~        2008-01-31 02:10:36.032662759 +0200
48 +++ rpm-4.4.9/scripts/find-debuginfo.sh 2008-01-31 02:11:05.000000000 +0200
49 @@ -1,36 +1,49 @@
50  #!/bin/sh
51 -#find-debuginfo.sh - automagically generate debug info and file list
52 -#for inclusion in an rpm spec file.
53 +# find-debuginfo.sh - automagically generate debug info and file list
54 +# for inclusion in an rpm spec file.
55  
56 -if [ -z "$1" ] ; then BUILDDIR="."
57 -else BUILDDIR=$1
58 +if [ -z "$1" ]; then
59 +       BUILDDIR="."
60 +else
61 +       BUILDDIR=$1
62  fi
63  
64  LISTFILE=$BUILDDIR/debugfiles.list
65  SOURCEFILE=$BUILDDIR/debugsources.list
66  
67 -debugdir="${RPM_BUILD_ROOT}/usr/lib/debug"
68 -
69 -echo -n > $SOURCEFILE
70 +: > $SOURCEFILE
71 +: > $LISTFILE
72  
73  strip_to_debug()
74  {
75 -  eu-strip --remove-comment -f "$1" "$2" || :
76 +  objcopy --only-keep-debug --remove-section .comment "$2" "$1"
77 +  objcopy --add-gnu-debuglink="$1" "$2"
78  }
79  
80 +filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f '(' -perm -0100 -or -perm -0010 -or -perm -0001 ')')
81 +if [ -z "$filelist" ]; then
82 +       # no files, exit
83 +       exit 0
84 +fi
85 +
86 +filetypes=$(echo "$filelist" | xargs -r -d'\n' file)
87 +elflist=$(echo "$filetypes" | awk -F: '/ELF.*, not stripped/ {print $1}')
88 +if [ -z "$elflist" ]; then
89 +       # no elf objects, exit
90 +       exit 0
91 +fi
92 +
93  # Strip ELF binaries
94 -for f in `find $RPM_BUILD_ROOT ! -path "${debugdir}/*.debug" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
95 -       sed -n -e 's/^\(.*\):[  ]*.*ELF.*, not stripped/\1/p'`
96 -do
97 -       dn=$(dirname $f | sed -n -e "s#^$RPM_BUILD_ROOT##p")
98 -       bn=$(basename $f .debug).debug
99 -
100 -       debugdn="${debugdir}${dn}"
101 -       debugfn="${debugdn}/${bn}"
102 -       [ -f "${debugfn}" ] && continue
103 +echo "$elflist" | while read f; do
104 +       dn=$(dirname "${f#$RPM_BUILD_ROOT}")
105 +       bn=$(basename "$f" .debug).debug
106 +
107 +       debugdn="$RPM_BUILD_ROOT/usr/lib/debug$dn"
108 +       debugfn="$debugdn/$bn"
109 +       [ -f "$debugfn" ] && continue
110  
111         echo extracting debug info from $f
112 -       /usr/lib/rpm/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug -l "$SOURCEFILE" "$f"
113 +       /usr/bin/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug -l "$SOURCEFILE" "$f"
114  
115         # A binary already copied into /usr/lib/debug doesn't get stripped,
116         # just has its file names collected and adjusted.
117 @@ -38,20 +51,22 @@
118         /usr/lib/debug/*) continue ;;
119         esac
120  
121 -       mkdir -p "${debugdn}"
122 +       mkdir -p "$debugdn"
123         if test -w "$f"; then
124 -               strip_to_debug "${debugfn}" "$f"
125 +               strip_to_debug "$debugfn" "$f"
126         else
127                 chmod u+w "$f"
128 -               strip_to_debug "${debugfn}" "$f"
129 +               strip_to_debug "$debugfn" "$f"
130                 chmod u-w "$f"
131         fi
132  done
133  
134 -mkdir -p ${RPM_BUILD_ROOT}/usr/src/debug
135 +mkdir -p $RPM_BUILD_ROOT/usr/src/debug
136  cat $SOURCEFILE | (cd $RPM_BUILD_DIR; LANG=C sort -z -u | cpio -pd0mL ${RPM_BUILD_ROOT}/usr/src/debug)
137  # stupid cpio creates new directories in mode 0700, fixup
138 -find ${RPM_BUILD_ROOT}/usr/src/debug -type d -print0 | xargs -0 chmod a+rx
139 +find $RPM_BUILD_ROOT/usr/src/debug -type d -print0 | xargs -0 chmod a+rx
140 +
141 +find $RPM_BUILD_ROOT/usr/lib/debug -type f | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $LISTFILE
142 +find $RPM_BUILD_ROOT/usr/lib/debug -mindepth 1 -type d | sed -n -e "s#^$RPM_BUILD_ROOT#%dir #p" >> $LISTFILE
143 +find $RPM_BUILD_ROOT/usr/src/debug -mindepth 1 -maxdepth 1 | sed -n -e "s#^$RPM_BUILD_ROOT##p" >> $LISTFILE
144  
145 -find ${RPM_BUILD_ROOT}/usr/lib/debug -type f | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $LISTFILE
146 -find ${RPM_BUILD_ROOT}/usr/src/debug -mindepth 1 -maxdepth 1 | sed -n -e "s#^$RPM_BUILD_ROOT##p" >> $LISTFILE
This page took 0.050886 seconds and 3 git commands to generate.