Compare commits

..

No commits in common. "c8" and "c9-beta" have entirely different histories.
c8 ... c9-beta

8 changed files with 331 additions and 2309 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/systemtap-4.9.tar.gz SOURCES/systemtap-5.4.tar.gz

View File

@ -1 +1 @@
7ba2ad579a5ba66ccfd36ad6df0896c9e136f9e9 SOURCES/systemtap-4.9.tar.gz c7c693578bbd17a3dc2e75e58ef709cc091daa6e SOURCES/systemtap-5.4.tar.gz

View File

@ -0,0 +1,66 @@
From 53c48b550255ceca1216616fe1948618be166189 Mon Sep 17 00:00:00 2001
From: "Frank Ch. Eigler" <fche@redhat.com>
Date: Wed, 12 Nov 2025 18:51:26 -0500
Subject: [PATCH] PR33428: imply kernel<vmlinux.h>, check by file name, cont'd
Linux 5.7+ includes a vmlinux.h file ... but previous code looked for
version 6.7+ by mistake. Might as well just look for the vmlinux.h
file directly in the build tree, and leave a little diagnostic note.
---
tapsets.cxx | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/tapsets.cxx b/tapsets.cxx
index d267b6506..ae201ab26 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -4867,8 +4867,12 @@ dwarf_var_expanding_visitor::visit_cast_op (cast_op *e)
if (is_user_module (q.dw.module_name))
e->module = q.dw.module_name;
else if ((strverscmp(sess.compatible.c_str(), "5.4") >= 0) && // default on new enough systemtap
- (strverscmp(sess.kernel_base_release.c_str(), "6.7") >= 0)) // for new enough kernel to have a vmlinux.h
- e->module = string(TOK_KERNEL_VMLINUX_H) + string(":") + q.dw.module_name; // PR33428: prefix
+ access(string(sess.kernel_build_tree+"/vmlinux.h").c_str(), R_OK) == 0) // file exists; not just kernel 6.7+
+ {
+ if (sess.verbose > 3)
+ clog << _("added implicit kernel<vmlinux.h> for @cast context") << " " << q.dw.module_name << endl;
+ e->module = string(TOK_KERNEL_VMLINUX_H) + string(":") + q.dw.module_name; // PR33428: prefix
+ }
else
e->module = q.dw.module_name;
}
@@ -5166,16 +5170,21 @@ void dwarf_cast_expanding_visitor::visit_cast_op (cast_op* e)
// PR33428: prepend "kernel<vmlinux.h>" to the list if there is any
// "kernel" or "kernel<FILE>" component.
if ((strverscmp(sess.compatible.c_str(), "5.4") >= 0) && // default on new enough systemtap
- (strverscmp(sess.kernel_base_release.c_str(), "6.7") >= 0) && // for new enough kernel to have a vmlinux.h
- (e->module.find(TOK_KERNEL_VMLINUX_H) == string::npos)) // don't prepend again; might already be here from implicit "" expansion
- {
- if (e->module.starts_with("kernel")) // right at the front?
- e->module = string(TOK_KERNEL_VMLINUX_H) + string(":") + e->module;
- else {
- string::size_type p = e->module.find(":kernel"); // in the middle?
- if (p != string::npos)
- e->module.insert(p, TOK_KERNEL_VMLINUX_H + string (":"));
- }
+ access(string(sess.kernel_build_tree+"/vmlinux.h").c_str(), R_OK) == 0) // file exists; not just kernel 6.7+
+ {
+ if (sess.verbose > 3)
+ clog << _("added implicit kernel<vmlinux.h> for @cast expanding") << " " << e->module << endl;
+
+ if (e->module.find(TOK_KERNEL_VMLINUX_H) == string::npos) // don't prepend again; might already be here from implicit "" expansion
+ {
+ if (e->module.starts_with("kernel")) // right at the front?
+ e->module = string(TOK_KERNEL_VMLINUX_H) + string(":") + e->module;
+ else {
+ string::size_type p = e->module.find(":kernel"); // in the middle?
+ if (p != string::npos)
+ e->module.insert(p, TOK_KERNEL_VMLINUX_H + string (":"));
+ }
+ }
}
tokenize(e->module, modules, ":");
--
2.51.0

File diff suppressed because it is too large Load Diff

View File

