[packages/systemtap] - updated to 5.1

qboosh qboosh at pld-linux.org
Sun Jun 30 22:35:00 CEST 2024


commit 55a861afdd11cd635a9b64a6177e25c0a2c1633c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Jun 30 22:32:21 2024 +0200

    - updated to 5.1

 systemtap-dyninst.patch | 12 ++++-----
 systemtap-install.patch | 19 +++++++++++++
 systemtap-nss.patch     | 11 ++++++++
 systemtap-types.patch   | 11 ++++++++
 systemtap.spec          | 72 +++++++++++++++++++++++++++++++++++++++++--------
 5 files changed, 108 insertions(+), 17 deletions(-)
---
diff --git a/systemtap.spec b/systemtap.spec
index 3099f5f..d8364ac 100644
--- a/systemtap.spec
+++ b/systemtap.spec
@@ -6,6 +6,7 @@
 %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
@@ -23,31 +24,34 @@
 Summary:	Instrumentation System
 Summary(pl.UTF-8):	System oprzyrządowania
 Name:		systemtap
-Version:	4.9
-Release:	2
+Version:	5.1
+Release:	1
 License:	GPL v2+
 Group:		Base
 Source0:	ftp://sourceware.org/pub/systemtap/releases/%{name}-%{version}.tar.gz
-# Source0-md5:	32734fa4c4e240f5345fba244de1034c
+# Source0-md5:	d4f8d8f2ed09031a9a284e894c95103e
 Source1:	%{name}.tmpfiles
 Source2:	stap-server.tmpfiles
 Patch0:		%{name}-dyninst.patch
 Patch1:		%{name}-systemd.patch
 Patch2:		%{name}-rpm5-support.patch
-URL:		http://sourceware.org/systemtap/
-BuildRequires:	autoconf >= 2.63
+Patch3:		%{name}-nss.patch
+Patch4:		%{name}-types.patch
+Patch5:		%{name}-install.patch
+URL:		https://sourceware.org/systemtap/
+BuildRequires:	autoconf >= 2.71
 BuildRequires:	automake
 BuildRequires:	avahi-devel
 BuildRequires:	boost-devel
 %{?with_crash:BuildRequires:	crash-devel}
 BuildRequires:	docbook-dtd412-xml
 %{?with_dyninst:BuildRequires:	dyninst-devel >= 8.0}
-BuildRequires:	elfutils-devel >= 0.148
-BuildRequires:	elfutils-debuginfod-devel >= 0.148
+BuildRequires:	elfutils-devel >= 0.179
+BuildRequires:	elfutils-debuginfod-devel >= 0.179
 BuildRequires:	gettext-devel >= 0.19.4
 BuildRequires:	gettext-tools >= 0.19.4
 BuildRequires:	glib2-devel >= 2.0
-BuildRequires:	json-c-devel >= 0.12
+BuildRequires:	json-c-devel >= 0.13
 %{?with_java:%buildrequires_jdk}
 %if %{with dyninst} || %{with java}
 BuildRequires:	libselinux-devel
@@ -76,6 +80,11 @@ 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
 %if %{with doc}
 BuildRequires:	latex2html
 %{?with_publican:BuildRequires:	publican}
@@ -107,7 +116,8 @@ lokalnego tworzenia i wykonywania skryptów systemtap.
 Summary:	Programmable system-wide instrumentation system - runtime
 Summary(pl.UTF-8):	Programowalny systemowy system oprzyrządowania - środowisko uruchomieniowe
 Group:		Applications/System
-Requires:	json-c >= 0.12
+Requires:	json-c >= 0.13
+Requires:	uname(release) >= 3.10
 
 %description runtime
 SystemTap runtime contains the components needed to execute a
@@ -294,6 +304,20 @@ przestrzeni użytkownika, wraz z opcjonalnym preprocesorem zgodności z
 dtrace, który przetwarza pliki .d na pliki nagłówkowe .h z makrami
 śledzącymi.
 
