From: Justin M. Forbes <jforbes(a)fedoraproject.org>
Add rtla subpackage for kernel-tools
As a package review request came up to create a new rtla package, it was
determined that it makes the most sense to just build it as a subpackage
of kernel-tools because that is where it is maintained upstream. While
the Fedora subpackage has been added, it needs to end up in RHEL 9 and
future releases as well.
rhbz: 2084228
Signed-off-by: Justin M. Forbes <jforbes(a)fedoraproject.org>
Cc: John Kacur <jkacur(a)redhat.com>
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100755
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -610,6 +610,7 @@ BuildRequires: opencsd-devel >= 1.0.0
%if %{with_tools}
BuildRequires: gettext ncurses-devel
BuildRequires: libcap-devel libcap-ng-devel
+BuildRequires: libtracefs-devel
%ifnarch s390x
BuildRequires: pciutils-devel
%endif
@@ -1032,6 +1033,15 @@ This package provides debug information for package kernel-tools.
# of matching the pattern against the symlinks file.
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p
'.*%%{_bindir}/centrino-decode(\.debug)?|.*%%{_bindir}/powernow-k8-decode(\.debug)?|.*%%{_bindir}/cpupower(\.debug)?|.*%%{_libdir}/libcpupower.*|.*%%{_bindir}/turbostat(\.debug)?|.*%%{_bindir}/x86_energy_perf_policy(\.debug)?|.*%%{_bindir}/tmon(\.debug)?|.*%%{_bindir}/lsgpio(\.debug)?|.*%%{_bindir}/gpio-hammer(\.debug)?|.*%%{_bindir}/gpio-event-mon(\.debug)?|.*%%{_bindir}/gpio-watch(\.debug)?|.*%%{_bindir}/iio_event_monitor(\.debug)?|.*%%{_bindir}/iio_generic_buffer(\.debug)?|.*%%{_bindir}/lsiio(\.debug)?|.*%%{_bindir}/intel-speed-select(\.debug)?|.*%%{_bindir}/page_owner_sort(\.debug)?|.*%%{_bindir}/slabinfo(\.debug)?|.*%%{_sbindir}/intel_sdsi(\.debug)?|XXX'
-o kernel-tools-debuginfo.list}
+%package -n rtla
+Summary: RTLA: Real-Time Linux Analysis tools
+%description -n rtla
+The rtla tool is a meta-tool that includes a set of commands that
+aims to analyze the real-time properties of Linux. But, instead of
+testing Linux as a black box, rtla leverages kernel tracing
+capabilities to provide precise information about the properties
+and root causes of unexpected results.
+
# with_tools
%endif
@@ -2310,6 +2320,9 @@ popd
pushd tools/vm/
%{tools_make} slabinfo page_owner_sort
popd
+pushd tools/tracing/rtla
+%{tools_make}
+popd
%endif
if [ -f $DevelDir/vmlinux.h ]; then
@@ -2584,6 +2597,16 @@ pushd tools/vm/
install -m755 slabinfo %{buildroot}%{_bindir}/slabinfo
install -m755 page_owner_sort %{buildroot}%{_bindir}/page_owner_sort
popd
+pushd tools/tracing/rtla/
+%{tools_make} DESTDIR=%{buildroot} install
+rm -f %{buildroot}%{_bindir}/osnoise
+rm -f %{buildroot}%{_bindir}/timerlat
+(cd %{buildroot}
+
+ ln -sf rtla ./%{_bindir}/osnoise
+ ln -sf rtla ./%{_bindir}/timerlat
+)
+popd
%endif
if [ -f $DevelDir/vmlinux.h ]; then
@@ -2961,6 +2984,19 @@ fi
%{_libdir}/libcpupower.so
%{_includedir}/cpufreq.h
%endif
+
+%files -n rtla
+%{_bindir}/rtla
+%{_bindir}/osnoise
+%{_bindir}/timerlat
+%{_mandir}/man1/rtla-osnoise-hist.1.gz
+%{_mandir}/man1/rtla-osnoise-top.1.gz
+%{_mandir}/man1/rtla-osnoise.1.gz
+%{_mandir}/man1/rtla-timerlat-hist.1.gz
+%{_mandir}/man1/rtla-timerlat-top.1.gz
+%{_mandir}/man1/rtla-timerlat.1.gz
+%{_mandir}/man1/rtla.1.gz
+
# with_tools
%endif
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1901