Blame SPECS/systemtap.spec

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