systemtap/systemtap.spec

437 lines
14 KiB
RPMSpec
Raw Permalink Normal View History

%define with_docs 0
Name: systemtap
Version: 5.2
Release: 1mamba
Summary: An instrumentation system for Linux systems
Group: System/Tools
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
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
* Sun Nov 10 2024 Automatic Build System <autodist@openmamba.org> 5.2-1mamba
- automatic version update by autodist
* Sat May 18 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <autodist@mambasoft.it> 5.1-3mamba
- rebuilt by autoport with build requirements: librpm-devel>=4.19.1.1-2mamba
* Mon May 13 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 5.1-2mamba
- rebuild with only python3
* Sun May 12 2024 Automatic Build System <autodist@openmamba.org> 5.1-1mamba
- automatic version update by autodist
* Tue Nov 21 2023 Automatic Build System <autodist@mambasoft.it> 5.0-1mamba
- automatic version update by autodist
* Sat May 20 2023 Automatic Build System <autodist@mambasoft.it> 4.9-1mamba
- automatic version update by autodist
* Tue Nov 08 2022 Automatic Build System <autodist@mambasoft.it> 4.8-1mamba
- automatic version update by autodist
* Sun May 08 2022 Automatic Build System <autodist@mambasoft.it> 4.7-1mamba
- automatic version update by autodist
* Mon Mar 08 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.4-3mamba
- rebuilt to fix binary requirements under /bin
* Sun Mar 07 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.4-2mamba
- rebuilt by autoport with build requirements: librpm-devel>=4.16.1.2-1mamba
* Thu Feb 25 2021 Automatic Build System <autodist@mambasoft.it> 4.4-1mamba
- automatic version update by autodist
* Mon Oct 26 2020 Automatic Build System <autodist@mambasoft.it> 4.3-1mamba
- automatic update by autodist
* Sat Jul 27 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 4.1-1mamba
- update to 4.1
* Sun Dec 03 2017 Automatic Build System <autodist@mambasoft.it> 3.2-1mamba
- automatic update by autodist
* Sun Sep 24 2017 Automatic Build System <autodist@mambasoft.it> 3.1-1mamba
- automatic version update by autodist
* Wed Jul 27 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0-1mamba
- update to 3.0
* Sat Mar 07 2015 Automatic Build System <autodist@mambasoft.it> 2.7-1mamba
- automatic update by autodist
* Mon Oct 27 2014 Automatic Build System <autodist@mambasoft.it> 2.6-1mamba
- automatic update by autodist
* Wed Apr 09 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4-2mamba
- systemtap-runtime: remove requirement for shadow
* Sun Dec 01 2013 Automatic Build System <autodist@mambasoft.it> 2.4-1mamba
- automatic update by autodist
* Mon Jul 29 2013 Automatic Build System <autodist@mambasoft.it> 2.3-1mamba
- automatic update by autodist
* Fri May 17 2013 Automatic Build System <autodist@mambasoft.it> 2.2.1-1mamba
- automatic version update by autodist
* Sun Feb 24 2013 Automatic Build System <autodist@mambasoft.it> 2.1-1mamba
- automatic version update by autodist
* Thu Oct 18 2012 Automatic Build System <autodist@mambasoft.it> 2.0-1mamba
- automatic version update by autodist
* Mon Aug 13 2012 Automatic Build System <autodist@mambasoft.it> 1.8-1mamba
- automatic version update by autodist
* Sat Apr 14 2012 Automatic Build System <autodist@mambasoft.it> 1.7-1mamba
- automatic version update by autodist
* Mon Feb 21 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <puntogil@libero.it> 1.3-2mamba
- rebuilt devel
* Sat Sep 18 2010 gil <puntogil@libero.it> 1.3-1mamba
- update to 1.3
* Thu Jun 24 2010 gil <puntogil@libero.it> 1.2-1mamba
- update to 1.2
* Fri Jul 03 2009 gil <puntogil@libero.it> 0.9.8-1mamba
- package created by autospec