Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package elfutils for openSUSE:Factory checked in at 2022-08-18 16:48:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/elfutils (Old) and /work/SRC/openSUSE:Factory/.elfutils.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "elfutils" Thu Aug 18 16:48:43 2022 rev:99 rq:997533 version:0.187 Changes: -------- --- /work/SRC/openSUSE:Factory/elfutils/elfutils-debuginfod.changes 2022-06-17 21:22:09.142761642 +0200 +++ /work/SRC/openSUSE:Factory/.elfutils.new.2083/elfutils-debuginfod.changes 2022-08-18 16:48:51.177401999 +0200 @@ -1,0 +2,22 @@ +Wed Aug 17 11:42:11 UTC 2022 - Martin Li??ka <mli...@suse.cz> + +- Use %ghost for debuginfod.sqlite file. + +------------------------------------------------------------------- +Tue Aug 16 13:29:30 UTC 2022 - Martin Li??ka <mli...@suse.cz> + +- Add support-nullglob-in-profile.-.in-files.patch + fixes boo#1202440. + +------------------------------------------------------------------- +Mon Aug 15 11:04:57 UTC 2022 - Martin Li??ka <mli...@suse.cz> + +- Add PR29474-debuginfod.patch in order to fix PR29474. + +------------------------------------------------------------------- +Fri Aug 12 12:35:57 UTC 2022 - Martin Li??ka <mli...@suse.cz> + +- Add Recommends for libdebuginfod1 so that debuginfod-profile + sets the DEBUGINFOD_URLS. + +------------------------------------------------------------------- New: ---- PR29474-debuginfod.patch support-nullglob-in-profile.-.in-files.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ elfutils-debuginfod.spec ++++++ --- /var/tmp/diff_new_pack.c8ims7/_old 2022-08-18 16:48:51.837403536 +0200 +++ /var/tmp/diff_new_pack.c8ims7/_new 2022-08-18 16:48:51.841403545 +0200 @@ -31,6 +31,8 @@ Source4: %{name}.sysusers Patch1: harden_debuginfod.service.patch Patch2: config-Move-the-2-dev-null-inside-the-sh-c-quotes-fo.patch +Patch3: PR29474-debuginfod.patch +Patch4: support-nullglob-in-profile.-.in-files.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bison @@ -73,6 +75,7 @@ Group: System/Libraries Conflicts: libdebuginfod1-dummy = %{version} License: GPL-2.0-or-later OR LGPL-3.0-or-later +Recommends: debuginfod-profile %description -n libdebuginfod1 The libdebuginfod1 package contains shared libraries @@ -193,7 +196,7 @@ %{_sysusersdir}/%{name}.conf %dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod -%verify(not md5 size mtime) %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite +%ghost %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite %files -n libdebuginfod1 %{_libdir}/libdebuginfod.so.* ++++++ PR29474-debuginfod.patch ++++++ >From 31d6b1fe74ab89138b4d256742997b730dc5cba8 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" <f...@redhat.com> Date: Mon, 15 Aug 2022 06:20:10 -0400 Subject: [PATCH] PR29474: debuginfod MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previous code sometimes confused debuginfod with concurrent queries targeting the same RPM. One thread fetching & prefetching, the other thread misinterpreted the sudden presence of its target file in the fdcache as a mere unnecessary prefetch duplicate. But if it was the other thread's target file, previous code would -skip- it completely, resulting in a 404 error. New code allows the other thread to also decompress the target file and return it, and still continue to its own prefetching process for other files. There's a performance trade-off here. Another option would be for the other thread to check the fdcache regularly and abort its own prefetch/fetch/prefetch loop early in case of a sudden target file hit. That'd save CPU probably but it'd stop prefetching of later segments of the input archive, which could save future time. Automated testing is too time/load sensitive to attempt. Confirmed working with Martin's stress tester. Reported-By: Martin Li??ka <mli...@suse.cz> Signed-Off-By: Frank Ch. Eigler <f...@redhat.com> --- debuginfod/ChangeLog | 6 ++++++ debuginfod/debuginfod.cxx | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx index a089d0bd..9245be53 100644 --- a/debuginfod/debuginfod.cxx +++ b/debuginfod/debuginfod.cxx @@ -1742,7 +1742,8 @@ handle_buildid_r_match (bool internal_req_p, if ((r == 0) && (fn != b_source1)) // stage 1 continue; - if (fdcache.probe (b_source0, fn)) // skip if already interned + if (fdcache.probe (b_source0, fn) && // skip if already interned + fn != b_source1) // but only if we'd just be prefetching, PR29474 continue; // extract this file to a temporary file -- 2.37.1 ++++++ support-nullglob-in-profile.-.in-files.patch ++++++ >From 538f0c744dd4e1d931b98d01425b45137afcd9a4 Mon Sep 17 00:00:00 2001 From: Martin Liska <mli...@suse.cz> Date: Tue, 16 Aug 2022 15:14:26 +0200 Subject: [PATCH] Support nullglob in profile.*.in files In openSUSE we have the following RPM checker that uses shopt -s nullglob: https://github.com/openSUSE/post-build-checks/blob/master/checks/50-check-libtool-deps#L31 The script loads all /etc/profile.d/*.sh files via source $FILE which can end up by stuck cat (with no arguments): shopt -s nullglob ; cat "/etc/debuginfod"/*.urls (stuck) --- config/profile.csh.in | 2 +- config/profile.sh.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/profile.csh.in b/config/profile.csh.in index 74c20c99..d962d969 100644 --- a/config/profile.csh.in +++ b/config/profile.csh.in @@ -6,7 +6,7 @@ if (! $?DEBUGINFOD_URLS) then set prefix="@prefix@" - set DEBUGINFOD_URLS=`sh -c 'cat "$0"/*.urls 2>/dev/null; :' "@sysconfdir@/debuginfod" | tr '\n' ' '` + set DEBUGINFOD_URLS=`sh -c 'cat /dev/null "$0"/*.urls 2>/dev/null; :' "@sysconfdir@/debuginfod" | tr '\n' ' '` if ( "$DEBUGINFOD_URLS" != "" ) then setenv DEBUGINFOD_URLS "$DEBUGINFOD_URLS" else diff --git a/config/profile.sh.in b/config/profile.sh.in index bad20b1e..3f4397dc 100644 --- a/config/profile.sh.in +++ b/config/profile.sh.in @@ -6,7 +6,7 @@ if [ -z "$DEBUGINFOD_URLS" ]; then prefix="@prefix@" - DEBUGINFOD_URLS=$(cat "@sysconfdir@/debuginfod"/*.urls 2>/dev/null | tr '\n' ' ') + DEBUGINFOD_URLS=$(cat /dev/null "@sysconfdir@/debuginfod"/*.urls 2>/dev/null | tr '\n' ' ') [ -n "$DEBUGINFOD_URLS" ] && export DEBUGINFOD_URLS || unset DEBUGINFOD_URLS unset prefix fi -- 2.37.1