@ -1,99 +0,0 @@
commit 9839db5514a29cf4f58b3de8cc6155088be6d061
gpg: Signature made Sat 12 Aug 2023 02:49:26 PM EDT
gpg: using RSA key 5D38116FA4D3A7CC77E378D37E83610126DCC2E8
gpg: Good signature from "Frank Ch. Eigler <fche@elastic.org>" [full]
Author: Frank Ch. Eigler <fche@redhat.com>
Date: Sat Aug 12 14:28:44 2023 -0400
PR30749: correct stap --sign-module timing
Previous code signed the temp directory copy, after it had already
been copied into the cache -- so the signature never made it to a
permanent artifact.
If the module was being fetched from the cache from a previous build
run, a sign (re)attempt will still be done. This may not be
necessary, but shouldn't be harmful.
Reported-By: Renaud Métrich <rmetrich@redhat.com>
diff --git a/main.cxx b/main.cxx
index 06adb66ad..9f695cbd8 100644
--- a/main.cxx
+++ b/main.cxx
@@ -1190,8 +1190,10 @@ passes_0_4 (systemtap_session &s)
s.mok_fingerprints.clear();
s.mok_fingerprints.push_back(mok_fingerprint);
}
- rc =
- sign_module (s.tmpdir, s.module_filename(), s.mok_fingerprints, mok_path, s.kernel_build_tree);
+ if (s.verbose)
+ clog << _F("Signing %s with mok key %s", s.module_filename().c_str(), mok_path.c_str())
+ << endl;
+ rc = sign_module (s.tmpdir, s.module_filename(), s.mok_fingerprints, mok_path, s.kernel_build_tree);
}
#endif
@@ -1310,8 +1312,30 @@ passes_0_4 (systemtap_session &s)
if (! s.use_script_cache && s.last_pass <= 4)
s.save_module = true;
+#if HAVE_NSS
+ // PR30749
+ if (!rc && s.module_sign_given)
+ {
+ // when run on client as --sign-module, mok fingerprints are result of mokutil -l
+ // when run from server as --sign-module=PATH, mok fingerprint is given by PATH
+ string mok_path;
+ if (!s.module_sign_mok_path.empty())
+ {
+ string mok_fingerprint;
+ split_path (s.module_sign_mok_path, mok_path, mok_fingerprint);
+ s.mok_fingerprints.clear();
+ s.mok_fingerprints.push_back(mok_fingerprint);
+ }
+
+ if (s.verbose)
+ clog << _F("Signing %s with mok key %s", s.module_filename().c_str(), mok_path.c_str())
+ << endl;
+ rc = sign_module (s.tmpdir, s.module_filename(), s.mok_fingerprints, mok_path, s.kernel_build_tree);
+ }
+#endif
+
// Copy module to the current directory.
- if (s.save_module && !pending_interrupts)
+ if (!rc && s.save_module && !pending_interrupts)
{
string module_src_path = s.tmpdir + "/" + s.module_filename();
string module_dest_path = s.module_filename();
@@ -1327,29 +1351,11 @@ passes_0_4 (systemtap_session &s)
}
}
-#if HAVE_NSS
- if (s.module_sign_given)
- {
- // when run on client as --sign-module, mok fingerprints are result of mokutil -l
- // when run from server as --sign-module=PATH, mok fingerprint is given by PATH
- string mok_path;
- if (!s.module_sign_mok_path.empty())
- {
- string mok_fingerprint;
- split_path (s.module_sign_mok_path, mok_path, mok_fingerprint);
- s.mok_fingerprints.clear();
- s.mok_fingerprints.push_back(mok_fingerprint);
- }
-
- rc = sign_module (s.tmpdir, s.module_filename(), s.mok_fingerprints, mok_path, s.kernel_build_tree);
- }
-#endif
-
PROBE1(stap, pass4__end, &s);
return rc;
}
-
+
int
pass_5 (systemtap_session &s, vector<remote*> targets)
{

View File

@ -1,24 +0,0 @@
commit ead30c04c7157fec194c0f6d81e5c51c99bf25cf
gpg: Signature made Wed 24 May 2023 10:23:54 AM EDT
gpg: using RSA key 5D38116FA4D3A7CC77E378D37E83610126DCC2E8
gpg: Good signature from "Frank Ch. Eigler <fche@elastic.org>" [full]
Author: Frank Ch. Eigler <fche@redhat.com>
Date: Wed May 24 10:22:08 2023 -0400
PR30484: stap-report: scrape less of /sys /proc
Mainly: avoid process/busy parts like /proc/$pid.
diff --git a/stap-report b/stap-report
index 217ddf840..3b3a1a258 100755
--- a/stap-report
+++ b/stap-report
@@ -105,7 +105,7 @@ elif [ -f /var/log/packages ]; then
run "cat /var/log/packages | egrep 'systemtap|elfutils|kernel|gcc|dyninst|java|byteman|avahi|nss|nspr|dejagnu' | sort -k9"
fi
run "egrep 'PROBE|RANDOMIZE|RELOC|TRACE|MARKER|KALLSYM|_DEBUG_|LOCKDEP|LOCKING|MODULE|FENTRY|_SIG|BPF' /lib/modules/`uname -r`/build/.config | grep -v not.set | sort | fmt -w 80"
-run "find /debugfs /proc /sys /dev /sys/kernel/debug -type f -path '*kprobe*' -o -path '*yama*' 2>/dev/null | xargs grep -H ."
+run "find /debugfs /proc/sys /sys/kernel /dev -type f -path '*kprobe*' -o -path '*yama*' 2>/dev/null | xargs grep -H ."
run "lsmod"
run "avahi-browse -r -t _stap._tcp"
run "ifconfig -a"

View File

@ -1,64 +0,0 @@
commit ab0c5c25509600b7c9cecc9e10baebc984082b50
gpg: Signature made Fri 12 May 2023 11:18:18 AM EDT
gpg: using RSA key 5D38116FA4D3A7CC77E378D37E83610126DCC2E8
gpg: Good signature from "Frank Ch. Eigler <fche@elastic.org>" [full]
Author: Frank Ch. Eigler <fche@redhat.com>
Date: Fri May 12 11:13:45 2023 -0400
PR30442: failing optional statement probes should not trigger pass2 exceptions
In tapsets.cxx, query_cu() and query_module() aggressively caught &
sess-print_error'd semantic_errors from subsidiary call sites. They
are unaware of whether the probe in question is being resolved within
an optional (? or !) context. Instead of this, they now simply let
the exceptions propagate out to derive_probes() or similar, which does
know whether exceptions are errors in that context. That means
exceptions can propagate through elfutils iteration machinery too,
perhaps risking C level memory leaks, but so be it.
This fix goes well beyond statement probes per se, but hand-testing
and the testsuite appear not to show regressions related to this.
Added semok/badstmt.exp to test.
diff --git a/tapsets.cxx b/tapsets.cxx
index 859160bc5..7b7107371 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -2453,8 +2453,9 @@ query_cu (Dwarf_Die * cudie, dwarf_query * q)
}
catch (const semantic_error& e)
{
- q->sess.print_error (e);
- return DWARF_CB_ABORT;
+ // q->sess.print_error (e);
+ throw;
+ // return DWARF_CB_ABORT;
}
}
@@ -2696,8 +2697,9 @@ query_module (Dwfl_Module *mod,
}
catch (const semantic_error& e)
{
- q->sess.print_error (e);
- return DWARF_CB_ABORT;
+ // q->sess.print_error (e);
+ // return DWARF_CB_ABORT;
+ throw;
}
}
diff --git a/testsuite/semok/stmtbad.stp b/testsuite/semok/stmtbad.stp
new file mode 100755
index 000000000..06780790a
--- /dev/null
+++ b/testsuite/semok/stmtbad.stp
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+exec stap -v -p2 -e 'probe oneshot {log("nothing") }
+ probe process.statement("main@*:1")? { log("yo") }' -c stap
+
+# The optional misaddressed statement probe should let stap still
+# succeed with the oneshot probe.

View File

