diff --git a/trace-cmd-Allow-building-with-GNU-Make-4.4.patch b/trace-cmd-Allow-building-with-GNU-Make-4.4.patch new file mode 100644 index 0000000..399e5c1 --- /dev/null +++ b/trace-cmd-Allow-building-with-GNU-Make-4.4.patch @@ -0,0 +1,101 @@ +From a0aebf2d532b441f13d25d666c9845cbff568c95 Mon Sep 17 00:00:00 2001 +From: Michal Sojka +Date: Mon, 26 Dec 2022 17:49:51 +0100 +Subject: [PATCH] trace-cmd: Allow building with GNU Make 4.4 + +Make 4.4 introduces several backward incompatibilities and the result +is that building trace-cmd with it never finishes. It seems that make +ends up in some kind of infinite recursion. The symptoms are: + + $ make -d + GNU Make 4.4 + Built for x86_64-pc-linux-gnu + Copyright (C) 1988-2022 Free Software Foundation, Inc. + License GPLv3+: GNU GPL version 3 or later + This is free software: you are free to change and redistribute it. + There is NO WARRANTY, to the extent permitted by law. + Reading makefiles... + Reading makefile 'Makefile'... + Makefile:79: not recursively expanding pkgconfig_dir to export to shell function + Makefile:79: not recursively expanding pkgconfig_dir to export to shell function + Makefile:224: not recursively expanding LIBTRACECMD_SHARED_VERSION to export to shell function + Makefile:79: not recursively expanding pkgconfig_dir to export to shell function + Makefile:224: not recursively expanding LIBTRACECMD_SHARED_VERSION to export to shell function + Makefile:225: not recursively expanding LIBTRACECMD_SHARED_SO to export to shell function + Makefile:79: not recursively expanding pkgconfig_dir to export to shell function + Makefile:79: not recursively expanding pkgconfig_dir to export to shell function + +Build succeeds if recursively expanded variables (defined with '='), +which use $(shell ...) as its value, are replaced with simply expanded +variables (defined with ':='). + +Link: https://lore.kernel.org/linux-trace-devel/20221226164951.2632069-1-michal.sojka@cvut.cz + +Signed-off-by: Michal Sojka +Tested-by: Daniel Wagner +Signed-off-by: Steven Rostedt (Google) +--- + Makefile | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/Makefile b/Makefile +index e67cb77e..be3b0616 100644 +--- a/Makefile ++++ b/Makefile +@@ -221,8 +221,8 @@ LIBS ?= -ldl + LIBTRACECMD_DIR = $(obj)/lib/trace-cmd + LIBTRACECMD_STATIC = $(LIBTRACECMD_DIR)/libtracecmd.a + LIBTRACECMD_SHARED = $(LIBTRACECMD_DIR)/libtracecmd.so.$(LIBTRACECMD_VERSION) +-LIBTRACECMD_SHARED_VERSION = $(shell echo $(LIBTRACECMD_SHARED) | sed -e 's/\(\.so\.[0-9]*\).*/\1/') +-LIBTRACECMD_SHARED_SO = $(shell echo $(LIBTRACECMD_SHARED) | sed -e 's/\(\.so\).*/\1/') ++LIBTRACECMD_SHARED_VERSION := $(shell echo $(LIBTRACECMD_SHARED) | sed -e 's/\(\.so\.[0-9]*\).*/\1/') ++LIBTRACECMD_SHARED_SO := $(shell echo $(LIBTRACECMD_SHARED) | sed -e 's/\(\.so\).*/\1/') + + export LIBTRACECMD_STATIC LIBTRACECMD_SHARED + export LIBTRACECMD_SHARED_VERSION LIBTRACECMD_SHARED_SO +@@ -230,12 +230,12 @@ export LIBTRACECMD_SHARED_VERSION LIBTRACECMD_SHARED_SO + LIBTRACEEVENT=libtraceevent + LIBTRACEFS=libtracefs + +-TEST_LIBTRACEEVENT = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEEVENT_MIN_VERSION) $(LIBTRACEEVENT) > /dev/null 2>&1 && echo y") +-TEST_LIBTRACEFS = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEFS_MIN_VERSION) $(LIBTRACEFS) > /dev/null 2>&1 && echo y") ++TEST_LIBTRACEEVENT := $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEEVENT_MIN_VERSION) $(LIBTRACEEVENT) > /dev/null 2>&1 && echo y") ++TEST_LIBTRACEFS := $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEFS_MIN_VERSION) $(LIBTRACEFS) > /dev/null 2>&1 && echo y") + + ifeq ("$(TEST_LIBTRACEEVENT)", "y") +-LIBTRACEEVENT_CFLAGS = $(shell sh -c "$(PKG_CONFIG) --cflags $(LIBTRACEEVENT)") +-LIBTRACEEVENT_LDLAGS = $(shell sh -c "$(PKG_CONFIG) --libs $(LIBTRACEEVENT)") ++LIBTRACEEVENT_CFLAGS := $(shell sh -c "$(PKG_CONFIG) --cflags $(LIBTRACEEVENT)") ++LIBTRACEEVENT_LDLAGS := $(shell sh -c "$(PKG_CONFIG) --libs $(LIBTRACEEVENT)") + else + .PHONY: warning + warning: +@@ -253,8 +253,8 @@ endif + export LIBTRACEEVENT_CFLAGS LIBTRACEEVENT_LDLAGS + + ifeq ("$(TEST_LIBTRACEFS)", "y") +-LIBTRACEFS_CFLAGS = $(shell sh -c "$(PKG_CONFIG) --cflags $(LIBTRACEFS)") +-LIBTRACEFS_LDLAGS = $(shell sh -c "$(PKG_CONFIG) --libs $(LIBTRACEFS)") ++LIBTRACEFS_CFLAGS := $(shell sh -c "$(PKG_CONFIG) --cflags $(LIBTRACEFS)") ++LIBTRACEFS_LDLAGS := $(shell sh -c "$(PKG_CONFIG) --libs $(LIBTRACEFS)") + else + .PHONY: warning + warning: +@@ -324,11 +324,11 @@ endif + export ZLIB_LDLAGS + + ifndef NO_LIBZSTD +-TEST_LIBZSTD = $(shell sh -c "$(PKG_CONFIG) --atleast-version 1.4.0 libzstd > /dev/null 2>&1 && echo y") ++TEST_LIBZSTD := $(shell sh -c "$(PKG_CONFIG) --atleast-version 1.4.0 libzstd > /dev/null 2>&1 && echo y") + + ifeq ("$(TEST_LIBZSTD)", "y") +-LIBZSTD_CFLAGS = $(shell sh -c "$(PKG_CONFIG) --cflags libzstd") +-LIBZSTD_LDLAGS = $(shell sh -c "$(PKG_CONFIG) --libs libzstd") ++LIBZSTD_CFLAGS := $(shell sh -c "$(PKG_CONFIG) --cflags libzstd") ++LIBZSTD_LDLAGS := $(shell sh -c "$(PKG_CONFIG) --libs libzstd") + CFLAGS += -DHAVE_ZSTD + ZSTD_INSTALLED=1 + $(info Have ZSTD compression support) +-- +2.39.2 + diff --git a/trace-cmd.spec b/trace-cmd.spec index 60520dc..3c9cce5 100644 --- a/trace-cmd.spec +++ b/trace-cmd.spec @@ -6,12 +6,9 @@ Name: trace-cmd Version: %{srcversion} -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and LGPLv2 Summary: A user interface to Ftrace -Requires: libtracecmd -Requires: libtracefs -Requires: libtraceevent ExcludeArch: %{ix86} %{arm} @@ -24,6 +21,8 @@ Source0: https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/t Source1: trace-cmd.conf Source2: trace-cmd.service Source3: 98-trace-cmd.rules +Patch0: trace-cmd-Allow-building-with-GNU-Make-4.4.patch + BuildRequires: make BuildRequires: gcc BuildRequires: xmlto @@ -110,6 +109,10 @@ rm -rf %{buildroot}/%{_mandir}/man3/* %{_libdir}/%{name}/python/ %changelog +* Fri Mar 31 2023 Jerome Marchand - 3.1.4-3 +- Fix build: RHBZ#2171770 +- Also remove explicit lib dependency that fedpkg lint complains about. + * Sat Jan 21 2023 Fedora Release Engineering - 3.1.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild