045c8b
%{!?with_sqlite: %global with_sqlite 0%{?fedora} >= 17 || 0%{?rhel} >= 7}
045c8b
# prefer prebuilt docs
045c8b
%{!?with_docs: %global with_docs 0}
045c8b
%{!?with_htmldocs: %global with_htmldocs 0}
045c8b
%{!?with_monitor: %global with_monitor 1}
045c8b
# crash is not available
045c8b
%ifarch ppc ppc64 %{sparc} %{mips} %{riscv}
045c8b
%{!?with_crash: %global with_crash 0}
045c8b
%else
045c8b
%{!?with_crash: %global with_crash 1}
045c8b
%endif
045c8b
%{!?with_rpm: %global with_rpm 1}
045c8b
%{!?elfutils_version: %global elfutils_version 0.179}
045c8b
%{!?with_boost: %global with_boost 0}
045c8b
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64
045c8b
%{!?with_dyninst: %global with_dyninst 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
045c8b
%else
045c8b
%{!?with_dyninst: %global with_dyninst 0}
045c8b
%endif
045c8b
%{!?with_bpf: %global with_bpf 0%{?fedora} >= 22 || 0%{?rhel} >= 8}
045c8b
%{!?with_systemd: %global with_systemd 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
045c8b
%{!?with_emacsvim: %global with_emacsvim 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
254133
%ifarch %{ix86}
254133
%{!?with_java: %global with_java 0}
254133
%else
045c8b
%{!?with_java: %global with_java 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
254133
%endif
045c8b
%{!?with_debuginfod: %global with_debuginfod 0%{?fedora} >= 25 || 0%{?rhel} >= 7}
045c8b
%{!?with_virthost: %global with_virthost 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
045c8b
%{!?with_virtguest: %global with_virtguest 1}
045c8b
%{!?with_dracut: %global with_dracut 0%{?fedora} >= 19 || 0%{?rhel} >= 6}
045c8b
%ifarch x86_64
045c8b
%{!?with_mokutil: %global with_mokutil 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
045c8b
%{!?with_openssl: %global with_openssl 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
045c8b
%else
045c8b
%{!?with_mokutil: %global with_mokutil 0}
045c8b
%{!?with_openssl: %global with_openssl 0}
045c8b
%endif
045c8b
%{!?with_pyparsing: %global with_pyparsing 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
045c8b
%{!?with_python3: %global with_python3 0%{?fedora} >= 23 || 0%{?rhel} > 7}
045c8b
%{!?with_python2_probes: %global with_python2_probes (0%{?fedora} <= 28 && 0%{?rhel} <= 7)}
045c8b
%{!?with_python3_probes: %global with_python3_probes (0%{?fedora} >= 23 || 0%{?rhel} > 7)}
045c8b
%{!?with_httpd: %global with_httpd 0}
045c8b
%{!?with_specific_python: %global with_specific_python 0%{?fedora} >= 31}
045c8b
%{!?with_sysusers: %global with_sysusers 0%{?fedora} >= 32 || 0%{?rhel} >= 9}
045c8b
045c8b
# Virt is supported on these arches, even on el7, but it's not in core EL7
045c8b
%if 0%{?rhel} <= 7
045c8b
%ifarch ppc64le aarch64
045c8b
%global with_virthost 0
045c8b
%endif
045c8b
%endif
045c8b
045c8b
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 6
045c8b
   %define initdir %{_initddir}
045c8b
%else
045c8b
   # RHEL5 doesn't know _initddir
045c8b
   %define initdir %{_initrddir}
045c8b
%endif
045c8b
045c8b
%if %{with_virtguest}
045c8b
   %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
045c8b
      %define udevrulesdir /usr/lib/udev/rules.d
045c8b
   %else
045c8b
      %if 0%{?rhel} >= 6
045c8b
         %define udevrulesdir /lib/udev/rules.d
045c8b
      %else
045c8b
         # RHEL5
045c8b
         %define udevrulesdir /etc/udev/rules.d
045c8b
      %endif
045c8b
   %endif
045c8b
%endif
045c8b
045c8b
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
045c8b
   %define dracutstap %{_prefix}/lib/dracut/modules.d/99stap
045c8b
%else
045c8b
   %define dracutstap %{_prefix}/share/dracut/modules.d/99stap
045c8b
%endif
045c8b
045c8b
%if 0%{?rhel} == 6 || 0%{?rhel} == 7
045c8b
    %define dracutbindir /sbin
045c8b
%else
045c8b
    %define dracutbindir %{_bindir}
045c8b
%endif
045c8b
045c8b
%if 0%{?rhel} == 6
045c8b
    %{!?_rpmmacrodir: %define _rpmmacrodir /etc/rpm/}
045c8b
%else
045c8b
    %{!?_rpmmacrodir: %define _rpmmacrodir %{_rpmconfigdir}/macros.d}
045c8b
%endif
045c8b
045c8b
# To avoid testsuite/*/*.stp has shebang which doesn't start with '/'
045c8b
%define __brp_mangle_shebangs_exclude_from .stp$
045c8b
045c8b
%define _systemtap_runtime_preinstall \
045c8b
# See systemd-sysusers(8) sysusers.d(5)\
045c8b
\
045c8b
g     stapusr  156\
045c8b
g     stapsys  157\
045c8b
g     stapdev  158
045c8b
045c8b
%define _systemtap_server_preinstall \
045c8b
# See systemd-sysusers(8) sysusers.d(5)\
045c8b
\
045c8b
g     stap-server  -\
045c8b
u     stap-server  -      "systemtap compiler server"   /var/lib/stap-server   /sbin/nologin\
045c8b
m     stap-server stap-server
045c8b
045c8b
045c8b
%define _systemtap_testsuite_preinstall \
045c8b
# See systemd-sysusers(8) sysusers.d(5)\
045c8b
\
045c8b
u     stapusr  -          "systemtap testsuite user"    /   /sbin/nologin\
045c8b
u     stapsys  -          "systemtap testsuite user"    /   /sbin/nologin\
045c8b
u     stapdev  -          "systemtap testsuite user"    /   /sbin/nologin\
045c8b
m     stapusr  stapusr\
045c8b
m     stapsys  stapusr\
045c8b
m     stapsys  stapsys\
045c8b
m     stapdev  stapusr\
045c8b
m     stapdev  stapdev
045c8b
045c8b
045c8b
Name: systemtap
254133
Version: 4.8
c65db7
Release: 2%{?release_override}%{?dist}
045c8b
# for version, see also configure.ac
045c8b
045c8b
045c8b
# Packaging abstract:
045c8b
#
045c8b
# systemtap              empty req:-client req:-devel
045c8b
# systemtap-server       /usr/bin/stap-server*, req:-devel
045c8b
# systemtap-devel        /usr/bin/stap, runtime, tapset, req:kernel-devel
045c8b
# systemtap-runtime      /usr/bin/staprun, /usr/bin/stapsh, /usr/bin/stapdyn
045c8b
# systemtap-client       /usr/bin/stap, samples, docs, tapset(bonus), req:-runtime
045c8b
# systemtap-initscript   /etc/init.d/systemtap, dracut module, req:systemtap
045c8b
# systemtap-sdt-devel    /usr/include/sys/sdt.h /usr/bin/dtrace
045c8b
# systemtap-testsuite    /usr/share/systemtap/testsuite*, req:systemtap, req:sdt-devel
045c8b
# systemtap-runtime-java libHelperSDT.so, HelperSDT.jar, stapbm, req:-runtime
045c8b
# systemtap-runtime-virthost  /usr/bin/stapvirt, req:libvirt req:libxml2
045c8b
# systemtap-runtime-virtguest udev rules, init scripts/systemd service, req:-runtime
045c8b
# systemtap-runtime-python2 HelperSDT python2 module, req:-runtime
045c8b
# systemtap-runtime-python3 HelperSDT python3 module, req:-runtime
045c8b
#
045c8b
# Typical scenarios:
045c8b
#
045c8b
# stap-client:           systemtap-client
045c8b
# stap-server:           systemtap-server
045c8b
# local user:            systemtap
045c8b
#
045c8b
# Unusual scenarios:
045c8b
#
045c8b
# intermediary stap-client for --remote:       systemtap-client (-runtime unused)
045c8b
# intermediary stap-server for --use-server:   systemtap-server (-devel unused)
045c8b
045c8b
Summary: Programmable system-wide instrumentation system
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
045c8b
254133
Patch1: rhbz1997192.patch
254133
Patch2: rhbz2145242.patch
254133
Patch3: rhbz2149223.patch
254133
Patch4: rhbz2149666.patch
254133
Patch5: rhbz2154430.patch
254133
254133
045c8b
045c8b
# Build*
045c8b
BuildRequires: make
045c8b
BuildRequires: gcc-c++
045c8b
BuildRequires: cpio
045c8b
BuildRequires: gettext-devel
045c8b
BuildRequires: pkgconfig(nss)
045c8b
BuildRequires: pkgconfig(avahi-client)
045c8b
%if %{with_debuginfod}
045c8b
BuildRequires: pkgconfig(libdebuginfod)
045c8b
%endif
045c8b
%if %{with_dyninst}
045c8b
BuildRequires: dyninst-devel >= 10.0
045c8b
BuildRequires: pkgconfig(libselinux)
045c8b
%endif
045c8b
%if %{with_sqlite}
045c8b
BuildRequires: sqlite-devel > 3.7
045c8b
%endif
045c8b
%if %{with_monitor}
045c8b
BuildRequires: pkgconfig(json-c)
045c8b
BuildRequires: pkgconfig(ncurses)
045c8b
%endif
045c8b
%if %{with_systemd}
045c8b
BuildRequires: systemd
045c8b
%endif
045c8b
# Needed for libstd++ < 4.0, without <tr1/memory>
045c8b
%if %{with_boost}
045c8b
BuildRequires: boost-devel
045c8b
%endif
045c8b
%if %{with_crash}
045c8b
BuildRequires: crash-devel zlib-devel
045c8b
%endif
045c8b
%if %{with_rpm}
045c8b
BuildRequires: rpm-devel
045c8b
%endif
045c8b
BuildRequires: elfutils-devel >= %{elfutils_version}
045c8b
%if %{with_docs}
045c8b
BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf
045c8b
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
045c8b
BuildRequires: tex(fullpage.sty) tex(fancybox.sty) tex(bchr7t.tfm) tex(graphicx.sty)
045c8b
%endif
045c8b
%if %{with_htmldocs}
045c8b
# On F10, xmlto's pdf support was broken off into a sub-package,
045c8b
# called 'xmlto-tex'.  To avoid a specific F10 BuildReq, we'll do a
045c8b
# file-based buildreq on '/usr/share/xmlto/format/fo/pdf'.
045c8b
BuildRequires: xmlto /usr/share/xmlto/format/fo/pdf
045c8b
%endif
045c8b
%endif
045c8b
%if %{with_emacsvim}
045c8b
# for _emacs_sitelispdir macros etc.
045c8b
BuildRequires: emacs
045c8b
%endif
045c8b
%if %{with_java}
045c8b
BuildRequires: java-devel
045c8b
%endif
045c8b
%if %{with_virthost}
045c8b
# BuildRequires: libvirt-devel >= 1.0.2
045c8b
BuildRequires: pkgconfig(libvirt)
045c8b
BuildRequires: pkgconfig(libxml-2.0)
045c8b
%endif
045c8b
BuildRequires: readline-devel
045c8b
%if 0%{?rhel} <= 5
045c8b
BuildRequires: pkgconfig(ncurses)
045c8b
%endif
045c8b
%if %{with_python2_probes}
045c8b
BuildRequires: python2-devel
045c8b
%if 0%{?fedora} >= 1
045c8b
BuildRequires: python2-setuptools
045c8b
%else
045c8b
BuildRequires: python-setuptools
045c8b
%endif
045c8b
%endif
045c8b
%if %{with_python3}
045c8b
BuildRequires: python3
045c8b
%endif
045c8b
%if %{with_python3_probes}
045c8b
BuildRequires: python3-devel
045c8b
BuildRequires: python3-setuptools
045c8b
%endif
045c8b
045c8b
%if %{with_httpd}
045c8b
BuildRequires: libmicrohttpd-devel
045c8b
BuildRequires: libuuid-devel
045c8b
%endif
045c8b
%if %{with_sysusers}
045c8b
BuildRequires:  systemd-rpm-macros
045c8b
%endif
045c8b
045c8b
045c8b
# Install requirements
045c8b
Requires: systemtap-client = %{version}-%{release}
045c8b
Requires: systemtap-devel = %{version}-%{release}
045c8b
045c8b
%description
045c8b
SystemTap is an instrumentation system for systems running Linux.
045c8b
Developers can write instrumentation scripts to collect data on
045c8b
the operation of the system.  The base systemtap package contains/requires
045c8b
the components needed to locally develop and execute systemtap scripts.
045c8b
045c8b
# ------------------------------------------------------------------------
045c8b
045c8b
%package server
045c8b
Summary: Instrumentation System Server
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires: systemtap-devel = %{version}-%{release}
045c8b
Conflicts: systemtap-devel < %{version}-%{release}
045c8b
Conflicts: systemtap-runtime < %{version}-%{release}
045c8b
Conflicts: systemtap-client < %{version}-%{release}
045c8b
Requires: nss coreutils
045c8b
Requires: zip unzip
045c8b
Requires(pre): shadow-utils
045c8b
BuildRequires: nss-devel avahi-devel
045c8b
%if %{with_openssl}
045c8b
Requires: openssl
045c8b
%endif
045c8b
%if %{with_systemd}
045c8b
Requires: systemd
045c8b
%else
045c8b
Requires(post): chkconfig
045c8b
Requires(preun): chkconfig
045c8b
Requires(preun): initscripts
045c8b
Requires(postun): initscripts
045c8b
%endif
045c8b
045c8b
%description server
045c8b
This is the remote script compilation server component of systemtap.
045c8b
It announces itself to nearby clients with avahi (if available), and
045c8b
compiles systemtap scripts to kernel objects on their demand.
045c8b
045c8b
045c8b
%package devel
045c8b
Summary: Programmable system-wide instrumentation system - development headers, tools
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
045c8b
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
045c8b
Recommends: (kernel-debug-devel if kernel-debug)
045c8b
Recommends: (kernel-devel if kernel)
045c8b
%else
045c8b
Requires: kernel-devel-uname-r
045c8b
%endif
045c8b
045c8b
Requires: gcc make
045c8b
# for compiling --runtime=dyninst sripts, need elfutils headers, bz1930973
045c8b
Requires: elfutils-devel >= %{elfutils_version}
045c8b
045c8b
Conflicts: systemtap-client < %{version}-%{release}
045c8b
Conflicts: systemtap-server < %{version}-%{release}
045c8b
Conflicts: systemtap-runtime < %{version}-%{release}
045c8b
# Suggest: kernel-debuginfo
045c8b
045c8b
%description devel
045c8b
This package contains the components needed to compile a systemtap
045c8b
script from source form into executable (.ko) forms.  It may be
045c8b
installed on a self-contained developer workstation (along with the
045c8b
systemtap-client and systemtap-runtime packages), or on a dedicated
045c8b
remote server (alongside the systemtap-server package).  It includes
045c8b
a copy of the standard tapset library and the runtime library C files.
045c8b
045c8b
045c8b
%package runtime
045c8b
Summary: Programmable system-wide instrumentation system - runtime
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires(pre): shadow-utils
045c8b
Conflicts: systemtap-devel < %{version}-%{release}
045c8b
Conflicts: systemtap-server < %{version}-%{release}
045c8b
Conflicts: systemtap-client < %{version}-%{release}
045c8b
045c8b
%description runtime
045c8b
SystemTap runtime contains the components needed to execute
045c8b
a systemtap script that was already compiled into a module
045c8b
using a local or remote systemtap-devel installation.
045c8b
045c8b
045c8b
%package client
045c8b
Summary: Programmable system-wide instrumentation system - client
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires: zip unzip
045c8b
Requires: systemtap-runtime = %{version}-%{release}
045c8b
Requires: coreutils grep sed unzip zip
045c8b
Requires: openssh-clients
045c8b
Conflicts: systemtap-devel < %{version}-%{release}
045c8b
Conflicts: systemtap-server < %{version}-%{release}
045c8b
Conflicts: systemtap-runtime < %{version}-%{release}
045c8b
%if %{with_mokutil}
045c8b
Requires: mokutil
045c8b
%endif
045c8b
045c8b
%description client
045c8b
This package contains/requires the components needed to develop
045c8b
systemtap scripts, and compile them using a local systemtap-devel
045c8b
or a remote systemtap-server installation, then run them using a
045c8b
local or remote systemtap-runtime.  It includes script samples and
045c8b
documentation, and a copy of the tapset library for reference.
045c8b
045c8b
045c8b
%package initscript
045c8b
Summary: Systemtap Initscripts
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires: systemtap = %{version}-%{release}
045c8b
%if %{with_systemd}
045c8b
Requires: systemd
045c8b
%else
045c8b
Requires(post): chkconfig
045c8b
Requires(preun): chkconfig
045c8b
Requires(preun): initscripts
045c8b
Requires(postun): initscripts
045c8b
%endif
045c8b
045c8b
%description initscript
045c8b
This package includes a SysVinit script to launch selected systemtap
045c8b
scripts at system startup, along with a dracut module for early
045c8b
boot-time probing if supported.
045c8b
045c8b
045c8b
%package sdt-devel
045c8b
Summary: Static probe support tools
045c8b
License: GPLv2+ and Public Domain
045c8b
URL: http://sourceware.org/systemtap/
045c8b
%if %{with_pyparsing}
045c8b
%if %{with_python3}
045c8b
Requires: python3-pyparsing
045c8b
%else
045c8b
%if 0%{?rhel} >= 7
045c8b
Requires: pyparsing
045c8b
%else
045c8b
Requires: python2-pyparsing
045c8b
%endif
045c8b
%endif
045c8b
%endif
045c8b
045c8b
%description sdt-devel
045c8b
This package includes the <sys/sdt.h> header file used for static
045c8b
instrumentation compiled into userspace programs and libraries, along
045c8b
with the optional dtrace-compatibility preprocessor to process related
045c8b
.d files into tracing-macro-laden .h headers.
045c8b
045c8b
045c8b
%package testsuite
045c8b
Summary: Instrumentation System Testsuite
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires: systemtap = %{version}-%{release}
045c8b
Requires: systemtap-sdt-devel = %{version}-%{release}
045c8b
Requires: systemtap-server = %{version}-%{release}
045c8b
Requires: dejagnu which elfutils grep nc
045c8b
%if %{with_debuginfod}
045c8b
Requires: elfutils-debuginfod
045c8b
%endif
045c8b
# work around fedora ci gating kvetching about i686<->x86-64 conflicts
045c8b
%ifarch x86_64
045c8b
Conflicts: systemtap-testsuite = %{version}-%{release}.i686
045c8b
%endif
045c8b
%ifarch i686
045c8b
Conflicts: systemtap-testsuite = %{version}-%{release}.x86_64
045c8b
%endif
045c8b
Requires: gcc gcc-c++ make glibc-devel
045c8b
# testsuite/systemtap.base/ptrace.exp needs strace
045c8b
Requires: strace
045c8b
# testsuite/systemtap.base/ipaddr.exp needs nc. Unfortunately, the rpm
045c8b
# that provides nc has changed over time (from 'nc' to
045c8b
# 'nmap-ncat'). So, we'll do a file-based require.
045c8b
Requires: /usr/bin/nc
045c8b
%ifnarch ia64 ppc64le aarch64
045c8b
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
045c8b
# no prelink
045c8b
%else
045c8b
Requires: prelink
045c8b
%endif
045c8b
%endif
045c8b
# testsuite/systemtap.server/client.exp needs avahi
045c8b
Requires: avahi
045c8b
%if %{with_crash}
045c8b
# testsuite/systemtap.base/crash.exp needs crash
045c8b
Requires: crash
045c8b
%endif
045c8b
%if %{with_java}
045c8b
Requires: systemtap-runtime-java = %{version}-%{release}
045c8b
%endif
045c8b
%if %{with_python2_probes}
045c8b
Requires: systemtap-runtime-python2 = %{version}-%{release}
045c8b
%endif
045c8b
%if %{with_python3_probes}
045c8b
Requires: systemtap-runtime-python3 = %{version}-%{release}
045c8b
%endif
045c8b
%ifarch x86_64
045c8b
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
045c8b
# fweimer, personal correspondence
045c8b
Recommends: glibc-devel(x86-32)
045c8b
%else
045c8b
Requires: /usr/lib/libc.so
045c8b
%endif
045c8b
# ... and /usr/lib/libgcc_s.so.*
045c8b
# ... and /usr/lib/libstdc++.so.*
045c8b
%endif
045c8b
%if 0%{?fedora} >= 18
045c8b
Requires: stress
045c8b
%endif
045c8b
# The following "meta" files for the systemtap examples run "perf":
045c8b
#   testsuite/systemtap.examples/hw_watch_addr.meta
045c8b
#   testsuite/systemtap.examples/memory/hw_watch_sym.meta
045c8b
Requires: perf
045c8b
045c8b
%description testsuite
045c8b
This package includes the dejagnu-based systemtap stress self-testing
045c8b
suite.  This may be used by system administrators to thoroughly check
045c8b
systemtap on the current system.
045c8b
045c8b
045c8b
%if %{with_java}
045c8b
%package runtime-java
045c8b
Summary: Systemtap Java Runtime Support
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires: systemtap-runtime = %{version}-%{release}
045c8b
# work around fedora ci gating kvetching about i686<->x86-64 conflicts
045c8b
%ifarch x86_64
045c8b
Conflicts: systemtap-runtime = %{version}-%{release}.i686
045c8b
%endif
045c8b
%ifarch i686
045c8b
Conflicts: systemtap-runtime = %{version}-%{release}.x86_64
045c8b
%endif
045c8b
Requires: byteman > 2.0
045c8b
Requires: iproute
045c8b
Requires: java-devel
045c8b
045c8b
%description runtime-java
045c8b
This package includes support files needed to run systemtap scripts
045c8b
that probe Java processes running on the OpenJDK runtimes using Byteman.
045c8b
%endif
045c8b
045c8b
%if %{with_python2_probes}
045c8b
%package runtime-python2
045c8b
Summary: Systemtap Python 2 Runtime Support
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires: systemtap-runtime = %{version}-%{release}
045c8b
045c8b
%description runtime-python2
045c8b
This package includes support files needed to run systemtap scripts
045c8b
that probe python 2 processes.
045c8b
%endif
045c8b
045c8b
%if %{with_python3_probes}
045c8b
%package runtime-python3
045c8b
Summary: Systemtap Python 3 Runtime Support
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires: systemtap-runtime = %{version}-%{release}
045c8b
045c8b
%if ! (%{with_python2_probes})
045c8b
# Provide an clean upgrade path when the python2 package is removed
045c8b
Obsoletes: %{name}-runtime-python2 < %{version}-%{release}
045c8b
%endif
045c8b
045c8b
%description runtime-python3
045c8b
This package includes support files needed to run systemtap scripts
045c8b
that probe python 3 processes.
045c8b
%endif
045c8b
045c8b
%if %{with_python3_probes}
045c8b
%package exporter
045c8b
Summary: Systemtap-prometheus interoperation mechanism
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires: systemtap-runtime = %{version}-%{release}
045c8b
045c8b
%description exporter
045c8b
This package includes files for a systemd service that manages
045c8b
systemtap sessions and relays prometheus metrics from the sessions
045c8b
to remote requesters on demand.
045c8b
%endif
045c8b
045c8b
%if %{with_virthost}
045c8b
%package runtime-virthost
045c8b
Summary: Systemtap Cross-VM Instrumentation - host
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
# only require libvirt-libs really
045c8b
#Requires: libvirt >= 1.0.2
045c8b
Requires: libxml2
045c8b
045c8b
%description runtime-virthost
045c8b
This package includes the components required to run systemtap scripts
045c8b
inside a libvirt-managed domain from the host without using a network
045c8b
connection.
045c8b
%endif
045c8b
045c8b
%if %{with_virtguest}
045c8b
%package runtime-virtguest
045c8b
Summary: Systemtap Cross-VM Instrumentation - guest
045c8b
License: GPLv2+
045c8b
URL: http://sourceware.org/systemtap/
045c8b
Requires: systemtap-runtime = %{version}-%{release}
045c8b
%if %{with_systemd}
045c8b
Requires(post): findutils coreutils
045c8b
Requires(preun): grep coreutils
045c8b
Requires(postun): grep coreutils
045c8b
%else
045c8b
Requires(post): chkconfig initscripts
045c8b
Requires(preun): chkconfig initscripts
045c8b
Requires(postun): initscripts
045c8b
%endif
045c8b
045c8b
%description runtime-virtguest
045c8b
This package installs the services necessary on a virtual machine for a
045c8b
systemtap-runtime-virthost machine to execute systemtap scripts.
045c8b
%endif
045c8b
045c8b
# ------------------------------------------------------------------------
045c8b
045c8b
%prep
045c8b
%setup -q
254133
045c8b
%patch1 -p1
045c8b
%patch2 -p1
254133
%patch3 -p1
254133
%patch4 -p1
254133
%patch5 -p1
045c8b
045c8b
%build
045c8b
045c8b
# Enable/disable the dyninst pure-userspace backend
045c8b
%if %{with_dyninst}
045c8b
%global dyninst_config --with-dyninst
045c8b
%else
045c8b
%global dyninst_config --without-dyninst
045c8b
%endif
045c8b
045c8b
# Enable/disable the sqlite coverage testing support
045c8b
%if %{with_sqlite}
045c8b
%global sqlite_config --enable-sqlite
045c8b
%else
045c8b
%global sqlite_config --disable-sqlite
045c8b
%endif
045c8b
045c8b
%if %{with_debuginfod}
045c8b
%global debuginfod_config --with-debuginfod
045c8b
%else
045c8b
%global debuginfod_config --without-debuginfod
045c8b
%endif
045c8b
045c8b
045c8b
# Enable/disable the crash extension
045c8b
%if %{with_crash}
045c8b
%global crash_config --enable-crash
045c8b
%else
045c8b
%global crash_config --disable-crash
045c8b
%endif
045c8b
045c8b
# Enable/disable the code to find and suggest needed rpms
045c8b
%if %{with_rpm}
045c8b
%global rpm_config --with-rpm
045c8b
%else
045c8b
%global rpm_config --without-rpm
045c8b
%endif
045c8b
045c8b
%if %{with_docs}
045c8b
%if %{with_htmldocs}
045c8b
%global docs_config --enable-docs --enable-htmldocs
045c8b
%else
045c8b
%global docs_config --enable-docs --disable-htmldocs
045c8b
%endif
045c8b
%else
045c8b
%global docs_config --enable-docs=prebuilt
045c8b
%endif
045c8b
045c8b
%if %{with_java}
045c8b
%global java_config --with-java=%{_jvmdir}/java
045c8b
%else
045c8b
%global java_config --without-java
045c8b
%endif
045c8b
045c8b
%if %{with_python3}
045c8b
%global python3_config --with-python3
045c8b
%else
045c8b
%global python3_config --without-python3
045c8b
%endif
045c8b
%if %{with_python2_probes}
045c8b
%global python2_probes_config --with-python2-probes
045c8b
%else
045c8b
%global python2_probes_config --without-python2-probes
045c8b
%endif
045c8b
%if %{with_python3_probes}
045c8b
%global python3_probes_config --with-python3-probes
045c8b
%else
045c8b
%global python3_probes_config --without-python3-probes
045c8b
%endif
045c8b
045c8b
%if %{with_virthost}
045c8b
%global virt_config --enable-virt
045c8b
%else
045c8b
%global virt_config --disable-virt
045c8b
%endif
045c8b
045c8b
%if %{with_dracut}
045c8b
%global dracut_config --with-dracutstap=%{dracutstap} --with-dracutbindir=%{dracutbindir}
045c8b
%else
045c8b
%global dracut_config %{nil}
045c8b
%endif
045c8b
045c8b
%if %{with_httpd}
045c8b
%global httpd_config --enable-httpd
045c8b
%else
045c8b
%global httpd_config --disable-httpd
045c8b
%endif
045c8b
045c8b
%if %{with_bpf}
045c8b
%global bpf_config --with-bpf
045c8b
%else
045c8b
%global bpf_config --without-bpf
045c8b
%endif
045c8b
045c8b
# We don't ship compileworthy python code, just oddball samples
045c8b
%global py_auto_byte_compile 0
045c8b
045c8b
%configure %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} %{bpf_config} %{debuginfod_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}"
045c8b
make %{?_smp_mflags} V=1
045c8b
045c8b
045c8b
%install
045c8b
make DESTDIR=$RPM_BUILD_ROOT install
254133
254133
%if ! (%{with_python3})
254133
rm -v $RPM_BUILD_ROOT%{_bindir}/stap-profile-annotate
254133
%endif
254133
045c8b
%find_lang %{name}
045c8b
for dir in $(ls -1d $RPM_BUILD_ROOT%{_mandir}/{??,??_??}) ; do
045c8b
    dir=$(echo $dir | sed -e "s|^$RPM_BUILD_ROOT||")
045c8b
    lang=$(basename $dir)
045c8b
    echo "%%lang($lang) $dir/man*/*" >> %{name}.lang
045c8b
done
045c8b
045c8b
%if %{with_sysusers}
045c8b
mkdir -p %{buildroot}%{_sysusersdir}
045c8b
echo '%_systemtap_runtime_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-runtime.conf
045c8b
echo '%_systemtap_server_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-server.conf
045c8b
echo '%_systemtap_testsuite_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-testsuite.conf
045c8b
%endif
045c8b
045c8b
045c8b
ln -s %{_datadir}/systemtap/examples
045c8b
045c8b
# Fix paths in the example scripts.
045c8b
find $RPM_BUILD_ROOT%{_datadir}/systemtap/examples -type f -name '*.stp' -print0 | xargs -0 sed -i -r -e '1s@^#!.+stap@#!%{_bindir}/stap@'
045c8b
045c8b
# To make rpmlint happy, remove any .gitignore files in the testsuite.
045c8b
find testsuite -type f -name '.gitignore' -print0 | xargs -0 rm -f
045c8b
045c8b
# Because "make install" may install staprun with whatever mode, the
045c8b
# post-processing programs rpmbuild runs won't be able to read it.
045c8b
# So, we change permissions so that they can read it.  We'll set the
045c8b
# permissions back to 04110 in the %files section below.
045c8b
chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun
045c8b
045c8b
#install the useful stap-prep script
045c8b
install -c -m 755 stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
045c8b
045c8b
# Copy over the testsuite
045c8b
cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap
045c8b
045c8b
# We want the manuals in the special doc dir, not the generic doc install dir.
045c8b
# We build it in place and then move it away so it doesn't get installed
045c8b
# twice. rpm can specify itself where the (versioned) docs go with the
045c8b
# %doc directive.
045c8b
mkdir docs.installed
045c8b
mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/*.pdf docs.installed/
045c8b
%if %{with_docs}
045c8b
%if %{with_htmldocs}
045c8b
mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/tapsets docs.installed/
045c8b
mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/SystemTap_Beginners_Guide docs.installed/
045c8b
%endif
045c8b
%endif
045c8b
045c8b
install -D -m 644 macros.systemtap $RPM_BUILD_ROOT%{_rpmmacrodir}/macros.systemtap
045c8b
045c8b
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server
045c8b
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server
045c8b
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server/.systemtap
045c8b
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server
045c8b
touch $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server/log
045c8b
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/systemtap
045c8b
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/systemtap
045c8b
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
045c8b
install -m 644 initscript/logrotate.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/stap-server
045c8b
045c8b
# If using systemd systemtap.service file, retain the old init script in %{_libexecdir} as a helper.
045c8b
%if %{with_systemd}
045c8b
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
045c8b
touch $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
c65db7
# RHBZ2070857
c65db7
mkdir -p $RPM_BUILD_ROOT%{_presetdir}
c65db7
echo 'enable systemtap.service' > $RPM_BUILD_ROOT%{_presetdir}/42-systemtap.preset
045c8b
install -m 644 initscript/systemtap.service $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
045c8b
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
045c8b
install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
045c8b
%else
045c8b
mkdir -p $RPM_BUILD_ROOT%{initdir}
045c8b
install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{initdir}
045c8b
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
045c8b
ln -sf %{initdir}/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
045c8b
# TODO CHECK CORRECTNESS: symlink %{_sbindir}/systemtap-service to %{initdir}/systemtap
045c8b
%endif
045c8b
045c8b
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap
045c8b
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/conf.d
045c8b
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/script.d
045c8b
install -m 644 initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
045c8b
045c8b
%if %{with_systemd}
045c8b
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
045c8b
touch $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
045c8b
install -m 644 stap-server.service $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
045c8b
mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
045c8b
install -m 644 stap-server.conf $RPM_BUILD_ROOT%{_tmpfilesdir}/stap-server.conf
045c8b
%else
045c8b
install -m 755 initscript/stap-server $RPM_BUILD_ROOT%{initdir}
045c8b
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server/conf.d
045c8b
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
045c8b
install -m 644 initscript/config.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/stap-server
045c8b
%endif
045c8b
045c8b
%if %{with_emacsvim}
045c8b
mkdir -p $RPM_BUILD_ROOT%{_emacs_sitelispdir}
045c8b
install -p -m 644 emacs/systemtap-mode.el* $RPM_BUILD_ROOT%{_emacs_sitelispdir}
045c8b
mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir}
045c8b
install -p -m 644 emacs/systemtap-init.el $RPM_BUILD_ROOT%{_emacs_sitestartdir}/systemtap-init.el
045c8b
for subdir in ftdetect ftplugin indent syntax
045c8b
do
045c8b
    mkdir -p $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/$subdir
045c8b
    install -p -m 644 vim/$subdir/*.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/$subdir
045c8b
done
045c8b
%endif
045c8b
045c8b
%if %{with_virtguest}
045c8b
   mkdir -p $RPM_BUILD_ROOT%{udevrulesdir}
045c8b
   %if %{with_systemd}
045c8b
      install -p -m 644 staprun/guest/99-stapsh.rules $RPM_BUILD_ROOT%{udevrulesdir}
045c8b
      mkdir -p $RPM_BUILD_ROOT%{_unitdir}
045c8b
      install -p -m 644 staprun/guest/stapsh@.service $RPM_BUILD_ROOT%{_unitdir}
045c8b
   %else
045c8b
      install -p -m 644 staprun/guest/99-stapsh-init.rules $RPM_BUILD_ROOT%{udevrulesdir}
045c8b
      install -p -m 755 staprun/guest/stapshd $RPM_BUILD_ROOT%{initdir}
045c8b
      mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/systemtap
045c8b
      install -p -m 755 staprun/guest/stapsh-daemon $RPM_BUILD_ROOT%{_libexecdir}/systemtap
045c8b
      mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
045c8b
      # Technically, this is only needed for RHEL5, in which the MODULE_ALIAS is missing, but
045c8b
      # it does no harm in RHEL6 as well
045c8b
      install -p -m 755 staprun/guest/virtio_console.modules $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
045c8b
   %endif
045c8b
%endif
045c8b
045c8b
%if %{with_dracut}
045c8b
   mkdir -p $RPM_BUILD_ROOT%{dracutstap}
045c8b
   install -p -m 755 initscript/99stap/module-setup.sh $RPM_BUILD_ROOT%{dracutstap}
045c8b
   install -p -m 755 initscript/99stap/install $RPM_BUILD_ROOT%{dracutstap}
045c8b
   install -p -m 755 initscript/99stap/check $RPM_BUILD_ROOT%{dracutstap}
045c8b
   install -p -m 755 initscript/99stap/start-staprun.sh $RPM_BUILD_ROOT%{dracutstap}
045c8b
   touch $RPM_BUILD_ROOT%{dracutstap}/params.conf
045c8b
%endif
045c8b
045c8b
%if %{with_specific_python}
045c8b
# Some files got ambiguous python shebangs, we fix them after everything else is done
254133
%py3_shebang_fix %{buildroot}%{python3_sitearch} %{buildroot}%{_bindir}/*
045c8b
%endif
045c8b
045c8b
%pre runtime
045c8b
%if %{with_sysusers}
045c8b
echo '%_systemtap_runtime_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-runtime.conf -
045c8b
%else
045c8b
getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr
045c8b
getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys
045c8b
getent group stapdev >/dev/null || groupadd -f -g 158 -r stapdev
045c8b
%endif
045c8b
exit 0
045c8b
045c8b
%pre server
045c8b
%if %{with_sysusers}
045c8b
echo '%_systemtap_server_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-server.conf -
045c8b
%else
045c8b
getent group stap-server >/dev/null || groupadd -f -g 155 -r stap-server
045c8b
getent passwd stap-server >/dev/null || \
045c8b
  useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server 2>/dev/null || \
045c8b
  useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server
045c8b
%endif
045c8b
exit 0
045c8b
045c8b
%pre testsuite
045c8b
%if %{with_sysusers}
045c8b
echo '%_systemtap_testsuite_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-testsuite.conf -
045c8b
%else
045c8b
getent passwd stapusr >/dev/null || \
045c8b
    useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr
045c8b
getent passwd stapsys >/dev/null || \
045c8b
    useradd -c "Systemtap 'stapsys' User" -g stapsys -G stapusr -r -s /sbin/nologin stapsys
045c8b
getent passwd stapdev >/dev/null || \
045c8b
    useradd -c "Systemtap 'stapdev' User" -g stapdev -G stapusr -r -s /sbin/nologin stapdev
045c8b
%endif
045c8b
exit 0
045c8b
045c8b
%post server
045c8b
045c8b
# We have some duplication between the %files listings for the
045c8b
# ~stap-server directories and the explicit mkdir/chown/chmod bits
045c8b
# here.  Part of the reason may be that a preexisting stap-server
045c8b
# account may well be placed somewhere other than
045c8b
# %{_localstatedir}/lib/stap-server, but we'd like their permissions
045c8b
# set similarly.
045c8b
045c8b
test -e ~stap-server && chmod 750 ~stap-server
045c8b
045c8b
if [ ! -f ~stap-server/.systemtap/rc ]; then
045c8b
  mkdir -p ~stap-server/.systemtap
045c8b
  chown stap-server:stap-server ~stap-server/.systemtap
045c8b
  # PR16276: guess at a reasonable number for a default --rlimit-nproc
045c8b
  numcpu=`/usr/bin/getconf _NPROCESSORS_ONLN`
045c8b
  if [ -z "$numcpu" -o "$numcpu" -lt 1 ]; then numcpu=1; fi
045c8b
  nproc=`expr $numcpu \* 30`
254133
  # PR29661 -> 4G
254133
  echo "--rlimit-as=4294967296 --rlimit-cpu=60 --rlimit-nproc=$nproc --rlimit-stack=1024000 --rlimit-fsize=51200000" > ~stap-server/.systemtap/rc
045c8b
  chown stap-server:stap-server ~stap-server/.systemtap/rc
045c8b
fi
045c8b
045c8b
test -e %{_localstatedir}/log/stap-server/log || {
045c8b
     touch %{_localstatedir}/log/stap-server/log
045c8b
     chmod 644 %{_localstatedir}/log/stap-server/log
045c8b
     chown stap-server:stap-server %{_localstatedir}/log/stap-server/log
045c8b
}
045c8b
# Prepare the service
045c8b
%if %{with_systemd}
045c8b
     # Note, Fedora policy doesn't allow network services enabled by default
045c8b
     # /bin/systemctl enable stap-server.service >/dev/null 2>&1 || :
045c8b
     /bin/systemd-tmpfiles --create %{_tmpfilesdir}/stap-server.conf >/dev/null 2>&1 || :
045c8b
%else
045c8b
    /sbin/chkconfig --add stap-server
045c8b
%endif
045c8b
exit 0
045c8b
045c8b
%triggerin client -- systemtap-server
045c8b
if test -e ~stap-server/.systemtap/ssl/server/stap.cert; then
045c8b
   # echo Authorizing ssl-peer/trusted-signer certificate for local systemtap-server
045c8b
   %{_libexecdir}/systemtap/stap-authorize-cert ~stap-server/.systemtap/ssl/server/stap.cert %{_sysconfdir}/systemtap/ssl/client >/dev/null
045c8b
   %{_libexecdir}/systemtap/stap-authorize-cert ~stap-server/.systemtap/ssl/server/stap.cert %{_sysconfdir}/systemtap/staprun >/dev/null
045c8b
fi
045c8b
exit 0
045c8b
# XXX: corresponding %triggerun?
045c8b
045c8b
%preun server
045c8b
# Check that this is the actual deinstallation of the package, as opposed to
045c8b
# just removing the old package on upgrade.
045c8b
if [ $1 = 0 ] ; then
045c8b
    %if %{with_systemd}
045c8b
       /bin/systemctl --no-reload disable stap-server.service >/dev/null 2>&1 || :
045c8b
       /bin/systemctl stop stap-server.service >/dev/null 2>&1 || :
045c8b
    %else
045c8b
        /sbin/service stap-server stop >/dev/null 2>&1
045c8b
        /sbin/chkconfig --del stap-server
045c8b
    %endif
045c8b
fi
045c8b
exit 0
045c8b
045c8b
%postun server
045c8b
# Check whether this is an upgrade of the package.
045c8b
# If so, restart the service if it's running
045c8b
if [ "$1" -ge "1" ] ; then
045c8b
    %if %{with_systemd}
045c8b
        /bin/systemctl condrestart stap-server.service >/dev/null 2>&1 || :
045c8b
    %else
045c8b
        /sbin/service stap-server condrestart >/dev/null 2>&1 || :
045c8b
    %endif
045c8b
fi
045c8b
exit 0
045c8b
045c8b
%post initscript
045c8b
%if %{with_systemd}
c65db7
    # RHBZ2070857 - use systemd presets instead
c65db7
    # /bin/systemctl enable systemtap.service >/dev/null 2>&1 || :
045c8b
%else
045c8b
    /sbin/chkconfig --add systemtap
045c8b
%endif
045c8b
exit 0
045c8b
045c8b
%preun initscript
045c8b
# Check that this is the actual deinstallation of the package, as opposed to
045c8b
# just removing the old package on upgrade.
045c8b
if [ $1 = 0 ] ; then
045c8b
    %if %{with_systemd}
045c8b
        /bin/systemctl --no-reload disable systemtap.service >/dev/null 2>&1 || :
045c8b
        /bin/systemctl stop systemtap.service >/dev/null 2>&1 || :
045c8b
    %else
045c8b
        /sbin/service systemtap stop >/dev/null 2>&1
045c8b
        /sbin/chkconfig --del systemtap
045c8b
    %endif
045c8b
fi
045c8b
exit 0
045c8b
045c8b
%postun initscript
045c8b
# Check whether this is an upgrade of the package.
045c8b
# If so, restart the service if it's running
045c8b
if [ "$1" -ge "1" ] ; then
045c8b
    %if %{with_systemd}
045c8b
        /bin/systemctl condrestart systemtap.service >/dev/null 2>&1 || :
045c8b
    %else
045c8b
        /sbin/service systemtap condrestart >/dev/null 2>&1 || :
045c8b
    %endif
045c8b
fi
045c8b
exit 0
045c8b
045c8b
%post runtime-virtguest
045c8b
%if %{with_systemd}
045c8b
   # Start services if there are ports present
045c8b
   if [ -d /dev/virtio-ports ]; then
045c8b
      (find /dev/virtio-ports -iname 'org.systemtap.stapsh.[0-9]*' -type l \
045c8b
         | xargs -n 1 basename \
045c8b
         | xargs -n 1 -I {} /bin/systemctl start stapsh@{}.service) >/dev/null 2>&1 || :
045c8b
   fi
045c8b
%else
045c8b
   /sbin/chkconfig --add stapshd
045c8b
   /sbin/chkconfig stapshd on
045c8b
   /sbin/service stapshd start >/dev/null 2>&1 || :
045c8b
%endif
045c8b
exit 0
045c8b
045c8b
%preun runtime-virtguest
045c8b
# Stop service if this is an uninstall rather than an upgrade
045c8b
if [ $1 = 0 ]; then
045c8b
   %if %{with_systemd}
045c8b
      # We need to stop all stapsh services. Because they are instantiated from
045c8b
      # a template service file, we can't simply call disable. We need to find
045c8b
      # all the running ones and stop them all individually
045c8b
      for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
045c8b
         /bin/systemctl stop $service >/dev/null 2>&1 || :
045c8b
      done
045c8b
   %else
045c8b
      /sbin/service stapshd stop >/dev/null 2>&1
045c8b
      /sbin/chkconfig --del stapshd
045c8b
   %endif
045c8b
fi
045c8b
exit 0
045c8b
045c8b
%postun runtime-virtguest
045c8b
# Restart service if this is an upgrade rather than an uninstall
045c8b
if [ "$1" -ge "1" ]; then
045c8b
   %if %{with_systemd}
045c8b
      # We need to restart all stapsh services. Because they are instantiated from
045c8b
      # a template service file, we can't simply call restart. We need to find
045c8b
      # all the running ones and restart them all individually
045c8b
      for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
045c8b
         /bin/systemctl condrestart $service >/dev/null 2>&1 || :
045c8b
      done
045c8b
   %else
045c8b
      /sbin/service stapshd condrestart >/dev/null 2>&1
045c8b
   %endif
045c8b
fi
045c8b
exit 0
045c8b
045c8b
%if %{with_python3_probes}
045c8b
%if %{with_systemd}
045c8b
%preun exporter
045c8b
if [ $1 = 0 ] ; then
045c8b
  /bin/systemctl stop stap-exporter.service >/dev/null 2>&1 || :
045c8b
  /bin/systemctl disable stap-exporter.service >/dev/null 2>&1 || :
045c8b
fi
045c8b
exit 0
045c8b
045c8b
%postun exporter
045c8b
# Restart service if this is an upgrade rather than an uninstall
045c8b
if [ "$1" -ge "1" ]; then
045c8b
   /bin/systemctl condrestart stap-exporter >/dev/null 2>&1 || :
045c8b
fi
045c8b
exit 0
045c8b
%endif
045c8b
%endif
045c8b
045c8b
%post
045c8b
# Remove any previously-built uprobes.ko materials
045c8b
(make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
045c8b
(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
045c8b
045c8b
%preun
045c8b
# Ditto
045c8b
(make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
045c8b
(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
045c8b
045c8b
# ------------------------------------------------------------------------
045c8b
045c8b
%files
045c8b
# The main "systemtap" rpm doesn't include any files.
045c8b
045c8b
%files server -f systemtap.lang
045c8b
%{_bindir}/stap-server
045c8b
%dir %{_libexecdir}/systemtap
045c8b
%{_libexecdir}/systemtap/stap-serverd
045c8b
%{_libexecdir}/systemtap/stap-start-server
045c8b
%{_libexecdir}/systemtap/stap-stop-server
045c8b
%{_libexecdir}/systemtap/stap-gen-cert
045c8b
%{_libexecdir}/systemtap/stap-sign-module
045c8b
%{_libexecdir}/systemtap/stap-authorize-cert
045c8b
%{_libexecdir}/systemtap/stap-env
045c8b
%{_mandir}/man7/error*
045c8b
%{_mandir}/man7/stappaths.7*
045c8b
%{_mandir}/man7/warning*
045c8b
%{_mandir}/man8/stap-server.8*
045c8b
%if %{with_systemd}
045c8b
%{_unitdir}/stap-server.service
045c8b
%{_tmpfilesdir}/stap-server.conf
045c8b
%else
045c8b
%{initdir}/stap-server
045c8b
%dir %{_sysconfdir}/stap-server/conf.d
045c8b
%config(noreplace) %{_sysconfdir}/sysconfig/stap-server
045c8b
%endif
045c8b
%config(noreplace) %{_sysconfdir}/logrotate.d/stap-server
045c8b
%dir %{_sysconfdir}/stap-server
045c8b
%dir %attr(0750,stap-server,stap-server) %{_localstatedir}/lib/stap-server
045c8b
%dir %attr(0700,stap-server,stap-server) %{_localstatedir}/lib/stap-server/.systemtap
045c8b
%dir %attr(0755,stap-server,stap-server) %{_localstatedir}/log/stap-server
045c8b
%ghost %config(noreplace) %attr(0644,stap-server,stap-server) %{_localstatedir}/log/stap-server/log
045c8b
%ghost %attr(0755,stap-server,stap-server) %{_localstatedir}/run/stap-server
045c8b
%doc README README.unprivileged AUTHORS NEWS 
045c8b
%{!?_licensedir:%global license %%doc}
045c8b
%license COPYING
045c8b
%if %{with_sysusers}
045c8b
%{_sysusersdir}/systemtap-server.conf
045c8b
%endif
045c8b
045c8b
045c8b
%files devel -f systemtap.lang
045c8b
%{_bindir}/stap
045c8b
%{_bindir}/stap-prep
254133
%if %{with_python3}
c65db7
%{_bindir}/stap-profile-annotate
254133
%endif
045c8b
%{_bindir}/stap-report
045c8b
%dir %{_datadir}/systemtap
045c8b
%{_datadir}/systemtap/runtime
045c8b
%{_datadir}/systemtap/tapset
045c8b
%{_mandir}/man1/stap.1*
045c8b
%{_mandir}/man1/stap-prep.1*
045c8b
%{_mandir}/man1/stap-report.1*
045c8b
%{_mandir}/man7/error*
045c8b
%{_mandir}/man7/stappaths.7*
045c8b
%{_mandir}/man7/warning*
045c8b
%doc README README.unprivileged AUTHORS NEWS 
045c8b
%{!?_licensedir:%global license %%doc}
045c8b
%license COPYING
045c8b
%if %{with_java}
045c8b
%dir %{_libexecdir}/systemtap
045c8b
%{_libexecdir}/systemtap/libHelperSDT.so
045c8b
%endif
045c8b
%if %{with_emacsvim}
045c8b
%{_emacs_sitelispdir}/*.el*
045c8b
%{_emacs_sitestartdir}/systemtap-init.el
045c8b
%{_datadir}/vim/vimfiles/*/*.vim
045c8b
%endif
045c8b
# Notice that the stap-resolve-module-function.py file is used by
045c8b
# *both* the python2 and python3 subrpms.  Both subrpms use that same
045c8b
# python script to help list python probes.
045c8b
%if %{with_python3_probes} || %{with_python2_probes}
045c8b
%{_libexecdir}/systemtap/python/stap-resolve-module-function.py
045c8b
%exclude %{_libexecdir}/systemtap/python/stap-resolve-module-function.py?
045c8b
%endif
045c8b
045c8b
045c8b
%files runtime -f systemtap.lang
045c8b
%attr(4110,root,stapusr) %{_bindir}/staprun
045c8b
%{_bindir}/stapsh
045c8b
%{_bindir}/stap-merge
045c8b
%{_bindir}/stap-report
045c8b
%if %{with_dyninst}
045c8b
%{_bindir}/stapdyn
045c8b
%endif
045c8b
%if %{with_bpf}
045c8b
%{_bindir}/stapbpf
045c8b
%endif
045c8b
%dir %{_libexecdir}/systemtap
045c8b
%{_libexecdir}/systemtap/stapio
045c8b
%{_libexecdir}/systemtap/stap-authorize-cert
045c8b
%if %{with_crash}
045c8b
%dir %{_libdir}/systemtap
045c8b
%{_libdir}/systemtap/staplog.so*
045c8b
%endif
045c8b
%{_mandir}/man1/stap-report.1*
045c8b
%{_mandir}/man7/error*
045c8b
%{_mandir}/man7/stappaths.7*
045c8b
%{_mandir}/man7/warning*
045c8b
%{_mandir}/man8/stapsh.8*
045c8b
%{_mandir}/man8/staprun.8*
045c8b
%if %{with_dyninst}
045c8b
%{_mandir}/man8/stapdyn.8*
045c8b
%endif
045c8b
%if %{with_bpf}
045c8b
%{_mandir}/man8/stapbpf.8*
045c8b
%endif
045c8b
%doc README README.security AUTHORS NEWS 
045c8b
%{!?_licensedir:%global license %%doc}
045c8b
%license COPYING
045c8b
%if %{with_sysusers}
045c8b
%{_sysusersdir}/systemtap-runtime.conf
045c8b
%endif
045c8b
045c8b
045c8b
%files client -f systemtap.lang
045c8b
%doc README README.unprivileged AUTHORS NEWS
045c8b
%{_datadir}/systemtap/examples
045c8b
%{!?_licensedir:%global license %%doc}
045c8b
%license COPYING
045c8b
%doc docs.installed/*.pdf
045c8b
%if %{with_docs}
045c8b
%if %{with_htmldocs}
045c8b
%doc docs.installed/tapsets/*.html
045c8b
%doc docs.installed/SystemTap_Beginners_Guide
045c8b
%endif
045c8b
%endif
045c8b
%{_bindir}/stap
045c8b
%{_bindir}/stap-prep
045c8b
%{_bindir}/stap-report
045c8b
%{_mandir}/man1/stap.1*
045c8b
%{_mandir}/man1/stap-prep.1*
045c8b
%{_mandir}/man1/stap-merge.1*
045c8b
%{_mandir}/man1/stap-report.1*
045c8b
%{_mandir}/man1/stapref.1*
045c8b
%{_mandir}/man3/*
045c8b
%{_mandir}/man7/error*
045c8b
%{_mandir}/man7/stappaths.7*
045c8b
%{_mandir}/man7/warning*
045c8b
%dir %{_datadir}/systemtap
045c8b
%{_datadir}/systemtap/tapset
045c8b
045c8b
045c8b
045c8b
%files initscript
045c8b
%if %{with_systemd}
c65db7
%{_presetdir}/42-systemtap.preset
045c8b
%{_unitdir}/systemtap.service
045c8b
%{_sbindir}/systemtap-service
045c8b
%else
045c8b
%{initdir}/systemtap
045c8b
%{_sbindir}/systemtap-service
045c8b
%endif
045c8b
%dir %{_sysconfdir}/systemtap
045c8b
%dir %{_sysconfdir}/systemtap/conf.d
045c8b
%dir %{_sysconfdir}/systemtap/script.d
045c8b
%config(noreplace) %{_sysconfdir}/systemtap/config
045c8b
%dir %{_localstatedir}/cache/systemtap
045c8b
%ghost %{_localstatedir}/run/systemtap
045c8b
%{_mandir}/man8/systemtap-service.8*
045c8b
%if %{with_dracut}
045c8b
   %dir %{dracutstap}
045c8b
   %{dracutstap}/*
045c8b
%endif
045c8b
045c8b
045c8b
%files sdt-devel
045c8b
%{_bindir}/dtrace
045c8b
%{_includedir}/sys/sdt.h
045c8b
%{_includedir}/sys/sdt-config.h
045c8b
%{_mandir}/man1/dtrace.1*
045c8b
%{_rpmmacrodir}/macros.systemtap
045c8b
%doc README AUTHORS NEWS 
045c8b
%{!?_licensedir:%global license %%doc}
045c8b
%license COPYING
045c8b
045c8b
045c8b
%files testsuite
045c8b
%dir %{_datadir}/systemtap
045c8b
%{_datadir}/systemtap/testsuite
045c8b
%if %{with_sysusers}
045c8b
%{_sysusersdir}/systemtap-testsuite.conf
045c8b
%endif
045c8b
045c8b
045c8b
%if %{with_java}
045c8b
%files runtime-java
045c8b
%dir %{_libexecdir}/systemtap
045c8b
%{_libexecdir}/systemtap/libHelperSDT.so
045c8b
%{_libexecdir}/systemtap/HelperSDT.jar
045c8b
%{_libexecdir}/systemtap/stapbm
045c8b
%endif
045c8b
045c8b
%if %{with_python2_probes}
045c8b
%files runtime-python2
045c8b
%{python_sitearch}/HelperSDT
045c8b
%{python_sitearch}/HelperSDT-*.egg-info
045c8b
%endif
045c8b
%if %{with_python3_probes}
045c8b
%files runtime-python3
045c8b
%{python3_sitearch}/HelperSDT
045c8b
%{python3_sitearch}/HelperSDT-*.egg-info
045c8b
%endif
045c8b
045c8b
%if %{with_virthost}
045c8b
%files runtime-virthost
045c8b
%{_mandir}/man1/stapvirt.1*
045c8b
%{_bindir}/stapvirt
045c8b
%endif
045c8b
045c8b
%if %{with_virtguest}
045c8b
%files runtime-virtguest
045c8b
%if %{with_systemd}
045c8b
   %{udevrulesdir}/99-stapsh.rules
045c8b
   %{_unitdir}/stapsh@.service
045c8b
%else
045c8b
   %{udevrulesdir}/99-stapsh-init.rules
045c8b
   %dir %{_libexecdir}/systemtap
045c8b
   %{_libexecdir}/systemtap/stapsh-daemon
045c8b
   %{initdir}/stapshd
045c8b
   %{_sysconfdir}/sysconfig/modules/virtio_console.modules
045c8b
%endif
045c8b
%endif
045c8b
045c8b
%if %{with_python3_probes}
045c8b
%files exporter
045c8b
%{_sysconfdir}/stap-exporter
045c8b
%{_sysconfdir}/sysconfig/stap-exporter
045c8b
%{_unitdir}/stap-exporter.service
045c8b
%{_mandir}/man8/stap-exporter.8*
045c8b
%{_sbindir}/stap-exporter
045c8b
%endif
045c8b
045c8b
# ------------------------------------------------------------------------
045c8b
045c8b
# Future new-release entries should be of the form
045c8b
# * DDD MMM DD YYYY YOURNAME <YOUREMAIL> - V-R
045c8b
# - Upstream release, see wiki page below for detailed notes.
045c8b
#   http://sourceware.org/systemtap/wiki/SystemTapReleases
045c8b
045c8b
# PRERELEASE
045c8b
%changelog
254133
* Fri Dec 16 2022 Frank Ch. Eigler <fche@redhat.com> - 4.8-2
254133
- rhbz1997192
254133
- rhbz2145242
254133
- rhbz2149223
254133
- rhbz2149666
254133
- rhbz2154430
254133
254133
* Thu Nov 03 2022 Frank Ch. Eigler <fche@redhat.com> - 4.8-1
254133
- Upstream release.
254133
254133
* Tue May 17 2022 Martin Cermak <mcermak@redhat.com> - 4.7-2
c65db7
- Fix rhbz2081102 and rhbz2085647
241913
c65db7
* Mon May 02 2022 Frank Ch. Eigler <fche@redhat.com> - 4.7-1
c65db7
- Upstream release, see wiki page below for detailed notes.
c65db7
  https://sourceware.org/systemtap/wiki/SystemTapReleases
045c8b
045c8b
* Wed Feb 2 2022 Stan Cox <scox@redhat.com> - 4.6-11
045c8b
- rhbz2039207: Attempt userspace string access if kernel access fails
045c8b
045c8b
* Tue Feb 1 2022 Martin Cermak <mcermak@redhat.com> - 4.6-10
045c8b
- rhbz2047256: [ppc64le] Assertion `index >= 0' failed
045c8b
045c8b
* Fri Jan 21 2022 Martin Cermak <mcermak@redhat.com> - 4.6-9
045c8b
- rhbz2027683: python tapset regression
045c8b
- rhbz2027683: systemtap.examples/io/iostat-scsi.stp PR28633
045c8b
045c8b
* Mon Jan 17 2022 Martin Cermak <mcermak@redhat.com> - 4.6-6
045c8b
- rhbz2041526/pr28634: move elevator.h to block/
045c8b
045c8b
* Tue Dec 07 2021 Stan Cox <scox@redhat.com> - 4.6.5
045c8b
- sys/sdt.h remove aarch64 and s390 float constraints
045c8b
045c8b
* Mon Dec 06 2021 Stan Cox <scox@redhat.com> - 4.6.4
045c8b
- sys/sdt.h remove float constraints that may cause gcc reload issues.
045c8b
045c8b
* Thu Dec 02 2021 Frank Ch. Eigler <fche@redhat.com> - 4.6.3
045c8b
- rhbz2972798 - nfs tapset tweaks
045c8b
- sys/sdt.h fixes for glibc ftbfs
045c8b
045c8b
* Thu Nov 25 2021 Martin Cermak <mcermak@redhat.com> - 4.6.2
045c8b
- rhbz2012907: Fix use of sysuser.d/* for user/group management
045c8b
045c8b
* Fri Nov 19 2021 Frank Ch. Eigler <fche@redhat.com> - 4.6-1
045c8b
- Upstream release.
045c8b
045c8b
* Thu Sep 09 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-8
045c8b
- rhbz1985124: Kernel 5.14 compatibility omnibus cont'd.
045c8b
045c8b
* Thu Aug 12 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-7
045c8b
- rhbz1985124: Kernel 5.14 compatibility omnibus.
045c8b
045c8b
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 4.5-5
045c8b
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
045c8b
  Related: rhbz#1991688
045c8b
045c8b
* Mon Jul 26 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-3
045c8b
- rhbz1982908: Import hardening c*flags from specs/rhel standards
045c8b
045c8b
* Tue May 18 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-2
045c8b
- Respin against newer dyninst.
045c8b
045c8b
* Fri May 07 2021 Frank Ch. Eigler <fche@redhat.com> - 4.5-1
045c8b
- Upstream release.
045c8b
045c8b
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 4.5-0.202102101545git8d5e0abc542c
045c8b
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
045c8b
045c8b
* Mon Nov 09 2020 Frank Ch. Eigler <fche@redhat.com> - 4.4-1
045c8b
- Upstream release.
045c8b
045c8b
* Thu Jun 11 2020 Frank Ch. Eigler <fche@redhat.com> - 4.3-1
045c8b
- Upstream release.
045c8b
045c8b
* Mon Nov 18 2019 Sagar Patel <sapatel@redhat.com> - 4.2-1
045c8b
- Upstream release.
045c8b
045c8b
* Tue May 07 2019 Serguei Makarov <smakarov@redhat.com> - 4.1-1
045c8b
- Upstream release.
045c8b
045c8b
* Sat Oct 13 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-1
045c8b
- Upstream release.
045c8b
045c8b
* Thu Jun 07 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-1
045c8b
- Upstream release.
045c8b
045c8b
* Wed Oct 18 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-1
045c8b
- Upstream release.
045c8b
045c8b
* Fri Feb 17 2017 Frank Ch. Eigler <fche@redhat.com> - 3.1-1
045c8b
- Upstream release.
045c8b
045c8b
* Sun Mar 27 2016 Frank Ch. Eigler <fche@redhat.com> - 3.0-1
045c8b
- Upstream release.
045c8b
045c8b
* Thu Oct 08 2015 Frank Ch. Eigler <fche@redhat.com> - 2.9-1
045c8b
- Upstream release.
045c8b
045c8b
* Wed Jun 17 2015 Abegail Jakop <ajakop@redhat.com> - 2.8-1
045c8b
- Upstream release.
045c8b
045c8b
* Wed Feb 18 2015 Frank Ch. Eigler <fche@redhat.com> - 2.7-1
045c8b
- Upstream release.
045c8b
045c8b
* Fri Sep 05 2014 Josh Stone <jistone@redhat.com> - 2.6-1
045c8b
- Upstream release.
045c8b
045c8b
* Mon Jul 07 2014 Josh Stone <jistone@redhat.com>
045c8b
- Flip with_dyninst to an %%ifarch passlist.
045c8b
045c8b
* Wed Apr 30 2014 Jonathan Lebon <jlebon@redhat.com> - 2.5-1
045c8b
- Upstream release.
045c8b
045c8b
* Thu Feb 13 2014 Lukas Berk <lberk@redhat.com>
045c8b
- Add directory checks for runtime-java sym links
045c8b
045c8b
* Mon Jan 06 2014 Jonathan Lebon <jlebon@redhat.com>
045c8b
- Added dracut module to initscript package
045c8b
045c8b
* Wed Nov 06 2013 Frank Ch. Eigler <fche@redhat.com> - 2.4-1
045c8b
- Upstream release.
045c8b
045c8b
* Wed Oct 09 2013 Jonathan Lebon <jlebon@redhat.com>
045c8b
- Added runtime-virthost and runtime-virtguest packages.
045c8b
045c8b
* Thu Jul 25 2013 Frank Ch. Eigler <fche@redhat.com> - 2.3-1
045c8b
- Upstream release.
045c8b
045c8b
* Thu May 16 2013 Frank Ch. Eigler <fche@redhat.com> - 2.2.1-1
045c8b
- Upstream release.
045c8b
045c8b
* Tue May 14 2013 Frank Ch. Eigler <fche@redhat.com> - 2.2-1
045c8b
- Upstream release.
045c8b
045c8b
* Wed Feb 13 2013 Serguei Makarov <smakarov@redhat.com> - 2.1-1
045c8b
- Upstream release.
045c8b
045c8b
* Tue Oct 09 2012 Josh Stone <jistone@redhat.com> - 2.0-1
045c8b
- Upstream release.
045c8b
045c8b
* Fri Jul 13 2012 Peter Robinson <pbrobinson@fedoraproject.org>
045c8b
- Fix ifarch statement
045c8b
- use file based requires for glibc-devel on x86_64 so that we work in koji
045c8b
045c8b
* Sun Jun 17 2012 Frank Ch. Eigler <fche@redhat.com> - 1.8-1
045c8b
- Upstream release.
045c8b
045c8b
* Wed Feb 01 2012 Frank Ch. Eigler <fche@redhat.com> - 1.7-1
045c8b
- Upstream release.
045c8b
045c8b
* Fri Jan 13 2012 David Smith <dsmith@redhat.com> - 1.6-2
045c8b
- Fixed /bin/mktemp require.
045c8b
045c8b
* Mon Jul 25 2011 Stan Cox <scox@redhat.com> - 1.6-1
045c8b
- Upstream release.
045c8b
045c8b
* Mon May 23 2011 Stan Cox <scox@redhat.com> - 1.5-1
045c8b
- Upstream release.
045c8b
045c8b
* Mon Jan 17 2011 Frank Ch. Eigler <fche@redhat.com> - 1.4-1
045c8b
- Upstream release.
045c8b
045c8b
* Wed Jul 21 2010 Josh Stone <jistone@redhat.com> - 1.3-1
045c8b
- Upstream release.
045c8b
045c8b
* Mon Mar 22 2010 Frank Ch. Eigler <fche@redhat.com> - 1.2-1
045c8b
- Upstream release.
045c8b
045c8b
* Mon Dec 21 2009 David Smith <dsmith@redhat.com> - 1.1-1
045c8b
- Upstream release.
045c8b
045c8b
* Tue Sep 22 2009 Josh Stone <jistone@redhat.com> - 1.0-1
045c8b
- Upstream release.
045c8b
045c8b
* Tue Aug  4 2009 Josh Stone <jistone@redhat.com> - 0.9.9-1
045c8b
- Upstream release.
045c8b
045c8b
* Thu Jun 11 2009 Josh Stone <jistone@redhat.com> - 0.9.8-1
045c8b
- Upstream release.
045c8b
045c8b
* Thu Apr 23 2009 Josh Stone <jistone@redhat.com> - 0.9.7-1
045c8b
- Upstream release.
045c8b
045c8b
* Fri Mar 27 2009 Josh Stone <jistone@redhat.com> - 0.9.5-1
045c8b
- Upstream release.
045c8b
045c8b
* Wed Mar 18 2009 Will Cohen <wcohen@redhat.com> - 0.9-2
045c8b
- Add location of man pages.
045c8b
045c8b
* Tue Feb 17 2009 Frank Ch. Eigler <fche@redhat.com> - 0.9-1
045c8b
- Upstream release.
045c8b
045c8b
* Thu Nov 13 2008 Frank Ch. Eigler <fche@redhat.com> - 0.8-1
045c8b
- Upstream release.
045c8b
045c8b
* Tue Jul 15 2008 Frank Ch. Eigler <fche@redhat.com> - 0.7-1
045c8b
- Upstream release.
045c8b
045c8b
* Fri Feb  1 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-3
045c8b
- Add zlib-devel to buildreq; missing from crash-devel
045c8b
- Process testsuite .stp files for #!stap->#!/usr/bin/stap
045c8b
045c8b
* Fri Jan 18 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-1
045c8b
- Add crash-devel buildreq to build staplog.so crash(8) module.
045c8b
- Many robustness & functionality improvements:
045c8b
045c8b
* Wed Dec  5 2007 Will Cohen <wcohen@redhat.com> - 0.6-2
045c8b
- Correct Source to point to location contain code.
045c8b
045c8b
* Thu Aug  9 2007 David Smith <dsmith@redhat.com> - 0.6-1
045c8b
- Bumped version, added libcap-devel BuildRequires.
045c8b
045c8b
* Wed Jul 11 2007 Will Cohen <wcohen@redhat.com> - 0.5.14-2
045c8b
- Fix Requires and BuildRequires for sqlite.
045c8b
045c8b
* Mon Jul  2 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.14-1
045c8b
- Many robustness improvements: 1117, 1134, 1305, 1307, 1570, 1806,
045c8b
  2033, 2116, 2224, 2339, 2341, 2406, 2426, 2438, 2583, 3037,
045c8b
  3261, 3282, 3331, 3428 3519, 3545, 3625, 3648, 3880, 3888, 3911,
045c8b
  3952, 3965, 4066, 4071, 4075, 4078, 4081, 4096, 4119, 4122, 4127,
045c8b
  4146, 4171, 4179, 4183, 4221, 4224, 4254, 4281, 4319, 4323, 4326,
045c8b
  4329, 4332, 4337, 4415, 4432, 4444, 4445, 4458, 4467, 4470, 4471,
045c8b
  4518, 4567, 4570, 4579, 4589, 4609, 4664
045c8b
045c8b
* Mon Mar 26 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.13-1
045c8b
- An emergency / preliminary refresh, mainly for compatibility
045c8b
  with 2.6.21-pre kernels.
045c8b
045c8b
* Mon Jan  1 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.12-1
045c8b
- Many changes, see NEWS file.
045c8b
045c8b
* Tue Sep 26 2006 David Smith <dsmith@redhat.com> - 0.5.10-1
045c8b
- Added 'systemtap-runtime' subpackage.
045c8b
045c8b
* Wed Jul 19 2006 Roland McGrath <roland@redhat.com> - 0.5.9-1
045c8b
- PRs 2669, 2913
045c8b
045c8b
* Fri Jun 16 2006 Roland McGrath <roland@redhat.com> - 0.5.8-1
045c8b
- PRs 2627, 2520, 2228, 2645
045c8b
045c8b
* Fri May  5 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.7-1
045c8b
- PRs 2511 2453 2307 1813 1944 2497 2538 2476 2568 1341 2058 2220 2437
045c8b
  1326 2014 2599 2427 2438 2465 1930 2149 2610 2293 2634 2506 2433
045c8b
045c8b
* Tue Apr  4 2006 Roland McGrath <roland@redhat.com> - 0.5.5-1
045c8b
- Many changes, affected PRs include: 2068, 2293, 1989, 2334,
045c8b
  1304, 2390, 2425, 953.
045c8b
045c8b
* Wed Feb  1 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.4-1
045c8b
- PRs 1916, 2205, 2142, 2060, 1379
045c8b
045c8b
* Mon Jan 16 2006 Roland McGrath <roland@redhat.com> - 0.5.3-1
045c8b
- Many changes, affected PRs include: 2056, 1144, 1379, 2057,
045c8b
  2060, 1972, 2140, 2148
045c8b
045c8b
* Mon Dec 19 2005 Roland McGrath <roland@redhat.com> - 0.5.2-1
045c8b
- Fixed build with gcc 4.1, various tapset changes.
045c8b
045c8b
* Wed Dec  7 2005 Roland McGrath <roland@redhat.com> - 0.5.1-1
045c8b
- elfutils update, build changes
045c8b
045c8b
* Fri Dec 02 2005  Frank Ch. Eigler  <fche@redhat.com> - 0.5-1
045c8b
- Many fixes and improvements: 1425, 1536, 1505, 1380, 1329, 1828, 1271,
045c8b
  1339, 1340, 1345, 1837, 1917, 1903, 1336, 1868, 1594, 1564, 1276, 1295
045c8b
045c8b
* Mon Oct 31 2005 Roland McGrath <roland@redhat.com> - 0.4.2-1
045c8b
- Many fixes and improvements: PRs 1344, 1260, 1330, 1295, 1311, 1368,
045c8b
  1182, 1131, 1332, 1366, 1456, 1271, 1338, 1482, 1477, 1194.
045c8b
045c8b
* Wed Sep 14 2005 Roland McGrath <roland@redhat.com> - 0.4.1-1
045c8b
- Many fixes and improvements since 0.2.2; relevant PRs include:
045c8b
  1122, 1134, 1155, 1172, 1174, 1175, 1180, 1186, 1187, 1191, 1193, 1195,
045c8b
  1197, 1205, 1206, 1209, 1213, 1244, 1257, 1258, 1260, 1265, 1268, 1270,
045c8b
  1289, 1292, 1306, 1335, 1257
045c8b
045c8b
* Wed Sep  7 2005 Frank Ch. Eigler <fche@redhat.com>
045c8b
- Bump version.
045c8b
045c8b
* Tue Aug 16 2005 Frank Ch. Eigler <fche@redhat.com>
045c8b
- Bump version.
045c8b
045c8b
* Wed Aug  3 2005 Martin Hunt <hunt@redhat.com> - 0.2.2-1
045c8b
- Add directory /var/cache/systemtap
045c8b
- Add stp_check to /usr/libexec/systemtap
045c8b
045c8b
* Wed Aug  3 2005 Roland McGrath <roland@redhat.com> - 0.2.1-1
045c8b
- New version 0.2.1, various fixes.
045c8b
045c8b
* Fri Jul 29 2005 Roland McGrath <roland@redhat.com> - 0.2-1
045c8b
- New version 0.2, requires elfutils 0.111
045c8b
045c8b
* Mon Jul 25 2005 Roland McGrath <roland@redhat.com>
045c8b
- Clean up spec file, build bundled elfutils.
045c8b
045c8b
* Thu Jul 21 2005 Martin Hunt <hunt@redhat.com>
045c8b
- Set Version to use version from autoconf.
045c8b
- Fix up some of the path names.
045c8b
- Add Requires and BuildRequires.
045c8b
045c8b
* Tue Jul 19 2005 Will Cohen <wcohen@redhat.com>
045c8b
- Initial creation of RPM.