+%package jupyter
+Summary:	ISystemtap Jupyter kernel and examples
+Summary(pl.UTF-8):	Jądro Jupyter i przykłady ISystemtap
+Group:		Libraries/Python
+Requires:	%{name}-client = %{version}-%{release}
+
+%description jupyter
+This package includes files needed to build and run the interactive
+systemtap Jupyter kernel, either locally or within a container.
+
+%description jupyter -l pl.UTF-8
+Ten pakiet zawiera pliki potrzebne do zbudowania i uruchomienia
+interaktywnego jądra Jupyter, zarówno lokalnie, jak i w kontenerze.
+
 %package doc
 Summary:	SystemTap guides and tutorials
 Summary(pl.UTF-8):	Przewodniki i dokumentacja wprowadzająca do SystemTap
@@ -310,12 +334,21 @@ Przewodniki i dokumentacja wprowadzająca do SystemTap.
 %patch0 -p1
 %patch1 -p1
 %{?with_rpm5:%patch2 -p1}
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %{__sed} -E -i -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python}\1,' \
-      testsuite/systemtap.examples/general/pyexample.py
+	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,'
+	%{__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}
@@ -330,6 +363,7 @@ find testsuite/systemtap.examples/ -name '*.stp' -print0 | xargs -0 \
 	--disable-silent-rules \
 	%{?with_crash:--enable-crash} \
 	--enable-docs%{!?with_doc:=no} \
+	%{?with_httpd:--enable-http} \
 	--enable-pie \
 	--enable-server \
 	--enable-sqlite \
@@ -538,6 +572,15 @@ rm -rf $RPM_BUILD_ROOT
 %{_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)
@@ -547,6 +590,13 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/dtrace.1*
 %lang(cs) %{_mandir}/cs/man1/dtrace.1*
 
+%files jupyter
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/stap-jupyter-container
+%attr(755,root,root) %{_bindir}/stap-jupyter-install
+%{_datadir}/%{name}/interactive-notebook
+%{_mandir}/man1/stap-jupyter.1*
+
 %if %{with doc}
 %files doc
 %defattr(644,root,root,755)
diff --git a/systemtap-dyninst.patch b/systemtap-dyninst.patch
index 7cb764c..3649411 100644
--- a/systemtap-dyninst.patch
+++ b/systemtap-dyninst.patch
@@ -1,15 +1,15 @@
---- systemtap-4.8/configure.ac.orig	2022-12-22 21:35:37.166595472 +0100
-+++ systemtap-4.8/configure.ac	2022-12-22 22:10:12.192020762 +0100
-@@ -625,7 +625,7 @@ no) ;;
-      old_LIBS="$LIBS"
-      old_LDFLAGS="$LDFLAGS"
+--- 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"
+      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}"
           LIBS="-lparseAPI ${BOOST_SYSTEM_LIB}"
  	   AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <dyninst/CodeSource.h>]],
-@@ -646,7 +646,7 @@ no) ;;
+@@ -678,7 +678,7 @@ no) ;;
         save_LIBS="$LIBS"
         AC_CHECK_LIB(tbb, TBB_runtime_interface_version, [tbb_LIBS=-ltbb],[tbb_LIBS=])       
         LIBS="$save_LIBS"
diff --git a/systemtap-install.patch b/systemtap-install.patch
new file mode 100644
index 0000000..e7af668
--- /dev/null
+++ b/systemtap-install.patch
@@ -0,0 +1,19 @@
+--- 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
new file mode 100644
index 0000000..b798fa0
--- /dev/null
+++ b/systemtap-nss.patch
@@ -0,0 +1,11 @@
+--- 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-types.patch b/systemtap-types.patch
new file mode 100644
index 0000000..a0dfa3c
--- /dev/null
+++ b/systemtap-types.patch
@@ -0,0 +1,11 @@
+--- 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
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/systemtap.git/commitdiff/55a861afdd11cd635a9b64a6177e25c0a2c1633c



More information about the pld-cvs-commit mailing list