[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