commit 55a861afdd11cd635a9b64a6177e25c0a2c1633c
Author: Jakub Bogusz <[email protected]>
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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to