SHA256
1
0
forked from pool/systemtap
systemtap/systemtap.spec
Tony Jones da9aa00c52 Accepting request 1085967 from home:dirkmueller:Factory
- update to 4.9:
  * ISystemtap: the new interactive systemtap jupyter kernel.
    This provides a simple GUI for writing/running Systemtap
    scripts in an easy, incremental way within Jupyterlab.
    Added 2 news scripts, stap-jupyter-install
    and stap-jupyter-container. See stap-jupyter(1).
  * The new "language-server" mode, specified by "stap
    --language-server", starts a LSP server which will
    communicate with the client via stdio.
  * This server currently supports code completion suggestions.
  * See language-server/README.md for more details and usage
    instructions.
  * Safety/liveness checking for $context variable assignments in
    probes of retpoline-compiled kernels is temporarily disabled.
  * DWARF-related probes (.function, .statement) now merge DWARF
    and non-DWARF symbol-table based matches, rather than being
    either-or.
  * The python3 tapset was extended to support python3 3.9, 3.10,
    and 3.11. See stapprobes(3stap) for further details on probing
    python functions.
  * A template cve band-aid script is now included, which
    demonstrates how to use a new 'livepatch.stp' tapset to
    standardize activation, interactive control,
    and monitoring of systemtap cve band-aids.
  * The kernel runtime now uses much less memory when the number
    of "possible CPUs" are way more than the online ones. For
    example, VMWare guests usually have 128 "possible CPUs" while fewer
    CPUs are actually present or online in the guest system.
  * The memory allocation size is now irrelevant to the value of
    NR_CPUS of the current kernel. It is only subject to the

OBS-URL: https://build.opensuse.org/request/show/1085967
OBS-URL: https://build.opensuse.org/package/show/devel:tools/systemtap?expand=0&rev=142
2023-05-10 16:07:34 +00:00

183 lines
5.5 KiB
RPMSpec

#
# spec file for package systemtap
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if ! %{defined _rundir}
%define _rundir %{_localstatedir}/run
%endif
Name: systemtap
Version: 4.9
Release: 0
Summary: Instrumentation System
License: GPL-2.0-or-later
Group: Development/Tools/Debuggers
URL: https://sourceware.org/systemtap/
Source0: https://sourceware.org/systemtap/ftp/releases/systemtap-%{version}.tar.gz
Source1: https://sourceware.org/systemtap/ftp/releases/systemtap-%{version}.tar.gz.asc
Source2: %{name}.keyring
Source3: README-BEFORE-ADDING-PATCHES
Source4: README-KEYRING
Source5: stap-server.conf
Patch1: systemtap-build-source-dir.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: libavahi-devel
BuildRequires: libcap-devel
BuildRequires: libdw-devel
BuildRequires: mozilla-nspr-devel
BuildRequires: mozilla-nss-devel
BuildRequires: mozilla-nss-tools
BuildRequires: pkgconfig
BuildRequires: python3-base
BuildRequires: sqlite-devel
BuildRequires: pkgconfig(json-c)
BuildRequires: pkgconfig(systemd)
Requires: %{name}-dtrace = %{version}
Requires: %{name}-runtime = %{version}-%{release}
Recommends: kernel-devel
Obsoletes: systemtap-client < 1.5
%description
SystemTap is an instrumentation system for systems running Linux.
Developers can write instrumentation to collect data on the operation
of the system.
%package runtime
Summary: Runtime environment for systemtap
Group: Development/Tools/Debuggers
%description runtime
SystemTap is an instrumentation system for systems running Linux.
This package contains the runtime environment for systemtap programs.
%package server
Summary: Systemtap server
Group: Development/Tools/Debuggers
Requires: %{name} = %{version}-%{release}
# dependancies for systemtap shell scripts
Requires: avahi
Requires: avahi-utils
Requires: coreutils
Requires: mozilla-nss-tools
Requires: unzip
Requires: zip
%description server
SystemTap is an instrumentation system for systems running Linux.
This package contains the server component of systemtap.
%package sdt-devel
Summary: Static probe support tools
# systemtap-headers provides the same header files
# as sdt-devel, so we must conflict.
Group: Development/Tools/Debuggers
Requires: %{name} = %{version}-%{release}
Conflicts: systemtap-headers
%description sdt-devel
SystemTap is an instrumentation system for systems running Linux.
This package contains the support tools for static probes.
%prep
%setup -q
%autopatch -p1
%build
autoreconf -fi
%configure \
--disable-docs \
--with-python3 \
--docdir=%{_docdir}/systemtap
make %{?_smp_mflags} V=1
%install
%make_install
rm -f %{buildroot}%{_bindir}/dtrace
rm -f %{buildroot}%{_libexecdir}/systemtap/stap-server-request
# README, AUTHORS, NEWS, man3 and all examples packaged by systemtap-docs
# COPYING needs to stay in main for GPL
rm -rf %{buildroot}%{_docdir}/systemtap/
rm -rf %{buildroot}%{_datadir}/systemtap/examples
rm -rf %{buildroot}%{_mandir}/man3 %{buildroot}%{_mandir}/cs/man3
mkdir -p %{buildroot}%{_docdir}/systemtap/
cp COPYING %{buildroot}%{_docdir}/systemtap/
mkdir -p %{buildroot}%{_localstatedir}/cache/systemtap
mkdir -p %{buildroot}%{_localstatedir}/log
touch %{buildroot}%{_localstatedir}/log/stap-server.log
# config file for stap-server (/run now on tmpfs)
mkdir -p %{buildroot}%{_tmpfilesdir}
install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}
%find_lang systemtap
%post server
# Create tmpfiles
%tmpfiles_create %{_tmpfilesdir}/stap-server.conf
%files
%{_bindir}/stap
%{_bindir}/stap-profile-annotate
%{_bindir}/stap-jupyter-container
%{_bindir}/stap-jupyter-install
%{_mandir}/man[17]/*
%{_mandir}/cs/man[17]/*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/runtime
%{_datadir}/%{name}/interactive-notebook
%{_datadir}/%{name}/tapset
#packaged by systemtap-initscript in upstream
%dir %{_localstatedir}/cache/systemtap
%files runtime -f systemtap.lang
%doc %{_docdir}/systemtap
%{_bindir}/staprun
%{_bindir}/stapsh
%{_bindir}/stap-merge
%{_bindir}/stap-report
%{_bindir}/stapbpf
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/stapio
%{_libexecdir}/%{name}/stap-env
%{_libexecdir}/%{name}/stap-authorize-cert
%{_mandir}/man8/staprun.8*
%{_mandir}/man8/systemtap-service.8*
%{_mandir}/cs/man8/systemtap.8*
%{_mandir}/man8/stapsh.8*
%{_mandir}/cs/man8/stapsh.8*
%{_mandir}/man8/stapbpf.8*
%files server
%dir %{_tmpfilesdir}
%{_tmpfilesdir}/stap-server.conf
%{_bindir}/stap-server
%{_libexecdir}/%{name}/stap-gen-cert
%{_libexecdir}/%{name}/stap-serverd
%{_libexecdir}/%{name}/stap-sign-module
%{_libexecdir}/%{name}/stap-start-server
%{_libexecdir}/%{name}/stap-stop-server
%{_mandir}/man8/stap-server.8*
%{_mandir}/cs/man8/stap-server.8*
%ghost %{_localstatedir}/log/stap-server.log
%ghost %dir %{_rundir}/stap-server
%files sdt-devel
%{_includedir}/sys/*.h
%changelog