67 lines
2.4 KiB
Diff
67 lines
2.4 KiB
Diff
Subject: Split sources for debugging into separate -debugsource package
|
|
|
|
At the moment the -debuginfo package also include the sources where used to
|
|
build the binary. The patches moves them into a separate package -debugsource.
|
|
|
|
---
|
|
macros.in | 12 ++++++++++++
|
|
scripts/find-debuginfo.sh | 12 +++++++++---
|
|
2 files changed, 21 insertions(+), 3 deletions(-)
|
|
|
|
Index: b/macros.in
|
|
===================================================================
|
|
--- macros.in
|
|
+++ macros.in
|
|
@@ -183,6 +183,18 @@ Debug information is useful when develop
|
|
package or when debugging this package.\
|
|
%files debuginfo -f debugfiles.list\
|
|
%defattr(-,root,root)\
|
|
+\
|
|
+%package debugsource\
|
|
+Summary: Debug sources for package %{name}\
|
|
+Group: Development/Debug\
|
|
+AutoReqProv: 0\
|
|
+Requires: %{name}-debuginfo = %{version}-%{release}\
|
|
+%description debugsource\
|
|
+This package provides debug sources for package %{name}.\
|
|
+Debug sources are useful when developing applications that use this\
|
|
+package or when debugging this package.\
|
|
+%files debugsource -f debugsources.list\
|
|
+%defattr(-,root,root)\
|
|
%{nil}
|
|
|
|
%_defaultdocdir %{_usr}/doc/packages
|
|
Index: b/scripts/find-debuginfo.sh
|
|
===================================================================
|
|
--- scripts/find-debuginfo.sh
|
|
+++ scripts/find-debuginfo.sh
|
|
@@ -172,8 +172,8 @@ set -o pipefail
|
|
strict_error=ERROR
|
|
$strict || strict_error=WARNING
|
|
|
|
-# Strip ELF binaries
|
|
-find $RPM_BUILD_ROOT ! -path "${debugdir}/*.debug" -type f \( -perm +111 -or -name "*.so*" -or -name "*.ko" \) -print 0 | sort -z |
|
|
+# Strip ELF binaries (and no static libraries)
|
|
+find $RPM_BUILD_ROOT ! -path "${debugdir}/*.debug" -type f \( -perm +111 -or -name "*.so*" -or -name "*.ko" \) ! -name "*.a" -print0 | sort -z |
|
|
xargs --no-run-if-empty -0 stat -c '%h %D_%i %n' |
|
|
while read nlinks inum f; do
|
|
case $(objdump -h $f 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in
|
|
@@ -282,10 +282,16 @@ if [ -d "${RPM_BUILD_ROOT}/usr/lib" -o -
|
|
|
|
(cd "${RPM_BUILD_ROOT}/usr"
|
|
test ! -d lib/debug || find lib/debug ! -type d
|
|
- test ! -d src/debug || find src/debug -mindepth 1 -maxdepth 1
|
|
) | sed 's,^,/usr/,' >> "$LISTFILE"
|
|
fi
|
|
|
|
+: > "$SOURCEFILE"
|
|
+if [ -d "${RPM_BUILD_ROOT}/usr/src" ]; then
|
|
+ (cd "${RPM_BUILD_ROOT}/usr"
|
|
+ test ! -d src/debug || find src/debug -mindepth 1 -maxdepth 1
|
|
+ ) | sed 's,^,/usr/,' >> "$SOURCEFILE"
|
|
+fi
|
|
+
|
|
# Append to $1 only the lines from stdin not already in the file.
|
|
append_uniq()
|
|
{
|