]> git.pld-linux.org Git - packages/rpm.git/blob - rpm-debuginfo.patch
- print error when mktemp failed due tmpdir not existent
[packages/rpm.git] / rpm-debuginfo.patch
1 --- rpm-4.4.9.orig/macros.in    2008-01-31 19:20:08.798315963 +0200
2 +++ rpm-4.4.9/macros.in 2008-01-31 19:20:50.850567944 +0200
3 @@ -188,15 +188,21 @@
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 +Requires: filesystem-debuginfo >= 3.0-16\
13  AutoReqProv: 0\
14 -%description debug\
15 +%description debuginfo\
16  This package provides debug information for package %{name}.\
17  Debug information is useful when developing applications that use this\
18  package or when debugging this package.\
19 -%files debug -f debugfiles.list\
20 +%description debuginfo -l pl_PL.UTF-8\
21 +Ten pakiet dostarcza informacje dla debuggera dla pakietu %{name}.\
22 +Informacje te są przydatne przy rozwijaniu aplikacji używających tego\
23 +pakietu oraz przy odpluskwianiu samego pakietu.\
24 +%files debuginfo -f debugfiles.list\
25  %defattr(-,root,root)\
26  %endif\
27  %{nil}
28 @@ -1046,7 +1052,7 @@
29  %{?buildroot:%{__rm} -rf '%{buildroot}'}
30  %__spec_install_body   %{___build_body}
31  %__spec_install_post\
32 -%{?__debug_package:%{__debug_install_post}}\
33 +%{expand:%%define __sip_%{?_enable_debug_packages} 1}%{?__sip_1:%{?__debug_package:%{__debug_install_post}}}%{expand:%%undefine __sip_%{?_enable_debug_packages}}\
34  %{__arch_install_post}\
35  %{__os_install_post}\
36  %{nil}
37 --- rpm-4.4.9.orig/platform.in  2008-01-31 19:20:08.676303626 +0200
38 +++ rpm-4.4.9/platform.in       2008-01-31 19:20:50.844567337 +0200
39 @@ -61,7 +61,7 @@
40  %{nil}
41  
42  %__spec_install_post\
43 -    %{?__debug_package:%{__debug_install_post}}\
44 +    %{expand:%%define __sip_%{?_enable_debug_packages} 1}%{?__sip_1:%{?__debug_package:%{__debug_install_post}}}%{expand:%%undefine __sip_%{?_enable_debug_packages}}\
45      %{__arch_install_post}\
46      %{__os_install_post}\
47  %{nil}
48 --- rpm-4.4.9.orig/scripts/find-debuginfo.sh    2006-02-12 16:59:51.000000000 +0200
49 +++ rpm-4.4.9/scripts/find-debuginfo.sh 2008-01-31 19:20:50.852568146 +0200
50 @@ -1,36 +1,49 @@
51  #!/bin/sh
52 -#find-debuginfo.sh - automagically generate debug info and file list
53 -#for inclusion in an rpm spec file.
54 +# find-debuginfo.sh - automagically generate debug info and file list
55 +# for inclusion in an rpm spec file.
56  
57 -if [ -z "$1" ] ; then BUILDDIR="."
58 -else BUILDDIR=$1
59 +if [ -z "$1" ]; then
60 +       BUILDDIR="."
61 +else
62 +       BUILDDIR=$1
63  fi
64  
65  LISTFILE=$BUILDDIR/debugfiles.list
66  SOURCEFILE=$BUILDDIR/debugsources.list
67  
68 -debugdir="${RPM_BUILD_ROOT}/usr/lib/debug"
69 -
70 -echo -n > $SOURCEFILE
71 +: > $SOURCEFILE
72 +: > $LISTFILE
73  
74  strip_to_debug()
75  {
76 -  eu-strip --remove-comment -f "$1" "$2" || :
77 +  objcopy --only-keep-debug --remove-section .comment "$2" "$1"
78 +  objcopy --add-gnu-debuglink="$1" "$2"
79  }
80  
81 +filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f '(' -perm -0100 -or -perm -0010 -or -perm -0001 ')')
82 +if [ -z "$filelist" ]; then
83 +       # no files, exit
84 +       exit 0
85 +fi
86 +
87 +filetypes=$(echo "$filelist" | xargs -r -d'\n' file)
88 +elflist=$(echo "$filetypes" | awk -F: '/ELF.*, not stripped/ {print $1}')
89 +if [ -z "$elflist" ]; then
90 +       # no elf objects, exit
91 +       exit 0
92 +fi
93 +
94  # Strip ELF binaries
95 -for f in `find $RPM_BUILD_ROOT ! -path "${debugdir}/*.debug" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
96 -       sed -n -e 's/^\(.*\):[  ]*.*ELF.*, not stripped/\1/p'`
97 -do
98 -       dn=$(dirname $f | sed -n -e "s#^$RPM_BUILD_ROOT##p")
99 -       bn=$(basename $f .debug).debug
100 -
101 -       debugdn="${debugdir}${dn}"
102 -       debugfn="${debugdn}/${bn}"
103 -       [ -f "${debugfn}" ] && continue
104 +echo "$elflist" | while read f; do
105 +       dn=$(dirname "${f#$RPM_BUILD_ROOT}")
106 +       bn=$(basename "$f" .debug).debug
107 +
108 +       debugdn="$RPM_BUILD_ROOT/usr/lib/debug$dn"
109 +       debugfn="$debugdn/$bn"
110 +       [ -f "$debugfn" ] && continue
111  
112         echo extracting debug info from $f
113 -       /usr/lib/rpm/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug -l "$SOURCEFILE" "$f"
114 +       /usr/bin/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug -l "$SOURCEFILE" "$f"
115  
116         # A binary already copied into /usr/lib/debug doesn't get stripped,
117         # just has its file names collected and adjusted.
118 @@ -38,20 +51,27 @@
119         /usr/lib/debug/*) continue ;;
120         esac
121  
122 -       mkdir -p "${debugdn}"
123 +       mkdir -p "$debugdn"
124         if test -w "$f"; then
125 -               strip_to_debug "${debugfn}" "$f"
126 +               strip_to_debug "$debugfn" "$f"
127         else
128                 chmod u+w "$f"
129 -               strip_to_debug "${debugfn}" "$f"
130 +               strip_to_debug "$debugfn" "$f"
131                 chmod u-w "$f"
132         fi
133  done
134  
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 +mkdir -p $RPM_BUILD_ROOT/usr/src/debug
138 +cat $SOURCEFILE | (cd $RPM_BUILD_DIR; LANG=C sort -z -u | fgrep -zv '<built-in>' | cpio --quiet -pd0mL $RPM_BUILD_ROOT/usr/src/debug)
139  # stupid cpio creates new directories in mode 0700, fixup
140 -find ${RPM_BUILD_ROOT}/usr/src/debug -type d -print0 | xargs -0 chmod a+rx
141 +find $RPM_BUILD_ROOT/usr/src/debug -type d -print0 | xargs -0 chmod a+rx
142  
143 -find ${RPM_BUILD_ROOT}/usr/lib/debug -type f | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $LISTFILE
144 -find ${RPM_BUILD_ROOT}/usr/src/debug -mindepth 1 -maxdepth 1 | sed -n -e "s#^$RPM_BUILD_ROOT##p" >> $LISTFILE
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/lib/debug -mindepth 1 -type d | sed -n -e "s#^$RPM_BUILD_ROOT#%dir #p" >> $LISTFILE
147 +find $RPM_BUILD_ROOT/usr/src/debug -mindepth 1 -maxdepth 1 | sed -n -e "s#^$RPM_BUILD_ROOT##p" >> $LISTFILE
148 +
149 +# add dirs already in filesystem-debuginfo package to exclude
150 +cat /usr/src/debug/filesystem-debuginfo.files | while read dir; do
151 +       [ -d $RPM_BUILD_ROOT$dir ] || continue
152 +       echo "%exclude %dir $dir"
153 +done >> $LISTFILE
154 --- rpm-4.4.9.orig/scripts/find-debuginfo.sh    2008-02-11 18:51:12.304461614 +0200
155 +++ rpm-4.4.9/scripts/find-debuginfo.sh 2008-02-11 18:50:17.000000000 +0200
156 @@ -20,6 +20,11 @@
157    objcopy --add-gnu-debuglink="$1" "$2"
158  }
159  
160 +if [ ! -d $RPM_BUILD_ROOT ]; then
161 +       # no buildroot, exit
162 +       exit 0
163 +fi
164 +
165  filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f '(' -perm -0100 -or -perm -0010 -or -perm -0001 ')')
166  if [ -z "$filelist" ]; then
167         # no files, exit
This page took 0.033851 seconds and 3 git commands to generate.