Blame SPECS/systemtap.spec

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