From d4c7fab7e033c600682642d1a55b90ae05e6461b Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Fri, 10 Aug 2018 15:35:12 -0400 Subject: [PATCH] Automated weekly systemtap rawhide release: 0.20180810git --- .gitignore | 1 + sources | 2 +- systemtap.spec | 112 +++++++++++++++++++++++++++++++++++++++++++------ 3 files changed, 102 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index f2cefbd..e371862 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /systemtap-3.3-0.20180420gitd4a446c.tar.gz /systemtap-3.3-0.20180508git9c6ac6cda49e.tar.gz /systemtap-3.3.tar.gz +/systemtap-4.0-0.20180810git.tar.gz diff --git a/sources b/sources index 80e8943..aea2955 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (systemtap-3.3.tar.gz) = b75a4591bdc021645c15cb8f2b8991f46fdffb29b1d132745bafe4291aee5e1892ea9a63c8e98f011a4fee68decd99aa4401dc2f70e163e801cd140ad4cd6b6e +SHA512 (systemtap-4.0-0.20180810git.tar.gz) = 39ec6621f9e8c768f2922f0ebd8fe074c19b09036f0744d2b64a30e44fe6be1d2f1181149d7c226d7b76c4fa95d0d31ba4ae899089dc3d578b2e78e7f28424e2 diff --git a/systemtap.spec b/systemtap.spec index 8a1a2c3..cb7385e 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -83,8 +83,8 @@ %undefine __brp_mangle_shebangs Name: systemtap -Version: 3.3 -Release: 3%{?dist} +Version: 4.0 +Release: 0.20180810git%{?dist} # for version, see also configure.ac @@ -119,7 +119,7 @@ Summary: Programmable system-wide instrumentation system Group: Development/System License: GPLv2+ URL: http://sourceware.org/systemtap/ -Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz +Source: %{name}-%{version}-0.20180810git.tar.gz # Build* BuildRequires: gcc-c++ @@ -224,19 +224,23 @@ Group: Development/System License: GPLv2+ URL: http://sourceware.org/systemtap/ Requires: systemtap-devel = %{version}-%{release} +Conflicts: systemtap-devel < %{version}-%{release} +Conflicts: systemtap-runtime < %{version}-%{release} +Conflicts: systemtap-client < %{version}-%{release} Requires: nss coreutils Requires: zip unzip Requires(pre): shadow-utils Requires(post): chkconfig Requires(preun): chkconfig -Requires(preun): initscripts -Requires(postun): initscripts BuildRequires: nss-devel avahi-devel %if %{with_openssl} Requires: openssl %endif %if %{with_systemd} Requires: systemd +%else +Requires(preun): initscripts +Requires(postun): initscripts %endif %description server @@ -256,6 +260,9 @@ URL: http://sourceware.org/systemtap/ Requires: kernel-devel-uname-r %{?fedora:Suggests: kernel-devel} Requires: gcc make +Conflicts: systemtap-client < %{version}-%{release} +Conflicts: systemtap-server < %{version}-%{release} +Conflicts: systemtap-runtime < %{version}-%{release} # Suggest: kernel-debuginfo %description devel @@ -273,6 +280,9 @@ Group: Development/System License: GPLv2+ URL: http://sourceware.org/systemtap/ Requires(pre): shadow-utils +Conflicts: systemtap-devel < %{version}-%{release} +Conflicts: systemtap-server < %{version}-%{release} +Conflicts: systemtap-client < %{version}-%{release} %description runtime SystemTap runtime contains the components needed to execute @@ -289,6 +299,9 @@ Requires: zip unzip Requires: systemtap-runtime = %{version}-%{release} Requires: coreutils grep sed unzip zip Requires: openssh-clients +Conflicts: systemtap-devel < %{version}-%{release} +Conflicts: systemtap-server < %{version}-%{release} +Conflicts: systemtap-runtime < %{version}-%{release} %if %{with_mokutil} Requires: mokutil %endif @@ -309,8 +322,12 @@ URL: http://sourceware.org/systemtap/ Requires: systemtap = %{version}-%{release} Requires(post): chkconfig Requires(preun): chkconfig +%if %{with_systemd} +Requires: systemd +%else Requires(preun): initscripts Requires(postun): initscripts +%endif %description initscript This package includes a SysVinit script to launch selected systemtap @@ -411,8 +428,7 @@ Requires: iproute %description runtime-java This package includes support files needed to run systemtap scripts -that probe Java processes running on the OpenJDK 1.6 and OpenJDK 1.7 -runtimes using Byteman. +that probe Java processes running on the OpenJDK runtimes using Byteman. %endif %if %{with_python2_probes} @@ -446,6 +462,20 @@ This package includes support files needed to run systemtap scripts that probe python 3 processes. %endif +%if %{with_python3} +%package stap-exporter +Summary: Systemtap-prometheus interoperation mechanism +Group: Development/System +License: GPLv2+ +URL: http://sourceware.org/systemtap/ +Requires: systemtap-runtime = %{version}-%{release} + +%description stap-exporter +This package includes files for a systemd service that manages +systemtap sessions and relays prometheus metrics from the sessions +to remote requesters on demand. +%endif + %if %{with_virthost} %package runtime-virthost Summary: Systemtap Cross-VM Instrumentation - host @@ -601,10 +631,16 @@ cd .. %global httpd_config --disable-httpd %endif +%if %{with_bpf} +%global bpf_config --with-bpf +%else +%global bpf_config --without-bpf +%endif + # We don't ship compileworthy python code, just oddball samples %global py_auto_byte_compile 0 -%configure %{?elfutils_config} %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{pie_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}" +%configure %{?elfutils_config} %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{pie_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} %{bpf_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}" make %{?_smp_mflags} %if %{with_emacsvim} @@ -665,12 +701,27 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/systemtap mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/systemtap mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d install -m 644 initscript/logrotate.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/stap-server + +# If using systemd systemtap.service file, retain the old init script in %{_libexecdir} as a helper. +%if %{with_systemd} +mkdir -p $RPM_BUILD_ROOT%{_unitdir} +touch $RPM_BUILD_ROOT%{_unitdir}/systemtap.service +install -m 644 initscript/systemtap.service $RPM_BUILD_ROOT%{_unitdir}/systemtap.service +mkdir -p $RPM_BUILD_ROOT%{_sbindir} +install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service +%else mkdir -p $RPM_BUILD_ROOT%{initdir} install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{initdir} +mkdir -p $RPM_BUILD_ROOT%{_sbindir} +ln -sf %{initdir}/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service +# TODO CHECK CORRECTNESS: symlink %{_sbindir}/systemtap-service to %{initdir}/systemtap +%endif + mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/conf.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/script.d install -m 644 initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config + %if %{with_systemd} mkdir -p $RPM_BUILD_ROOT%{_unitdir} touch $RPM_BUILD_ROOT%{_unitdir}/stap-server.service @@ -723,6 +774,13 @@ done touch $RPM_BUILD_ROOT%{dracutstap}/params.conf %endif +%if %{with_python3} + mkdir -p $RPM_BUILD_ROOT/stap-exporter + install -p -m 755 stap-exporter/stap-exporter $RPM_BUILD_ROOT%{_bindir} + install -m 644 stap-exporter/stap-exporter.service $RPM_BUILD_ROOT%{_unitdir} + install -m 644 stap-exporter/stap-exporter.8* $RPM_BUILD_ROOT%{_mandir}/man8 +%endif + %pre runtime getent group stapusr >/dev/null || groupadd -g 156 -r stapusr 2>/dev/null || groupadd -r stapusr getent group stapsys >/dev/null || groupadd -g 157 -r stapsys 2>/dev/null || groupadd -r stapsys @@ -898,6 +956,13 @@ if [ "$1" -ge "1" ]; then fi exit 0 +%if %{with_python3} +%preun stap-exporter +/bin/systemctl stop stap-exporter.service >/dev/null 2>&1 || : +/bin/systemctl disable stap-exporter.service >/dev/null 2>&1 || : +%endif + + %post # Remove any previously-built uprobes.ko materials (make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true @@ -962,10 +1027,11 @@ done # ------------------------------------------------------------------------ -%files -f systemtap.lang +%files # The master "systemtap" rpm doesn't include any files. %files server -f systemtap.lang +%defattr(-,root,root) %{_bindir}/stap-server %dir %{_libexecdir}/systemtap %{_libexecdir}/systemtap/stap-serverd @@ -1038,6 +1104,7 @@ done %files runtime -f systemtap.lang +%defattr(-,root,root) %attr(4110,root,stapusr) %{_bindir}/staprun %{_bindir}/stapsh %{_bindir}/stap-merge @@ -1073,6 +1140,7 @@ done %files client -f systemtap.lang +%defattr(-,root,root) %doc README README.unprivileged AUTHORS NEWS %{_datadir}/systemtap/examples %{!?_licensedir:%global license %%doc} @@ -1102,14 +1170,21 @@ done %files initscript +%defattr(-,root,root) +%if %{with_systemd} +%{_unitdir}/systemtap.service +%{_sbindir}/systemtap-service +%else %{initdir}/systemtap +%{_sbindir}/systemtap-service +%endif %dir %{_sysconfdir}/systemtap %dir %{_sysconfdir}/systemtap/conf.d %dir %{_sysconfdir}/systemtap/script.d %config(noreplace) %{_sysconfdir}/systemtap/config %dir %{_localstatedir}/cache/systemtap %ghost %{_localstatedir}/run/systemtap -%{_mandir}/man8/systemtap.8* +%{_mandir}/man8/systemtap-service.8* %if %{with_dracut} %dir %{dracutstap} %{dracutstap}/* @@ -1117,6 +1192,7 @@ done %files sdt-devel +%defattr(-,root,root) %{_bindir}/dtrace %{_includedir}/sys/sdt.h %{_includedir}/sys/sdt-config.h @@ -1128,6 +1204,7 @@ done %files testsuite +%defattr(-,root,root) %dir %{_datadir}/systemtap %{_datadir}/systemtap/testsuite @@ -1142,8 +1219,8 @@ done %if %{with_python2_probes} %files runtime-python2 -%{python2_sitearch}/HelperSDT -%{python2_sitearch}/HelperSDT-*.egg-info +%{python_sitearch}/HelperSDT +%{python_sitearch}/HelperSDT-*.egg-info %endif %if %{with_python3_probes} %files runtime-python3 @@ -1171,6 +1248,13 @@ done %endif %endif +%if %{with_python3} +%files stap-exporter +%{_unitdir}/stap-exporter.service +%{_mandir}/man8/stap-exporter.8* +%{_bindir}/stap-exporter +%endif + # ------------------------------------------------------------------------ # Future new-release entries should be of the form @@ -1180,6 +1264,10 @@ done # PRERELEASE %changelog +* Fri Aug 10 2018 Frank Ch. Eigler - 4.0-0.20180810git +- Automated weekly rawhide release +- Applied spec changes from upstream git + * Sat Jul 14 2018 Fedora Release Engineering - 3.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild