[systemtap] Automated weekly systemtap rawhide release: 0.173.g2576d05

lukas berk lberk at fedoraproject.org
Mon Oct 21 13:31:49 UTC 2013


commit e29fbabf1e9f49ee26589f8cbe2a85e0f699dc92
Author: Lukas Berk <lberk at redhat.com>
Date:   Mon Oct 21 09:31:42 2013 -0400

    Automated weekly systemtap rawhide release: 0.173.g2576d05

 .gitignore     |    1 +
 sources        |    2 +-
 systemtap.spec |  161 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 3 files changed, 156 insertions(+), 8 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 54b6c67..b11c93e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,3 +70,4 @@ systemtap-1.3.tar.gz
 /systemtap-2.4-0.127.g98df4da.tar.gz
 /systemtap-2.4-0.131.g1acfc03.tar.gz
 /systemtap-2.4-0.137.gbbb71aa.tar.gz
+/systemtap-2.4-0.173.g2576d05.tar.gz
diff --git a/sources b/sources
index 943c67d..26f05d7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-2cdd119d1683da150b81dd433d732c25  systemtap-2.4-0.137.gbbb71aa.tar.gz
+f1daef1bd33eaa6c9e555fe26b8f5850  systemtap-2.4-0.173.g2576d05.tar.gz
diff --git a/systemtap.spec b/systemtap.spec
index 97388ee..d108b55 100644
--- a/systemtap.spec
+++ b/systemtap.spec
@@ -29,10 +29,27 @@
 %{!?with_systemd: %global with_systemd 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
 %{!?with_emacsvim: %global with_emacsvim 1}
 %{!?with_java: %global with_java 1}
+# don't want to build runtime-virthost for f18 or RHEL5/6
+%{!?with_virthost: %global with_virthost 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
+%{!?with_virtguest: %global with_virtguest 1}
+
+%if 0%{?fedora} >= 18 || 0%{?rhel} >= 6
+   %define initdir %{_initddir}
+%else # RHEL5 doesn't know _initddir
+   %define initdir %{_initrddir}
+%endif
+
+%if %{with_virtguest}
+   %if 0%{?fedora} >= 18 || 0%{?rhel} >= 6
+      %define udevrulesdir /lib/udev/rules.d
+   %else
+      %define udevrulesdir /etc/udev/rules.d
+   %endif
+%endif
 
 Name: systemtap
 Version: 2.4
-Release: 0.137.gbbb71aa%{?dist}
+Release: 0.173.g2576d05%{?dist}
 # for version, see also configure.ac
 
 
@@ -47,6 +64,8 @@ Release: 0.137.gbbb71aa%{?dist}
 # systemtap-sdt-devel    /usr/include/sys/sdt.h /usr/bin/dtrace
 # systemtap-testsuite    /usr/share/systemtap/testsuite*, req:systemtap, req:sdt-devel
 # systemtap-runtime-java libHelperSDT.so, HelperSDT.jar, stapbm, req:-runtime
+# systemtap-runtime-virthost  /usr/bin/stapvirt, req:libvirt req:libxml2
+# systemtap-runtime-virtguest udev rules, init scripts/systemd service, req:-runtime
 #
 # Typical scenarios:
 #
@@ -63,7 +82,7 @@ Summary: Programmable system-wide instrumentation system
 Group: Development/System
 License: GPLv2+
 URL: http://sourceware.org/systemtap/
-Source: %{name}-%{version}-0.137.gbbb71aa.tar.gz
+Source: %{name}-%{version}-0.173.g2576d05.tar.gz
 
 # Build*
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -119,6 +138,10 @@ BuildRequires: emacs
 %if %{with_java}
 BuildRequires: jpackage-utils java-devel
 %endif
+%if %{with_virthost}
+BuildRequires: libvirt-devel >= 1.0.2
+BuildRequires: libxml2-devel
+%endif
 
 # Install requirements
 Requires: systemtap-client = %{version}-%{release}
@@ -293,6 +316,42 @@ that probe Java processes running on the OpenJDK 1.6 and OpenJDK 1.7
 runtimes using Byteman.
 %endif
 
+%if %{with_virthost}
+%package runtime-virthost
+Summary: Systemtap Cross-VM Instrumentation - host
+Group: Development/System
+License: GPLv2+
+URL: http://sourceware.org/systemtap/
+Requires: libvirt >= 1.0.2
+Requires: libxml2
+
+%description runtime-virthost
+This package includes the components required to run systemtap scripts
+inside a libvirt-managed domain from the host without using a network
+connection.
+%endif
+
+%if %{with_virtguest}
+%package runtime-virtguest
+Summary: Systemtap Cross-VM Instrumentation - guest
+Group: Development/System
+License: GPLv2+
+URL: http://sourceware.org/systemtap/
+Requires: systemtap-runtime = %{version}-%{release}
+%if %{with_systemd}
+Requires(post): findutils coreutils
+Requires(preun): grep coreutils
+Requires(postun): grep coreutils
+%else
+Requires(post): chkconfig initscripts
+Requires(preun): chkconfig initscripts
+Requires(postun): initscripts
+%endif
+
+%description runtime-virtguest
+This package installs the services necessary on a virtual machine for a
+systemtap-runtime-virthost machine to execute systemtap scripts.
+%endif
 
 # ------------------------------------------------------------------------
 
@@ -437,8 +496,8 @@ 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
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/
-install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/
+mkdir -p $RPM_BUILD_ROOT%{initdir}
+install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{initdir}
 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
@@ -450,7 +509,7 @@ install -m 644 stap-server.service $RPM_BUILD_ROOT%{_unitdir}/stap-server.servic
 mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
 install -m 644 stap-server.conf $RPM_BUILD_ROOT%{_tmpfilesdir}/stap-server.conf
 %else
-install -m 755 initscript/stap-server $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/
+install -m 755 initscript/stap-server $RPM_BUILD_ROOT%{initdir}
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server/conf.d
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
 install -m 644 initscript/config.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/stap-server
@@ -468,6 +527,23 @@ do
 done
 %endif
 
+%if %{with_virtguest}
+   mkdir -p $RPM_BUILD_ROOT%{udevrulesdir}
+   %if %{with_systemd}
+      install -p -m 644 staprun/guest/99-stapsh.rules $RPM_BUILD_ROOT%{udevrulesdir}
+      mkdir -p $RPM_BUILD_ROOT%{_unitdir}
+      install -p -m 644 staprun/guest/stapsh at .service $RPM_BUILD_ROOT%{_unitdir}
+   %else
+      install -p -m 644 staprun/guest/99-stapsh-init.rules $RPM_BUILD_ROOT%{udevrulesdir}
+      install -p -m 755 staprun/guest/stapshd $RPM_BUILD_ROOT%{initdir}
+      mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/systemtap
+      install -p -m 755 staprun/guest/stapsh-daemon $RPM_BUILD_ROOT%{_libexecdir}/systemtap
+      mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
+      # Technically, this is only needed for RHEL5, in which the MODULE_ALIAS is missing, but
+      # it does no harm in RHEL6 as well
+      install -p -m 755 staprun/guest/virtio_console.modules $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
+   %endif
+%endif
 
 %clean
 rm -rf ${RPM_BUILD_ROOT}
@@ -591,6 +667,54 @@ if [ "$1" -ge "1" ] ; then
 fi
 exit 0
 
+%post runtime-virtguest
+%if %{with_systemd}
+   # Start services if there are ports present
+   if [ -d /dev/virtio-ports ]; then
+      (find /dev/virtio-ports -iname 'org.systemtap.stapsh.[0-9]*' -type l \
+         | xargs -n 1 basename \
+         | xargs -n 1 -I {} /bin/systemctl start stapsh@{}.service) >/dev/null 2>&1 || :
+   fi
+%else
+   /sbin/chkconfig --add stapshd
+   /sbin/chkconfig stapshd on
+   /sbin/service stapshd start >/dev/null 2>&1 || :
+%endif
+exit 0
+
+%preun runtime-virtguest
+# Stop service if this is an uninstall rather than an upgrade
+if [ $1 = 0 ]; then
+   %if %{with_systemd}
+      # We need to stop all stapsh services. Because they are instantiated from
+      # a template service file, we can't simply call disable. We need to find
+      # all the running ones and stop them all individually
+      for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
+         /bin/systemctl stop $service >/dev/null 2>&1 || :
+      done
+   %else
+      /sbin/service stapshd stop >/dev/null 2>&1
+      /sbin/chkconfig --del stapshd
+   %endif
+fi
+exit 0
+
+%postun runtime-virtguest
+# Restart service if this is an upgrade rather than an uninstall
+if [ "$1" -ge "1" ]; then
+   %if %{with_systemd}
+      # We need to restart all stapsh services. Because they are instantiated from
+      # a template service file, we can't simply call restart. We need to find
+      # all the running ones and restart them all individually
+      for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
+         /bin/systemctl condrestart $service >/dev/null 2>&1 || :
+      done
+   %else
+      /sbin/service stapshd condrestart >/dev/null 2>&1
+   %endif
+fi
+exit 0
+
 %post
 # Remove any previously-built uprobes.ko materials
 (make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
@@ -685,7 +809,7 @@ done
 %{_unitdir}/stap-server.service
 %{_tmpfilesdir}/stap-server.conf
 %else
-%{_sysconfdir}/rc.d/init.d/stap-server
+%{initdir}/stap-server
 %dir %{_sysconfdir}/stap-server/conf.d
 %config(noreplace) %{_sysconfdir}/sysconfig/stap-server
 %endif
@@ -785,7 +909,7 @@ done
 
 %files initscript
 %defattr(-,root,root)
-%{_sysconfdir}/rc.d/init.d/systemtap
+%{initdir}/systemtap
 %dir %{_sysconfdir}/systemtap
 %dir %{_sysconfdir}/systemtap/conf.d
 %dir %{_sysconfdir}/systemtap/script.d
@@ -818,6 +942,25 @@ done
 %{_libexecdir}/systemtap/stapbm
 %endif
 
+%if %{with_virthost}
+%files runtime-virthost
+%{_mandir}/man1/stapvirt.1*
+%{_bindir}/stapvirt
+%endif
+
+%if %{with_virtguest}
+%files runtime-virtguest
+%if %{with_systemd}
+   %{udevrulesdir}/99-stapsh.rules
+   %{_unitdir}/stapsh at .service
+%else
+   %{udevrulesdir}/99-stapsh-init.rules
+   %dir %{_libexecdir}/systemtap
+   %{_libexecdir}/systemtap/stapsh-daemon
+   %{initdir}/stapshd
+   %{_sysconfdir}/sysconfig/modules/virtio_console.modules
+%endif
+%endif
 
 # ------------------------------------------------------------------------
 
@@ -827,6 +970,10 @@ done
 #   http://sourceware.org/systemtap/wiki/SystemTapReleases
 
 %changelog
+* Mon Oct 21 2013 Lukas Berk <lberk at redhat.com> - 2.4-0.173.g2576d05
+- Automated weekly rawhide release
+- Applied spec changes from upstream git
+
 * Tue Oct 15 2013 Lukas Berk <lberk at redhat.com> - 2.4-0.137.gbbb71aa
 - Automated weekly rawhide release
 - Applied spec changes from upstream git


More information about the scm-commits mailing list