From acbf8bedf8078bc71b1e8c4fc12dc942f37770f9 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 28 Mar 2023 13:58:58 +0200 Subject: [PATCH] Add 0002-scripts-find-debuginfo.in-Add-q-quiet.patch Resolves: #2177302 backport b8ac71d9f882 ("scripts/find-debuginfo.in: Add -q|--quiet") --- ...cripts-find-debuginfo.in-Add-q-quiet.patch | 116 ++++++++++++++++++ debugedit.spec | 6 +- 2 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 0002-scripts-find-debuginfo.in-Add-q-quiet.patch diff --git a/0002-scripts-find-debuginfo.in-Add-q-quiet.patch b/0002-scripts-find-debuginfo.in-Add-q-quiet.patch new file mode 100644 index 0000000..e2b0552 --- /dev/null +++ b/0002-scripts-find-debuginfo.in-Add-q-quiet.patch @@ -0,0 +1,116 @@ +From b8ac71d9f88202f00a32c5a8b3b4b93bb2fa110a Mon Sep 17 00:00:00 2001 +From: Prarit Bhargava +Date: Thu, 26 Jan 2023 16:08:57 -0500 +Subject: [PATCH] scripts/find-debuginfo.in: Add -q|--quiet + +Projects with a large number of compiled files end up with a large number +of 'extracting debug info from' messages in the build log. In the case of +the Fedora kernel these messages account for 8504 lines in the log, or 61% +of the entire log [1]. + +Removing these lines make the log easier to view and comprehend for some +projects, however, not all projects will want to silence these messages so +suppressing them must be optional. + +Add a -q|--quiet which allows users to silence the non-error output from +the script. + +[1] https://kojipkgs.fedoraproject.org//packages/kernel/6.2.0/0.rc5.20230123git2475bf0250de.38.fc38/data/logs/x86_64/build.log + +Signed-off-by: Prarit Bhargava +--- + scripts/find-debuginfo.in | 22 +++++++++++++++------- + 1 file changed, 15 insertions(+), 7 deletions(-) + +diff --git a/scripts/find-debuginfo.in b/scripts/find-debuginfo.in +index 8090c84..7dec3c3 100755 +--- a/scripts/find-debuginfo.in ++++ b/scripts/find-debuginfo.in +@@ -26,7 +26,7 @@ Usage: find-debuginfo [OPTION]... [builddir] + automagically generates debug info and file lists + + Options: +-[--strict-build-id] [-g] [-r] [-m] [-i] [-n] ++[--strict-build-id] [-g] [-r] [-m] [-i] [-n] [-q] + [--keep-section SECTION] [--remove-section SECTION] + [--g-libs] + [-j N] [--jobs N] +@@ -94,6 +94,8 @@ will be called /usr/debug/src/. This makes sure the debug source + dirs are unique between package version, release and achitecture (Use + --unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}") + ++The -q or --quiet flag silences non-error output from the script. ++ + All file names in switches are relative to builddir ('.' if not given). + EOF + } +@@ -146,6 +148,9 @@ n_jobs=1 + # exit early on --version or --help + done=false + ++# silence non-error output ++quiet=false ++ + BUILDDIR=. + out=debugfiles.list + srcout= +@@ -239,6 +244,9 @@ while [ $# -gt 0 ]; do + srcout=$2 + shift + ;; ++ -q|--quiet) ++ quiet=true ++ ;; + --version) + echo "find-debuginfo @VERSION@" + done=true; +@@ -437,7 +445,7 @@ do_file() + get_debugfn "$f" + [ -f "${debugfn}" ] && return + +- echo "extracting debug info from $f" ++ $quiet || echo "extracting debug info from $f" + # See also cpio SOURCEFILE copy. Directories must match up. + debug_base_name="$RPM_BUILD_DIR" + debug_dest_name="/usr/src/debug" +@@ -513,7 +521,7 @@ do_file() + grep "^$inum " "$temp/linked" | while read inum linked; do + link=$debugfn + get_debugfn "$linked" +- echo "hard linked $link to $debugfn" ++ $quiet || echo "hard linked $link to $debugfn" + mkdir -p "$(dirname "$debugfn")" && ln -nf "$link" "$debugfn" + done + fi +@@ -576,7 +584,7 @@ if $run_dwz \ + && [ -d "${RPM_BUILD_ROOT}/usr/lib/debug" ]; then + readarray dwz_files < <(cd "${RPM_BUILD_ROOT}/usr/lib/debug"; find -type f -name \*.debug | LC_ALL=C sort) + if [ ${#dwz_files[@]} -gt 0 ]; then +- size_before=$(du -sk ${RPM_BUILD_ROOT}/usr/lib/debug | cut -f1) ++ $quiet || size_before=$(du -sk ${RPM_BUILD_ROOT}/usr/lib/debug | cut -f1) + dwz_multifile_name="${RPM_PACKAGE_NAME}-${RPM_PACKAGE_VERSION}-${RPM_PACKAGE_RELEASE}.${RPM_ARCH}" + dwz_multifile_suffix= + dwz_multifile_idx=0 +@@ -600,8 +608,8 @@ if $run_dwz \ + echo >&2 "*** ERROR: DWARF compression requested, but no dwz installed" + exit 2 + fi +- size_after=$(du -sk ${RPM_BUILD_ROOT}/usr/lib/debug | cut -f1) +- echo "original debug info size: ${size_before}kB, size after compression: ${size_after}kB" ++ $quiet || size_after=$(du -sk ${RPM_BUILD_ROOT}/usr/lib/debug | cut -f1) ++ $quiet || echo "original debug info size: ${size_before}kB, size after compression: ${size_after}kB" + # Remove .dwz directory if empty + rmdir "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz" 2>/dev/null + +@@ -621,7 +629,7 @@ do + f=${f#$RPM_BUILD_ROOT} + t=${t#$RPM_BUILD_ROOT} + if [ -f "$debugdir$t" ]; then +- echo "symlinked /usr/lib/debug$t to /usr/lib/debug${f}.debug" ++ $quiet || echo "symlinked /usr/lib/debug$t to /usr/lib/debug${f}.debug" + debug_link "/usr/lib/debug$t" "${f}.debug" + fi + done +-- +2.39.1 + diff --git a/debugedit.spec b/debugedit.spec index 027ae7f..91203ea 100644 --- a/debugedit.spec +++ b/debugedit.spec @@ -1,6 +1,6 @@ Name: debugedit Version: 5.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Tools for debuginfo creation License: GPLv3+ and GPLv2+ and LGPLv2+ URL: https://sourceware.org/debugedit/ @@ -39,6 +39,7 @@ Requires: grep %global _hardened_build 1 Patch1: 0001-tests-Handle-zero-directory-entry-in-.debug_line-DWA.patch +Patch2: 0002-scripts-find-debuginfo.in-Add-q-quiet.patch %description The debugedit project provides programs and scripts for creating @@ -82,6 +83,9 @@ make check %{?_smp_mflags} %{_mandir}/man1/find-debuginfo.1* %changelog +* Tue Mar 28 2023 Mark Wielaard - 5.0-4 +- Add 0002-scripts-find-debuginfo.in-Add-q-quiet.patch + * Mon Aug 09 2021 Mohan Boddu - 5.0-3 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688