%define with_docs 0 Name: systemtap Version: 5.1 Release: 4mamba Summary: An instrumentation system for Linux systems Group: System/Tools Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://sourceware.org/systemtap/ Source0: http://sourceware.org/systemtap/ftp/releases/systemtap-%{version}.tar.gz Source1: systemtap-sysusers-runtime.conf Source2: systemtap-sysusers-server.conf License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libavahi-devel BuildRequires: libboost-devel BuildRequires: libdw-devel BuildRequires: libelf-devel BuildRequires: libgcc BuildRequires: libjson-c-devel BuildRequires: libncurses-devel BuildRequires: libnspr-devel BuildRequires: libnss-devel BuildRequires: libperl BuildRequires: libpython311-devel BuildRequires: libreadline-devel BuildRequires: librpm-devel BuildRequires: libsqlite-devel BuildRequires: libstdc++6-devel BuildRequires: libvirt-devel BuildRequires: libxml2-devel BuildRequires: perl-DBI BuildRequires: perl-HTML-Parser BuildRequires: perl-devel ## AUTOBUILDREQ-END BuildRequires: librpm-devel >= 4.19.1.1-2mamba BuildRequires: libnss-tools BuildRequires: crash-devel BuildRequires: libz-devel Requires: crash BuildRequires: pkgconfig BuildRequires: rpm-devel # docs %if %with_docs BuildRequires: ghostscript BuildRequires: latex2html BuildRequires: tetex-dvips BuildRequires: tetex-latex BuildRequires: xmlto %endif Requires: gcc # suggest kernel debuginfo Requires: kernelheaders Requires: make Requires: %{name}-runtime = %{?epoch:%epoch:}%{version}-%{release} %description SystemTap is an instrumentation system for Linux systems. Developers can write instrumentation to collect data on the operation of the system. %package client Group: System/Tools Summary: Instrumentation System Client Requires: %{name}-runtime = %{?epoch:%epoch:}%{version}-%{release} Requires: coreutils Requires: libnss Requires: libnss-tools %description client SystemTap client is the client component of an instrumentation system for systems running Linux 2.6. Developers can write instrumentation to collect data on the operation of the system. %package grapher Summary: Instrumentation System Grapher Group: System/Tools Requires: %{name}-runtime = %{?epoch:%epoch:}%{version}-%{release} %description grapher SystemTap grapher is a utility for real-time visualization of data from SystemTap instrumentation scripts. %package runtime Group: System/Tools Summary: Instrumentation System Runtime Requires: kernelheaders %description runtime SystemTap runtime is the runtime component of an instrumentation system for systems running Linux 2.6. Developers can write instrumentation to collect data on the operation of the system. %package sdt-devel Group: System/Tools Summary: Static probe support tools %description sdt-devel Support tools to allow applications to use static probes. %package exporter Group: System/Tools Summary: Systemtap exporter Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name}-runtime = %{?epoch:%epoch:}%{version}-%{release} %description exporter SystemTap exporter. %package server Group: System/Tools Summary: Instrumentation System Server Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name}-runtime = %{?epoch:%epoch:}%{version}-%{release} Requires: coreutils Requires: libnss Requires: libnss-tools Requires: unzip Requires: zip %description server SystemTap server is the server component of an instrumentation system for systems running Linux 2.6. Developers can write instrumentation to collect data on the operation of the system. %package testsuite Group: System/Tools Summary: Instrumentation System Testsuite Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name}-sdt-devel = %{?epoch:%epoch:}%{version}-%{release} Requires: dejagnu %description testsuite The testsuite allows testing of the entire SystemTap toolchain without having to rebuild from sources. %package -n python-systemtap Group: System/Libraries Summary: Python bindings to Systemtap Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description -n python-systemtap Python bindings to Systemtap. %debug_package %prep %setup -q %build %configure \ --with-python3 \ --without-python2-probes \ --enable-crash \ %if %with_docs --enable-docs \ %else --disable-docs \ %endif --enable-sqlite \ --with-rpm \ --enable-pie \ --enable-grapher \ --disable-silent-rules \ CXXFLAGS="%{optflags} -Wno-dangling-pointer" %make %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %makeinstall #mv %{buildroot}%{_datadir}/doc/systemtap/examples examples find examples testsuite -type f -name '*.stp' -print0 | xargs -0 sed -i -r -e '1s@^#!.+stap@#!%{_bindir}/stap@' chmod 755 %{buildroot}%{_bindir}/staprun install -c -m 755 stap-prep %{buildroot}%{_bindir}/stap-prep cp -rp testsuite %{buildroot}%{_datadir}/systemtap %if %with_docs mkdir docs.installed mv %{buildroot}%{_datadir}/doc/systemtap/*.pdf docs.installed/ mv %{buildroot}%{_datadir}/doc/systemtap/tapsets docs.installed/ %endif install -D -m0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/systemtap-runtime.conf install -D -m0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/systemtap-server.conf mkdir -p %{buildroot}%{_sysconfdir}/stap-server/conf.d install -D -m 644 initscript/systemtap.service %{buildroot}%{_unitdir}/systemtap.service install -D -m 644 initscript/logrotate.stap-server %{buildroot}%{_sysconfdir}/logrotate.d/stap-server install -D -m 644 stap-server.service %{buildroot}%{_unitdir}/stap-server.service install -D -m 644 stap-server.conf %{buildroot}%{_tmpfilesdir}/stap-server.conf mkdir -p %{buildroot}%{_localstatedir}/log/stap-server touch %{buildroot}%{_localstatedir}/log/stap-server/log %find_lang %{name} %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %pre getent group stap-server >/dev/null || groupadd -g 155 -r stap-server || groupadd -r stap-server %pre runtime %sysusers_create_compat %{SOURCE1} : %pre server %sysusers_create_compat %{SOURCE2} : %post server test -e %{_localstatedir}/log/stap-server/log || { touch %{_localstatedir}/log/stap-server/log chmod 664 %{_localstatedir}/log/stap-server/log chown stap-server:stap-server %{_localstatedir}/log/stap-server/log } if test ! -e ~stap-server/.systemtap/ssl/server/stap.cert; then runuser -s /bin/sh - stap-server -c %{_libexecdir}/%{name}/stap-gen-cert >/dev/null %{_bindir}/stap-authorize-server-cert ~stap-server/.systemtap/ssl/server/stap.cert %{_bindir}/stap-authorize-signing-cert ~stap-server/.systemtap/ssl/server/stap.cert fi : %post (make -C %{_datadir}/systemtap/runtime/linux/uprobes clean) >/dev/null 3>&1 || true (/sbin/rmmod uprobes) >/dev/null 2>&1 || true %preun (make -C %{_datadir}/systemtap/runtime/linux/uprobes clean) >/dev/null 3>&1 || true (/sbin/rmmod uprobes) >/dev/null 2>&1 || true %files -f %{name}.lang %defattr(-,root,root) %{_bindir}/stap %{_bindir}/stapbpf %{_bindir}/stap-jupyter-* %{_bindir}/stap-merge %{_bindir}/stap-prep %{_bindir}/stap-profile-annotate %{_bindir}/stap-report %{_bindir}/stapsh %{_bindir}/stapvirt %{_libexecdir}/systemtap/HelperSDT.jar %{_libexecdir}/systemtap/stapbm %{_libexecdir}/systemtap/libHelperSDT.so %{_unitdir}/systemtap.service %dir %{_datadir}/systemtap %dir %{_datadir}/systemtap/interactive-notebook %{_datadir}/systemtap/interactive-notebook/* %dir %{_datadir}/systemtap/runtime %{_datadir}/systemtap/runtime/*.h %{_datadir}/systemtap/runtime/*.c %dir %{_datadir}/systemtap/runtime/softfloat %{_datadir}/systemtap/runtime/softfloat/*.h %{_datadir}/systemtap/runtime/transport %{_datadir}/systemtap/runtime/unwind %dir %{_datadir}/systemtap/runtime/linux %{_datadir}/systemtap/runtime/linux/*.c %{_datadir}/systemtap/runtime/linux/*.h %{_datadir}/systemtap/tapset %{_mandir}/man1/stap*.1* %{_mandir}/man3/stap*.3stap* %{_mandir}/man7/warning::symbols.7stap* %{_mandir}/man7/warning::pass5.7stap* %{_mandir}/man7/stappaths.7* %{_mandir}/man8/stapbpf.8* %{_mandir}/man8/stapsh.8* %{_mandir}/man8/systemtap-service.8* %lang(cs) %{_mandir}/cs/man*/ %doc AUTHORS COPYING %files runtime %defattr(-,root,root) %attr(4111,root,root) %{_bindir}/staprun %{_libexecdir}/systemtap/stapio %{_libexecdir}/systemtap/stap-env %{_libexecdir}/systemtap/stap-authorize-cert %{_libdir}/systemtap/staplog.so* %{_sysusersdir}/systemtap-runtime.conf %{_mandir}/man8/staprun.8* %files sdt-devel %defattr(-,root,root) %{_bindir}/dtrace %{_includedir}/sys/sdt.h %{_includedir}/sys/sdt-config.h %dir %{_datadir}/systemtap/examples/ %{_datadir}/systemtap/examples/* %{_mandir}/man1/dtrace.1* %if %with_docs %doc docs.installed/*.pdf %doc docs.installed/tapsets #%doc NEWS %endif %files exporter %defattr(-,root,root) %dir %{_sysconfdir}/stap-exporter %{_sysconfdir}/stap-exporter/EXAMPLE* %config %{_sysconfdir}/stap-exporter/*.stp %config(noreplace) %{_sysconfdir}/sysconfig/stap-exporter %{_unitdir}/stap-exporter.service %{_sbindir}/stap-exporter %{_mandir}/man8/stap-exporter.8* %files server %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/stap-server %dir %{_sysconfdir}/stap-server %dir %{_sysconfdir}/stap-server/conf.d %{_bindir}/stap-server %{_libexecdir}/systemtap/stap-serverd %{_libexecdir}/systemtap/stap-start-server %{_libexecdir}/systemtap/stap-stop-server %{_libexecdir}/systemtap/stap-gen-cert %{_libexecdir}/systemtap/stap-sign-module %{_sysusersdir}/systemtap-server.conf %{_tmpfilesdir}/stap-server.conf %{_unitdir}/stap-server.service %dir %attr(0755,stap-server,stap-server) %{_localstatedir}/log/stap-server %ghost %config %attr(0644,stap-server,stap-server) %{_localstatedir}/log/stap-server/log %{_mandir}/man7/error::*.7stap* %{_mandir}/man7/warning::buildid.7stap* %{_mandir}/man7/warning::debuginfo.7stap* %{_mandir}/man8/stap-server.8* %files testsuite %defattr(-,root,root) %{_datadir}/systemtap/testsuite %files -n python-systemtap %defattr(-,root,root) %dir %{python3_sitearch}/HelperSDT-*-py3.*.egg-info %{python3_sitearch}/HelperSDT-0.1.0-py3.*.egg-info/* %dir %{python3_sitearch}/HelperSDT %{python3_sitearch}/HelperSDT/* %{_libexecdir}/systemtap/python/stap-resolve-module-function.py %changelog * Sat May 18 2024 Silvan Calarco 5.1-4mamba - updte user/group management using sysusers files for rpm 4.19; other server scripts improvements * Thu May 16 2024 Automatic Build System 5.1-3mamba - rebuilt by autoport with build requirements: librpm-devel>=4.19.1.1-2mamba * Mon May 13 2024 Silvan Calarco 5.1-2mamba - rebuild with only python3 * Sun May 12 2024 Automatic Build System 5.1-1mamba - automatic version update by autodist * Tue Nov 21 2023 Automatic Build System 5.0-1mamba - automatic version update by autodist * Sat May 20 2023 Automatic Build System 4.9-1mamba - automatic version update by autodist * Tue Nov 08 2022 Automatic Build System 4.8-1mamba - automatic version update by autodist * Sun May 08 2022 Automatic Build System 4.7-1mamba - automatic version update by autodist * Mon Mar 08 2021 Silvan Calarco 4.4-3mamba - rebuilt to fix binary requirements under /bin * Sun Mar 07 2021 Silvan Calarco 4.4-2mamba - rebuilt by autoport with build requirements: librpm-devel>=4.16.1.2-1mamba * Thu Feb 25 2021 Automatic Build System 4.4-1mamba - automatic version update by autodist * Mon Oct 26 2020 Automatic Build System 4.3-1mamba - automatic update by autodist * Sat Jul 27 2019 Silvan Calarco 4.1-1mamba - update to 4.1 * Sun Dec 03 2017 Automatic Build System 3.2-1mamba - automatic update by autodist * Sun Sep 24 2017 Automatic Build System 3.1-1mamba - automatic version update by autodist * Wed Jul 27 2016 Silvan Calarco 3.0-1mamba - update to 3.0 * Sat Mar 07 2015 Automatic Build System 2.7-1mamba - automatic update by autodist * Mon Oct 27 2014 Automatic Build System 2.6-1mamba - automatic update by autodist * Wed Apr 09 2014 Silvan Calarco 2.4-2mamba - systemtap-runtime: remove requirement for shadow * Sun Dec 01 2013 Automatic Build System 2.4-1mamba - automatic update by autodist * Mon Jul 29 2013 Automatic Build System 2.3-1mamba - automatic update by autodist * Fri May 17 2013 Automatic Build System 2.2.1-1mamba - automatic version update by autodist * Sun Feb 24 2013 Automatic Build System 2.1-1mamba - automatic version update by autodist * Thu Oct 18 2012 Automatic Build System 2.0-1mamba - automatic version update by autodist * Mon Aug 13 2012 Automatic Build System 1.8-1mamba - automatic version update by autodist * Sat Apr 14 2012 Automatic Build System 1.7-1mamba - automatic version update by autodist * Mon Feb 21 2011 Silvan Calarco 1.3-3mamba - removed requirement and build requirement for kernel-mamba-headers - require kernelheaders - don't require crash for arm * Mon Dec 27 2010 gil 1.3-2mamba - rebuilt devel * Sat Sep 18 2010 gil 1.3-1mamba - update to 1.3 * Thu Jun 24 2010 gil 1.2-1mamba - update to 1.2 * Fri Jul 03 2009 gil 0.9.8-1mamba - package created by autospec