Merge branch 'master' into f27

* master: (39 commits)
  upstream 4.0 release
  test simplify more
  Automated weekly systemtap rawhide release: 0.20181003git4ad1e11de831
  CI try 8
  CI try 7
  CI try 6
  Automated weekly systemtap rawhide release: 0.20180914gitfe4e14f4af16.1
  CI take 5, k.i.s.s.
  Automated weekly systemtap rawhide release: 0.20180914gitfe4e14f4af16
  CI try 4
  Automated weekly systemtap rawhide release: 0.20180914git11a0a7aea387
  Automated weekly systemtap rawhide release: 0.20180914gitc1befcceae01
  CI try 3 - hand-install the kernel-debuginfo
  Automated weekly systemtap rawhide release: 0.20180914gitc1befcceae01
  more rhts boilerplate imported from acl/
  Automated weekly systemtap rawhide release: 0.20180914gitc51d4e55d285
  CI experiment
  Automated weekly systemtap rawhide release: 0.20180906git37598c4fee7c
  Automated weekly systemtap rawhide release: 0.20180906git37598c4fee7c
  Automated weekly systemtap rawhide release: 0.20180810git
  ...
This commit is contained in:
Frank Ch. Eigler 2018-10-13 16:21:18 -04:00
commit a612da876f
7 changed files with 183 additions and 11 deletions

15
.gitignore vendored
View File

@ -1,6 +1,21 @@
*~
/systemtap-3.1.tar.gz /systemtap-3.1.tar.gz
/systemtap-3.2-0.20170321git272146660f54.tar.gz /systemtap-3.2-0.20170321git272146660f54.tar.gz
/systemtap-3.2-0.20170406git83d186dc7f5c.tar.gz /systemtap-3.2-0.20170406git83d186dc7f5c.tar.gz
/systemtap-3.2-0.20170410gitcbf2583808d6.tar.gz /systemtap-3.2-0.20170410gitcbf2583808d6.tar.gz
/systemtap-3.2-0.20170512gitc67d8f274b21.tar.gz /systemtap-3.2-0.20170512gitc67d8f274b21.tar.gz
/systemtap-3.2.tar.gz /systemtap-3.2.tar.gz
/systemtap-3.3-0.20180222git5ef0c24456e3.tar.gz
/systemtap-3.3-0.20180315gitc2585f2b58cd.tar.gz
/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
/systemtap-4.0-0.20180906git37598c4fee7c.tar.gz
/systemtap-4.0-0.20180914gitc51d4e55d285.tar.gz
/systemtap-4.0-0.20180914gitc1befcceae01.tar.gz
/systemtap-4.0-0.20180914git11a0a7aea387.tar.gz
/systemtap-4.0-0.20180914gitfe4e14f4af16.tar.gz
/systemtap-4.0-0.20180914gitfe4e14f4af16.1.tar.gz
/systemtap-4.0-0.20181003git4ad1e11de831.tar.gz
/systemtap-4.0.tar.gz

View File

@ -1 +1 @@
SHA512 (systemtap-3.3.tar.gz) = b75a4591bdc021645c15cb8f2b8991f46fdffb29b1d132745bafe4291aee5e1892ea9a63c8e98f011a4fee68decd99aa4401dc2f70e163e801cd140ad4cd6b6e SHA512 (systemtap-4.0.tar.gz) = 66b5ba1902ed974101429dce9fee849273d3dc64e862c057177d158c5f284cc93299819ee8ee49d4bd3b7ff47a3512b1c68b74cad374147ce67fa406c7518c79

View File

