[packages/systemtap] - updated to 5.6

arekm arekm at pld-linux.org
Sat Sep 19 00:33:51 CEST 2026


commit 0aae77c2cb10deed9f1ba6a00aee05c720006f87
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Fri Sep 18 23:26:28 2026 +0200

    - updated to 5.6

 libxml2.14.patch                      |  13 ---
 systemtap-curl.patch                  |  68 -------------
 systemtap-dyninst.patch               |  26 +++--
 systemtap-install.patch               |  19 ----
 systemtap-nss.patch                   |  11 ---
 systemtap-onboot-slog.patch           |  12 +++
 systemtap-rpm5-support.patch          | 132 --------------------------
 systemtap-staprun-version-flush.patch |  12 +++
 systemtap-types.patch                 |  22 -----
 systemtap.spec                        | 173 +++++++++++++++-------------------
 10 files changed, 119 insertions(+), 369 deletions(-)
---
diff --git a/systemtap.spec b/systemtap.spec
index d76aa5b..77aa676 100644
--- a/systemtap.spec
+++ b/systemtap.spec
@@ -6,11 +6,8 @@
 %bcond_with	publican	# publican guides build [as of 3.0 not rebuilt automatically, PDFs are included]
 %bcond_without	crash		# crash extension
 %bcond_without	dyninst		# dyninst support
-%bcond_without	httpd		# HTTP web service support
 %bcond_without	java		# Java runtime support
-%bcond_without	python2		# Python 2.x runtime support
 %bcond_without	python3		# Python 3.x runtime support
-%bcond_with	rpm5		# build with rpm5
 
 %ifnarch %{ix86} %{x8664} x32 alpha %{arm} ia64 ppc64 s390 s390x
 %undefine	with_crash
@@ -24,22 +21,18 @@
 Summary:	Instrumentation System
 Summary(pl.UTF-8):	System oprzyrządowania
 Name:		systemtap
-Version:	5.4
+Version:	5.6
 Release:	1
 License:	GPL v2+
 Group:		Base
-Source0:	http://sourceware.org/pub/systemtap/releases/%{name}-%{version}.tar.gz
-# Source0-md5:	049bff5690247e365937af8acdd14aa3
+Source0:	https://sourceware.org/pub/systemtap/releases/%{name}-%{version}.tar.gz
+# Source0-md5:	14da9933ae257da020179b2ac869fd2d
 Source1:	%{name}.tmpfiles
 Source2:	stap-server.tmpfiles
 Patch0:		%{name}-dyninst.patch
 Patch1:		%{name}-systemd.patch
-Patch2:		%{name}-rpm5-support.patch
-Patch3:		%{name}-nss.patch
-Patch4:		%{name}-types.patch
-Patch5:		%{name}-install.patch
-Patch6:		%{name}-curl.patch
-Patch7:		libxml2.14.patch
+Patch2:		%{name}-staprun-version-flush.patch
+Patch3:		%{name}-onboot-slog.patch
 URL:		https://sourceware.org/systemtap/
 BuildRequires:	autoconf >= 2.71
 BuildRequires:	automake
@@ -54,6 +47,7 @@ BuildRequires:	gettext-devel >= 0.19.4
 BuildRequires:	gettext-tools >= 0.19.4
 BuildRequires:	glib2-devel >= 2.0
 BuildRequires:	json-c-devel >= 0.13
+BuildRequires:	libbpf-devel >= 1.0
 %{?with_java:%buildrequires_jdk}
 %if %{with dyninst} || %{with java}
 BuildRequires:	libselinux-devel
@@ -66,14 +60,12 @@ BuildRequires:	ncurses-devel
 BuildRequires:	ncurses-ext-devel
 BuildRequires:	nss-devel >= 3
 BuildRequires:	pkgconfig
-%if %{with python2}
-BuildRequires:	python-devel >= 1:2.6
-BuildRequires:	python-setuptools
-%endif
 BuildRequires:	python3 >= 1:3.2
 %if %{with python3}
-BuildRequires:	python3-devel >= 1:3.2
-BuildRequires:	python3-setuptools
+BuildRequires:	python3-devel >= 1:3.6
+BuildRequires:	python3-pip
+# bdist_wheel is built into setuptools since 70.1, so python3-wheel is not needed
+BuildRequires:	python3-setuptools >= 70.1
 %endif
 BuildRequires:	readline-devel
 BuildRequires:	rpm-build >= 4.6
@@ -83,11 +75,7 @@ BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(macros) >= 2.021
 BuildRequires:	sqlite3-devel >= 3.7
 BuildRequires:	xmlto
