diff --git a/SOURCES/trace-cmd-Fix-broken-profile-command.patch b/SOURCES/trace-cmd-Fix-broken-profile-command.patch new file mode 100644 index 0000000..97ea91c --- /dev/null +++ b/SOURCES/trace-cmd-Fix-broken-profile-command.patch @@ -0,0 +1,35 @@ +From 7e12e8ba4001f51869f28770246f0ac3dbfb9999 Mon Sep 17 00:00:00 2001 +From: "Tzvetomir Stoyanov (VMware)" +Date: Fri, 14 May 2021 10:52:41 +0300 +Subject: [PATCH] trace-cmd: Fix broken profile command + +Recent changes in creating trace.dat files broke the streams, used +internaly by the trace-cmd profile command. + +Link: https://lore.kernel.org/linux-trace-devel/20210514075241.65418-1-tz.stoyanov@gmail.com + +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=213045 +Reported-by: Jerome Marchand +Fixes: 1762536da ("trace-cmd: Have tracecmd_read_headers() specify the state to read up to") +Signed-off-by: Tzvetomir Stoyanov (VMware) +Signed-off-by: Steven Rostedt (VMware) +--- + tracecmd/trace-stream.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tracecmd/trace-stream.c b/tracecmd/trace-stream.c +index f503bf7..b47b208 100644 +--- a/tracecmd/trace-stream.c ++++ b/tracecmd/trace-stream.c +@@ -59,7 +59,7 @@ trace_stream_init(struct buffer_instance *instance, int cpu, int fd, int cpus, + goto fail; + } + +- if (tracecmd_read_headers(trace_input, 0) < 0) ++ if (tracecmd_read_headers(trace_input, TRACECMD_FILE_PRINTK) < 0) + goto fail_free_input; + + if (handle_init) +-- +2.31.1 + diff --git a/SOURCES/trace-cmd-utils.mk-don-t-ignore-LDFLAGS-when-linking-the-share.patch b/SOURCES/trace-cmd-utils.mk-don-t-ignore-LDFLAGS-when-linking-the-share.patch new file mode 100644 index 0000000..0d631d5 --- /dev/null +++ b/SOURCES/trace-cmd-utils.mk-don-t-ignore-LDFLAGS-when-linking-the-share.patch @@ -0,0 +1,28 @@ +From 31385f8933f00ddecfd4a00a578d7936186f75da Mon Sep 17 00:00:00 2001 +From: Jerome Marchand +Date: Thu, 11 Nov 2021 18:22:09 +0100 +Subject: [PATCH] utils.mk: don't ignore LDFLAGS when linking the shared libs + +do_compile_shared_library should't ignore LDFLAGS. That makes it +difficult for packager to follow their distribution packaging +guidelines. +--- + scripts/utils.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/utils.mk b/scripts/utils.mk +index ae8c9e77..4a594a9c 100644 +--- a/scripts/utils.mk ++++ b/scripts/utils.mk +@@ -72,7 +72,7 @@ do_build_static_lib = \ + + do_compile_shared_library = \ + ($(print_shared_lib_compile) \ +- $(CC) --shared $^ '-Wl,-soname,$(@F),-rpath=$$ORIGIN' -o $@ $(LIBS)) ++ $(CC) --shared $^ '-Wl,-soname,$(@F),-rpath=$$ORIGIN' -o $@ $(LDFLAGS) $(LIBS)) + + do_compile_plugin_obj = \ + ($(print_plugin_obj_compile) \ +-- +2.31.1 + diff --git a/SPECS/trace-cmd.spec b/SPECS/trace-cmd.spec index 91220bf..9dd4496 100644 --- a/SPECS/trace-cmd.spec +++ b/SPECS/trace-cmd.spec @@ -6,7 +6,7 @@ Name: trace-cmd Version: %{srcversion} -Release: 5%{?dist} +Release: 8%{?dist} License: GPLv2 and LGPLv2 Summary: A user interface to Ftrace Requires: libtracecmd @@ -19,6 +19,9 @@ URL: http://git.kernel.org/?p=linux/kernel/git/rostedt/trace-cmd.git;a=summary # cd trace-cmd # git archive --prefix=trace-cmd-%%{version}/ -o trace-cmd-v%%{version}.tar.gz %%{git_commit} Source0: https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/trace-cmd-v%{srcversion}.tar.gz +Patch0: trace-cmd-Fix-broken-profile-command.patch +Patch1: trace-cmd-utils.mk-don-t-ignore-LDFLAGS-when-linking-the-share.patch + BuildRequires: make BuildRequires: gcc BuildRequires: xmlto @@ -33,6 +36,8 @@ BuildRequires: qt5-qtbase-devel BuildRequires: freeglut-devel BuildRequires: json-c-devel BuildRequires: libtraceevent-devel +BuildRequires: libtracefs-devel +BuildRequires: chrpath %description trace-cmd is a user interface to Ftrace. Instead of needing to use the @@ -64,23 +69,26 @@ Requires: libtracecmd%{_isa} = %{version}-%{release} Development files of the libtracecmd library %prep -%autosetup -n %{name}-v%{srcversion} +%autosetup -p1 -n %{name}-v%{srcversion} %build +%set_build_flags +export CFLAGS="%{optflags} -D_GNU_SOURCE" +export BUILD_TYPE="Release" + # MANPAGE_DOCBOOK_XSL define is hack to avoid using locate -# -z muldefs to workaround the enforcing multi definition check of gcc10. -# and it need to be removed once upstream fixed the variable name MANPAGE_DOCBOOK_XSL=`rpm -ql docbook-style-xsl | grep manpages/docbook.xsl` -CFLAGS="%{optflags} -D_GNU_SOURCE" LDFLAGS="%{build_ldflags}" BUILD_TYPE=Release \ - make V=9999999999 MANPAGE_DOCBOOK_XSL=$MANPAGE_DOCBOOK_XSL \ +make V=1 MANPAGE_DOCBOOK_XSL=$MANPAGE_DOCBOOK_XSL \ prefix=%{_prefix} libdir=%{_libdir} \ - PYTHON_VERS=python3 all_cmd doc libtracecmd.so + PYTHON_VERS=python3 all_cmd doc libs for i in python/*.py ; do sed -i 's/env python2/python3/g' $i done +chrpath --delete tracecmd/trace-cmd lib/trace-cmd/libtracecmd.so.0.0.1 %install -make libdir=%{_libdir} prefix=%{_prefix} V=1 DESTDIR=%{buildroot}/ CFLAGS="%{optflags} -D_GNU_SOURCE" LDFLAGS="%{build_ldflags} -z muldefs " BUILD_TYPE=Release install install_doc install_python install_libs +make V=1 libdir=%{_libdir} prefix=%{_prefix} DESTDIR=%{buildroot}/ \ + install install_doc install_python install_libs find %{buildroot}%{_mandir} -type f | xargs chmod u-x,g-x,o-x find %{buildroot}%{_datadir} -type f | xargs chmod u-x,g-x,o-x find %{buildroot}%{_libdir} -type f -iname "*.so" | xargs chmod 0755 @@ -111,6 +119,16 @@ mkdir -p %{buildroot}/%{_sysconfdir} %{_includedir}/trace-cmd %changelog +* Fri Nov 12 2021 Jerome Marchand - 2.9.2-8 +- Fix remaining gating runpath failure + +* Thu Nov 11 2021 Jerome Marchand - 2.9.2-7 +- Fix rpminspect gating failures (runpath and annocheck) +- Specfile cleanups + +* Thu Nov 11 2021 Jerome Marchand - 2.9.2-6 +- Fix trace-cmd profile + * Tue Aug 10 2021 Mohan Boddu - 2.9.2-5 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688