commit:     70d3e0e2fd20857968ba3ea7ddbf9292144b22ed
Author:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 30 15:04:56 2024 +0000
Commit:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
CommitDate: Tue Jan 30 15:25:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70d3e0e2

dev-util/perf: fix bugs #917559 and #921197

Closes: https://bugs.gentoo.org/917559
Closes: https://bugs.gentoo.org/921197

Co-authored-by: Peter Volkov <peter.volkov <AT> gmail.com>

Signed-off-by: Guilherme Amadio <amadio <AT> gentoo.org>

 dev-util/perf/files/perf-6.7-expr.patch | 24 ++++++++++++++++++++++++
 dev-util/perf/perf-6.7.ebuild           | 33 +++++++++++++++++----------------
 2 files changed, 41 insertions(+), 16 deletions(-)

diff --git a/dev-util/perf/files/perf-6.7-expr.patch 
b/dev-util/perf/files/perf-6.7-expr.patch
new file mode 100644
index 000000000000..84f90c9b9008
--- /dev/null
+++ b/dev-util/perf/files/perf-6.7-expr.patch
@@ -0,0 +1,24 @@
+Ensure versions of libtraceevent and libtracefs have 3 components.
+
+Fixes: https://bugs.gentoo.org/917559
+
+--- a/tools/perf/Makefile.config
++++ b/tools/perf/Makefile.config
+@@ -1163,7 +1163,7 @@ ifneq ($(NO_LIBTRACEEVENT),1)
+   ifeq ($(feature-libtraceevent), 1)
+     CFLAGS += -DHAVE_LIBTRACEEVENT
+     EXTLIBS += -ltraceevent
+-    LIBTRACEEVENT_VERSION := $(shell $(PKG_CONFIG) --modversion libtraceevent)
++    LIBTRACEEVENT_VERSION := $(shell $(PKG_CONFIG) --modversion 
libtraceevent).0
+     LIBTRACEEVENT_VERSION_1 := $(word 1, $(subst ., 
,$(LIBTRACEEVENT_VERSION)))
+     LIBTRACEEVENT_VERSION_2 := $(word 2, $(subst ., 
,$(LIBTRACEEVENT_VERSION)))
+     LIBTRACEEVENT_VERSION_3 := $(word 3, $(subst ., 
,$(LIBTRACEEVENT_VERSION)))
+@@ -1177,7 +1177,7 @@ ifneq ($(NO_LIBTRACEEVENT),1)
+   $(call feature_check,libtracefs)
+   ifeq ($(feature-libtracefs), 1)
+     EXTLIBS += -ltracefs
+-    LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs)
++    LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs).0
+     LIBTRACEFS_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEFS_VERSION)))
+     LIBTRACEFS_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEFS_VERSION)))
+     LIBTRACEFS_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEFS_VERSION)))

diff --git a/dev-util/perf/perf-6.7.ebuild b/dev-util/perf/perf-6.7.ebuild
index 45ad2f3ededd..cc5b677f7e20 100644
--- a/dev-util/perf/perf-6.7.ebuild
+++ b/dev-util/perf/perf-6.7.ebuild
@@ -56,7 +56,7 @@ BDEPEND="
 
 RDEPEND="
        audit? ( sys-process/audit )
-       babeltrace? ( dev-util/babeltrace )
+       babeltrace? ( dev-util/babeltrace:0/1 )
        bpf? (
                dev-libs/libbpf
                dev-util/bpftool
@@ -95,20 +95,6 @@ DEPEND="${RDEPEND}
 S_K="${WORKDIR}/linux-${LINUX_VER}"
 S="${S_K}/tools/perf"
 
-CONFIG_CHECK="
-       ~DEBUG_INFO
-       ~FTRACE
-       ~FTRACE_SYSCALLS
-       ~FUNCTION_TRACER
-       ~KALLSYMS
-       ~KALLSYMS_ALL
-       ~KPROBES
-       ~KPROBE_EVENTS
-       ~PERF_EVENTS
-       ~UPROBES
-       ~UPROBE_EVENTS
-"
-
 QA_FLAGS_IGNORED=(
        'usr/bin/perf-read-vdso32' # not linked with anything except for libc
        'usr/libexec/perf-core/dlfilters/.*' # plugins
@@ -123,6 +109,20 @@ pkg_pretend() {
 }
 
 pkg_setup() {
+       local CONFIG_CHECK="
+               ~DEBUG_INFO
+               ~FTRACE
+               ~FTRACE_SYSCALLS
+               ~FUNCTION_TRACER
+               ~KALLSYMS
+               ~KALLSYMS_ALL
+               ~KPROBES
+               ~KPROBE_EVENTS
+               ~PERF_EVENTS
+               ~UPROBES
+               ~UPROBE_EVENTS
+       "
+
        use bpf && llvm_pkg_setup
        # We enable python unconditionally as libbpf always generates
        # API headers using python script
@@ -140,7 +140,7 @@ pkg_setup() {
 src_unpack() {
        local paths=(
                kernel/bpf tools/{arch,bpf,build,include,lib,perf,scripts}
-               scripts include lib "arch/*/lib" arch/arm64/tools
+               scripts include lib "arch/*/lib" "arch/*/tools"
        )
 
        # We expect the tar implementation to support the -j option (both
@@ -176,6 +176,7 @@ src_prepare() {
 
        pushd "${S_K}" >/dev/null || die
        eapply "${FILESDIR}"/perf-6.4-libtracefs.patch
+       eapply "${FILESDIR}"/perf-6.7-expr.patch
        popd || die
 
        # Drop some upstream too-developer-oriented flags and fix the

Reply via email to