-%if %{with httpd}
-BuildRequires:	curl-devel >= 7.19.7
-BuildRequires:	libmicrohttpd-devel >= 0.9.1
-BuildRequires:	libuuid-devel >= 2.17.0
-%endif
+BuildRequires:	zlib-devel
 %if %{with doc}
 BuildRequires:	latex2html
 %{?with_publican:BuildRequires:	publican}
@@ -151,27 +139,12 @@ Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
 sondujących procesy Javy działające w środowiskach OpenJDK 1.6 i
 OpenJDK 1.7 przy użyciu Bytemana.
 
-%package runtime-python2
-Summary:	SystemTap Python 2 Runtime Support
-Summary(pl.UTF-8):	Obsługa Pythona 2 dla środowiska uruchomieniowego SystemTap
-Group:		Development/Tools
-Requires:	%{name}-runtime = %{version}-%{release}
-Requires:	python-modules >= 1:2.6
-
-%description runtime-python2
-This package includes support files needed to run systemtap scripts
-that probe Python 2 processes.
-
-%description runtime-python2 -l pl.UTF-8
-Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
-sondujących procesy Pythona 2.
-
 %package runtime-python3
 Summary:	SystemTap Python 3 Runtime Support
 Summary(pl.UTF-8):	Obsługa Pythona 3 dla środowiska uruchomieniowego SystemTap
 Group:		Development/Tools
 Requires:	%{name}-runtime = %{version}-%{release}
-Requires:	python3-modules >= 1:3.2
+Requires:	python3-modules >= 1:3.6
 
 %description runtime-python3
 This package includes support files needed to run systemtap scripts
@@ -252,30 +225,44 @@ standardowej biblioteki tapset oraz pliki biblioteki uruchomieniowej
 C.
 
 %package initscript
-Summary:	SystemTap Initscripts
-Summary(pl.UTF-8):	Skrypty startowe SystemTap
+Summary:	SystemTap service units
+Summary(pl.UTF-8):	Jednostki usług SystemTap
 Group:		Base
-Requires(post,preun):	/sbin/chkconfig
+Requires(post,preun,postun):	systemd-units >= 38
 Requires:	%{name} = %{version}-%{release}
-Requires:	rc-scripts
+Requires:	systemd-units >= 38
 
 %description initscript
-SysVinit scripts to launch selected systemtap scripts at system
-startup.
+Systemd service templates to launch selected systemtap scripts at
+system startup (stap at .service compiles and runs scripts from
+/etc/systemtap/script.d, staprun at .service runs precompiled modules),
+along with a dracut module and the stap-onboot tool for embedding
+scripts into initramfs.
 
 %description initscript -l pl.UTF-8
-Skrypty SysVinit do uruchamiania wybranych skryptów systemtap w
-trakcie startu systemu.
+Szablony usług systemd do uruchamiania wybranych skryptów systemtap w
+trakcie startu systemu (stap at .service kompiluje i uruchamia skrypty z
+/etc/systemtap/script.d, staprun at .service uruchamia wcześniej
+skompilowane moduły), a także moduł dracuta i narzędzie stap-onboot do
+osadzania skryptów w initramfs.
 
 %package server
 Summary:	Instrumentation System Server
 Summary(pl.UTF-8):	Serwer systemu oprzyrządowania
 Group:		Applications/System
 Requires(post,preun):	/sbin/chkconfig
+Requires(postun):	/usr/sbin/groupdel
+Requires(postun):	/usr/sbin/userdel
+Requires(pre):	/bin/id
+Requires(pre):	/usr/bin/getgid
+Requires(pre):	/usr/sbin/groupadd
+Requires(pre):	/usr/sbin/useradd
 Requires:	%{name}-devel = %{version}-%{release}
 Requires:	/bin/mktemp
 Requires:	unzip
 Requires:	zip
+Provides:	group(stap-server)
+Provides:	user(stap-server)
 
 %description server
 This is the remote script compilation server component of systemtap.
@@ -339,25 +326,15 @@ Przewodniki i dokumentacja wprowadzająca do SystemTap.
 %setup -q
 %patch -P 0 -p1
 %patch -P 1 -p1
-%{?with_rpm5:%patch -P 2 -p1}
+%patch -P 2 -p1
 %patch -P 3 -p1
-%patch -P 4 -p1
-%patch -P 5 -p1
-%patch -P 6 -p1
-%patch -P 7 -p1
 
-%{__sed} -E -i -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python}\1,' \
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python3}\1,' \
 	testsuite/systemtap.examples/general/pyexample.py
 
 find testsuite/systemtap.examples/ -name '*.stp' -print0 | xargs -0 \
 	%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+stap(\s|$),#!%{_bindir}/stap\1,'
 