@ -1,3 +1,5 @@
# work around flakey gcc warnings
%{!?with_Werror: %global with_Werror 0}
%{!?with_sqlite: %global with_sqlite 0%{?fedora} >= 17 || 0%{?rhel} >= 7} %{!?with_sqlite: %global with_sqlite 0%{?fedora} >= 17 || 0%{?rhel} >= 7}
# prefer prebuilt docs # prefer prebuilt docs
%{!?with_docs: %global with_docs 0} %{!?with_docs: %global with_docs 0}
@ -11,8 +13,8 @@
%endif %endif
%{!?with_rpm: %global with_rpm 1} %{!?with_rpm: %global with_rpm 1}
%{!?elfutils_version: %global elfutils_version 0.179} %{!?elfutils_version: %global elfutils_version 0.179}
%{!?with_boost: %global with_boost 0} %{!?with_boost: %global with_boost 1}
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64 %ifarch x86_64 ppc ppc64 ppc64le aarch64
%{!?with_dyninst: %global with_dyninst 0%{?fedora} >= 18 || 0%{?rhel} >= 7} %{!?with_dyninst: %global with_dyninst 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
%else %else
%{!?with_dyninst: %global with_dyninst 0} %{!?with_dyninst: %global with_dyninst 0}
@ -43,9 +45,13 @@
%{!?with_httpd: %global with_httpd 0} %{!?with_httpd: %global with_httpd 0}
%{!?with_specific_python: %global with_specific_python 0%{?fedora} >= 31} %{!?with_specific_python: %global with_specific_python 0%{?fedora} >= 31}
%{!?with_sysusers: %global with_sysusers 0%{?fedora} >= 32 || 0%{?rhel} >= 9} %{!?with_sysusers: %global with_sysusers 0%{?fedora} >= 32 || 0%{?rhel} >= 9}
# NB: can't turn this on by default on any distro version whose builder system
# may run kernels different than the distro version itself.
%{!?with_check: %global with_check 0}
# Virt is supported on these arches, even on el7, but it's not in core EL7 # Virt is supported on these arches, even on el7, but it's not in core EL7
%if 0%{?rhel} <= 7 %if 0%{?rhel} && 0%{?rhel} <= 7
%ifarch ppc64le aarch64 %ifarch ppc64le aarch64
%global with_virthost 0 %global with_virthost 0
%endif %endif
@ -64,9 +70,6 @@
%else %else
%if 0%{?rhel} >= 6 %if 0%{?rhel} >= 6
%define udevrulesdir /lib/udev/rules.d %define udevrulesdir /lib/udev/rules.d
%else
# RHEL5
%define udevrulesdir /etc/udev/rules.d
%endif %endif
%endif %endif
%endif %endif
@ -83,11 +86,7 @@
%define dracutbindir %{_bindir} %define dracutbindir %{_bindir}
%endif %endif
%if 0%{?rhel} == 6 %{!?_rpmmacrodir: %define _rpmmacrodir %{_rpmconfigdir}/macros.d}
%{!?_rpmmacrodir: %define _rpmmacrodir /etc/rpm/}
%else
%{!?_rpmmacrodir: %define _rpmmacrodir %{_rpmconfigdir}/macros.d}
%endif
# To avoid testsuite/*/*.stp has shebang which doesn't start with '/' # To avoid testsuite/*/*.stp has shebang which doesn't start with '/'
%define __brp_mangle_shebangs_exclude_from .stp$ %define __brp_mangle_shebangs_exclude_from .stp$
@ -97,33 +96,42 @@
\ \
g stapusr 156\ g stapusr 156\
g stapsys 157\ g stapsys 157\
g stapdev 158 g stapdev 158\
g stapunpriv 159\
u stapunpriv 159 "systemtap unprivileged user"\
m stapunpriv stapunpriv
%define _systemtap_server_preinstall \ %define _systemtap_server_preinstall \
# See systemd-sysusers(8) sysusers.d(5)\ # See systemd-sysusers(8) sysusers.d(5)\
\ \
g stap-server -\ g stap-server -\
u stap-server - "systemtap compiler server" /var/lib/stap-server /sbin/nologin\ u stap-server - "systemtap compiler server" /var/lib/stap-server\
m stap-server stap-server m stap-server stap-server
%define _systemtap_testsuite_preinstall \ %define _systemtap_testsuite_preinstall \
# See systemd-sysusers(8) sysusers.d(5)\ # See systemd-sysusers(8) sysusers.d(5)\
\ \
u stapusr - "systemtap testsuite user" / /sbin/nologin\ u stapusr - "systemtap testsuite user"\
u stapsys - "systemtap testsuite user" / /sbin/nologin\ u stapsys - "systemtap testsuite user"\
u stapdev - "systemtap testsuite user" / /sbin/nologin\ u stapdev - "systemtap testsuite user"\
m stapusr stapusr\ m stapusr stapusr\
m stapsys stapusr\ m stapsys stapusr\
m stapsys stapsys\ m stapsys stapsys\
m stapdev stapusr\ m stapdev stapusr\
m stapdev stapdev m stapdev stapdev
%define _systemtap_server_preinstall_tmpfiles \
# See systemd-tmpfiles(8) tmpfiles.d(5)\
d /var/lib/stap-server 0750 stap-server stap-server -\
d /var/lib/stap-server/.systemtap 0700 stap-server stap-server -\
d /var/log/stap-server 0755 stap-server stap-server -\
f /var/log/stap-server/log 0644 stap-server stap-server -
Name: systemtap Name: systemtap
# PRERELEASE # PRERELEASE
Version: 4.9 Version: 5.4
Release: 3%{?release_override}%{?dist} Release: 4%{?release_override}%{?dist}
# for version, see also configure.ac # for version, see also configure.ac
@ -135,7 +143,8 @@ Release: 3%{?release_override}%{?dist}
# systemtap-runtime /usr/bin/staprun, /usr/bin/stapsh, /usr/bin/stapdyn # systemtap-runtime /usr/bin/staprun, /usr/bin/stapsh, /usr/bin/stapdyn
# systemtap-client /usr/bin/stap, samples, docs, tapset(bonus), req:-runtime # systemtap-client /usr/bin/stap, samples, docs, tapset(bonus), req:-runtime
# systemtap-initscript /etc/init.d/systemtap, dracut module, req:systemtap # systemtap-initscript /etc/init.d/systemtap, dracut module, req:systemtap
# systemtap-sdt-devel /usr/include/sys/sdt.h /usr/bin/dtrace # systemtap-sdt-devel /usr/include/sys/sdt.h
# systemtap-sdt-dtrace /usr/bin/dtrace
# systemtap-testsuite /usr/share/systemtap/testsuite*, req:systemtap, req:sdt-devel # systemtap-testsuite /usr/share/systemtap/testsuite*, req:systemtap, req:sdt-devel
# systemtap-runtime-java libHelperSDT.so, HelperSDT.jar, stapbm, req:-runtime # systemtap-runtime-java libHelperSDT.so, HelperSDT.jar, stapbm, req:-runtime
# systemtap-runtime-virthost /usr/bin/stapvirt, req:libvirt req:libxml2 # systemtap-runtime-virthost /usr/bin/stapvirt, req:libvirt req:libxml2
@ -156,15 +165,11 @@ Release: 3%{?release_override}%{?dist}
# intermediary stap-server for --use-server: systemtap-server (-devel unused) # intermediary stap-server for --use-server: systemtap-server (-devel unused)
Summary: Programmable system-wide instrumentation system Summary: Programmable system-wide instrumentation system
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
Patch1: rhbz2223733.patch Patch1: 0001-PR33428-imply-kernel-vmlinux-h.patch
Patch2: rhbz2223735.patch
Patch3: pr29108.patch
Patch4: pr30749.patch
# Build* # Build*
BuildRequires: make BuildRequires: make
@ -175,6 +180,7 @@ BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(avahi-client) BuildRequires: pkgconfig(avahi-client)
%if %{with_debuginfod} %if %{with_debuginfod}
BuildRequires: pkgconfig(libdebuginfod) BuildRequires: pkgconfig(libdebuginfod)
BuildRequires: pkgconfig(json-c)
%endif %endif
%if %{with_dyninst} %if %{with_dyninst}
BuildRequires: dyninst-devel >= 10.0 BuildRequires: dyninst-devel >= 10.0
@ -191,9 +197,7 @@ BuildRequires: pkgconfig(ncurses)
BuildRequires: systemd BuildRequires: systemd
%endif %endif
# Needed for libstd++ < 4.0, without <tr1/memory> # Needed for libstd++ < 4.0, without <tr1/memory>
%if %{with_boost}
BuildRequires: boost-devel BuildRequires: boost-devel
%endif
%if %{with_crash} %if %{with_crash}
BuildRequires: crash-devel zlib-devel BuildRequires: crash-devel zlib-devel
%endif %endif
@ -226,9 +230,6 @@ BuildRequires: pkgconfig(libvirt)
BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxml-2.0)
%endif %endif
BuildRequires: readline-devel BuildRequires: readline-devel
%if 0%{?rhel} <= 5
BuildRequires: pkgconfig(ncurses)
%endif
%if %{with_python2_probes} %if %{with_python2_probes}
BuildRequires: python2-devel BuildRequires: python2-devel
%if 0%{?fedora} >= 1 %if 0%{?fedora} >= 1
@ -250,8 +251,14 @@ BuildRequires: libmicrohttpd-devel
BuildRequires: libuuid-devel BuildRequires: libuuid-devel
%endif %endif
%if %{with_sysusers} %if %{with_sysusers}
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
%endif %endif
%if %{with_check}
BuildRequires: kernel-devel
# and some of the same Requires: as below
BuildRequires: dejagnu gcc make
%endif
# Install requirements # Install requirements
@ -268,8 +275,8 @@ the components needed to locally develop and execute systemtap scripts.
%package server %package server
Summary: Instrumentation System Server Summary: Instrumentation System Server
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: systemtap-devel = %{version}-%{release} Requires: systemtap-devel = %{version}-%{release}
Conflicts: systemtap-devel < %{version}-%{release} Conflicts: systemtap-devel < %{version}-%{release}
Conflicts: systemtap-runtime < %{version}-%{release} Conflicts: systemtap-runtime < %{version}-%{release}
@ -298,8 +305,8 @@ compiles systemtap scripts to kernel objects on their demand.
%package devel %package devel
Summary: Programmable system-wide instrumentation system - development headers, tools Summary: Programmable system-wide instrumentation system - development headers, tools
License: GPLv2+ License: GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 20 %if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
Recommends: (kernel-debug-devel if kernel-debug) Recommends: (kernel-debug-devel if kernel-debug)
@ -328,8 +335,8 @@ a copy of the standard tapset library and the runtime library C files.
%package runtime %package runtime
Summary: Programmable system-wide instrumentation system - runtime Summary: Programmable system-wide instrumentation system - runtime
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires(pre): shadow-utils Requires(pre): shadow-utils
Conflicts: systemtap-devel < %{version}-%{release} Conflicts: systemtap-devel < %{version}-%{release}
Conflicts: systemtap-server < %{version}-%{release} Conflicts: systemtap-server < %{version}-%{release}
@ -343,8 +350,8 @@ using a local or remote systemtap-devel installation.
%package client %package client
Summary: Programmable system-wide instrumentation system - client Summary: Programmable system-wide instrumentation system - client
License: GPLv2+ License: GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: zip unzip Requires: zip unzip
Requires: systemtap-runtime = %{version}-%{release} Requires: systemtap-runtime = %{version}-%{release}
Requires: coreutils grep sed unzip zip Requires: coreutils grep sed unzip zip
@ -357,17 +364,19 @@ Requires: mokutil
%endif %endif
%description client %description client
This package contains/requires the components needed to develop This package contains/requires only the components needed to
systemtap scripts, and compile them using a local systemtap-devel use systemtap scripts by compiling them using a local or a remote
or a remote systemtap-server installation, then run them using a systemtap-server service, then run them using a local or
local or remote systemtap-runtime. It includes script samples and remote systemtap-runtime. It includes script samples and
documentation, and a copy of the tapset library for reference. documentation, and a copy of the tapset library for reference.
It does NOT include all the components for running a systemtap
script in a self-contained fashion; for that, use the -devel
subpackage instead.
%package initscript %package initscript
Summary: Systemtap Initscripts Summary: Systemtap Initscripts
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: systemtap = %{version}-%{release} Requires: systemtap = %{version}-%{release}
%if %{with_systemd} %if %{with_systemd}
Requires: systemd Requires: systemd
@ -385,9 +394,24 @@ boot-time probing if supported.
%package sdt-devel %package sdt-devel
Summary: Static probe support tools Summary: Static probe support header files
License: GPLv2+ and Public Domain License: GPL-2.0-or-later AND CC0-1.0
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
%if 0%{?rhel} && 0%{?rhel} <= 10
# for RHEL buildability compatibility, pull in sdt-dtrace at all times
Requires: systemtap-sdt-dtrace = %{version}-%{release}
%endif
%description sdt-devel
This package includes the <sys/sdt.h> header file used for static
instrumentation compiled into userspace programs.
%package sdt-dtrace
Summary: Static probe support dtrace tool
License: GPL-2.0-or-later AND CC0-1.0
URL: https://sourceware.org/systemtap/
Provides: dtrace = %{version}-%{release}
%if %{with_pyparsing} %if %{with_pyparsing}
%if %{with_python3} %if %{with_python3}
Requires: python3-pyparsing Requires: python3-pyparsing
@ -400,21 +424,19 @@ Requires: python2-pyparsing
%endif %endif
%endif %endif
%description sdt-devel %description sdt-dtrace
This package includes the <sys/sdt.h> header file used for static This package includes the dtrace-compatibility preprocessor
instrumentation compiled into userspace programs and libraries, along to process related .d files into tracing-macro-laden .h headers.
with the optional dtrace-compatibility preprocessor to process related
.d files into tracing-macro-laden .h headers.
%package testsuite %package testsuite
Summary: Instrumentation System Testsuite Summary: Instrumentation System Testsuite
License: GPLv2+ License: GPL-2.0-or-later AND GPL-2.0-only AND GPL-3.0-or-later AND MIT
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: systemtap = %{version}-%{release} Requires: systemtap = %{version}-%{release}
Requires: systemtap-sdt-devel = %{version}-%{release} Requires: systemtap-sdt-devel = %{version}-%{release}
Requires: systemtap-server = %{version}-%{release} Requires: systemtap-server = %{version}-%{release}
Requires: dejagnu which elfutils grep nc Requires: dejagnu which elfutils grep nc wget
%if %{with_debuginfod} %if %{with_debuginfod}
Requires: elfutils-debuginfod Requires: elfutils-debuginfod
%endif %endif
@ -481,8 +503,8 @@ systemtap on the current system.
%if %{with_java} %if %{with_java}
%package runtime-java %package runtime-java
Summary: Systemtap Java Runtime Support Summary: Systemtap Java Runtime Support
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: systemtap-runtime = %{version}-%{release} Requires: systemtap-runtime = %{version}-%{release}
# work around fedora ci gating kvetching about i686<->x86-64 conflicts # work around fedora ci gating kvetching about i686<->x86-64 conflicts
%ifarch x86_64 %ifarch x86_64
@ -503,8 +525,8 @@ that probe Java processes running on the OpenJDK runtimes using Byteman.
%if %{with_python2_probes} %if %{with_python2_probes}
%package runtime-python2 %package runtime-python2
Summary: Systemtap Python 2 Runtime Support Summary: Systemtap Python 2 Runtime Support
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: systemtap-runtime = %{version}-%{release} Requires: systemtap-runtime = %{version}-%{release}
%description runtime-python2 %description runtime-python2
@ -515,8 +537,8 @@ that probe python 2 processes.
%if %{with_python3_probes} %if %{with_python3_probes}
%package runtime-python3 %package runtime-python3
Summary: Systemtap Python 3 Runtime Support Summary: Systemtap Python 3 Runtime Support
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: systemtap-runtime = %{version}-%{release} Requires: systemtap-runtime = %{version}-%{release}
%if ! (%{with_python2_probes}) %if ! (%{with_python2_probes})
@ -532,8 +554,8 @@ that probe python 3 processes.
%if %{with_python3_probes} %if %{with_python3_probes}
%package exporter %package exporter
Summary: Systemtap-prometheus interoperation mechanism Summary: Systemtap-prometheus interoperation mechanism
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: systemtap-runtime = %{version}-%{release} Requires: systemtap-runtime = %{version}-%{release}
%description exporter %description exporter
@ -545,8 +567,8 @@ to remote requesters on demand.
%if %{with_virthost} %if %{with_virthost}
%package runtime-virthost %package runtime-virthost
Summary: Systemtap Cross-VM Instrumentation - host Summary: Systemtap Cross-VM Instrumentation - host
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
# only require libvirt-libs really # only require libvirt-libs really
#Requires: libvirt >= 1.0.2 #Requires: libvirt >= 1.0.2
Requires: libxml2 Requires: libxml2
@ -560,8 +582,8 @@ connection.
%if %{with_virtguest} %if %{with_virtguest}
%package runtime-virtguest %package runtime-virtguest
Summary: Systemtap Cross-VM Instrumentation - guest Summary: Systemtap Cross-VM Instrumentation - guest
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: systemtap-runtime = %{version}-%{release} Requires: systemtap-runtime = %{version}-%{release}
%if %{with_systemd} %if %{with_systemd}
Requires(post): findutils coreutils Requires(post): findutils coreutils
@ -578,26 +600,21 @@ This package installs the services necessary on a virtual machine for a
systemtap-runtime-virthost machine to execute systemtap scripts. systemtap-runtime-virthost machine to execute systemtap scripts.
%endif %endif
%if %{with_python3} && %{with_monitor}
%package jupyter %package jupyter
Summary: ISystemtap jupyter kernel and examples Summary: ISystemtap jupyter kernel and examples
License: GPLv2+ License: GPL-2.0-or-later
URL: http://sourceware.org/systemtap/ URL: https://sourceware.org/systemtap/
Requires: systemtap = %{version}-%{release} Requires: systemtap = %{version}-%{release}
%description jupyter %description jupyter
This package includes files needed to build and run This package includes files needed to build and run
the interactive systemtap Jupyter kernel, either locally the interactive systemtap Jupyter kernel, either locally
or within a container. or within a container.
%endif
# ------------------------------------------------------------------------ # ------------------------------------------------------------------------
%prep %prep
%setup -q %autosetup -p1
%patch -P1 -p1
%patch -P2 -p1
%patch -P3 -p1
%patch -P4 -p1
%build %build
@ -608,6 +625,13 @@ or within a container.
%global dyninst_config --without-dyninst %global dyninst_config --without-dyninst
%endif %endif
# Enable/disable the dyninst pure-userspace backend
%if %{with_Werror}
%global Werror_config --enable-Werror
%else
%global Werror_config --disable-Werror
%endif
# Enable/disable the sqlite coverage testing support # Enable/disable the sqlite coverage testing support
%if %{with_sqlite} %if %{with_sqlite}
%global sqlite_config --enable-sqlite %global sqlite_config --enable-sqlite
@ -695,7 +719,7 @@ or within a container.
# We don't ship compileworthy python code, just oddball samples # We don't ship compileworthy python code, just oddball samples
%global py_auto_byte_compile 0 %global py_auto_byte_compile 0
%configure %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} %{bpf_config} %{debuginfod_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}" %configure %{Werror_config} %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} %{bpf_config} %{debuginfod_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}"
make %{?_smp_mflags} V=1 make %{?_smp_mflags} V=1
@ -718,6 +742,8 @@ mkdir -p %{buildroot}%{_sysusersdir}
echo '%_systemtap_runtime_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-runtime.conf echo '%_systemtap_runtime_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-runtime.conf
echo '%_systemtap_server_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-server.conf echo '%_systemtap_server_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-server.conf
echo '%_systemtap_testsuite_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-testsuite.conf echo '%_systemtap_testsuite_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-testsuite.conf
mkdir -p %{buildroot}%{_tmpfilesdir}
echo '%_systemtap_server_preinstall_tmpfiles' > %{buildroot}%{_tmpfilesdir}/systemtap-server.conf
%endif %endif
@ -735,9 +761,6 @@ find testsuite -type f -name '.gitignore' -print0 | xargs -0 rm -f
# permissions back to 04110 in the %files section below. # permissions back to 04110 in the %files section below.
chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun
#install the useful stap-prep script
install -c -m 755 stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
# Copy over the testsuite # Copy over the testsuite
cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap
@ -846,30 +869,56 @@ done
%py3_shebang_fix %{buildroot}%{python3_sitearch} %{buildroot}%{_bindir}/* %py3_shebang_fix %{buildroot}%{python3_sitearch} %{buildroot}%{_bindir}/*
%endif %endif
%check
%if %{with_check}
make check RUNTESTFLAGS=environment_sanity.exp
%endif
%pre runtime %pre runtime
%if %{with_sysusers} %if %{with_sysusers}
%if (0%{?fedora} && 0%{?fedora} < 42) || (0%{?rhel} && 0%{?rhel} < 11)
echo '%_systemtap_runtime_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-runtime.conf - echo '%_systemtap_runtime_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-runtime.conf -
exit 0
%endif
%else %else
getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr
getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys
getent group stapdev >/dev/null || groupadd -f -g 158 -r stapdev getent group stapdev >/dev/null || groupadd -f -g 158 -r stapdev
%endif getent passwd stapunpriv >/dev/null || \
useradd -c "Systemtap Unprivileged User" -u 159 -g stapunpriv -d / -r -s /sbin/nologin stapunpriv 2>/dev/null || \
useradd -c "Systemtap Unprivileged User" -g stapunpriv -d / -r -s /sbin/nologin stapunpriv
exit 0 exit 0
%endif
%post runtime
# stapunpriv is a system user not needing a homedir. Previously, specfile did
# set a homedir, but didn't create it. Fresh installations now set "/" as the
# homedir via _systemtap_runtime_preinstall, as SYSUSERS.D(5) recommends. Fix
# existing broken installations, keep upgrade path clean. Related: RHEL-130244.
getent passwd stapunpriv | cut -d: -f6 | grep -q '^/var/lib/stapunpriv$' && usermod -d / stapunpriv ||:
%pre server %pre server
%if %{with_sysusers} %if %{with_sysusers}
%if (0%{?fedora} && 0%{?fedora} < 42) || (0%{?rhel} && 0%{?rhel} < 11)
echo '%_systemtap_server_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-server.conf - echo '%_systemtap_server_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-server.conf -
echo '%_systemtap_server_preinstall_tmpfiles' | systemd-tmpfiles --replace=%{_tmpfilesdir}/systemtap-server.conf -
exit 0
%endif
%else %else
getent group stap-server >/dev/null || groupadd -f -g 155 -r stap-server getent group stap-server >/dev/null || groupadd -f -g 155 -r stap-server
getent passwd stap-server >/dev/null || \ getent passwd stap-server >/dev/null || \
useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server 2>/dev/null || \ useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server 2>/dev/null || \
useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server
%endif
exit 0 exit 0
%endif
%pre testsuite %pre testsuite
%if %{with_sysusers} %if %{with_sysusers}
%if (0%{?fedora} && 0%{?fedora} < 42) || (0%{?rhel} && 0%{?rhel} < 11)
echo '%_systemtap_testsuite_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-testsuite.conf - echo '%_systemtap_testsuite_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-testsuite.conf -
exit 0
%endif
%else %else
getent passwd stapusr >/dev/null || \ getent passwd stapusr >/dev/null || \
useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr
@ -877,8 +926,8 @@ getent passwd stapsys >/dev/null || \
useradd -c "Systemtap 'stapsys' User" -g stapsys -G stapusr -r -s /sbin/nologin stapsys useradd -c "Systemtap 'stapsys' User" -g stapsys -G stapusr -r -s /sbin/nologin stapsys
getent passwd stapdev >/dev/null || \ getent passwd stapdev >/dev/null || \
useradd -c "Systemtap 'stapdev' User" -g stapdev -G stapusr -r -s /sbin/nologin stapdev useradd -c "Systemtap 'stapdev' User" -g stapdev -G stapusr -r -s /sbin/nologin stapdev
%endif
exit 0 exit 0
%endif
%post server %post server
@ -1086,6 +1135,7 @@ exit 0
%if %{with_systemd} %if %{with_systemd}
%{_unitdir}/stap-server.service %{_unitdir}/stap-server.service
%{_tmpfilesdir}/stap-server.conf %{_tmpfilesdir}/stap-server.conf
%{_tmpfilesdir}/systemtap-server.conf
%else %else
%{initdir}/stap-server %{initdir}/stap-server
%dir %{_sysconfdir}/stap-server/conf.d %dir %{_sysconfdir}/stap-server/conf.d
@ -1132,13 +1182,14 @@ exit 0
%if %{with_emacsvim} %if %{with_emacsvim}
%{_emacs_sitelispdir}/*.el* %{_emacs_sitelispdir}/*.el*
%{_emacs_sitestartdir}/systemtap-init.el %{_emacs_sitestartdir}/systemtap-init.el
%{_datadir}/vim/vimfiles/*/*.vim %{_datadir}/vim/vimfiles
%endif %endif
# Notice that the stap-resolve-module-function.py file is used by # Notice that the stap-resolve-module-function.py file is used by
# *both* the python2 and python3 subrpms. Both subrpms use that same # *both* the python2 and python3 subrpms. Both subrpms use that same
# python script to help list python probes. # python script to help list python probes.
%if %{with_python3_probes} || %{with_python2_probes} %if %{with_python3_probes} || %{with_python2_probes}
%{_libexecdir}/systemtap/python/stap-resolve-module-function.py %{_libexecdir}/systemtap/python/stap-resolve-module-function.py
%dir %{_libexecdir}/systemtap/python
%exclude %{_libexecdir}/systemtap/python/stap-resolve-module-function.py? %exclude %{_libexecdir}/systemtap/python/stap-resolve-module-function.py?
%endif %endif
@ -1233,16 +1284,22 @@ exit 0
%files sdt-devel %files sdt-devel
%{_bindir}/dtrace
%{_includedir}/sys/sdt.h %{_includedir}/sys/sdt.h
%{_includedir}/sys/sdt-config.h %{_includedir}/sys/sdt-config.h
%{_mandir}/man1/dtrace.1*
%{_rpmmacrodir}/macros.systemtap %{_rpmmacrodir}/macros.systemtap
%doc README AUTHORS NEWS %doc README AUTHORS NEWS
%{!?_licensedir:%global license %%doc} %{!?_licensedir:%global license %%doc}
%license COPYING %license COPYING
%files sdt-dtrace
%{_bindir}/dtrace
%doc README AUTHORS NEWS
%{!?_licensedir:%global license %%doc}
%license COPYING
%{_mandir}/man1/dtrace.1*
%files testsuite %files testsuite
%dir %{_datadir}/systemtap %dir %{_datadir}/systemtap
%{_datadir}/systemtap/testsuite %{_datadir}/systemtap/testsuite
@ -1299,250 +1356,181 @@ exit 0
%{_sbindir}/stap-exporter %{_sbindir}/stap-exporter
%endif %endif
%if %{with_python3} && %{with_monitor}
%files jupyter %files jupyter
%{_bindir}/stap-jupyter-container %{_bindir}/stap-jupyter-container
%{_bindir}/stap-jupyter-install %{_bindir}/stap-jupyter-install
%{_mandir}/man1/stap-jupyter.1* %{_mandir}/man1/stap-jupyter.1*
%dir %{_datadir}/systemtap %dir %{_datadir}/systemtap
%{_datadir}/systemtap/interactive-notebook %{_datadir}/systemtap/interactive-notebook
%endif
# ------------------------------------------------------------------------ # ------------------------------------------------------------------------
# Future new-release entries should be of the form # Future new-release entries should be of the form
# * DDD MMM DD YYYY YOURNAME <YOUREMAIL> - V-R # * DDD MMM DD YYYY YOURNAME <YOUREMAIL> - V-R
# - Upstream release, see wiki page below for detailed notes. # - Upstream release, see wiki page below for detailed notes.
# http://sourceware.org/systemtap/wiki/SystemTapReleases # https://sourceware.org/systemtap/wiki/SystemTapReleases
# PRERELEASE # PRERELEASE
%changelog %changelog
* Tue Dec 2 2025 Martin Cermak <mcermak@redhat.com> - 5.4-4
- Fix RHEL-132676
* Fri Nov 28 2025 Martin Cermak <mcermak@redhat.com> - 5.4-3
- Fix RHEL-130244
* Thu Nov 13 2025 Martin Cermak <mcermak@redhat.com> - 5.4-2
- Backport upstream patch 53c48b550 imply kernel<vmlinux.h>
check by file name.
* Fri Oct 31 2025 Frank Ch. Eigler <fche@redhat.com> - 5.4-1
- Upstream release, see wiki page below for detailed notes.
https://sourceware.org/systemtap/wiki/SystemTapReleases
* Thu Jun 5 2025 William Cohen <wcohen@redhat.com> - 5.3-3
- RHEL-90805: Update dev.stp tapset to handle RHEL-9.7 kernels.
* Mon May 12 2025 Martin Cermak <mcermak@redhat.com> - 5.3-2
- RHEL-RHEL-89809: stap-server log owned by root
* Fri May 02 2025 Frank Ch. Eigler <fche@redhat.com> - 5.3-1
- Upstream release, see wiki page below for detailed notes.
https://sourceware.org/systemtap/wiki/SystemTapReleases
* Fri Nov 15 2024 Frank Ch. Eigler <fche@redhat.com> - 5.2-2
- RHEL-67586: supply /usr/bin/dtrace in sdt-devel subrpm too
* Mon Nov 11 2024 Frank Ch. Eigler <fche@redhat.com> - 5.2-1
- Upstream release, see wiki page below for detailed notes.
- https://sourceware.org/systemtap/wiki/SystemTapReleases
* Mon Sep 9 2024 Martin Cermak <mcermak@redhat.com> - 5.1-4
- RHEL-50107.patch: Make systemtap compatible with kernel
commit 68cbd415dd4b . Related: RHEL-56962 .
* Thu May 16 2024 Martin Cermak <mcermak@redhat.com> - 5.1-3
- RHEL-7318
* Tue May 14 2024 William Cohen <wcohen@redhat.com> - 5.1-2
- RHEL-36199
* Fri Apr 26 2024 Frank Ch. Eigler <fche@redhat.com> - 5.1-1
- Upstream release, see wiki page below for detailed notes.
https://sourceware.org/systemtap/wiki/SystemTapReleases
* Wed Dec 6 2023 William Cohen <wcohen@redhat.com> - 5.0-4
- RHEL-18334
* Tue Nov 14 2023 Frank Ch. Eigler <fche@redhat.com> - 5.0-3
- RHEL-16549
* Mon Nov 06 2023 Frank Ch. Eigler <fche@redhat.com> - 5.0-2
- License header tweak
* Fri Nov 03 2023 Frank Ch. Eigler <fche@redhat.com> - 5.0-1
- Upstream release, see wiki page below for detailed notes.
https://sourceware.org/systemtap/wiki/SystemTapReleases
* Mon Aug 14 2023 Frank Ch. Eigler <fche@redhat.com> - 4.9-3 * Mon Aug 14 2023 Frank Ch. Eigler <fche@redhat.com> - 4.9-3
- rhbz2231619 - rhbz2231632
- rhbz2095359 - rhbz2231635
* Tue Jul 18 2023 Frank Ch. Eigler <fche@redhat.com> - 4.9-2 * Tue Jul 18 2023 Frank Ch. Eigler <fche@redhat.com> - 4.9-2
- rhbz2223733 = rhbz2211288 - rhbz2223733
- rhbz2223735 = rhbz2223739 - rhbz2223735
* Fri Apr 28 2023 Frank Ch. Eigler <fche@redhat.com> - 4.9-1 * Fri Apr 28 2023 Frank Ch. Eigler <fche@redhat.com> - 4.9-1
- Upstream release, see wiki page below for detailed notes. - Upstream release, see wiki page below for detailed notes.
https://sourceware.org/systemtap/wiki/SystemTapReleases https://sourceware.org/systemtap/wiki/SystemTapReleases
* Fri Dec 23 2022 Frank Ch. Eigler <fche@redhat.com> - 4.8-2 * Fri Dec 16 2022 Frank Ch. Eigler <fche@redhat.com> - 4.8-2
- rhbz2156092 = rhbz1997192 - rhbz1997192
- rhbz2145241 = rhbz2145242 - rhbz2145242
- rhbz2156093 = rhbz2149223 - rhbz2149223
- rhbz2156095 = rhbz2149666 - rhbz2149666
- rhbz2156094 = rhbz2154430 - rhbz2154430
* Thu Nov 03 2022 Frank Ch. Eigler <fche@redhat.com> - 4.8-1 * Thu Nov 03 2022 Frank Ch. Eigler <fche@redhat.com> - 4.8-1
- Upstream release. - Upstream release.
* Mon May 02 2022 Stan Cox <scox@redhat.com> - 4.7-1 * Tue May 17 2022 Martin Cermak <mcermak@redhat.com> - 4.7-2
- Fix rhbz2081102 and rhbz2085647
* Mon May 02 2022 Frank Ch. Eigler <fche@redhat.com> - 4.7-1
- Upstream release, see wiki page below for detailed notes. - Upstream release, see wiki page below for detailed notes.
https://sourceware.org/systemtap/wiki/SystemTapReleases https://sourceware.org/systemtap/wiki/SystemTapReleases
* Tue Dec 07 2021 Stan Cox <scox@redhat.com> - 4.6.4 * Wed Feb 2 2022 Stan Cox <scox@redhat.com> - 4.6-11
- rhbz2039207: Attempt userspace string access if kernel access fails
* Tue Feb 1 2022 Martin Cermak <mcermak@redhat.com> - 4.6-10
- rhbz2047256: [ppc64le] Assertion `index >= 0' failed
* Fri Jan 21 2022 Martin Cermak <mcermak@redhat.com> - 4.6-9
- rhbz2027683: python tapset regression
- rhbz2027683: systemtap.examples/io/iostat-scsi.stp PR28633
* Mon Jan 17 2022 Martin Cermak <mcermak@redhat.com> - 4.6-6
- rhbz2041526/pr28634: move elevator.h to block/
* Tue Dec 07 2021 Stan Cox <scox@redhat.com> - 4.6.5
- sys/sdt.h remove aarch64 and s390 float constraints - sys/sdt.h remove aarch64 and s390 float constraints
* Mon Dec 06 2021 Stan Cox <scox@redhat.com> - 4.6.3 * Mon Dec 06 2021 Stan Cox <scox@redhat.com> - 4.6.4
- sys/sdt.h remove float constraints that may cause gcc reload issues. - sys/sdt.h remove float constraints that may cause gcc reload issues.
* Thu Dec 02 2021 Frank Ch. Eigler <fche@redhat.com> - 4.6.2 * Thu Dec 02 2021 Frank Ch. Eigler <fche@redhat.com> - 4.6.3
- rhbz2972798 - nfs tapset tweaks
- sys/sdt.h fixes for glibc ftbfs - sys/sdt.h fixes for glibc ftbfs
* Mon Nov 15 2021 Frank Ch. Eigler <fche@redhat.com> - 4.6-1 * Thu Nov 25 2021 Martin Cermak <mcermak@redhat.com> - 4.6.2
- rhbz2012907: Fix use of sysuser.d/* for user/group management
* Fri Nov 19 2021 Frank Ch. Eigler <fche@redhat.com> - 4.6-1
- Upstream release. - Upstream release.
* Thu Aug 12 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-3 * Thu Sep 09 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-8
- rhbz1991631 iommu tracepoints break ppc64le - rhbz1985124: Kernel 5.14 compatibility omnibus cont'd.
* Tue Jul 27 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-2 * Thu Aug 12 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-7
- rhbz1986543 rebuild against dyninst 11 - rhbz1985124: Kernel 5.14 compatibility omnibus.
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 4.5-5
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Mon Jul 26 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-3
- rhbz1982908: Import hardening c*flags from specs/rhel standards
* Tue May 18 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-2
- Respin against newer dyninst.
* Fri May 07 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-1 * Fri May 07 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-1
- Upstream release. - Upstream release.
* Tue Jan 26 2021 Frank Ch. Eigler <fche@redhat.com> - 4.4-9 * Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 4.5-0.202102101545git8d5e0abc542c
- rhbz1927497 enable debuginfod client for buildid probing - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Frank Ch. Eigler <fche@redhat.com> - 4.4-8
- rhbz1902696 fix invocation as stapusr with procfs/lockdown
* Wed Jan 20 2021 Martin Cermak <mcermak@redhat.com> - 4.4-7
- rhbz1650594 fix boot time probing feature
* Mon Jan 04 2021 Frank Ch. Eigler <fche@redhat.com> - 4.4-6
- rhbz1906662 backport transport/utrace/locking patches
* Thu Dec 17 2020 Frank Ch. Eigler <fche@redhat.com> - 4.4-5
- rhbz1908904 fix lock-pushdown codegen for conditional probes
* Tue Dec 15 2020 Frank Ch. Eigler <fche@redhat.com> - 4.4-4
- rhbz1902696 fix invocation as stapusr vs. root
* Tue Nov 17 2020 Frank Ch. Eigler <fche@redhat.com> - 4.4-3
- rhbz1873492 related: rhel8 kernel_is_locked_down detection
* Mon Nov 16 2020 Frank Ch. Eigler <fche@redhat.com> - 4.4-2
- rhbz1898288: stability for exhausted UTRACE_TASK_WORK_POOL
- rhbz1873492 related: mokutil parser robustness for RH keys
* Mon Nov 09 2020 Frank Ch. Eigler <fche@redhat.com> - 4.4-1 * Mon Nov 09 2020 Frank Ch. Eigler <fche@redhat.com> - 4.4-1
- Upstream release. - Upstream release.
* Wed Aug 12 2020 Martin Cermak <mcermak@redhat.com> - 4.3-4 * Thu Jun 11 2020 Frank Ch. Eigler <fche@redhat.com> - 4.3-1
- rhbz1868095: Refix including PR26379. - Upstream release.
* Wed Aug 12 2020 Martin Cermak <mcermak@redhat.com> - 4.3-3 * Mon Nov 18 2019 Sagar Patel <sapatel@redhat.com> - 4.2-1
- rhbz1868095: byteman-java-methods-probing - Upstream release.
* Tue Jul 28 2020 Frank Ch. Eigler <fche@redhat.com> - 4.3-2
- rhbz1857749: uprobes-inode changes
- rhbz1855264: @cast adaptations
* Thu Jun 11 2020 Stan Cox <scox@redhat.com> - 4.3-1
- rhbz1804319: Upstream release.
* Tue Feb 11 2020 Frank Ch. Eigler <fche@redhat.com> - 4.2-6
- rhbz1795196 cont'd: autoconf fix for kernel change to stack_trace_save_regs
* Tue Jan 28 2020 Frank Ch. Eigler <fche@redhat.com> - 4.2-5
- rhbz1795196: kallsyms vs. elfutils/vmlinuz
* Thu Jan 23 2020 Frank Ch. Eigler <fche@redhat.com> - 4.2-4
- rhbz1788662: check for rcu_is_watching() during prologue
* Fri Jan 10 2020 Frank Ch. Eigler <fche@redhat.com> - 4.2-3
- rhbz1788544: stop bytecompiling systemtap-mode.el
* Fri Jan 10 2020 Frank Ch. Eigler <fche@redhat.com> - 4.2-2
- rhbz1788648: aarch64 sdt.h parse [x0, x1]
* Tue Nov 19 2019 Frank Ch. Eigler <fche@redhat.com> - 4.2-1
- rhbz1744989: Upstream release.
* Tue Aug 06 2019 Frank Ch. Eigler <fche@redhat.com> - 4.1-6
- rhbz1732514: add java-devel prereq to systemtap-runtime-java
* Wed Jul 31 2019 Serguei Makarov <smakarov@redhat.com> - 4.1-5
- rhbz1734973: Fix possible stapbpf segfault with foreach string key iteration.
* Mon Jul 29 2019 Frank Ch. Eigler <fche@redhat.com> - 4.1-4
- rhbz1732173 (arm64 syscall parameters)
* Tue Jun 04 2019 Stan Cox <scox@redhat.com> - 4.1-3
- Rebuilt for dyninst 10.1.0
* Tue May 14 2019 Frank Ch. Eigler <fche@redhat.com> - 4.1-2
- Correct GNU_parameter_ref dwarf feature typo.
* Tue May 07 2019 Serguei Makarov <smakarov@redhat.com> - 4.1-1 * Tue May 07 2019 Serguei Makarov <smakarov@redhat.com> - 4.1-1
- Upstream release. - Upstream release.
* Mon Dec 17 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-7
- rhbz1657909: vfs tapset fixes for $cred
* Mon Dec 10 2018 William Cohen <wcohen@redhat.com> - 4.0-6
- rhbz1657857: Please, backport periodic.stp from current upstream aacee6563.
* Fri Dec 07 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-5
- rhbz1657186: fix/port nfsd.proc4.[read,commit] tapset aliases
* Thu Dec 06 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-4
- rhbz1656795: support bdflush syscall
* Tue Dec 04 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-3
- rhbz1655631: change kernel-devel* deps to Recommends:
* Wed Nov 14 2018 Serhei Makarov <smakarov@redhat.com> - 4.0-2
- rhbz1643997: backported string tapset functionality and bugfixes
* Sat Oct 13 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-1 * Sat Oct 13 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-1
- Upstream release. - Upstream release.
* Thu Aug 30 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-0.20180830git * Thu Jun 07 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-1
- Enable brp-mangle for python scripts (rhbz1619413). - Upstream release.
* Fri Aug 10 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-0.20180810git
- Automated weekly rawhide release
- Applied spec changes from upstream git
* Mon May 14 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-0.20180508git9c6ac6cda49e.2
- respin w/ fixed glibc
* Tue May 08 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-0.20180508git9c6ac6cda49e
- Automated weekly rawhide release
- Applied spec changes from upstream git
* Thu Apr 19 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.2-11
- Add rhbz1549063.patch (/bin/env -> /usr/bin/env)
- Add rhbz1566745.patch (4.15 kernel tapset updates)
- Enable accidentially disabled Suggests: kernel-devel again.
* Wed Apr 18 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.2-10
- Add unwind-fallback.patch
- rhbz1566422.patch
* Tue Apr 17 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.2-9
- Add unwind-fallback.patch.
* Tue Mar 27 2018 Björn Esser <besser82@fedoraproject.org> - 3.2-8
- Rebuilt for libjson-c.so.4 (json-c v0.13.1) on fc28
* Thu Feb 22 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 3.2-7
- rhbz1546563 (backport fix for removed timers in kernel 4.15)
* Tue Feb 13 2018 Stan Cox <scox@redhat.com> - 3.2-6
- rebuilt
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.2-5
- Escape macros in %%changelog
* Wed Feb 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.2-4
- Fix very old Requires
* Sun Dec 10 2017 Björn Esser <besser82@fedoraproject.org> - 3.2-3
- Rebuilt for libjson-c.so.3
* Fri Oct 20 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-2
- rhbz1504009 (dtrace -G -o /dev/null)
* Wed Oct 18 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-1 * Wed Oct 18 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-1
- Upstream release. - Upstream release.
* Fri Aug 11 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.2-0.20170516gitc67d8f274b21
- Rebuilt after RPM update (№ 3)
* Thu Aug 10 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.2-0.20170515gitc67d8f274b21
- Rebuilt for RPM soname bump
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-0.20170514gitc67d8f274b21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-0.20170513gitc67d8f274b21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri May 12 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-0.20170512gitc67d8f274b21
- Automated weekly rawhide release
- Applied spec changes from upstream git
* Mon Apr 10 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-0.20170410gitcbf2583808d6
- Automated weekly rawhide release
- Applied spec changes from upstream git
* Thu Apr 06 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-0.20170406git83d186dc7f5c
- Automated weekly rawhide release
- Applied spec changes from upstream git
* Tue Mar 21 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-0.20170321git272146660f54
- Automated weekly rawhide release
- Applied spec changes from upstream git
* Fri Mar 10 2017 Stan Cox <scox@redhat.com> - 3.1-2
- Rebuild for dyninst 9.3
* Fri Feb 17 2017 Frank Ch. Eigler <fche@redhat.com> - 3.1-1 * Fri Feb 17 2017 Frank Ch. Eigler <fche@redhat.com> - 3.1-1
- Upstream release. - Upstream release.
@ -1562,7 +1550,7 @@ exit 0
- Upstream release. - Upstream release.
* Mon Jul 07 2014 Josh Stone <jistone@redhat.com> * Mon Jul 07 2014 Josh Stone <jistone@redhat.com>
- Flip with_dyninst to an %%ifarch whitelist. - Flip with_dyninst to an %%ifarch passlist.
* Wed Apr 30 2014 Jonathan Lebon <jlebon@redhat.com> - 2.5-1 * Wed Apr 30 2014 Jonathan Lebon <jlebon@redhat.com> - 2.5-1
- Upstream release. - Upstream release.