@ -80,11 +80,11 @@
%endif %endif
# To avoid testsuite/*/*.stp has shebang which doesn't start with '/' # To avoid testsuite/*/*.stp has shebang which doesn't start with '/'
%undefine __brp_mangle_shebangs %define __brp_mangle_shebangs_exclude_from .stp$
Name: systemtap Name: systemtap
Version: 3.3 Version: 4.0
Release: 1%{?dist} Release: 1%{?release_override}%{?dist}
# for version, see also configure.ac # for version, see also configure.ac
@ -123,6 +123,7 @@ Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
# Build* # Build*
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: cpio
BuildRequires: gettext-devel BuildRequires: gettext-devel
BuildRequires: pkgconfig(nss) BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(avahi-client) BuildRequires: pkgconfig(avahi-client)
@ -224,19 +225,23 @@ Group: Development/System
License: GPLv2+ License: GPLv2+
URL: http://sourceware.org/systemtap/ URL: http://sourceware.org/systemtap/
Requires: systemtap-devel = %{version}-%{release} Requires: systemtap-devel = %{version}-%{release}
Conflicts: systemtap-devel < %{version}-%{release}
Conflicts: systemtap-runtime < %{version}-%{release}
Conflicts: systemtap-client < %{version}-%{release}
Requires: nss coreutils Requires: nss coreutils
Requires: zip unzip Requires: zip unzip
Requires(pre): shadow-utils Requires(pre): shadow-utils
Requires(post): chkconfig Requires(post): chkconfig
Requires(preun): chkconfig Requires(preun): chkconfig
Requires(preun): initscripts
Requires(postun): initscripts
BuildRequires: nss-devel avahi-devel BuildRequires: nss-devel avahi-devel
%if %{with_openssl} %if %{with_openssl}
Requires: openssl Requires: openssl
%endif %endif
%if %{with_systemd} %if %{with_systemd}
Requires: systemd Requires: systemd
%else
Requires(preun): initscripts
Requires(postun): initscripts
%endif %endif
%description server %description server
@ -256,6 +261,9 @@ URL: http://sourceware.org/systemtap/
Requires: kernel-devel-uname-r Requires: kernel-devel-uname-r
%{?fedora:Suggests: kernel-devel} %{?fedora:Suggests: kernel-devel}
Requires: gcc make Requires: gcc make
Conflicts: systemtap-client < %{version}-%{release}
Conflicts: systemtap-server < %{version}-%{release}
Conflicts: systemtap-runtime < %{version}-%{release}
# Suggest: kernel-debuginfo # Suggest: kernel-debuginfo
%description devel %description devel
@ -273,6 +281,9 @@ Group: Development/System
License: GPLv2+ License: GPLv2+
URL: http://sourceware.org/systemtap/ URL: http://sourceware.org/systemtap/
Requires(pre): shadow-utils Requires(pre): shadow-utils
Conflicts: systemtap-devel < %{version}-%{release}
Conflicts: systemtap-server < %{version}-%{release}
Conflicts: systemtap-client < %{version}-%{release}
%description runtime %description runtime
SystemTap runtime contains the components needed to execute SystemTap runtime contains the components needed to execute
@ -289,6 +300,9 @@ Requires: zip unzip
Requires: systemtap-runtime = %{version}-%{release} Requires: systemtap-runtime = %{version}-%{release}
Requires: coreutils grep sed unzip zip Requires: coreutils grep sed unzip zip
Requires: openssh-clients Requires: openssh-clients
Conflicts: systemtap-devel < %{version}-%{release}
Conflicts: systemtap-server < %{version}-%{release}
Conflicts: systemtap-runtime < %{version}-%{release}
%if %{with_mokutil} %if %{with_mokutil}
Requires: mokutil Requires: mokutil
%endif %endif
@ -309,8 +323,12 @@ URL: http://sourceware.org/systemtap/
Requires: systemtap = %{version}-%{release} Requires: systemtap = %{version}-%{release}
Requires(post): chkconfig Requires(post): chkconfig
Requires(preun): chkconfig Requires(preun): chkconfig
%if %{with_systemd}
Requires: systemd
%else
Requires(preun): initscripts Requires(preun): initscripts
Requires(postun): initscripts Requires(postun): initscripts
%endif
%description initscript %description initscript
This package includes a SysVinit script to launch selected systemtap This package includes a SysVinit script to launch selected systemtap
@ -411,8 +429,7 @@ Requires: iproute
%description runtime-java %description runtime-java
This package includes support files needed to run systemtap scripts This package includes support files needed to run systemtap scripts
that probe Java processes running on the OpenJDK 1.6 and OpenJDK 1.7 that probe Java processes running on the OpenJDK runtimes using Byteman.
runtimes using Byteman.
%endif %endif
%if %{with_python2_probes} %if %{with_python2_probes}
@ -446,6 +463,20 @@ This package includes support files needed to run systemtap scripts
that probe python 3 processes. that probe python 3 processes.
%endif %endif
%if %{with_python3}
%package exporter
Summary: Systemtap-prometheus interoperation mechanism
Group: Development/System
License: GPLv2+
URL: http://sourceware.org/systemtap/
Requires: systemtap-runtime = %{version}-%{release}
%description 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} %if %{with_virthost}
%package runtime-virthost %package runtime-virthost
Summary: Systemtap Cross-VM Instrumentation - host Summary: Systemtap Cross-VM Instrumentation - host
@ -601,10 +632,16 @@ cd ..
%global httpd_config --disable-httpd %global httpd_config --disable-httpd
%endif %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 # We don't ship compileworthy python code, just oddball samples
%global py_auto_byte_compile 0 %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} make %{?_smp_mflags}
%if %{with_emacsvim} %if %{with_emacsvim}
@ -665,12 +702,27 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/systemtap
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/systemtap mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/systemtap
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
install -m 644 initscript/logrotate.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/stap-server 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} mkdir -p $RPM_BUILD_ROOT%{initdir}
install -m 755 initscript/systemtap $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
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/conf.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/conf.d
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/script.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/script.d
install -m 644 initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config install -m 644 initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
%if %{with_systemd} %if %{with_systemd}
mkdir -p $RPM_BUILD_ROOT%{_unitdir} mkdir -p $RPM_BUILD_ROOT%{_unitdir}
touch $RPM_BUILD_ROOT%{_unitdir}/stap-server.service touch $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
@ -898,6 +950,24 @@ if [ "$1" -ge "1" ]; then
fi fi
exit 0 exit 0
%if %{with_python3}
%if %{with_systemd}
%preun exporter
if [ $1 = 0 ] ; then
/bin/systemctl stop stap-exporter.service >/dev/null 2>&1 || :
/bin/systemctl disable stap-exporter.service >/dev/null 2>&1 || :
fi
exit 0
%postun exporter
# Restart service if this is an upgrade rather than an uninstall
if [ "$1" -ge "1" ]; then
/bin/systemctl condrestart stap-exporter >/dev/null 2>&1 || :
fi
exit 0
%endif
%endif
%post %post
# Remove any previously-built uprobes.ko materials # Remove any previously-built uprobes.ko materials
(make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true (make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
@ -962,7 +1032,7 @@ done
# ------------------------------------------------------------------------ # ------------------------------------------------------------------------
%files -f systemtap.lang %files
# The master "systemtap" rpm doesn't include any files. # The master "systemtap" rpm doesn't include any files.
%files server -f systemtap.lang %files server -f systemtap.lang
@ -1106,14 +1176,20 @@ done
%files initscript %files initscript
%defattr(-,root,root) %defattr(-,root,root)
%if %{with_systemd}
%{_unitdir}/systemtap.service
%{_sbindir}/systemtap-service
%else
%{initdir}/systemtap %{initdir}/systemtap
%{_sbindir}/systemtap-service
%endif
%dir %{_sysconfdir}/systemtap %dir %{_sysconfdir}/systemtap
%dir %{_sysconfdir}/systemtap/conf.d %dir %{_sysconfdir}/systemtap/conf.d
%dir %{_sysconfdir}/systemtap/script.d %dir %{_sysconfdir}/systemtap/script.d
%config(noreplace) %{_sysconfdir}/systemtap/config %config(noreplace) %{_sysconfdir}/systemtap/config
%dir %{_localstatedir}/cache/systemtap %dir %{_localstatedir}/cache/systemtap
%ghost %{_localstatedir}/run/systemtap %ghost %{_localstatedir}/run/systemtap
%{_mandir}/man8/systemtap.8* %{_mandir}/man8/systemtap-service.8*
%if %{with_dracut} %if %{with_dracut}
%dir %{dracutstap} %dir %{dracutstap}
%{dracutstap}/* %{dracutstap}/*
@ -1177,6 +1253,15 @@ done
%endif %endif
%endif %endif
%if %{with_python3}
%files exporter
%{_sysconfdir}/stap-exporter
%{_sysconfdir}/sysconfig/stap-exporter
%{_unitdir}/stap-exporter.service
%{_mandir}/man8/stap-exporter.8*
%{_sbindir}/stap-exporter
%endif
# ------------------------------------------------------------------------ # ------------------------------------------------------------------------
# Future new-release entries should be of the form # Future new-release entries should be of the form
@ -1186,6 +1271,9 @@ done
# PRERELEASE # PRERELEASE
%changelog %changelog
* Sat Oct 13 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-1
- Upstream release.
* Thu Jun 07 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-1 * Thu Jun 07 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-1
- Upstream release. - Upstream release.

View File

@ -0,0 +1,38 @@
TOPLEVEL_NAMESPACE=fedora
PACKAGE_NAME=systemtap
RELATIVE_PATH=Sanity/dejagnu-smoketest
export TESTVERSION=1.0
export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
.PHONY: all install download clean
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
chmod a+x ./runtest.sh
clean:
rm -f *~ *.rpm $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
# Generate the testinfo.desc here:
$(METADATA): Makefile
@touch $(METADATA)
# Change to the test owner's name
@echo "Owner: Frank Ch. Eigler <fche@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "Description: smoke test" >> $(METADATA)
@echo "TestTime: 10m" >> $(METADATA)
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
@echo "Requires: $(PACKAGE_NAME)" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
# You may need other fields here; see the documentation
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
Test Name: dejagnu-smoketest
Author:
Short Description: Run a minimal systemtap testsuite

View File

@ -0,0 +1,17 @@
#!/bin/sh
set -e
set -x
dnf debuginfo-install -y kernel
# on Fedora CI, can only assume about 1GB RAM to run these tests
stap -L 'process("stap").mark("*")' | grep pass
# stap -L 'kernel.trace("sys_enter")'
stap -v --example helloworld.stp
stap -v -T 10 -p4 -e 'probe kernel.function("do_exit") {println($$vars)}'
# stap -v -T 10 -e 'probe syscall.* ? {println(argstr)}'
echo
echo RESULT: PASS

11
tests/tests.yml Normal file
View File

@ -0,0 +1,11 @@
---
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- classic
tests:
- dejagnu-smoketest
required_packages:
- systemtap-testsuite
- kernel-devel