-# this script is meant to be executed within container and accepts python 2.7/3.x
-# so /usr/bin/python is OK, but __spec_install_post_check_shebangs has no exclude
-# option (other than disabling whole check), so adjust shebang as well and assume
-# that /usr/bin/python3 will exist in container as well
-%{__sed} -i -e 's,/usr/bim/python$,/usr/bin/python3,' httpd/docker/fedora_install_package.py
-
 %build
 %{__gettextize}
 %{__aclocal} -I m4
@@ -365,20 +342,20 @@ find testsuite/systemtap.examples/ -name '*.stp' -print0 | xargs -0 \
 %{__autoheader}
 %{__automake}
 %configure \
-	CXXFLAGS="%{rpmcxxflags} -Wno-dangling-pointer" \
+	PYTHON3=%{__python3} \
 	%{?with_java:have_javac="%{java_home}/bin/javac"} \
 	%{?with_java:have_jar="%{java_home}/bin/jar"} \
 	--disable-silent-rules \
 	%{?with_crash:--enable-crash} \
 	--enable-docs%{!?with_doc:=no} \
-	%{?with_httpd:--enable-http} \
 	--enable-pie \
 	--enable-server \
 	--enable-sqlite \
+	--with-dracutstap=%{_prefix}/lib/dracut/modules.d/99stap \
 	--with-dyninst%{!?with_dyninst:=no} \
 	--with-java=%{?with_java:%{java_home}}%{!?with_java:no} \
+	--with-libbpf \
 	--with-python3 \
-	%{!?with_python2:--without-python2-probes} \
 	%{!?with_python3:--without-python3-probes}
 
 %{__make} \
@@ -389,7 +366,7 @@ find testsuite/systemtap.examples/ -name '*.stp' -print0 | xargs -0 \
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/var/{cache,run}/%{name},%{systemdtmpfilesdir},%{systemdunitdir}} \
 	$RPM_BUILD_ROOT{%{_sysconfdir}/stap-server/conf.d,/etc/{sysconfig,logrotate.d,rc.d/init.d}} \
-	$RPM_BUILD_ROOT/var/log/stap-server
+	$RPM_BUILD_ROOT{/var/log/stap-server,%{_prefix}/lib/dracut/modules.d/99stap}
 
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
@@ -400,8 +377,9 @@ cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/stap-server.conf
 # not installed by make
 install -p stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
 
-install -p initscript/systemtap $RPM_BUILD_ROOT/etc/rc.d/init.d
-cp -p initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
+cp -p initscript/stap at .service initscript/staprun at .service $RPM_BUILD_ROOT%{systemdunitdir}
+install -p initscript/99stap/{check,install,module-setup.sh,start-staprun.sh} \
+	$RPM_BUILD_ROOT%{_prefix}/lib/dracut/modules.d/99stap
 
 install -p initscript/stap-server $RPM_BUILD_ROOT/etc/rc.d/init.d
 cp -p initscript/config.stap-server $RPM_BUILD_ROOT/etc/sysconfig/stap-server
@@ -410,15 +388,13 @@ cp -p stap-server.service $RPM_BUILD_ROOT%{systemdunitdir}
 
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/{conf.d,script.d}
 install -d $RPM_BUILD_ROOT/var/lib/stap-server/.systemtap
-install -d $RPM_BUILD_ROOT/var/log/stap-server
 
 %if %{with doc}
 %{__mv} $RPM_BUILD_ROOT%{_docdir}/systemtap docs-installed
 %endif
 
-%if %{with python2}
-%py_postclean
-%endif
+# pl catalog has no translated messages, find_lang skips such empty .mo files
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/locale/pl/LC_MESSAGES/%{name}.mo
 
 %find_lang %{name}
 
@@ -493,15 +469,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_libexecdir}/%{name}/HelperSDT.jar
 %endif
 
-%if %{with python2}
-%files runtime-python2
-%defattr(644,root,root,755)
-%dir %{py_sitedir}/HelperSDT
-%attr(755,root,root) %{py_sitedir}/HelperSDT/_HelperSDT.so
-%{py_sitedir}/HelperSDT/*.py[co]
-%{py_sitedir}/HelperSDT-0.1.0-py*.egg-info
-%endif
-
 %if %{with python3}
 %files runtime-python3
 %defattr(644,root,root,755)
@@ -509,7 +476,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{py3_sitedir}/HelperSDT/_HelperSDT.cpython-*.so
 %{py3_sitedir}/HelperSDT/*.py
 %{py3_sitedir}/HelperSDT/__pycache__
-%{py3_sitedir}/HelperSDT-0.1.0-py*.egg-info
+%{py3_sitedir}/helpersdt-0.1.0.dist-info
 %endif
 
 %files client
@@ -539,20 +506,44 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/stap-profile-annotate
 %{_datadir}/%{name}/runtime
-%if %{with python2} || %{with python3}
+%if %{with python3}
 %dir %{_libexecdir}/%{name}
 %dir %{_libexecdir}/%{name}/python
 %attr(755,root,root) %{_libexecdir}/systemtap/python/stap-resolve-module-function.py
 %endif
 
+%pre server
+%groupadd -g 359 stap-server
+%useradd -u 359 -d /var/lib/stap-server -s /bin/false -c "SystemTap compile server" -g stap-server stap-server
+
+%postun server
+if [ "$1" = "0" ]; then
+	%userremove stap-server
+	%groupremove stap-server
+fi
+
+%post initscript
+%systemd_reload
+
+%postun initscript
+%systemd_reload
+
 %files initscript
 %defattr(644,root,root,755)
-%attr(754,root,root) /etc/rc.d/init.d/systemtap
+%attr(755,root,root) %{_bindir}/stap-onboot
+%attr(755,root,root) %{_libexecdir}/%{name}/stap-service-prepare
 %dir %{_sysconfdir}/systemtap
 %dir %{_sysconfdir}/systemtap/conf.d
 %dir %{_sysconfdir}/systemtap/script.d
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemtap/config
+%{systemdunitdir}/stap at .service
+%{systemdunitdir}/staprun at .service
 %{systemdtmpfilesdir}/systemtap.conf
+%dir %{_prefix}/lib/dracut/modules.d/99stap
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99stap/check
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99stap/install
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99stap/module-setup.sh
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99stap/start-staprun.sh
+%{_mandir}/man8/stap-onboot.8*
 %dir /var/cache/%{name}
 %dir /var/run/%{name}
 
@@ -572,23 +563,11 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/stap-server
 %{systemdunitdir}/stap-server.service
 %{systemdtmpfilesdir}/stap-server.conf
-# TODO: create user/group
-#%attr(750,stap-server,stap-server) %dir /var/lib/stap-server
-#%attr(700,stap-server,stap-server) %dir /var/lib/stap-server/.systemtap
-#%attr(755,stap-server,stap-server) %dir /var/log/stap-server
-#%attr(755,stap-server,stap-server) %dir /var/run/stap-server
+%attr(750,stap-server,stap-server) %dir /var/lib/stap-server
+%attr(700,stap-server,stap-server) %dir /var/lib/stap-server/.systemtap
+%attr(755,stap-server,stap-server) %dir /var/log/stap-server
 %{_mandir}/man8/stap-server.8*
-%{_mandir}/man8/systemtap-service.8*
 %lang(cs) %{_mandir}/cs/man8/stap-server.8*
-%if %{with httpd}
-%attr(755,root,root) %{_libexecdir}/%{name}/stap-httpd
-%{_libexecdir}/%{name}/httpd
-%dir %{_datadir}/%{name}/httpd
-%dir %{_datadir}/%{name}/httpd/docker
-%{_datadir}/%{name}/httpd/docker/*.json
-%attr(755,root,root) %{_datadir}/%{name}/httpd/docker/fedora_install_package.py
-#/etc/sudoers.d/stap-server
-%endif
 
 %files sdt-devel
 %defattr(644,root,root,755)
diff --git a/libxml2.14.patch b/libxml2.14.patch
deleted file mode 100644
index bec09a4..0000000
--- a/libxml2.14.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- systemtap-5.2/stapvirt.c.orig	2024-11-08 20:25:26.000000000 +0100
-+++ systemtap-5.2/stapvirt.c	2025-08-06 17:47:33.426022066 +0200
-@@ -661,8 +661,8 @@
-         goto cleanup_buf;
-     }
- 
--    int rc = attach ? virDomainAttachDevice(dom, (const char *) buf->content)
--                    : virDomainDetachDevice(dom, (const char *) buf->content);
-+    int rc = attach ? virDomainAttachDevice(dom, (const char *) xmlBufferContent(buf))
-+                    : virDomainDetachDevice(dom, (const char *) xmlBufferContent(buf));
-     if (rc != 0) {
-         err("Couldn't %s the device\n", attach ? "attach" : "detach");
-         ret = -1;
diff --git a/systemtap-curl.patch b/systemtap-curl.patch
deleted file mode 100644
index 5910990..0000000
--- a/systemtap-curl.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- systemtap-5.1/client-http.cxx.orig	2024-07-01 19:22:24.884045940 +0200
-+++ systemtap-5.1/client-http.cxx	2024-07-01 20:44:52.107754773 +0200
-@@ -654,8 +654,8 @@ http_client::post (const string & url,
- {
-   struct curl_slist *headers = NULL;
-   int still_running = false;
--  struct curl_httppost *formpost = NULL;
--  struct curl_httppost *lastptr = NULL;
-+  curl_mime *mime = curl_mime_init(curl);
-+  curl_mimepart *part = NULL;
-   struct json_object *jobj = json_object_new_object();
- 
-   // Add parameter info
-@@ -703,14 +703,12 @@ http_client::post (const string & url,
-       string filename = (*it);
-       string filebase = basename (filename.c_str());
- 
--      curl_formadd (&formpost, &lastptr,
--		    CURLFORM_COPYNAME, filebase.c_str(),
--		    CURLFORM_FILE, filename.c_str(),
--		    CURLFORM_END);
--      curl_formadd (&formpost, &lastptr,
--                    CURLFORM_COPYNAME, "files",
--                    CURLFORM_COPYCONTENTS, filename.c_str(),
--                    CURLFORM_END);
-+      part = curl_mime_addpart(mime);
-+      curl_mime_name(part, filebase.c_str());
-+      curl_mime_filedata(part, filename.c_str());
-+      part = curl_mime_addpart(mime);
-+      curl_mime_name(part, "files");
-+      curl_mime_data(part, filename.c_str(), CURL_ZERO_TERMINATED);
-     }
- 
-   // Add package info
-@@ -758,19 +756,17 @@ http_client::post (const string & url,
-         json_object_object_add (jobj, "env_vars", jlvobj);
-     }
- 
--  curl_formadd (&formpost, &lastptr,
--      CURLFORM_COPYNAME, "command_environment",
--      CURLFORM_CONTENTTYPE, "application/json",
--      CURLFORM_COPYCONTENTS,
--      json_object_to_json_string_ext (jobj, JSON_C_TO_STRING_PLAIN),
--      CURLFORM_END);
-+  part = curl_mime_addpart(mime);
-+  curl_mime_name(part, "command_environment");
-+  curl_mime_type(part, "application/json");
-+  curl_mime_data(part, json_object_to_json_string_ext (jobj, JSON_C_TO_STRING_PLAIN), CURL_ZERO_TERMINATED);
-   json_object_put(jobj);
- 
-   headers = curl_slist_append (headers, "Expect:");
- 
-   curl_easy_setopt (curl, CURLOPT_URL, url.c_str());
-   curl_easy_setopt (curl, CURLOPT_HTTPHEADER, headers);
--  curl_easy_setopt (curl, CURLOPT_HTTPPOST, formpost);
-+  curl_easy_setopt (curl, CURLOPT_MIMEPOST, mime);
- 
-   CURLM *multi_handle = curl_multi_init();
-   curl_multi_add_handle (multi_handle, curl);
-@@ -840,7 +836,7 @@ http_client::post (const string & url,
-   } while (still_running);
- 
-   curl_multi_cleanup (multi_handle);
--  curl_formfree (formpost);
-+  curl_mime_free(mime);
-   curl_slist_free_all (headers);
- 
-   return true;
diff --git a/systemtap-dyninst.patch b/systemtap-dyninst.patch
index 3649411..2719650 100644
--- a/systemtap-dyninst.patch
+++ b/systemtap-dyninst.patch
@@ -1,15 +1,16 @@
---- systemtap-5.1/configure.ac.orig	2024-04-26 23:34:34.000000000 +0200
-+++ systemtap-5.1/configure.ac	2024-06-30 09:13:25.002462389 +0200
-@@ -656,7 +656,7 @@ no) ;;
-      old_CPPFLAGS="$CPPFLAGS"
+# PLD ships dyninst libraries in %{_libdir} and renames libcommon to libdyncommon
+--- systemtap-5.6/configure.ac	2026-09-18 22:07:22.525408503 +0200
++++ systemtap-5.6/configure.ac	2026-09-18 22:07:22.794409838 +0200
+@@ -687,7 +687,7 @@
+      # Workaround for Dyninst requiring DYNINST_TBB_HAS_VERSION_H on newer TBB versions
+      AC_CHECK_HEADERS([tbb/version.h], [DYNINST_CXXFLAGS="$DYNINST_CXXFLAGS -DDYNINST_TBB_HAS_VERSION_H"])
       CPPFLAGS="$CPPFLAGS $DYNINST_CXXFLAGS"
-      AC_LANG_PUSH(C++)
 -     for location in /usr/lib64/dyninst /usr/lib/dyninst ${libdir}/dyninst; do
 +     for location in ${libdir} /usr/lib64/dyninst /usr/lib/dyninst ${libdir}/dyninst; do
-        LDFLAGS="-L${location}"
+          LDFLAGS="-L${location}"
           LIBS="-lparseAPI ${BOOST_SYSTEM_LIB}"
  	   AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <dyninst/CodeSource.h>]],
-@@ -678,7 +678,7 @@ no) ;;
+@@ -710,7 +710,7 @@
         save_LIBS="$LIBS"
         AC_CHECK_LIB(tbb, TBB_runtime_interface_version, [tbb_LIBS=-ltbb],[tbb_LIBS=])       
         LIBS="$save_LIBS"
@@ -18,3 +19,14 @@
       fi
       ;;
  *)  # Use paths in the user-specified prefix
+--- systemtap-5.6/stapdyn/Makefile.am	2026-09-18 22:07:22.638731870 +0200
++++ systemtap-5.6/stapdyn/Makefile.am	2026-09-18 22:07:22.797801177 +0200
+@@ -40,7 +40,7 @@
+ 				  dynutil.cxx ../staputil.cxx
+ stapdyn_CXXFLAGS = $(AM_CXXFLAGS) @DYNINST_CXXFLAGS@ $(debuginfod_CFLAGS) @WNO_TEMPLATE_BODY@
+ stapdyn_LDFLAGS = $(AM_LDFLAGS) @DYNINST_LDFLAGS@ $(debuginfod_LDFLAGS)
+-stapdyn_LDADD = -ldl -ldyninstAPI -lsymtabAPI -lpcontrol -lstackwalk -lcommon -ldw -lelf -lpthread $(debuginfod_LIBS)
++stapdyn_LDADD = -ldl -ldyninstAPI -lsymtabAPI -lpcontrol -lstackwalk -ldyncommon -ldw -lelf -lpthread $(debuginfod_LIBS)
+ stapdyn_CFLAGS = $(debuginfod_CFLAGS)
+ 
+ dynsdt_SOURCES = dynsdt.cxx dynutil.cxx ../staputil.cxx
diff --git a/systemtap-install.patch b/systemtap-install.patch
deleted file mode 100644
index e7af668..0000000
--- a/systemtap-install.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- systemtap-5.1/httpd/docker/Makefile.am.orig	2024-04-26 23:34:34.000000000 +0200
-+++ systemtap-5.1/httpd/docker/Makefile.am	2024-06-30 21:32:41.015498574 +0200
-@@ -1,6 +1,6 @@
- AUTOMAKE_OPTIONS = no-dist foreign subdir-objects
- 
--pkgdatadockerdir = $(DESTDIR)$(pkgdatadir)/httpd/docker
-+pkgdatadockerdir = $(pkgdatadir)/httpd/docker
- 
- # Any file in the following variable will get installed to
- # $(pkgdatadockerdir).
-@@ -10,7 +10,7 @@ pkgdatadocker_DATA =
- # install time.
- pkglibexecdocker_PYTHON =
- 
--pkglibexecdockerdir = $(DESTDIR)$(pkglibexecdir)/httpd/docker
-+pkglibexecdockerdir = $(pkglibexecdir)/httpd/docker
- 
- if HAVE_HTTP_SUPPORT
- 
diff --git a/systemtap-nss.patch b/systemtap-nss.patch
deleted file mode 100644
index b798fa0..0000000
--- a/systemtap-nss.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- systemtap-5.1/client-http.cxx.orig	2024-04-26 23:34:34.000000000 +0200
-+++ systemtap-5.1/client-http.cxx	2024-06-30 20:34:23.381113552 +0200
-@@ -37,7 +37,7 @@ extern "C" {
- #include <elfutils/libdwfl.h>
- #include <elfutils/libdw.h>
- #include <fcntl.h>
--#include <nss3/nss.h>
-+#include <nss/nss.h>
- 
- #ifdef HAVE_RPMCRYPTO_H
- #include <rpm/rpmcrypto.h>
diff --git a/systemtap-onboot-slog.patch b/systemtap-onboot-slog.patch
new file mode 100644
index 0000000..b14eadc
--- /dev/null
+++ b/systemtap-onboot-slog.patch
@@ -0,0 +1,12 @@
+# slog() was defined by the removed systemtap initscript, stap-onboot still calls it
+--- systemtap-5.6/initscript/stap-onboot.in	2026-09-18 22:07:22.622570979 +0200
++++ systemtap-5.6/initscript/stap-onboot.in	2026-09-18 23:40:03.935189095 +0200
+@@ -99,7 +99,7 @@
+ 
+ OPTS=`getopt -s bash -u -o 'r:c:o:b' -- $@`
+ if [ $? -ne 0 ]; then
+-  slog "Error: Argument parse error: $@"
++  echo "Error: Argument parse error: $@" >&2
+   echo_usage
+   exit 3
+ fi
diff --git a/systemtap-rpm5-support.patch b/systemtap-rpm5-support.patch
deleted file mode 100644
index 0f2dca5..0000000
--- a/systemtap-rpm5-support.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-diff -dur systemtap-3.2.orig/configure.ac systemtap-3.2/configure.ac
---- systemtap-3.2.orig/configure.ac	2017-11-13 10:02:17.000000000 +0100
-+++ systemtap-3.2/configure.ac	2017-11-13 10:16:52.000000000 +0100
-@@ -465,6 +465,19 @@
-   [AS_HELP_STRING([--with-rpm],
-                   [query rpm database for missing debuginfos])], [], [with_rpm="auto"])
- if test "$with_rpm" != "no"; then
-+  PKG_CHECK_MODULES([RPM], [rpm], [
-+      AC_DEFINE_UNQUOTED([HAVE_RPM],1,[Define if RPM backend is available])
-+      CPPFLAGS="$RPM_CFLAGS $CPPFLAGS"
-+      stap_LIBS="$stap_LIBS $RPM_LIBS"
-+   ], [
-+      AC_PATH_PROG(RPM_PATH,rpm,none)
-+      if test "$RPM_PATH" = "none"; then
-+         AC_MSG_ERROR([RPM executable was not found in your system])
-+      else
-+         AC_DEFINE_UNQUOTED([HAVE_RPM],1,[Define if RPM backend is available])
-+      fi
-+   ]
-+)
-   AC_CHECK_LIB(rpm, rpmtsInitIterator, [
-                     AC_DEFINE([HAVE_LIBRPM],[1],[have librpm])
-                     stap_LIBS="$stap_LIBS -lc -lrpm"
-@@ -548,6 +548,9 @@
-   AC_CHECK_HEADERS([elfutils/version.h])
- fi
- 
-+CPPFLAGS="${CPPFLAGS} -I/usr/include/rpm"
-+LIBS="${LIBS} -lrpmdb"
-+
- dnl This is here mainly to make sure that configure --prefix=... changes
- dnl the config.h files so files depending on it are recompiled
- dnl prefix is passed through indirectly in the Makefile.am AM_CPPFLAGS.
-diff -dur systemtap-3.2.orig/rpm_finder.cxx systemtap-3.2/rpm_finder.cxx
---- systemtap-3.2.orig/rpm_finder.cxx	2017-10-18 19:59:37.000000000 +0200
-+++ systemtap-3.2/rpm_finder.cxx	2017-11-13 10:16:28.000000000 +0100
-@@ -20,20 +20,22 @@
- 
- #ifdef HAVE_LIBRPM
- 
--extern "C" {
--
--#include <string.h>
--#include <rpm/rpmlib.h>
--#include <rpm/rpmts.h>
--#include <rpm/rpmdb.h>
--#include <rpm/header.h>
-+#include <cstring>
-+#include <tr1/cstdint>
-+#include <rpmtypes.h>
-+#include <rpmiotypes.h>
-+#include <rpmtag.h>
-+#include <rpmts.h>
-+#include <rpmrc.h>
-+#include <rpmdb.h>
-+#include <rpmmacro.h>
-+#include <rpmio.h>
-+#include <rpmcli.h>
- 
- #ifndef xfree
- #define xfree free
- #endif
- 
--}
--
- #if ! HAVE_LIBRPMIO && HAVE_NSS
- extern "C" {
- #include <nss.h>
-@@ -50,7 +52,7 @@
- {
-   static int rpm_init_done = 0;
-   rpmts ts;
--  rpmdbMatchIterator mi;
-+  rpmmi mi;
-   int count = 0;
- 
-   if (filename == NULL)
-@@ -93,13 +95,15 @@
- 	  errmsg_t err;
- 	  size_t rpminfolen = strlen(rpm_type);
- 	  size_t srcrpmlen = sizeof (".src.rpm") - 1;
--	  rpmdbMatchIterator mi_rpminfo;
--	  h = rpmdbNextIterator(mi);
-+	  rpmmi mi_rpminfo;
-+	  h = rpmmiNext(mi);
- 	  if (h == NULL)
- 	    break;
- 	  /* Verify the kernel file is not already installed.  */
- 
--	  rpminfo = headerFormat(h, header, &err);
-+          char *nvra = rpmExpand("%{___NVRA}", NULL);
-+	  rpminfo = headerSprintf(h, header, rpmTagTable, rpmHeaderFormats, &err);
-+	  free(nvra);
- 
- 	  if (!rpminfo)
- 	    {
-@@ -140,20 +144,21 @@
- 	  /* s = `-debuginfo-%{version}-%{release}.%{arch}' */
- 
- 	  /* RPMDBI_PACKAGES requires keylen == sizeof (int).  */
--	  /* RPMDBI_LABEL is an interface for NVR-based dbiFindByLabel().  */
--	  mi_rpminfo = rpmtsInitIterator(ts, (rpmTag)  RPMDBI_LABEL,
-+	  /* RPMTAG_NVRA is an interface for NVR-based dbiFindByLabel().  */
-+	  mi_rpminfo = rpmtsInitIterator(ts, (rpmTag)  RPMTAG_NVRA,
- 					      rpminfo, 0);
- 	  if (mi_rpminfo)
- 	    {
--	      rpmdbFreeIterator(mi_rpminfo);
-+	      rpmmiFree(mi_rpminfo);
- 	      count = 0;
- 	      break;
- 	    }
- 	  /* The allocated memory gets utilized below for MISSING_RPM_HASH.  */
-           if(strcmp(rpm_type,"-debuginfo")==0){
-+	    char *nvra = rpmExpand("%{___NVRA}", NULL);
- 	    xfree(rpminfo);
--	    rpminfo = headerFormat(h, "%{name}-%{version}-%{release}.%{arch}",
--				   &err);
-+	    rpminfo = headerSprintf(h, nvra, rpmTagTable, rpmHeaderFormats, &err);
-+	    free(nvra);
- 	  }
- 	  if (!rpminfo)
- 	    {
-@@ -177,7 +182,7 @@
- 	  sess.rpms_to_install.insert(rpminfo);
-  	}
-       count++;
--      rpmdbFreeIterator(mi);
-+      rpmmiFree(mi);
-     }
- 
-   rpmtsFree(ts);
diff --git a/systemtap-staprun-version-flush.patch b/systemtap-staprun-version-flush.patch
new file mode 100644
index 0000000..3978881
--- /dev/null
+++ b/systemtap-staprun-version-flush.patch
@@ -0,0 +1,12 @@
+# _exit() skips stdio flush, so "staprun -V | grep" sees nothing
+--- systemtap-5.6/staprun/common.c	2026-09-18 22:07:22.642150333 +0200
++++ systemtap-5.6/staprun/common.c	2026-09-18 23:40:03.932297050 +0200
+@@ -243,7 +243,7 @@
+                               "Copyright (C) 2005-2026 Red Hat, Inc. and others\n"
+                               "This is free software; see the source for copying conditions.\n"),
+                             VERSION, STAP_EXTENDED_VERSION);
+-                        _exit(0);
++                        exit(0);
+                         break;
+                 case 'h':
+                         usage(argv[0],0);
diff --git a/systemtap-types.patch b/systemtap-types.patch
deleted file mode 100644
index fe6c471..0000000
--- a/systemtap-types.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- systemtap-5.1/httpd/server.cxx.orig	2024-04-26 23:34:34.000000000 +0200
-+++ systemtap-5.1/httpd/server.cxx	2024-06-30 20:45:04.377640976 +0200
-@@ -214,7 +214,7 @@ connection_info::postdataiterator(enum M
- 				  size_t size)
- {
-     if (filename && key) {
--	server_error(_F("key='%s', filename='%s', size=%ld", key, filename,
-+	server_error(_F("key='%s', filename='%s', size=%zd", key, filename,
- 			size));
- 
- 	// If we've got a filename, we need a temporary directory to
---- systemtap-5.4/elaborate.cxx.orig	2025-10-30 15:47:35.000000000 +0100
-+++ systemtap-5.4/elaborate.cxx	2026-02-22 15:47:22.632541432 +0100
-@@ -5116,7 +5116,7 @@ const_folder::visit_defined_op (defined_
-       // Don't be greedy... we'll only collapse one at a time so type
-       // resolution can have another go at it.
-       relaxed_p = false;
--      session.print_warning (_F("Collapsing unresolved @define to %ld [stapprobes]", value), e->tok);
-+      session.print_warning (_F("Collapsing unresolved @define to %" PRId64 " [stapprobes]", value), e->tok);
-       literal_number* n = new literal_number (value);
-       n->tok = e->tok;
-       n->visit (this);
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/systemtap.git/commitdiff/0aae77c2cb10deed9f1ba6a00aee05c720006f87



More information about the pld-cvs-commit mailing list