Blame SPECS/systemtap.spec

15a9cf
%{!?with_sqlite: %global with_sqlite 0%{?fedora} >= 17 || 0%{?rhel} >= 7}
15a9cf
# prefer prebuilt docs
15a9cf
%{!?with_docs: %global with_docs 0}
15a9cf
%{!?with_htmldocs: %global with_htmldocs 0}
15a9cf
%{!?with_monitor: %global with_monitor 1}
15a9cf
# crash is not available
15a9cf
%ifarch ppc ppc64 %{sparc} %{mips}
15a9cf
%{!?with_crash: %global with_crash 0}
15a9cf
%else
15a9cf
%{!?with_crash: %global with_crash 1}
15a9cf
%endif
15a9cf
%{!?with_rpm: %global with_rpm 1}
15a9cf
%{!?with_bundled_elfutils: %global with_bundled_elfutils 0}
15a9cf
%{!?elfutils_version: %global elfutils_version 0.142}
15a9cf
%{!?pie_supported: %global pie_supported 1}
15a9cf
%{!?with_boost: %global with_boost 0}
a90a5e
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64
15a9cf
%{!?with_dyninst: %global with_dyninst 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
15a9cf
%else
15a9cf
%{!?with_dyninst: %global with_dyninst 0}
15a9cf
%endif
15a9cf
%{!?with_bpf: %global with_bpf 0%{?fedora} >= 22 || 0%{?rhel} >= 8}
15a9cf
%{!?with_systemd: %global with_systemd 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
15a9cf
%{!?with_emacsvim: %global with_emacsvim 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
15a9cf
%{!?with_java: %global with_java 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
15a9cf
%{!?with_virthost: %global with_virthost 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
15a9cf
%{!?with_virtguest: %global with_virtguest 1}
15a9cf
%{!?with_dracut: %global with_dracut 0%{?fedora} >= 19 || 0%{?rhel} >= 6}
15a9cf
%ifarch x86_64
15a9cf
%{!?with_mokutil: %global with_mokutil 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
15a9cf
%{!?with_openssl: %global with_openssl 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
15a9cf
%else
15a9cf
%{!?with_mokutil: %global with_mokutil 0}
15a9cf
%{!?with_openssl: %global with_openssl 0}
15a9cf
%endif
15a9cf
%{!?with_pyparsing: %global with_pyparsing 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
15a9cf
%{!?with_python3: %global with_python3 0%{?fedora} >= 23 || 0%{?rhel} > 7}
15a9cf
%{!?with_python2_probes: %global with_python2_probes (0%{?fedora} <= 28 && 0%{?rhel} <= 7)}
15a9cf
%{!?with_python3_probes: %global with_python3_probes (0%{?fedora} >= 23 || 0%{?rhel} > 7)}
15a9cf
%{!?with_httpd: %global with_httpd 0}
a90a5e
%{!?with_specific_python: %global with_specific_python 0%{?fedora} >= 31}
15a9cf
15a9cf
# Virt is supported on these arches, even on el7, but it's not in core EL7
15a9cf
%if 0%{?rhel} <= 7
15a9cf
%ifarch ppc64le aarch64
15a9cf
%global with_virthost 0
15a9cf
%endif
15a9cf
%endif
15a9cf
15a9cf
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 6
15a9cf
   %define initdir %{_initddir}
15a9cf
%else # RHEL5 doesn't know _initddir
15a9cf
   %define initdir %{_initrddir}
15a9cf
%endif
15a9cf
15a9cf
%if %{with_virtguest}
15a9cf
   %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
15a9cf
      %define udevrulesdir /usr/lib/udev/rules.d
15a9cf
   %else
15a9cf
      %if 0%{?rhel} >= 6
15a9cf
         %define udevrulesdir /lib/udev/rules.d
15a9cf
      %else # RHEL5
15a9cf
         %define udevrulesdir /etc/udev/rules.d
15a9cf
      %endif
15a9cf
   %endif
15a9cf
%endif
15a9cf
15a9cf
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
15a9cf
   %define dracutstap %{_prefix}/lib/dracut/modules.d/99stap
15a9cf
%else
15a9cf
   %define dracutstap %{_prefix}/share/dracut/modules.d/99stap
15a9cf
%endif
15a9cf
15a9cf
%if 0%{?rhel} == 6 || 0%{?rhel} == 7
15a9cf
    %define dracutbindir /sbin
15a9cf
%else
15a9cf
    %define dracutbindir %{_bindir}
15a9cf
%endif
15a9cf
15a9cf
%if 0%{?rhel} == 6
15a9cf
    %{!?_rpmmacrodir: %define _rpmmacrodir /etc/rpm/}
15a9cf
%else
15a9cf
    %{!?_rpmmacrodir: %define _rpmmacrodir %{_rpmconfigdir}/macros.d}
15a9cf
%endif
15a9cf
15a9cf
# To avoid testsuite/*/*.stp has shebang which doesn't start with '/'
15a9cf
%define __brp_mangle_shebangs_exclude_from .stp$
15a9cf
15a9cf
Name: systemtap
a90a5e
Version: 4.2
a90a5e
Release: 1%{?release_override}%{?dist}
15a9cf
# for version, see also configure.ac
15a9cf
15a9cf
15a9cf
# Packaging abstract:
15a9cf
#
15a9cf
# systemtap              empty req:-client req:-devel
15a9cf
# systemtap-server       /usr/bin/stap-server*, req:-devel
15a9cf
# systemtap-devel        /usr/bin/stap, runtime, tapset, req:kernel-devel
15a9cf
# systemtap-runtime      /usr/bin/staprun, /usr/bin/stapsh, /usr/bin/stapdyn
15a9cf
# systemtap-client       /usr/bin/stap, samples, docs, tapset(bonus), req:-runtime
15a9cf
# systemtap-initscript   /etc/init.d/systemtap, dracut module, req:systemtap
15a9cf
# systemtap-sdt-devel    /usr/include/sys/sdt.h /usr/bin/dtrace
15a9cf
# systemtap-testsuite    /usr/share/systemtap/testsuite*, req:systemtap, req:sdt-devel
15a9cf
# systemtap-runtime-java libHelperSDT.so, HelperSDT.jar, stapbm, req:-runtime
15a9cf
# systemtap-runtime-virthost  /usr/bin/stapvirt, req:libvirt req:libxml2
15a9cf
# systemtap-runtime-virtguest udev rules, init scripts/systemd service, req:-runtime
15a9cf
# systemtap-runtime-python2 HelperSDT python2 module, req:-runtime
15a9cf
# systemtap-runtime-python3 HelperSDT python3 module, req:-runtime
15a9cf
#
15a9cf
# Typical scenarios:
15a9cf
#
15a9cf
# stap-client:           systemtap-client
15a9cf
# stap-server:           systemtap-server
15a9cf
# local user:            systemtap
15a9cf
#
15a9cf
# Unusual scenarios:
15a9cf
#
15a9cf
# intermediary stap-client for --remote:       systemtap-client (-runtime unused)
15a9cf
# intermediary stap-server for --use-server:   systemtap-server (-devel unused)
15a9cf
15a9cf
Summary: Programmable system-wide instrumentation system
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
15a9cf
15a9cf
# Build*
15a9cf
BuildRequires: gcc-c++
15a9cf
BuildRequires: cpio
15a9cf
BuildRequires: gettext-devel
15a9cf
BuildRequires: pkgconfig(nss)
15a9cf
BuildRequires: pkgconfig(avahi-client)
15a9cf
%if %{with_dyninst}
a90a5e
BuildRequires: dyninst-devel >= 10.0
15a9cf
BuildRequires: pkgconfig(libselinux)
15a9cf
%endif
15a9cf
%if %{with_sqlite}
15a9cf
BuildRequires: sqlite-devel > 3.7
15a9cf
%endif
15a9cf
%if %{with_monitor}
15a9cf
BuildRequires: pkgconfig(json-c)
15a9cf
BuildRequires: pkgconfig(ncurses)
15a9cf
%endif
15a9cf
%if %{with_systemd}
15a9cf
BuildRequires: systemd
15a9cf
%endif
15a9cf
# Needed for libstd++ < 4.0, without <tr1/memory>
15a9cf
%if %{with_boost}
15a9cf
BuildRequires: boost-devel
15a9cf
%endif
15a9cf
%if %{with_crash}
15a9cf
BuildRequires: crash-devel zlib-devel
15a9cf
%endif
15a9cf
%if %{with_rpm}
15a9cf
BuildRequires: rpm-devel
15a9cf
%endif
15a9cf
%if %{with_bundled_elfutils}
15a9cf
Source1: elfutils-%{elfutils_version}.tar.gz
15a9cf
Patch1: elfutils-portability.patch
15a9cf
BuildRequires: m4
15a9cf
%global setup_elfutils -a1
15a9cf
%else
15a9cf
BuildRequires: elfutils-devel >= %{elfutils_version}
15a9cf
%endif
15a9cf
%if %{with_docs}
15a9cf
BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf
15a9cf
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
15a9cf
BuildRequires: tex(fullpage.sty) tex(fancybox.sty) tex(bchr7t.tfm) tex(graphicx.sty)
15a9cf
%endif
15a9cf
# For the html.sty mentioned in the .tex files, even though latex2html is
15a9cf
# not run during the build, only during manual scripts/update-docs runs:
15a9cf
BuildRequires: latex2html
15a9cf
%if %{with_htmldocs}
15a9cf
# On F10, xmlto's pdf support was broken off into a sub-package,
15a9cf
# called 'xmlto-tex'.  To avoid a specific F10 BuildReq, we'll do a
15a9cf
# file-based buildreq on '/usr/share/xmlto/format/fo/pdf'.
15a9cf
BuildRequires: xmlto /usr/share/xmlto/format/fo/pdf
15a9cf
%endif
15a9cf
%endif
15a9cf
%if %{with_emacsvim}
15a9cf
BuildRequires: emacs
15a9cf
%endif
15a9cf
%if %{with_java}
15a9cf
BuildRequires: jpackage-utils java-devel
15a9cf
%endif
15a9cf
%if %{with_virthost}
15a9cf
# BuildRequires: libvirt-devel >= 1.0.2
15a9cf
BuildRequires: pkgconfig(libvirt)
15a9cf
BuildRequires: pkgconfig(libxml-2.0)
15a9cf
%endif
15a9cf
BuildRequires: readline-devel
15a9cf
%if 0%{?rhel} <= 5
15a9cf
BuildRequires: pkgconfig(ncurses)
15a9cf
%endif
15a9cf
%if %{with_python2_probes}
15a9cf
BuildRequires: python2-devel
15a9cf
%if 0%{?fedora} >= 1
15a9cf
BuildRequires: python2-setuptools
15a9cf
%else
15a9cf
BuildRequires: python-setuptools
15a9cf
%endif
15a9cf
%endif
15a9cf
%if %{with_python3_probes}
15a9cf
BuildRequires: python3-devel
15a9cf
BuildRequires: python3-setuptools
15a9cf
%endif
a90a5e
%if %{with_specific_python}
a90a5e
BuildRequires: /usr/bin/pathfix.py
a90a5e
%endif
15a9cf
15a9cf
%if %{with_httpd}
15a9cf
BuildRequires: libmicrohttpd-devel
15a9cf
BuildRequires: libuuid-devel
15a9cf
%endif
15a9cf
15a9cf
# Install requirements
15a9cf
Requires: systemtap-client = %{version}-%{release}
15a9cf
Requires: systemtap-devel = %{version}-%{release}
15a9cf
15a9cf
%description
15a9cf
SystemTap is an instrumentation system for systems running Linux.
15a9cf
Developers can write instrumentation scripts to collect data on
15a9cf
the operation of the system.  The base systemtap package contains/requires
15a9cf
the components needed to locally develop and execute systemtap scripts.
15a9cf
15a9cf
# ------------------------------------------------------------------------
15a9cf
15a9cf
%package server
15a9cf
Summary: Instrumentation System Server
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: systemtap-devel = %{version}-%{release}
15a9cf
Conflicts: systemtap-devel < %{version}-%{release}
15a9cf
Conflicts: systemtap-runtime < %{version}-%{release}
15a9cf
Conflicts: systemtap-client < %{version}-%{release}
15a9cf
Requires: nss coreutils
15a9cf
Requires: zip unzip
15a9cf
Requires(pre): shadow-utils
15a9cf
BuildRequires: nss-devel avahi-devel
15a9cf
%if %{with_openssl}
15a9cf
Requires: openssl
15a9cf
%endif
15a9cf
%if %{with_systemd}
15a9cf
Requires: systemd
15a9cf
%else
15a9cf
Requires(post): chkconfig
15a9cf
Requires(preun): chkconfig
15a9cf
Requires(preun): initscripts
15a9cf
Requires(postun): initscripts
15a9cf
%endif
15a9cf
15a9cf
%description server
15a9cf
This is the remote script compilation server component of systemtap.
15a9cf
It announces itself to nearby clients with avahi (if available), and
15a9cf
compiles systemtap scripts to kernel objects on their demand.
15a9cf
15a9cf
15a9cf
%package devel
15a9cf
Summary: Programmable system-wide instrumentation system - development headers, tools
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
15a9cf
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
15a9cf
Recommends: (kernel-debug-devel if kernel-debug)
15a9cf
Recommends: (kernel-devel if kernel)
15a9cf
%else
15a9cf
Requires: kernel-devel-uname-r
15a9cf
%endif
15a9cf
15a9cf
Requires: gcc make
15a9cf
Conflicts: systemtap-client < %{version}-%{release}
15a9cf
Conflicts: systemtap-server < %{version}-%{release}
15a9cf
Conflicts: systemtap-runtime < %{version}-%{release}
15a9cf
# Suggest: kernel-debuginfo
15a9cf
15a9cf
%description devel
15a9cf
This package contains the components needed to compile a systemtap
15a9cf
script from source form into executable (.ko) forms.  It may be
15a9cf
installed on a self-contained developer workstation (along with the
15a9cf
systemtap-client and systemtap-runtime packages), or on a dedicated
15a9cf
remote server (alongside the systemtap-server package).  It includes
15a9cf
a copy of the standard tapset library and the runtime library C files.
15a9cf
15a9cf
15a9cf
%package runtime
15a9cf
Summary: Programmable system-wide instrumentation system - runtime
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires(pre): shadow-utils
15a9cf
Conflicts: systemtap-devel < %{version}-%{release}
15a9cf
Conflicts: systemtap-server < %{version}-%{release}
15a9cf
Conflicts: systemtap-client < %{version}-%{release}
15a9cf
15a9cf
%description runtime
15a9cf
SystemTap runtime contains the components needed to execute
15a9cf
a systemtap script that was already compiled into a module
15a9cf
using a local or remote systemtap-devel installation.
15a9cf
15a9cf
15a9cf
%package client
15a9cf
Summary: Programmable system-wide instrumentation system - client
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: zip unzip
15a9cf
Requires: systemtap-runtime = %{version}-%{release}
15a9cf
Requires: coreutils grep sed unzip zip
15a9cf
Requires: openssh-clients
15a9cf
Conflicts: systemtap-devel < %{version}-%{release}
15a9cf
Conflicts: systemtap-server < %{version}-%{release}
15a9cf
Conflicts: systemtap-runtime < %{version}-%{release}
15a9cf
%if %{with_mokutil}
15a9cf
Requires: mokutil
15a9cf
%endif
15a9cf
15a9cf
%description client
15a9cf
This package contains/requires the components needed to develop
15a9cf
systemtap scripts, and compile them using a local systemtap-devel
15a9cf
or a remote systemtap-server installation, then run them using a
15a9cf
local or remote systemtap-runtime.  It includes script samples and
15a9cf
documentation, and a copy of the tapset library for reference.
15a9cf
15a9cf
15a9cf
%package initscript
15a9cf
Summary: Systemtap Initscripts
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: systemtap = %{version}-%{release}
15a9cf
%if %{with_systemd}
15a9cf
Requires: systemd
15a9cf
%else
15a9cf
Requires(post): chkconfig
15a9cf
Requires(preun): chkconfig
15a9cf
Requires(preun): initscripts
15a9cf
Requires(postun): initscripts
15a9cf
%endif
15a9cf
15a9cf
%description initscript
15a9cf
This package includes a SysVinit script to launch selected systemtap
15a9cf
scripts at system startup, along with a dracut module for early
15a9cf
boot-time probing if supported.
15a9cf
15a9cf
15a9cf
%package sdt-devel
15a9cf
Summary: Static probe support tools
15a9cf
License: GPLv2+ and Public Domain
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
%if %{with_pyparsing}
15a9cf
%if %{with_python3}
15a9cf
Requires: python3-pyparsing
15a9cf
%else
15a9cf
%if 0%{?rhel} >= 7
15a9cf
Requires: pyparsing
15a9cf
%else
15a9cf
Requires: python2-pyparsing
15a9cf
%endif
15a9cf
%endif
15a9cf
%endif
15a9cf
15a9cf
%description sdt-devel
15a9cf
This package includes the <sys/sdt.h> header file used for static
15a9cf
instrumentation compiled into userspace programs and libraries, along
15a9cf
with the optional dtrace-compatibility preprocessor to process related
15a9cf
.d files into tracing-macro-laden .h headers.
15a9cf
15a9cf
15a9cf
%package testsuite
15a9cf
Summary: Instrumentation System Testsuite
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: systemtap = %{version}-%{release}
15a9cf
Requires: systemtap-sdt-devel = %{version}-%{release}
15a9cf
Requires: systemtap-server = %{version}-%{release}
15a9cf
Requires: dejagnu which elfutils grep nc
15a9cf
Requires: gcc gcc-c++ make glibc-devel
15a9cf
# testsuite/systemtap.base/ptrace.exp needs strace
15a9cf
Requires: strace
15a9cf
# testsuite/systemtap.base/ipaddr.exp needs nc. Unfortunately, the rpm
15a9cf
# that provides nc has changed over time (from 'nc' to
15a9cf
# 'nmap-ncat'). So, we'll do a file-based require.
15a9cf
Requires: /usr/bin/nc
15a9cf
%ifnarch ia64 ppc64le aarch64
15a9cf
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
15a9cf
# no prelink
15a9cf
%else
15a9cf
Requires: prelink
15a9cf
%endif
15a9cf
%endif
15a9cf
# testsuite/systemtap.server/client.exp needs avahi
15a9cf
Requires: avahi
15a9cf
%if %{with_crash}
15a9cf
# testsuite/systemtap.base/crash.exp needs crash
15a9cf
Requires: crash
15a9cf
%endif
15a9cf
%if %{with_java}
15a9cf
Requires: systemtap-runtime-java = %{version}-%{release}
15a9cf
%endif
15a9cf
%if %{with_python2_probes}
15a9cf
Requires: systemtap-runtime-python2 = %{version}-%{release}
15a9cf
%endif
15a9cf
%if %{with_python3_probes}
15a9cf
Requires: systemtap-runtime-python3 = %{version}-%{release}
15a9cf
%endif
15a9cf
%ifarch x86_64
15a9cf
Requires: /usr/lib/libc.so
15a9cf
# ... and /usr/lib/libgcc_s.so.*
15a9cf
# ... and /usr/lib/libstdc++.so.*
15a9cf
%endif
15a9cf
%if 0%{?fedora} >= 18
15a9cf
Requires: stress
15a9cf
%endif
15a9cf
# The following "meta" files for the systemtap examples run "perf":
15a9cf
#   testsuite/systemtap.examples/hw_watch_addr.meta
15a9cf
#   testsuite/systemtap.examples/memory/hw_watch_sym.meta
15a9cf
Requires: perf
15a9cf
15a9cf
%description testsuite
15a9cf
This package includes the dejagnu-based systemtap stress self-testing
15a9cf
suite.  This may be used by system administrators to thoroughly check
15a9cf
systemtap on the current system.
15a9cf
15a9cf
15a9cf
%if %{with_java}
15a9cf
%package runtime-java
15a9cf
Summary: Systemtap Java Runtime Support
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: systemtap-runtime = %{version}-%{release}
15a9cf
Requires: byteman > 2.0
15a9cf
Requires: iproute
a90a5e
Requires: java-devel
15a9cf
15a9cf
%description runtime-java
15a9cf
This package includes support files needed to run systemtap scripts
15a9cf
that probe Java processes running on the OpenJDK runtimes using Byteman.
15a9cf
%endif
15a9cf
15a9cf
%if %{with_python2_probes}
15a9cf
%package runtime-python2
15a9cf
Summary: Systemtap Python 2 Runtime Support
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: systemtap-runtime = %{version}-%{release}
15a9cf
15a9cf
%description runtime-python2
15a9cf
This package includes support files needed to run systemtap scripts
15a9cf
that probe python 2 processes.
15a9cf
%endif
15a9cf
15a9cf
%if %{with_python3_probes}
15a9cf
%package runtime-python3
15a9cf
Summary: Systemtap Python 3 Runtime Support
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: systemtap-runtime = %{version}-%{release}
15a9cf
15a9cf
%if ! (%{with_python2_probes})
15a9cf
# Provide an clean upgrade path when the python2 package is removed
15a9cf
Obsoletes: %{name}-runtime-python2 < %{version}-%{release}
15a9cf
%endif
15a9cf
15a9cf
%description runtime-python3
15a9cf
This package includes support files needed to run systemtap scripts
15a9cf
that probe python 3 processes.
15a9cf
%endif
15a9cf
15a9cf
%if %{with_python3}
15a9cf
%package exporter
15a9cf
Summary: Systemtap-prometheus interoperation mechanism
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: systemtap-runtime = %{version}-%{release}
15a9cf
15a9cf
%description exporter
15a9cf
This package includes files for a systemd service that manages
15a9cf
systemtap sessions and relays prometheus metrics from the sessions
15a9cf
to remote requesters on demand.
15a9cf
%endif
15a9cf
15a9cf
%if %{with_virthost}
15a9cf
%package runtime-virthost
15a9cf
Summary: Systemtap Cross-VM Instrumentation - host
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: libvirt >= 1.0.2
15a9cf
Requires: libxml2
15a9cf
15a9cf
%description runtime-virthost
15a9cf
This package includes the components required to run systemtap scripts
15a9cf
inside a libvirt-managed domain from the host without using a network
15a9cf
connection.
15a9cf
%endif
15a9cf
15a9cf
%if %{with_virtguest}
15a9cf
%package runtime-virtguest
15a9cf
Summary: Systemtap Cross-VM Instrumentation - guest
15a9cf
License: GPLv2+
15a9cf
URL: http://sourceware.org/systemtap/
15a9cf
Requires: systemtap-runtime = %{version}-%{release}
15a9cf
%if %{with_systemd}
15a9cf
Requires(post): findutils coreutils
15a9cf
Requires(preun): grep coreutils
15a9cf
Requires(postun): grep coreutils
15a9cf
%else
15a9cf
Requires(post): chkconfig initscripts
15a9cf
Requires(preun): chkconfig initscripts
15a9cf
Requires(postun): initscripts
15a9cf
%endif
15a9cf
15a9cf
%description runtime-virtguest
15a9cf
This package installs the services necessary on a virtual machine for a
15a9cf
systemtap-runtime-virthost machine to execute systemtap scripts.
15a9cf
%endif
15a9cf
15a9cf
# ------------------------------------------------------------------------
15a9cf
15a9cf
%prep
15a9cf
%setup -q %{?setup_elfutils}
15a9cf
15a9cf
%if %{with_bundled_elfutils}
15a9cf
cd elfutils-%{elfutils_version}
15a9cf
%patch1 -p1
15a9cf
sleep 1
15a9cf
find . \( -name Makefile.in -o -name aclocal.m4 \) -print | xargs touch
15a9cf
sleep 1
15a9cf
find . \( -name configure -o -name config.h.in \) -print | xargs touch
15a9cf
cd ..
15a9cf
%endif
15a9cf
15a9cf
%build
15a9cf
15a9cf
%if %{with_bundled_elfutils}
15a9cf
# Build our own copy of elfutils.
15a9cf
%global elfutils_config --with-elfutils=elfutils-%{elfutils_version}
15a9cf
15a9cf
# We have to prevent the standard dependency generation from identifying
15a9cf
# our private elfutils libraries in our provides and requires.
15a9cf
%global _use_internal_dependency_generator	0
15a9cf
%global filter_eulibs() /bin/sh -c "%{1} | sed '/libelf/d;/libdw/d;/libebl/d'"
15a9cf
%global __find_provides %{filter_eulibs /usr/lib/rpm/find-provides}
15a9cf
%global __find_requires %{filter_eulibs /usr/lib/rpm/find-requires}
15a9cf
15a9cf
# This will be needed for running stap when not installed, for the test suite.
15a9cf
%global elfutils_mflags LD_LIBRARY_PATH=`pwd`/lib-elfutils
15a9cf
%endif
15a9cf
15a9cf
# Enable/disable the dyninst pure-userspace backend
15a9cf
%if %{with_dyninst}
15a9cf
%global dyninst_config --with-dyninst
15a9cf
%else
15a9cf
%global dyninst_config --without-dyninst
15a9cf
%endif
15a9cf
15a9cf
# Enable/disable the sqlite coverage testing support
15a9cf
%if %{with_sqlite}
15a9cf
%global sqlite_config --enable-sqlite
15a9cf
%else
15a9cf
%global sqlite_config --disable-sqlite
15a9cf
%endif
15a9cf
15a9cf
# Enable/disable the crash extension
15a9cf
%if %{with_crash}
15a9cf
%global crash_config --enable-crash
15a9cf
%else
15a9cf
%global crash_config --disable-crash
15a9cf
%endif
15a9cf
15a9cf
# Enable/disable the code to find and suggest needed rpms
15a9cf
%if %{with_rpm}
15a9cf
%global rpm_config --with-rpm
15a9cf
%else
15a9cf
%global rpm_config --without-rpm
15a9cf
%endif
15a9cf
15a9cf
%if %{with_docs}
15a9cf
%if %{with_htmldocs}
15a9cf
%global docs_config --enable-docs --enable-htmldocs
15a9cf
%else
15a9cf
%global docs_config --enable-docs --disable-htmldocs
15a9cf
%endif
15a9cf
%else
15a9cf
%global docs_config --enable-docs=prebuilt
15a9cf
%endif
15a9cf
15a9cf
# Enable pie as configure defaults to disabling it
15a9cf
%if %{pie_supported}
15a9cf
%global pie_config --enable-pie
15a9cf
%else
15a9cf
%global pie_config --disable-pie
15a9cf
%endif
15a9cf
15a9cf
15a9cf
%if %{with_java}
15a9cf
%global java_config --with-java=%{_jvmdir}/java
15a9cf
%else
15a9cf
%global java_config --without-java
15a9cf
%endif
15a9cf
15a9cf
%if %{with_python3}
15a9cf
%global python3_config --with-python3
15a9cf
%else
15a9cf
%global python3_config --without-python3
15a9cf
%endif
15a9cf
%if %{with_python2_probes}
15a9cf
%global python2_probes_config --with-python2-probes
15a9cf
%else
15a9cf
%global python2_probes_config --without-python2-probes
15a9cf
%endif
15a9cf
%if %{with_python3_probes}
15a9cf
%global python3_probes_config --with-python3-probes
15a9cf
%else
15a9cf
%global python3_probes_config --without-python3-probes
15a9cf
%endif
15a9cf
15a9cf
%if %{with_virthost}
15a9cf
%global virt_config --enable-virt
15a9cf
%else
15a9cf
%global virt_config --disable-virt
15a9cf
%endif
15a9cf
15a9cf
%if %{with_dracut}
15a9cf
%global dracut_config --with-dracutstap=%{dracutstap} --with-dracutbindir=%{dracutbindir}
15a9cf
%else
15a9cf
%global dracut_config %{nil}
15a9cf
%endif
15a9cf
15a9cf
%if %{with_httpd}
15a9cf
%global httpd_config --enable-httpd
15a9cf
%else
15a9cf
%global httpd_config --disable-httpd
15a9cf
%endif
15a9cf
15a9cf
%if %{with_bpf}
15a9cf
%global bpf_config --with-bpf
15a9cf
%else
15a9cf
%global bpf_config --without-bpf
15a9cf
%endif
15a9cf
15a9cf
# We don't ship compileworthy python code, just oddball samples
15a9cf
%global py_auto_byte_compile 0
15a9cf
15a9cf
%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}"
15a9cf
make %{?_smp_mflags}
15a9cf
15a9cf
%if %{with_emacsvim}
15a9cf
%{_emacs_bytecompile} emacs/systemtap-mode.el
15a9cf
%endif
15a9cf
15a9cf
%install
15a9cf
make DESTDIR=$RPM_BUILD_ROOT install
15a9cf
%find_lang %{name}
15a9cf
for dir in $(ls -1d $RPM_BUILD_ROOT%{_mandir}/{??,??_??}) ; do
15a9cf
    dir=$(echo $dir | sed -e "s|^$RPM_BUILD_ROOT||")
15a9cf
    lang=$(basename $dir)
15a9cf
    echo "%%lang($lang) $dir/man*/*" >> %{name}.lang
15a9cf
done
15a9cf
15a9cf
ln -s %{_datadir}/systemtap/examples
15a9cf
15a9cf
# Fix paths in the example scripts.
15a9cf
find $RPM_BUILD_ROOT%{_datadir}/systemtap/examples -type f -name '*.stp' -print0 | xargs -0 sed -i -r -e '1s@^#!.+stap@#!%{_bindir}/stap@'
15a9cf
15a9cf
# To make rpmlint happy, remove any .gitignore files in the testsuite.
15a9cf
find testsuite -type f -name '.gitignore' -print0 | xargs -0 rm -f
15a9cf
15a9cf
# Because "make install" may install staprun with whatever mode, the
15a9cf
# post-processing programs rpmbuild runs won't be able to read it.
15a9cf
# So, we change permissions so that they can read it.  We'll set the
15a9cf
# permissions back to 04110 in the %files section below.
15a9cf
chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun
15a9cf
15a9cf
#install the useful stap-prep script
15a9cf
install -c -m 755 stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
15a9cf
15a9cf
# Copy over the testsuite
15a9cf
cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap
15a9cf
15a9cf
# We want the manuals in the special doc dir, not the generic doc install dir.
15a9cf
# We build it in place and then move it away so it doesn't get installed
15a9cf
# twice. rpm can specify itself where the (versioned) docs go with the
15a9cf
# %doc directive.
15a9cf
mkdir docs.installed
15a9cf
mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/*.pdf docs.installed/
15a9cf
%if %{with_docs}
15a9cf
%if %{with_htmldocs}
15a9cf
mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/tapsets docs.installed/
15a9cf
mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/SystemTap_Beginners_Guide docs.installed/
15a9cf
%endif
15a9cf
%endif
15a9cf
15a9cf
install -D -m 644 macros.systemtap $RPM_BUILD_ROOT%{_rpmmacrodir}/macros.systemtap
15a9cf
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server/.systemtap
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server
15a9cf
touch $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server/log
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/systemtap
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/systemtap
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
15a9cf
install -m 644 initscript/logrotate.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/stap-server
15a9cf
15a9cf
# If using systemd systemtap.service file, retain the old init script in %{_libexecdir} as a helper.
15a9cf
%if %{with_systemd}
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
15a9cf
touch $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
15a9cf
install -m 644 initscript/systemtap.service $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
15a9cf
install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
15a9cf
%else
15a9cf
mkdir -p $RPM_BUILD_ROOT%{initdir}
15a9cf
install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{initdir}
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
15a9cf
ln -sf %{initdir}/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
15a9cf
# TODO CHECK CORRECTNESS: symlink %{_sbindir}/systemtap-service to %{initdir}/systemtap
15a9cf
%endif
15a9cf
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/conf.d
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/script.d
15a9cf
install -m 644 initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
15a9cf
15a9cf
%if %{with_systemd}
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
15a9cf
touch $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
15a9cf
install -m 644 stap-server.service $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
15a9cf
install -m 644 stap-server.conf $RPM_BUILD_ROOT%{_tmpfilesdir}/stap-server.conf
15a9cf
%else
15a9cf
install -m 755 initscript/stap-server $RPM_BUILD_ROOT%{initdir}
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server/conf.d
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
15a9cf
install -m 644 initscript/config.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/stap-server
15a9cf
%endif
15a9cf
15a9cf
%if %{with_emacsvim}
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_emacs_sitelispdir}
15a9cf
install -p -m 644 emacs/systemtap-mode.el* $RPM_BUILD_ROOT%{_emacs_sitelispdir}
15a9cf
mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir}
15a9cf
install -p -m 644 emacs/systemtap-init.el $RPM_BUILD_ROOT%{_emacs_sitestartdir}/systemtap-init.el
15a9cf
for subdir in ftdetect ftplugin indent syntax
15a9cf
do
15a9cf
    mkdir -p $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/$subdir
15a9cf
    install -p -m 644 vim/$subdir/*.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/$subdir
15a9cf
done
15a9cf
%endif
15a9cf
15a9cf
%if %{with_virtguest}
15a9cf
   mkdir -p $RPM_BUILD_ROOT%{udevrulesdir}
15a9cf
   %if %{with_systemd}
15a9cf
      install -p -m 644 staprun/guest/99-stapsh.rules $RPM_BUILD_ROOT%{udevrulesdir}
15a9cf
      mkdir -p $RPM_BUILD_ROOT%{_unitdir}
15a9cf
      install -p -m 644 staprun/guest/stapsh@.service $RPM_BUILD_ROOT%{_unitdir}
15a9cf
   %else
15a9cf
      install -p -m 644 staprun/guest/99-stapsh-init.rules $RPM_BUILD_ROOT%{udevrulesdir}
15a9cf
      install -p -m 755 staprun/guest/stapshd $RPM_BUILD_ROOT%{initdir}
15a9cf
      mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/systemtap
15a9cf
      install -p -m 755 staprun/guest/stapsh-daemon $RPM_BUILD_ROOT%{_libexecdir}/systemtap
15a9cf
      mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
15a9cf
      # Technically, this is only needed for RHEL5, in which the MODULE_ALIAS is missing, but
15a9cf
      # it does no harm in RHEL6 as well
15a9cf
      install -p -m 755 staprun/guest/virtio_console.modules $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
15a9cf
   %endif
15a9cf
%endif
15a9cf
15a9cf
%if %{with_dracut}
15a9cf
   mkdir -p $RPM_BUILD_ROOT%{dracutstap}
15a9cf
   install -p -m 755 initscript/99stap/module-setup.sh $RPM_BUILD_ROOT%{dracutstap}
15a9cf
   install -p -m 755 initscript/99stap/install $RPM_BUILD_ROOT%{dracutstap}
15a9cf
   install -p -m 755 initscript/99stap/check $RPM_BUILD_ROOT%{dracutstap}
15a9cf
   install -p -m 755 initscript/99stap/start-staprun.sh $RPM_BUILD_ROOT%{dracutstap}
15a9cf
   touch $RPM_BUILD_ROOT%{dracutstap}/params.conf
15a9cf
%endif
15a9cf
a90a5e
%if %{with_specific_python}
a90a5e
# Some files got ambiguous python shebangs, we fix them after everything else is done
a90a5e
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{python3_sitearch} %{buildroot}%{_bindir}/*
a90a5e
%endif
a90a5e
15a9cf
%pre runtime
15a9cf
getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr
15a9cf
getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys
15a9cf
getent group stapdev >/dev/null || groupadd -f -g 158 -r stapdev
15a9cf
exit 0
15a9cf
15a9cf
%pre server
15a9cf
getent group stap-server >/dev/null || groupadd -f -g 155 -r stap-server
15a9cf
getent passwd stap-server >/dev/null || \
15a9cf
  useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server 2>/dev/null || \
15a9cf
  useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server
15a9cf
15a9cf
%pre testsuite
15a9cf
getent passwd stapusr >/dev/null || \
15a9cf
    useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr
15a9cf
getent passwd stapsys >/dev/null || \
15a9cf
    useradd -c "Systemtap 'stapsys' User" -g stapsys -G stapusr -r -s /sbin/nologin stapsys
15a9cf
getent passwd stapdev >/dev/null || \
15a9cf
    useradd -c "Systemtap 'stapdev' User" -g stapdev -G stapusr -r -s /sbin/nologin stapdev
15a9cf
exit 0
15a9cf
15a9cf
%post server
15a9cf
15a9cf
# We have some duplication between the %files listings for the
15a9cf
# ~stap-server directories and the explicit mkdir/chown/chmod bits
15a9cf
# here.  Part of the reason may be that a preexisting stap-server
15a9cf
# account may well be placed somewhere other than
15a9cf
# %{_localstatedir}/lib/stap-server, but we'd like their permissions
15a9cf
# set similarly.
15a9cf
15a9cf
test -e ~stap-server && chmod 750 ~stap-server
15a9cf
15a9cf
if [ ! -f ~stap-server/.systemtap/rc ]; then
15a9cf
  mkdir -p ~stap-server/.systemtap
15a9cf
  chown stap-server:stap-server ~stap-server/.systemtap
15a9cf
  # PR16276: guess at a reasonable number for a default --rlimit-nproc
15a9cf
  numcpu=`/usr/bin/getconf _NPROCESSORS_ONLN`
15a9cf
  if [ -z "$numcpu" -o "$numcpu" -lt 1 ]; then numcpu=1; fi
15a9cf
  nproc=`expr $numcpu \* 30`
15a9cf
  echo "--rlimit-as=614400000 --rlimit-cpu=60 --rlimit-nproc=$nproc --rlimit-stack=1024000 --rlimit-fsize=51200000" > ~stap-server/.systemtap/rc
15a9cf
  chown stap-server:stap-server ~stap-server/.systemtap/rc
15a9cf
fi
15a9cf
15a9cf
test -e %{_localstatedir}/log/stap-server/log || {
15a9cf
     touch %{_localstatedir}/log/stap-server/log
15a9cf
     chmod 644 %{_localstatedir}/log/stap-server/log
15a9cf
     chown stap-server:stap-server %{_localstatedir}/log/stap-server/log
15a9cf
}
15a9cf
# Prepare the service
15a9cf
%if %{with_systemd}
15a9cf
     # Note, Fedora policy doesn't allow network services enabled by default
15a9cf
     # /bin/systemctl enable stap-server.service >/dev/null 2>&1 || :
15a9cf
     /bin/systemd-tmpfiles --create %{_tmpfilesdir}/stap-server.conf >/dev/null 2>&1 || :
15a9cf
%else
15a9cf
    /sbin/chkconfig --add stap-server
15a9cf
%endif
15a9cf
exit 0
15a9cf
15a9cf
%triggerin client -- systemtap-server
15a9cf
if test -e ~stap-server/.systemtap/ssl/server/stap.cert; then
15a9cf
   # echo Authorizing ssl-peer/trusted-signer certificate for local systemtap-server
15a9cf
   %{_libexecdir}/systemtap/stap-authorize-cert ~stap-server/.systemtap/ssl/server/stap.cert %{_sysconfdir}/systemtap/ssl/client >/dev/null
15a9cf
   %{_libexecdir}/systemtap/stap-authorize-cert ~stap-server/.systemtap/ssl/server/stap.cert %{_sysconfdir}/systemtap/staprun >/dev/null
15a9cf
fi
15a9cf
exit 0
15a9cf
# XXX: corresponding %triggerun?
15a9cf
15a9cf
%preun server
15a9cf
# Check that this is the actual deinstallation of the package, as opposed to
15a9cf
# just removing the old package on upgrade.
15a9cf
if [ $1 = 0 ] ; then
15a9cf
    %if %{with_systemd}
15a9cf
       /bin/systemctl --no-reload disable stap-server.service >/dev/null 2>&1 || :
15a9cf
       /bin/systemctl stop stap-server.service >/dev/null 2>&1 || :
15a9cf
    %else
15a9cf
        /sbin/service stap-server stop >/dev/null 2>&1
15a9cf
        /sbin/chkconfig --del stap-server
15a9cf
    %endif
15a9cf
fi
15a9cf
exit 0
15a9cf
15a9cf
%postun server
15a9cf
# Check whether this is an upgrade of the package.
15a9cf
# If so, restart the service if it's running
15a9cf
if [ "$1" -ge "1" ] ; then
15a9cf
    %if %{with_systemd}
15a9cf
        /bin/systemctl condrestart stap-server.service >/dev/null 2>&1 || :
15a9cf
    %else
15a9cf
        /sbin/service stap-server condrestart >/dev/null 2>&1 || :
15a9cf
    %endif
15a9cf
fi
15a9cf
exit 0
15a9cf
15a9cf
%post initscript
15a9cf
%if %{with_systemd}
15a9cf
    /bin/systemctl enable systemtap.service >/dev/null 2>&1 || :
15a9cf
%else
15a9cf
    /sbin/chkconfig --add systemtap
15a9cf
%endif
15a9cf
exit 0
15a9cf
15a9cf
%preun initscript
15a9cf
# Check that this is the actual deinstallation of the package, as opposed to
15a9cf
# just removing the old package on upgrade.
15a9cf
if [ $1 = 0 ] ; then
15a9cf
    %if %{with_systemd}
15a9cf
        /bin/systemctl --no-reload disable systemtap.service >/dev/null 2>&1 || :
15a9cf
        /bin/systemctl stop systemtap.service >/dev/null 2>&1 || :
15a9cf
    %else
15a9cf
        /sbin/service systemtap stop >/dev/null 2>&1
15a9cf
        /sbin/chkconfig --del systemtap
15a9cf
    %endif
15a9cf
fi
15a9cf
exit 0
15a9cf
15a9cf
%postun initscript
15a9cf
# Check whether this is an upgrade of the package.
15a9cf
# If so, restart the service if it's running
15a9cf
if [ "$1" -ge "1" ] ; then
15a9cf
    %if %{with_systemd}
15a9cf
        /bin/systemctl condrestart systemtap.service >/dev/null 2>&1 || :
15a9cf
    %else
15a9cf
        /sbin/service systemtap condrestart >/dev/null 2>&1 || :
15a9cf
    %endif
15a9cf
fi
15a9cf
exit 0
15a9cf
15a9cf
%post runtime-virtguest
15a9cf
%if %{with_systemd}
15a9cf
   # Start services if there are ports present
15a9cf
   if [ -d /dev/virtio-ports ]; then
15a9cf
      (find /dev/virtio-ports -iname 'org.systemtap.stapsh.[0-9]*' -type l \
15a9cf
         | xargs -n 1 basename \
15a9cf
         | xargs -n 1 -I {} /bin/systemctl start stapsh@{}.service) >/dev/null 2>&1 || :
15a9cf
   fi
15a9cf
%else
15a9cf
   /sbin/chkconfig --add stapshd
15a9cf
   /sbin/chkconfig stapshd on
15a9cf
   /sbin/service stapshd start >/dev/null 2>&1 || :
15a9cf
%endif
15a9cf
exit 0
15a9cf
15a9cf
%preun runtime-virtguest
15a9cf
# Stop service if this is an uninstall rather than an upgrade
15a9cf
if [ $1 = 0 ]; then
15a9cf
   %if %{with_systemd}
15a9cf
      # We need to stop all stapsh services. Because they are instantiated from
15a9cf
      # a template service file, we can't simply call disable. We need to find
15a9cf
      # all the running ones and stop them all individually
15a9cf
      for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
15a9cf
         /bin/systemctl stop $service >/dev/null 2>&1 || :
15a9cf
      done
15a9cf
   %else
15a9cf
      /sbin/service stapshd stop >/dev/null 2>&1
15a9cf
      /sbin/chkconfig --del stapshd
15a9cf
   %endif
15a9cf
fi
15a9cf
exit 0
15a9cf
15a9cf
%postun runtime-virtguest
15a9cf
# Restart service if this is an upgrade rather than an uninstall
15a9cf
if [ "$1" -ge "1" ]; then
15a9cf
   %if %{with_systemd}
15a9cf
      # We need to restart all stapsh services. Because they are instantiated from
15a9cf
      # a template service file, we can't simply call restart. We need to find
15a9cf
      # all the running ones and restart them all individually
15a9cf
      for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
15a9cf
         /bin/systemctl condrestart $service >/dev/null 2>&1 || :
15a9cf
      done
15a9cf
   %else
15a9cf
      /sbin/service stapshd condrestart >/dev/null 2>&1
15a9cf
   %endif
15a9cf
fi
15a9cf
exit 0
15a9cf
15a9cf
%if %{with_python3}
15a9cf
%if %{with_systemd}
15a9cf
%preun exporter
15a9cf
if [ $1 = 0 ] ; then
15a9cf
  /bin/systemctl stop stap-exporter.service >/dev/null 2>&1 || :
15a9cf
  /bin/systemctl disable stap-exporter.service >/dev/null 2>&1 || :
15a9cf
fi
15a9cf
exit 0
15a9cf
15a9cf
%postun exporter
15a9cf
# Restart service if this is an upgrade rather than an uninstall
15a9cf
if [ "$1" -ge "1" ]; then
15a9cf
   /bin/systemctl condrestart stap-exporter >/dev/null 2>&1 || :
15a9cf
fi
15a9cf
exit 0
15a9cf
%endif
15a9cf
%endif
15a9cf
15a9cf
%post
15a9cf
# Remove any previously-built uprobes.ko materials
15a9cf
(make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
15a9cf
(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
15a9cf
15a9cf
%preun
15a9cf
# Ditto
15a9cf
(make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
15a9cf
(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
15a9cf
15a9cf
# ------------------------------------------------------------------------
15a9cf
15a9cf
%if %{with_java}
15a9cf
15a9cf
%triggerin runtime-java -- java-1.8.0-openjdk, java-1.7.0-openjdk, java-1.6.0-openjdk
15a9cf
for f in %{_libexecdir}/systemtap/libHelperSDT_*.so; do
15a9cf
    %ifarch %{ix86}
15a9cf
	arch=i386
15a9cf
    %else
15a9cf
        arch=`basename $f | cut -f2 -d_ | cut -f1 -d.`
15a9cf
    %endif
15a9cf
    for archdir in %{_jvmdir}/*openjdk*/jre/lib/${arch}; do
15a9cf
	 if [ -d ${archdir} ]; then
15a9cf
            ln -sf %{_libexecdir}/systemtap/libHelperSDT_${arch}.so ${archdir}/libHelperSDT_${arch}.so
15a9cf
            ln -sf %{_libexecdir}/systemtap/HelperSDT.jar ${archdir}/../ext/HelperSDT.jar
15a9cf
	 fi
15a9cf
    done
15a9cf
done
15a9cf
15a9cf
%triggerun runtime-java -- java-1.8.0-openjdk, java-1.7.0-openjdk, java-1.6.0-openjdk
15a9cf
for f in %{_libexecdir}/systemtap/libHelperSDT_*.so; do
15a9cf
    %ifarch %{ix86}
15a9cf
	arch=i386
15a9cf
    %else
15a9cf
        arch=`basename $f | cut -f2 -d_ | cut -f1 -d.`
15a9cf
    %endif
15a9cf
    for archdir in %{_jvmdir}/*openjdk*/jre/lib/${arch}; do
15a9cf
        rm -f ${archdir}/libHelperSDT_${arch}.so
15a9cf
        rm -f ${archdir}/../ext/HelperSDT.jar
15a9cf
    done
15a9cf
done
15a9cf
15a9cf
%triggerpostun runtime-java -- java-1.8.0-openjdk, java-1.7.0-openjdk, java-1.6.0-openjdk
15a9cf
# Restore links for any JDKs remaining after a package removal:
15a9cf
for f in %{_libexecdir}/systemtap/libHelperSDT_*.so; do
15a9cf
    %ifarch %{ix86}
15a9cf
	arch=i386
15a9cf
    %else
15a9cf
        arch=`basename $f | cut -f2 -d_ | cut -f1 -d.`
15a9cf
    %endif
15a9cf
    for archdir in %{_jvmdir}/*openjdk*/jre/lib/${arch}; do
15a9cf
	 if [ -d ${archdir} ]; then
15a9cf
            ln -sf %{_libexecdir}/systemtap/libHelperSDT_${arch}.so ${archdir}/libHelperSDT_${arch}.so
15a9cf
            ln -sf %{_libexecdir}/systemtap/HelperSDT.jar ${archdir}/../ext/HelperSDT.jar
15a9cf
	 fi
15a9cf
    done
15a9cf
done
15a9cf
15a9cf
# XXX: analogous support for other types of JRE/JDK??
15a9cf
15a9cf
%endif
15a9cf
15a9cf
# ------------------------------------------------------------------------
15a9cf
15a9cf
%files
15a9cf
# The master "systemtap" rpm doesn't include any files.
15a9cf
15a9cf
%files server -f systemtap.lang
15a9cf
%{_bindir}/stap-server
15a9cf
%dir %{_libexecdir}/systemtap
15a9cf
%{_libexecdir}/systemtap/stap-serverd
15a9cf
%{_libexecdir}/systemtap/stap-start-server
15a9cf
%{_libexecdir}/systemtap/stap-stop-server
15a9cf
%{_libexecdir}/systemtap/stap-gen-cert
15a9cf
%{_libexecdir}/systemtap/stap-sign-module
15a9cf
%{_libexecdir}/systemtap/stap-authorize-cert
15a9cf
%{_libexecdir}/systemtap/stap-env
15a9cf
%{_mandir}/man7/error*
15a9cf
%{_mandir}/man7/stappaths.7*
15a9cf
%{_mandir}/man7/warning*
15a9cf
%{_mandir}/man8/stap-server.8*
15a9cf
%if %{with_systemd}
15a9cf
%{_unitdir}/stap-server.service
15a9cf
%{_tmpfilesdir}/stap-server.conf
15a9cf
%else
15a9cf
%{initdir}/stap-server
15a9cf
%dir %{_sysconfdir}/stap-server/conf.d
15a9cf
%config(noreplace) %{_sysconfdir}/sysconfig/stap-server
15a9cf
%endif
15a9cf
%config(noreplace) %{_sysconfdir}/logrotate.d/stap-server
15a9cf
%dir %{_sysconfdir}/stap-server
15a9cf
%dir %attr(0750,stap-server,stap-server) %{_localstatedir}/lib/stap-server
15a9cf
%dir %attr(0700,stap-server,stap-server) %{_localstatedir}/lib/stap-server/.systemtap
15a9cf
%dir %attr(0755,stap-server,stap-server) %{_localstatedir}/log/stap-server
15a9cf
%ghost %config(noreplace) %attr(0644,stap-server,stap-server) %{_localstatedir}/log/stap-server/log
15a9cf
%ghost %attr(0755,stap-server,stap-server) %{_localstatedir}/run/stap-server
15a9cf
%doc README README.unprivileged AUTHORS NEWS 
15a9cf
%{!?_licensedir:%global license %%doc}
15a9cf
%license COPYING
15a9cf
15a9cf
15a9cf
%files devel -f systemtap.lang
15a9cf
%{_bindir}/stap
15a9cf
%{_bindir}/stap-prep
15a9cf
%{_bindir}/stap-report
15a9cf
%dir %{_datadir}/systemtap
15a9cf
%{_datadir}/systemtap/runtime
15a9cf
%{_datadir}/systemtap/tapset
15a9cf
%{_mandir}/man1/stap.1*
15a9cf
%{_mandir}/man1/stap-prep.1*
15a9cf
%{_mandir}/man1/stap-report.1*
15a9cf
%{_mandir}/man7/error*
15a9cf
%{_mandir}/man7/stappaths.7*
15a9cf
%{_mandir}/man7/warning*
15a9cf
%doc README README.unprivileged AUTHORS NEWS 
15a9cf
%{!?_licensedir:%global license %%doc}
15a9cf
%license COPYING
15a9cf
%if %{with_java}
15a9cf
%dir %{_libexecdir}/systemtap
15a9cf
%{_libexecdir}/systemtap/libHelperSDT_*.so
15a9cf
%endif
15a9cf
%if %{with_bundled_elfutils}
15a9cf
%dir %{_libdir}/systemtap
15a9cf
%{_libdir}/systemtap/lib*.so*
15a9cf
%endif
15a9cf
%if %{with_emacsvim}
15a9cf
%{_emacs_sitelispdir}/*.el*
15a9cf
%{_emacs_sitestartdir}/systemtap-init.el
15a9cf
%{_datadir}/vim/vimfiles/*/*.vim
15a9cf
%endif
15a9cf
# Notice that the stap-resolve-module-function.py file is used by
15a9cf
# *both* the python2 and python3 subrpms.  Both subrpms use that same
15a9cf
# python script to help list python probes.
15a9cf
%if %{with_python3_probes} || %{with_python2_probes}
15a9cf
%{_libexecdir}/systemtap/python/stap-resolve-module-function.py
15a9cf
%exclude %{_libexecdir}/systemtap/python/stap-resolve-module-function.py?
15a9cf
%endif
15a9cf
15a9cf
15a9cf
%files runtime -f systemtap.lang
15a9cf
%attr(4110,root,stapusr) %{_bindir}/staprun
15a9cf
%{_bindir}/stapsh
15a9cf
%{_bindir}/stap-merge
15a9cf
%{_bindir}/stap-report
15a9cf
%if %{with_dyninst}
15a9cf
%{_bindir}/stapdyn
15a9cf
%endif
15a9cf
%if %{with_bpf}
15a9cf
%{_bindir}/stapbpf
15a9cf
%endif
15a9cf
%dir %{_libexecdir}/systemtap
15a9cf
%{_libexecdir}/systemtap/stapio
15a9cf
%{_libexecdir}/systemtap/stap-authorize-cert
15a9cf
%if %{with_crash}
15a9cf
%dir %{_libdir}/systemtap
15a9cf
%{_libdir}/systemtap/staplog.so*
15a9cf
%endif
15a9cf
%{_mandir}/man1/stap-report.1*
15a9cf
%{_mandir}/man7/error*
15a9cf
%{_mandir}/man7/stappaths.7*
15a9cf
%{_mandir}/man7/warning*
15a9cf
%{_mandir}/man8/stapsh.8*
15a9cf
%{_mandir}/man8/staprun.8*
15a9cf
%if %{with_dyninst}
15a9cf
%{_mandir}/man8/stapdyn.8*
15a9cf
%endif
15a9cf
%if %{with_bpf}
15a9cf
%{_mandir}/man8/stapbpf.8*
15a9cf
%endif
15a9cf
%doc README README.security AUTHORS NEWS 
15a9cf
%{!?_licensedir:%global license %%doc}
15a9cf
%license COPYING
15a9cf
15a9cf
15a9cf
%files client -f systemtap.lang
15a9cf
%doc README README.unprivileged AUTHORS NEWS
15a9cf
%{_datadir}/systemtap/examples
15a9cf
%{!?_licensedir:%global license %%doc}
15a9cf
%license COPYING
15a9cf
%doc docs.installed/*.pdf
15a9cf
%if %{with_docs}
15a9cf
%if %{with_htmldocs}
15a9cf
%doc docs.installed/tapsets/*.html
15a9cf
%doc docs.installed/SystemTap_Beginners_Guide
15a9cf
%endif
15a9cf
%endif
15a9cf
%{_bindir}/stap
15a9cf
%{_bindir}/stap-prep
15a9cf
%{_bindir}/stap-report
15a9cf
%{_mandir}/man1/stap.1*
15a9cf
%{_mandir}/man1/stap-prep.1*
15a9cf
%{_mandir}/man1/stap-merge.1*
15a9cf
%{_mandir}/man1/stap-report.1*
15a9cf
%{_mandir}/man1/stapref.1*
15a9cf
%{_mandir}/man3/*
15a9cf
%{_mandir}/man7/error*
15a9cf
%{_mandir}/man7/stappaths.7*
15a9cf
%{_mandir}/man7/warning*
15a9cf
%dir %{_datadir}/systemtap
15a9cf
%{_datadir}/systemtap/tapset
15a9cf
15a9cf
15a9cf
15a9cf
%files initscript
15a9cf
%if %{with_systemd}
15a9cf
%{_unitdir}/systemtap.service
15a9cf
%{_sbindir}/systemtap-service
15a9cf
%else
15a9cf
%{initdir}/systemtap
15a9cf
%{_sbindir}/systemtap-service
15a9cf
%endif
15a9cf
%dir %{_sysconfdir}/systemtap
15a9cf
%dir %{_sysconfdir}/systemtap/conf.d
15a9cf
%dir %{_sysconfdir}/systemtap/script.d
15a9cf
%config(noreplace) %{_sysconfdir}/systemtap/config
15a9cf
%dir %{_localstatedir}/cache/systemtap
15a9cf
%ghost %{_localstatedir}/run/systemtap
15a9cf
%{_mandir}/man8/systemtap-service.8*
15a9cf
%if %{with_dracut}
15a9cf
   %dir %{dracutstap}
15a9cf
   %{dracutstap}/*
15a9cf
%endif
15a9cf
15a9cf
15a9cf
%files sdt-devel
15a9cf
%{_bindir}/dtrace
15a9cf
%{_includedir}/sys/sdt.h
15a9cf
%{_includedir}/sys/sdt-config.h
15a9cf
%{_mandir}/man1/dtrace.1*
15a9cf
%{_rpmmacrodir}/macros.systemtap
15a9cf
%doc README AUTHORS NEWS 
15a9cf
%{!?_licensedir:%global license %%doc}
15a9cf
%license COPYING
15a9cf
15a9cf
15a9cf
%files testsuite
15a9cf
%dir %{_datadir}/systemtap
15a9cf
%{_datadir}/systemtap/testsuite
15a9cf
15a9cf
15a9cf
%if %{with_java}
15a9cf
%files runtime-java
15a9cf
%dir %{_libexecdir}/systemtap
15a9cf
%{_libexecdir}/systemtap/libHelperSDT_*.so
15a9cf
%{_libexecdir}/systemtap/HelperSDT.jar
15a9cf
%{_libexecdir}/systemtap/stapbm
15a9cf
%endif
15a9cf
15a9cf
%if %{with_python2_probes}
15a9cf
%files runtime-python2
15a9cf
%{python_sitearch}/HelperSDT
15a9cf
%{python_sitearch}/HelperSDT-*.egg-info
15a9cf
%endif
15a9cf
%if %{with_python3_probes}
15a9cf
%files runtime-python3
15a9cf
%{python3_sitearch}/HelperSDT
15a9cf
%{python3_sitearch}/HelperSDT-*.egg-info
15a9cf
%endif
15a9cf
15a9cf
%if %{with_virthost}
15a9cf
%files runtime-virthost
15a9cf
%{_mandir}/man1/stapvirt.1*
15a9cf
%{_bindir}/stapvirt
15a9cf
%endif
15a9cf
15a9cf
%if %{with_virtguest}
15a9cf
%files runtime-virtguest
15a9cf
%if %{with_systemd}
15a9cf
   %{udevrulesdir}/99-stapsh.rules
15a9cf
   %{_unitdir}/stapsh@.service
15a9cf
%else
15a9cf
   %{udevrulesdir}/99-stapsh-init.rules
15a9cf
   %dir %{_libexecdir}/systemtap
15a9cf
   %{_libexecdir}/systemtap/stapsh-daemon
15a9cf
   %{initdir}/stapshd
15a9cf
   %{_sysconfdir}/sysconfig/modules/virtio_console.modules
15a9cf
%endif
15a9cf
%endif
15a9cf
15a9cf
%if %{with_python3}
15a9cf
%files exporter
15a9cf
%{_sysconfdir}/stap-exporter
15a9cf
%{_sysconfdir}/sysconfig/stap-exporter
15a9cf
%{_unitdir}/stap-exporter.service
15a9cf
%{_mandir}/man8/stap-exporter.8*
15a9cf
%{_sbindir}/stap-exporter
15a9cf
%endif
15a9cf
15a9cf
# ------------------------------------------------------------------------
15a9cf
15a9cf
# Future new-release entries should be of the form
15a9cf
# * DDD MMM DD YYYY YOURNAME <YOUREMAIL> - V-R
15a9cf
# - Upstream release, see wiki page below for detailed notes.
15a9cf
#   http://sourceware.org/systemtap/wiki/SystemTapReleases
15a9cf
15a9cf
# PRERELEASE
15a9cf
%changelog
a90a5e
* Tue Nov 19 2019 Frank Ch. Eigler <fche@redhat.com> - 4.2-1
a90a5e
- rhbz1744989: Upstream release.
a90a5e
a90a5e
* Tue Aug 06 2019 Frank Ch. Eigler <fche@redhat.com> - 4.1-6
a90a5e
- rhbz1732514: add java-devel prereq to systemtap-runtime-java
a90a5e
a90a5e
* Wed Jul 31 2019 Serguei Makarov <smakarov@redhat.com> - 4.1-5
a90a5e
- rhbz1734973: Fix possible stapbpf segfault with foreach string key iteration.
a90a5e
a90a5e
* Mon Jul 29 2019 Frank Ch. Eigler <fche@redhat.com> - 4.1-4
a90a5e
- rhbz1732173 (arm64 syscall parameters)
a90a5e
15a9cf
* Tue Jun 04 2019 Stan Cox <scox@redhat.com> - 4.1-3
15a9cf
- Rebuilt for dyninst 10.1.0
15a9cf
15a9cf
* Tue May 14 2019 Frank Ch. Eigler <fche@redhat.com> - 4.1-2
15a9cf
- Correct GNU_parameter_ref dwarf feature typo.
15a9cf
15a9cf
* Tue May 07 2019 Serguei Makarov <smakarov@redhat.com> - 4.1-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Mon Dec 17 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-7
15a9cf
- rhbz1657909: vfs tapset fixes for $cred
15a9cf
15a9cf
* Mon Dec 10 2018 William Cohen <wcohen@redhat.com> - 4.0-6
15a9cf
- rhbz1657857: Please, backport periodic.stp from current upstream aacee6563.
15a9cf
15a9cf
* Fri Dec 07 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-5
15a9cf
- rhbz1657186: fix/port nfsd.proc4.[read,commit] tapset aliases
15a9cf
15a9cf
* Thu Dec 06 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-4
15a9cf
- rhbz1656795: support bdflush syscall
15a9cf
15a9cf
* Tue Dec 04 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-3
15a9cf
- rhbz1655631: change kernel-devel* deps to Recommends:
15a9cf
15a9cf
* Wed Nov 14 2018 Serhei Makarov <smakarov@redhat.com> - 4.0-2
15a9cf
- rhbz1643997: backported string tapset functionality and bugfixes
15a9cf
15a9cf
* Sat Oct 13 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Thu Aug 30 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-0.20180830git
15a9cf
- Enable brp-mangle for python scripts (rhbz1619413).
15a9cf
15a9cf
* Fri Aug 10 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-0.20180810git
15a9cf
- Automated weekly rawhide release
15a9cf
- Applied spec changes from upstream git
15a9cf
15a9cf
* Mon May 14 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-0.20180508git9c6ac6cda49e.2
15a9cf
- respin w/ fixed glibc
15a9cf
15a9cf
* Tue May 08 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-0.20180508git9c6ac6cda49e
15a9cf
- Automated weekly rawhide release
15a9cf
- Applied spec changes from upstream git
15a9cf
15a9cf
* Thu Apr 19 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.2-11
15a9cf
- Add rhbz1549063.patch (/bin/env -> /usr/bin/env)
15a9cf
- Add rhbz1566745.patch (4.15 kernel tapset updates)
15a9cf
- Enable accidentially disabled Suggests: kernel-devel again.
15a9cf
15a9cf
* Wed Apr 18 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.2-10
15a9cf
- Add unwind-fallback.patch
15a9cf
- rhbz1566422.patch
15a9cf
15a9cf
* Tue Apr 17 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.2-9
15a9cf
- Add unwind-fallback.patch.
15a9cf
15a9cf
* Tue Mar 27 2018 Björn Esser <besser82@fedoraproject.org> - 3.2-8
15a9cf
- Rebuilt for libjson-c.so.4 (json-c v0.13.1) on fc28
15a9cf
15a9cf
* Thu Feb 22 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 3.2-7
15a9cf
- rhbz1546563 (backport fix for removed timers in kernel 4.15)
15a9cf
15a9cf
* Tue Feb 13 2018 Stan Cox <scox@redhat.com> - 3.2-6
15a9cf
- rebuilt
15a9cf
15a9cf
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.2-5
15a9cf
- Escape macros in %%changelog
15a9cf
15a9cf
* Wed Feb 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.2-4
15a9cf
- Fix very old Requires
15a9cf
15a9cf
* Sun Dec 10 2017 Björn Esser <besser82@fedoraproject.org> - 3.2-3
15a9cf
- Rebuilt for libjson-c.so.3
15a9cf
15a9cf
* Fri Oct 20 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-2 
15a9cf
- rhbz1504009 (dtrace -G -o /dev/null)
15a9cf
15a9cf
* Wed Oct 18 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Fri Aug 11 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.2-0.20170516gitc67d8f274b21
15a9cf
- Rebuilt after RPM update (â„– 3)
15a9cf
15a9cf
* Thu Aug 10 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.2-0.20170515gitc67d8f274b21
15a9cf
- Rebuilt for RPM soname bump
15a9cf
15a9cf
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-0.20170514gitc67d8f274b21
15a9cf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
15a9cf
15a9cf
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-0.20170513gitc67d8f274b21
15a9cf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
15a9cf
15a9cf
* Fri May 12 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-0.20170512gitc67d8f274b21
15a9cf
- Automated weekly rawhide release
15a9cf
- Applied spec changes from upstream git
15a9cf
15a9cf
* Mon Apr 10 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-0.20170410gitcbf2583808d6
15a9cf
- Automated weekly rawhide release
15a9cf
- Applied spec changes from upstream git
15a9cf
15a9cf
* Thu Apr 06 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-0.20170406git83d186dc7f5c
15a9cf
- Automated weekly rawhide release
15a9cf
- Applied spec changes from upstream git
15a9cf
15a9cf
* Tue Mar 21 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-0.20170321git272146660f54
15a9cf
- Automated weekly rawhide release
15a9cf
- Applied spec changes from upstream git
15a9cf
15a9cf
* Fri Mar 10 2017 Stan Cox <scox@redhat.com> - 3.1-2
15a9cf
- Rebuild for dyninst 9.3
15a9cf
15a9cf
* Fri Feb 17 2017 Frank Ch. Eigler <fche@redhat.com> - 3.1-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Sun Mar 27 2016 Frank Ch. Eigler <fche@redhat.com> - 3.0-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Thu Oct 08 2015 Frank Ch. Eigler <fche@redhat.com> - 2.9-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Wed Jun 17 2015 Abegail Jakop <ajakop@redhat.com> - 2.8-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Wed Feb 18 2015 Frank Ch. Eigler <fche@redhat.com> - 2.7-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Fri Sep 05 2014 Josh Stone <jistone@redhat.com> - 2.6-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Mon Jul 07 2014 Josh Stone <jistone@redhat.com>
15a9cf
- Flip with_dyninst to an %%ifarch whitelist.
15a9cf
15a9cf
* Wed Apr 30 2014 Jonathan Lebon <jlebon@redhat.com> - 2.5-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Thu Feb 13 2014 Lukas Berk <lberk@redhat.com>
15a9cf
- Add directory checks for runtime-java sym links
15a9cf
15a9cf
* Mon Jan 06 2014 Jonathan Lebon <jlebon@redhat.com>
15a9cf
- Added dracut module to initscript package
15a9cf
15a9cf
* Wed Nov 06 2013 Frank Ch. Eigler <fche@redhat.com> - 2.4-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Wed Oct 09 2013 Jonathan Lebon <jlebon@redhat.com>
15a9cf
- Added runtime-virthost and runtime-virtguest packages.
15a9cf
15a9cf
* Thu Jul 25 2013 Frank Ch. Eigler <fche@redhat.com> - 2.3-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Thu May 16 2013 Frank Ch. Eigler <fche@redhat.com> - 2.2.1-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Tue May 14 2013 Frank Ch. Eigler <fche@redhat.com> - 2.2-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Wed Feb 13 2013 Serguei Makarov <smakarov@redhat.com> - 2.1-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Tue Oct 09 2012 Josh Stone <jistone@redhat.com> - 2.0-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Fri Jul 13 2012 Peter Robinson <pbrobinson@fedoraproject.org>
15a9cf
- Fix ifarch statement
15a9cf
- use file based requires for glibc-devel on x86_64 so that we work in koji
15a9cf
15a9cf
* Sun Jun 17 2012 Frank Ch. Eigler <fche@redhat.com> - 1.8-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Wed Feb 01 2012 Frank Ch. Eigler <fche@redhat.com> - 1.7-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Fri Jan 13 2012 David Smith <dsmith@redhat.com> - 1.6-2
15a9cf
- Fixed /bin/mktemp require.
15a9cf
15a9cf
* Mon Jul 25 2011 Stan Cox <scox@redhat.com> - 1.6-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Mon May 23 2011 Stan Cox <scox@redhat.com> - 1.5-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Mon Jan 17 2011 Frank Ch. Eigler <fche@redhat.com> - 1.4-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Wed Jul 21 2010 Josh Stone <jistone@redhat.com> - 1.3-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Mon Mar 22 2010 Frank Ch. Eigler <fche@redhat.com> - 1.2-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Mon Dec 21 2009 David Smith <dsmith@redhat.com> - 1.1-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Tue Sep 22 2009 Josh Stone <jistone@redhat.com> - 1.0-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Tue Aug  4 2009 Josh Stone <jistone@redhat.com> - 0.9.9-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Thu Jun 11 2009 Josh Stone <jistone@redhat.com> - 0.9.8-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Thu Apr 23 2009 Josh Stone <jistone@redhat.com> - 0.9.7-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Fri Mar 27 2009 Josh Stone <jistone@redhat.com> - 0.9.5-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Wed Mar 18 2009 Will Cohen <wcohen@redhat.com> - 0.9-2
15a9cf
- Add location of man pages.
15a9cf
15a9cf
* Tue Feb 17 2009 Frank Ch. Eigler <fche@redhat.com> - 0.9-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Thu Nov 13 2008 Frank Ch. Eigler <fche@redhat.com> - 0.8-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Tue Jul 15 2008 Frank Ch. Eigler <fche@redhat.com> - 0.7-1
15a9cf
- Upstream release.
15a9cf
15a9cf
* Fri Feb  1 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-3
15a9cf
- Add zlib-devel to buildreq; missing from crash-devel
15a9cf
- Process testsuite .stp files for #!stap->#!/usr/bin/stap
15a9cf
15a9cf
* Fri Jan 18 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-1
15a9cf
- Add crash-devel buildreq to build staplog.so crash(8) module.
15a9cf
- Many robustness & functionality improvements:
15a9cf
15a9cf
* Wed Dec  5 2007 Will Cohen <wcohen@redhat.com> - 0.6-2
15a9cf
- Correct Source to point to location contain code.
15a9cf
15a9cf
* Thu Aug  9 2007 David Smith <dsmith@redhat.com> - 0.6-1
15a9cf
- Bumped version, added libcap-devel BuildRequires.
15a9cf
15a9cf
* Wed Jul 11 2007 Will Cohen <wcohen@redhat.com> - 0.5.14-2
15a9cf
- Fix Requires and BuildRequires for sqlite.
15a9cf
15a9cf
* Mon Jul  2 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.14-1
15a9cf
- Many robustness improvements: 1117, 1134, 1305, 1307, 1570, 1806,
15a9cf
  2033, 2116, 2224, 2339, 2341, 2406, 2426, 2438, 2583, 3037,
15a9cf
  3261, 3282, 3331, 3428 3519, 3545, 3625, 3648, 3880, 3888, 3911,
15a9cf
  3952, 3965, 4066, 4071, 4075, 4078, 4081, 4096, 4119, 4122, 4127,
15a9cf
  4146, 4171, 4179, 4183, 4221, 4224, 4254, 4281, 4319, 4323, 4326,
15a9cf
  4329, 4332, 4337, 4415, 4432, 4444, 4445, 4458, 4467, 4470, 4471,
15a9cf
  4518, 4567, 4570, 4579, 4589, 4609, 4664
15a9cf
15a9cf
* Mon Mar 26 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.13-1
15a9cf
- An emergency / preliminary refresh, mainly for compatibility
15a9cf
  with 2.6.21-pre kernels.
15a9cf
15a9cf
* Mon Jan  1 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.12-1
15a9cf
- Many changes, see NEWS file.
15a9cf
15a9cf
* Tue Sep 26 2006 David Smith <dsmith@redhat.com> - 0.5.10-1
15a9cf
- Added 'systemtap-runtime' subpackage.
15a9cf
15a9cf
* Wed Jul 19 2006 Roland McGrath <roland@redhat.com> - 0.5.9-1
15a9cf
- PRs 2669, 2913
15a9cf
15a9cf
* Fri Jun 16 2006 Roland McGrath <roland@redhat.com> - 0.5.8-1
15a9cf
- PRs 2627, 2520, 2228, 2645
15a9cf
15a9cf
* Fri May  5 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.7-1
15a9cf
- PRs 2511 2453 2307 1813 1944 2497 2538 2476 2568 1341 2058 2220 2437
15a9cf
  1326 2014 2599 2427 2438 2465 1930 2149 2610 2293 2634 2506 2433
15a9cf
15a9cf
* Tue Apr  4 2006 Roland McGrath <roland@redhat.com> - 0.5.5-1
15a9cf
- Many changes, affected PRs include: 2068, 2293, 1989, 2334,
15a9cf
  1304, 2390, 2425, 953.
15a9cf
15a9cf
* Wed Feb  1 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.4-1
15a9cf
- PRs 1916, 2205, 2142, 2060, 1379
15a9cf
15a9cf
* Mon Jan 16 2006 Roland McGrath <roland@redhat.com> - 0.5.3-1
15a9cf
- Many changes, affected PRs include: 2056, 1144, 1379, 2057,
15a9cf
  2060, 1972, 2140, 2148
15a9cf
15a9cf
* Mon Dec 19 2005 Roland McGrath <roland@redhat.com> - 0.5.2-1
15a9cf
- Fixed build with gcc 4.1, various tapset changes.
15a9cf
15a9cf
* Wed Dec  7 2005 Roland McGrath <roland@redhat.com> - 0.5.1-1
15a9cf
- elfutils update, build changes
15a9cf
15a9cf
* Fri Dec 02 2005  Frank Ch. Eigler  <fche@redhat.com> - 0.5-1
15a9cf
- Many fixes and improvements: 1425, 1536, 1505, 1380, 1329, 1828, 1271,
15a9cf
  1339, 1340, 1345, 1837, 1917, 1903, 1336, 1868, 1594, 1564, 1276, 1295
15a9cf
15a9cf
* Mon Oct 31 2005 Roland McGrath <roland@redhat.com> - 0.4.2-1
15a9cf
- Many fixes and improvements: PRs 1344, 1260, 1330, 1295, 1311, 1368,
15a9cf
  1182, 1131, 1332, 1366, 1456, 1271, 1338, 1482, 1477, 1194.
15a9cf
15a9cf
* Wed Sep 14 2005 Roland McGrath <roland@redhat.com> - 0.4.1-1
15a9cf
- Many fixes and improvements since 0.2.2; relevant PRs include:
15a9cf
  1122, 1134, 1155, 1172, 1174, 1175, 1180, 1186, 1187, 1191, 1193, 1195,
15a9cf
  1197, 1205, 1206, 1209, 1213, 1244, 1257, 1258, 1260, 1265, 1268, 1270,
15a9cf
  1289, 1292, 1306, 1335, 1257
15a9cf
15a9cf
* Wed Sep  7 2005 Frank Ch. Eigler <fche@redhat.com>
15a9cf
- Bump version.
15a9cf
15a9cf
* Tue Aug 16 2005 Frank Ch. Eigler <fche@redhat.com>
15a9cf
- Bump version.
15a9cf
15a9cf
* Wed Aug  3 2005 Martin Hunt <hunt@redhat.com> - 0.2.2-1
15a9cf
- Add directory /var/cache/systemtap
15a9cf
- Add stp_check to /usr/libexec/systemtap
15a9cf
15a9cf
* Wed Aug  3 2005 Roland McGrath <roland@redhat.com> - 0.2.1-1
15a9cf
- New version 0.2.1, various fixes.
15a9cf
15a9cf
* Fri Jul 29 2005 Roland McGrath <roland@redhat.com> - 0.2-1
15a9cf
- New version 0.2, requires elfutils 0.111
15a9cf
15a9cf
* Mon Jul 25 2005 Roland McGrath <roland@redhat.com>
15a9cf
- Clean up spec file, build bundled elfutils.
15a9cf
15a9cf
* Thu Jul 21 2005 Martin Hunt <hunt@redhat.com>
15a9cf
- Set Version to use version from autoconf.
15a9cf
- Fix up some of the path names.
15a9cf
- Add Requires and BuildRequires.
15a9cf
15a9cf
* Tue Jul 19 2005 Will Cohen <wcohen@redhat.com>
15a9cf
- Initial creation of RPM.