Compare commits
101 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0eafb3090d | ||
|
|
070cdc17ea | ||
|
|
6fe8d3d7ef | ||
|
|
93ca322655 | ||
|
|
703cf33b20 | ||
|
|
02ce13f371 | ||
|
|
e304ee7f0d | ||
|
|
ccde07acbd | ||
|
|
360287bbf0 | ||
|
|
846836105b | ||
|
|
967cf9e53d | ||
|
|
b9c00fd898 | ||
|
|
423d7bf3e5 | ||
|
|
3105e88d5b | ||
|
|
a230f161dd | ||
|
|
12f28a923c | ||
|
|
2da431cab3 | ||
|
|
e8c03b8035 | ||
|
|
4f28506db7 | ||
|
|
ae0cad098c | ||
|
|
eb8c0fea4c | ||
|
|
17f221776b | ||
|
|
67e80ccf00 | ||
|
|
5a82cccf73 | ||
|
|
9c79ac67a5 | ||
|
|
e42e009a44 | ||
|
|
6ba46a9a04 | ||
|
|
4bf1177f47 | ||
|
|
91da2bdd2e | ||
|
|
20b4dc7947 | ||
|
|
d0c648ee8c | ||
|
|
eedaf37e14 | ||
|
|
93948388bc | ||
|
|
8c07a00957 | ||
|
|
f95124e787 | ||
|
|
956a4db3d9 | ||
|
|
36b1f19663 | ||
|
|
897096ec80 | ||
|
|
dd61c2d292 | ||
|
|
73bce465bd | ||
|
|
4ae3ff2152 | ||
|
|
95a46ceb44 | ||
|
|
64a9703628 | ||
|
|
11f44c8ba2 | ||
|
|
87e8ee9d88 | ||
|
|
668b8dd42a | ||
|
|
63994d2843 | ||
|
|
4ae6e4b029 |
||
|
|
756feba063 | ||
|
|
6b9b658442 | ||
|
|
5c095346d4 | ||
|
|
9c100ef16f | ||
|
|
0cecbe6966 | ||
|
|
f078b4cd79 | ||
|
|
086a7444b9 | ||
|
|
d628fd39d2 | ||
|
|
4aed2098f3 | ||
|
|
2783b620ad | ||
|
|
1d4a6f14bb | ||
|
|
2a2af534e3 | ||
|
|
7e30728b5f | ||
|
|
5d53a19f79 | ||
|
|
b7cac72f19 | ||
|
|
92650f2647 | ||
|
|
3be2cacf55 | ||
|
|
f303d28d53 | ||
|
|
6c6cf1bcac | ||
|
|
61a9dae5ea | ||
|
|
6464adf385 | ||
|
|
11422e39ad | ||
|
|
91acc811a1 | ||
|
|
3759fe484f | ||
|
|
863bc06741 | ||
|
|
ca2a8a03ea | ||
|
|
12975603f1 | ||
|
|
6e53120fd1 | ||
|
|
0a08050f43 | ||
|
|
8ea2489c53 | ||
|
|
340640bc27 | ||
|
|
1c8c98dbcd | ||
|
|
6e2eede1a1 | ||
|
|
671f002697 | ||
|
|
da710f5bb8 | ||
|
|
f407c7e3a1 | ||
|
|
6b7d1588ab | ||
|
|
14dabc02a6 | ||
|
|
d5b191f9b0 | ||
|
|
359f52a3b0 | ||
|
|
4da5c082d7 | ||
|
|
96a7f16670 | ||
|
|
3138353e0e | ||
|
|
648b6d77e5 | ||
|
|
8efeb38c25 | ||
|
|
460815a33b | ||
|
|
d5dda0dab9 | ||
|
|
613a6720d2 | ||
|
|
19434e1809 | ||
|
|
5d247c7220 | ||
|
|
ca4fdbacfc | ||
|
|
8d5d041590 | ||
|
|
1b351ce0ad |
32 changed files with 333 additions and 1053 deletions
35
.gitignore
vendored
35
.gitignore
vendored
|
|
@ -78,3 +78,38 @@
|
|||
/systemtap-4.7~pre16433134g7d871ab5.tar.gz
|
||||
/systemtap-4.7~pre16468670g9f253544.tar.gz
|
||||
/systemtap-4.7.tar.gz
|
||||
/systemtap-4.8~pre16557277g2882dcc9.tar.gz
|
||||
/systemtap-4.8~pre16578235g069e109c.tar.gz
|
||||
/systemtap-4.8~pre16594727g09f1b7bb.tar.gz
|
||||
/systemtap-4.8~pre16594741g5bdc37b9.tar.gz
|
||||
/systemtap-4.8~pre16650659g6a096a7d.tar.gz
|
||||
/systemtap-4.8.tar.gz
|
||||
/systemtap-4.9.tar.gz
|
||||
/systemtap-5.0~pre16885197g6b17715f.tar.gz
|
||||
/systemtap-5.0~pre16885234gd98d6c2d.tar.gz
|
||||
/systemtap-5.0~pre16890184ge891a37e.tar.gz
|
||||
/systemtap-5.0~pre16891249ge891a37e.tar.gz
|
||||
/systemtap-5.0~pre16958465gca71442b.tar.gz
|
||||
/systemtap-5.0.tar.gz
|
||||
/systemtap-5.1~pre17056120g2ccc0c4c.tar.gz
|
||||
/systemtap-5.1~pre17056139g6c0b92b3.tar.gz
|
||||
/systemtap-5.1~pre17059382g67086c54.tar.gz
|
||||
/systemtap-5.1~pre17060399gb6abf4bd.tar.gz
|
||||
/systemtap-5.1~pre17062114g2604d135.tar.gz
|
||||
/systemtap-5.1~pre17062192g5fd8daba.tar.gz
|
||||
/systemtap-5.1.tar.gz
|
||||
/systemtap-5.1~pre17206206ge48abca5.tar.gz
|
||||
/systemtap-5.2~pre17206355g1a07290a.tar.gz
|
||||
/systemtap-5.2~pre17224323g98d1ea34.tar.gz
|
||||
/systemtap-5.2~pre17250223gd07e4284.tar.gz
|
||||
/systemtap-5.2~pre17277956g0b7f6722.tar.gz
|
||||
/systemtap-5.2~pre17283218gc5774e18.tar.gz
|
||||
/systemtap-5.2.tar.gz
|
||||
/systemtap-5.2~pre17373420g1e894ff0.tar.gz
|
||||
/systemtap-5.3~pre17373422g9a48fbea.tar.gz
|
||||
/systemtap-5.3~pre17373794g3efe129d.tar.gz
|
||||
/systemtap-5.3~pre17373816g7a71d34b.tar.gz
|
||||
/systemtap-5.3.tar.gz
|
||||
/systemtap-5.4~pre17585473g1fe4178d.tar.gz
|
||||
/systemtap-5.4~pre17585496g86ab88eb.tar.gz
|
||||
/systemtap-5.4.tar.gz
|
||||
|
|
|
|||
10
gating.yaml
10
gating.yaml
|
|
@ -1,7 +1,15 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
decision_contexts: [bodhi_update_push_testing]
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
- !PassingTestCaseRule {test_case_name: baseos-qe.koji-build.scratch-build.validation}
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_contexts: [bodhi_update_push_stable]
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
|
|
|
|||
15
plans/ci.fmf
15
plans/ci.fmf
|
|
@ -1,11 +1,12 @@
|
|||
summary: CI Gating Plan
|
||||
discover:
|
||||
how: fmf
|
||||
directory: tests
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/tests/systemtap-gating.git
|
||||
ref: main
|
||||
directory: tests
|
||||
prepare:
|
||||
how: install
|
||||
exclude:
|
||||
- glibc-headers-x86
|
||||
- glibc-headers-s390
|
||||
- name: prepare
|
||||
how: shell
|
||||
script: ./plans/prepare.sh
|
||||
execute:
|
||||
how: beakerlib
|
||||
how: tmt
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
summary: Setup task
|
||||
prepare:
|
||||
script: ./plans/ci/prepare/prepare.sh
|
||||
recommend:
|
||||
- koji
|
||||
- bind-utils
|
||||
- avahi-tools
|
||||
|
|
@ -1,12 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
export DEBUGINFOD_URLS="https://debuginfod.fedoraproject.org/ $DEBUGINFOD_URLS"
|
||||
export DEBUGINFOD_TIMEOUT=300
|
||||
|
||||
# On Rawhide, the running kernel packages won't probably be avail in
|
||||
# configured repos. Debuginfo isn't a problem, we access that using
|
||||
# the debuginfod.
|
||||
__install_deps ()
|
||||
__fedora_install_deps ()
|
||||
{
|
||||
TMPD=$(mktemp -d)
|
||||
pushd $TMPD
|
||||
|
|
@ -20,8 +17,12 @@ __install_deps ()
|
|||
|
||||
set -xe
|
||||
|
||||
source /etc/os-release
|
||||
|
||||
# Install needed packages
|
||||
stap-prep || __install_deps
|
||||
if [ "$ID" == "fedora" ]; then
|
||||
stap-prep || __fedora_install_deps
|
||||
fi
|
||||
stap-prep
|
||||
|
||||
# Report installed packages
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (systemtap-4.7.tar.gz) = 7d7c213dc4f7c5430f81763668da21403fbc351d1701b1096eb1ad233e3f0325e35f01dfd0a33e75f277b26fdde88c46d42dd32e32e4d4f27a45d53e2dd0f831
|
||||
SHA512 (systemtap-5.4.tar.gz) = 5869fe3735e44be65ba7895a46b4ea66fcdcc21ed2ab0673c62d822730553837f816d82fd78eeca4bfe6f17fdeaa12eb2f94c0b0b7ebb8c495c961f0b6935785
|
||||
|
|
|
|||
13
systemtap-gcc16.patch
Normal file
13
systemtap-gcc16.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
--- systemtap-5.4/configure~ 2025-10-30 14:47:35.000000000 +0000
|
||||
+++ systemtap-5.4/configure 2026-01-13 18:53:20.466037572 +0000
|
||||
@@ -3121,8 +3121,8 @@
|
||||
}
|
||||
{
|
||||
// Unicode literals
|
||||
- char const *utf8 = u8"UTF-8 string \u2500";
|
||||
- char16_t const *utf16 = u"UTF-8 string \u2500";
|
||||
+ auto const *utf8 = u8"UTF-8 string \u2500";
|
||||
+ char16_t const *utf16 = u"UTF-16 string \u2500";
|
||||
char32_t const *utf32 = U"UTF-32 string \u2500";
|
||||
}
|
||||
'
|
||||
339
systemtap.spec
339
systemtap.spec
|
|
@ -1,3 +1,5 @@
|
|||
# work around flakey gcc warnings
|
||||
%{!?with_Werror: %global with_Werror 0}
|
||||
%{!?with_sqlite: %global with_sqlite 0%{?fedora} >= 17 || 0%{?rhel} >= 7}
|
||||
# prefer prebuilt docs
|
||||
%{!?with_docs: %global with_docs 0}
|
||||
|
|
@ -11,8 +13,8 @@
|
|||
%endif
|
||||
%{!?with_rpm: %global with_rpm 1}
|
||||
%{!?elfutils_version: %global elfutils_version 0.179}
|
||||
%{!?with_boost: %global with_boost 0}
|
||||
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64
|
||||
%{!?with_boost: %global with_boost 1}
|
||||
%ifarch x86_64 ppc ppc64 ppc64le aarch64
|
||||
%{!?with_dyninst: %global with_dyninst 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
|
||||
%else
|
||||
%{!?with_dyninst: %global with_dyninst 0}
|
||||
|
|
@ -20,7 +22,11 @@
|
|||
%{!?with_bpf: %global with_bpf 0%{?fedora} >= 22 || 0%{?rhel} >= 8}
|
||||
%{!?with_systemd: %global with_systemd 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
|
||||
%{!?with_emacsvim: %global with_emacsvim 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
|
||||
%ifarch %{ix86}
|
||||
%{!?with_java: %global with_java 0}
|
||||
%else
|
||||
%{!?with_java: %global with_java 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
|
||||
%endif
|
||||
%{!?with_debuginfod: %global with_debuginfod 0%{?fedora} >= 25 || 0%{?rhel} >= 7}
|
||||
%{!?with_virthost: %global with_virthost 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
|
||||
%{!?with_virtguest: %global with_virtguest 1}
|
||||
|
|
@ -39,9 +45,13 @@
|
|||
%{!?with_httpd: %global with_httpd 0}
|
||||
%{!?with_specific_python: %global with_specific_python 0%{?fedora} >= 31}
|
||||
%{!?with_sysusers: %global with_sysusers 0%{?fedora} >= 32 || 0%{?rhel} >= 9}
|
||||
# NB: can't turn this on by default on any distro version whose builder system
|
||||
# may run kernels different than the distro version itself.
|
||||
%{!?with_check: %global with_check 0}
|
||||
|
||||
|
||||
# Virt is supported on these arches, even on el7, but it's not in core EL7
|
||||
%if 0%{?rhel} <= 7
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 7
|
||||
%ifarch ppc64le aarch64
|
||||
%global with_virthost 0
|
||||
%endif
|
||||
|
|
@ -60,9 +70,6 @@
|
|||
%else
|
||||
%if 0%{?rhel} >= 6
|
||||
%define udevrulesdir /lib/udev/rules.d
|
||||
%else
|
||||
# RHEL5
|
||||
%define udevrulesdir /etc/udev/rules.d
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
|
|
@ -79,11 +86,7 @@
|
|||
%define dracutbindir %{_bindir}
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} == 6
|
||||
%{!?_rpmmacrodir: %define _rpmmacrodir /etc/rpm/}
|
||||
%else
|
||||
%{!?_rpmmacrodir: %define _rpmmacrodir %{_rpmconfigdir}/macros.d}
|
||||
%endif
|
||||
%{!?_rpmmacrodir: %define _rpmmacrodir %{_rpmconfigdir}/macros.d}
|
||||
|
||||
# To avoid testsuite/*/*.stp has shebang which doesn't start with '/'
|
||||
%define __brp_mangle_shebangs_exclude_from .stp$
|
||||
|
|
@ -93,7 +96,10 @@
|
|||
\
|
||||
g stapusr 156\
|
||||
g stapsys 157\
|
||||
g stapdev 158
|
||||
g stapdev 158\
|
||||
g stapunpriv 159\
|
||||
u stapunpriv 159 "systemtap unprivileged user" /var/lib/stapunpriv /sbin/nologin\
|
||||
m stapunpriv stapunpriv
|
||||
|
||||
%define _systemtap_server_preinstall \
|
||||
# See systemd-sysusers(8) sysusers.d(5)\
|
||||
|
|
@ -115,10 +121,17 @@ m stapsys stapsys\
|
|||
m stapdev stapusr\
|
||||
m stapdev stapdev
|
||||
|
||||
%define _systemtap_server_preinstall_tmpfiles \
|
||||
# See systemd-tmpfiles(8) tmpfiles.d(5)\
|
||||
d /var/lib/stap-server 0750 stap-server stap-server -\
|
||||
d /var/lib/stap-server/.systemtap 0700 stap-server stap-server -\
|
||||
d /var/log/stap-server 0755 stap-server stap-server -\
|
||||
f /var/log/stap-server/log 0644 stap-server stap-server -
|
||||
|
||||
Name: systemtap
|
||||
Version: 4.7
|
||||
Release: 1%{?release_override}%{?dist}
|
||||
# PRERELEASE
|
||||
Version: 5.4
|
||||
Release: 2%{?release_override}%{?dist}
|
||||
# for version, see also configure.ac
|
||||
|
||||
|
||||
|
|
@ -130,13 +143,15 @@ Release: 1%{?release_override}%{?dist}
|
|||
# systemtap-runtime /usr/bin/staprun, /usr/bin/stapsh, /usr/bin/stapdyn
|
||||
# systemtap-client /usr/bin/stap, samples, docs, tapset(bonus), req:-runtime
|
||||
# systemtap-initscript /etc/init.d/systemtap, dracut module, req:systemtap
|
||||
# systemtap-sdt-devel /usr/include/sys/sdt.h /usr/bin/dtrace
|
||||
# systemtap-sdt-devel /usr/include/sys/sdt.h
|
||||
# systemtap-sdt-dtrace /usr/bin/dtrace
|
||||
# systemtap-testsuite /usr/share/systemtap/testsuite*, req:systemtap, req:sdt-devel
|
||||
# systemtap-runtime-java libHelperSDT.so, HelperSDT.jar, stapbm, req:-runtime
|
||||
# systemtap-runtime-virthost /usr/bin/stapvirt, req:libvirt req:libxml2
|
||||
# systemtap-runtime-virtguest udev rules, init scripts/systemd service, req:-runtime
|
||||
# systemtap-runtime-python2 HelperSDT python2 module, req:-runtime
|
||||
# systemtap-runtime-python3 HelperSDT python3 module, req:-runtime
|
||||
# systemtap-jupyter /usr/bin/stap-jupyter-* interactive-notebook req:systemtap
|
||||
#
|
||||
# Typical scenarios:
|
||||
#
|
||||
|
|
@ -150,9 +165,10 @@ Release: 1%{?release_override}%{?dist}
|
|||
# intermediary stap-server for --use-server: systemtap-server (-devel unused)
|
||||
|
||||
Summary: Programmable system-wide instrumentation system
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
|
||||
Patch0: systemtap-gcc16.patch
|
||||
|
||||
# Build*
|
||||
BuildRequires: make
|
||||
|
|
@ -163,6 +179,7 @@ BuildRequires: pkgconfig(nss)
|
|||
BuildRequires: pkgconfig(avahi-client)
|
||||
%if %{with_debuginfod}
|
||||
BuildRequires: pkgconfig(libdebuginfod)
|
||||
BuildRequires: pkgconfig(json-c)
|
||||
%endif
|
||||
%if %{with_dyninst}
|
||||
BuildRequires: dyninst-devel >= 10.0
|
||||
|
|
@ -179,9 +196,7 @@ BuildRequires: pkgconfig(ncurses)
|
|||
BuildRequires: systemd
|
||||
%endif
|
||||
# Needed for libstd++ < 4.0, without <tr1/memory>
|
||||
%if %{with_boost}
|
||||
BuildRequires: boost-devel
|
||||
%endif
|
||||
%if %{with_crash}
|
||||
BuildRequires: crash-devel zlib-devel
|
||||
%endif
|
||||
|
|
@ -203,7 +218,7 @@ BuildRequires: xmlto /usr/share/xmlto/format/fo/pdf
|
|||
%endif
|
||||
%if %{with_emacsvim}
|
||||
# for _emacs_sitelispdir macros etc.
|
||||
BuildRequires: emacs
|
||||
BuildRequires: emacs-common
|
||||
%endif
|
||||
%if %{with_java}
|
||||
BuildRequires: java-devel
|
||||
|
|
@ -214,9 +229,6 @@ BuildRequires: pkgconfig(libvirt)
|
|||
BuildRequires: pkgconfig(libxml-2.0)
|
||||
%endif
|
||||
BuildRequires: readline-devel
|
||||
%if 0%{?rhel} <= 5
|
||||
BuildRequires: pkgconfig(ncurses)
|
||||
%endif
|
||||
%if %{with_python2_probes}
|
||||
BuildRequires: python2-devel
|
||||
%if 0%{?fedora} >= 1
|
||||
|
|
@ -232,17 +244,20 @@ BuildRequires: python3
|
|||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
%endif
|
||||
%if %{with_specific_python}
|
||||
BuildRequires: /usr/bin/pathfix.py
|
||||
%endif
|
||||
|
||||
%if %{with_httpd}
|
||||
BuildRequires: libmicrohttpd-devel
|
||||
BuildRequires: libuuid-devel
|
||||
%endif
|
||||
%if %{with_sysusers}
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: systemd-rpm-macros
|
||||
%endif
|
||||
%if %{with_check}
|
||||
BuildRequires: kernel-devel
|
||||
# and some of the same Requires: as below
|
||||
BuildRequires: dejagnu gcc make
|
||||
%endif
|
||||
|
||||
|
||||
|
||||
# Install requirements
|
||||
|
|
@ -259,8 +274,8 @@ the components needed to locally develop and execute systemtap scripts.
|
|||
|
||||
%package server
|
||||
Summary: Instrumentation System Server
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: systemtap-devel = %{version}-%{release}
|
||||
Conflicts: systemtap-devel < %{version}-%{release}
|
||||
Conflicts: systemtap-runtime < %{version}-%{release}
|
||||
|
|
@ -289,8 +304,8 @@ compiles systemtap scripts to kernel objects on their demand.
|
|||
|
||||
%package devel
|
||||
Summary: Programmable system-wide instrumentation system - development headers, tools
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
|
||||
URL: https://sourceware.org/systemtap/
|
||||
|
||||
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
|
||||
Recommends: (kernel-debug-devel if kernel-debug)
|
||||
|
|
@ -319,8 +334,8 @@ a copy of the standard tapset library and the runtime library C files.
|
|||
|
||||
%package runtime
|
||||
Summary: Programmable system-wide instrumentation system - runtime
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires(pre): shadow-utils
|
||||
Conflicts: systemtap-devel < %{version}-%{release}
|
||||
Conflicts: systemtap-server < %{version}-%{release}
|
||||
|
|
@ -334,8 +349,8 @@ using a local or remote systemtap-devel installation.
|
|||
|
||||
%package client
|
||||
Summary: Programmable system-wide instrumentation system - client
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: zip unzip
|
||||
Requires: systemtap-runtime = %{version}-%{release}
|
||||
Requires: coreutils grep sed unzip zip
|
||||
|
|
@ -348,17 +363,19 @@ Requires: mokutil
|
|||
%endif
|
||||
|
||||
%description client
|
||||
This package contains/requires the components needed to develop
|
||||
systemtap scripts, and compile them using a local systemtap-devel
|
||||
or a remote systemtap-server installation, then run them using a
|
||||
local or remote systemtap-runtime. It includes script samples and
|
||||
This package contains/requires only the components needed to
|
||||
use systemtap scripts by compiling them using a local or a remote
|
||||
systemtap-server service, then run them using a local or
|
||||
remote systemtap-runtime. It includes script samples and
|
||||
documentation, and a copy of the tapset library for reference.
|
||||
|
||||
It does NOT include all the components for running a systemtap
|
||||
script in a self-contained fashion; for that, use the -devel
|
||||
subpackage instead.
|
||||
|
||||
%package initscript
|
||||
Summary: Systemtap Initscripts
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: systemtap = %{version}-%{release}
|
||||
%if %{with_systemd}
|
||||
Requires: systemd
|
||||
|
|
@ -376,9 +393,24 @@ boot-time probing if supported.
|
|||
|
||||
|
||||
%package sdt-devel
|
||||
Summary: Static probe support tools
|
||||
License: GPLv2+ and Public Domain
|
||||
URL: http://sourceware.org/systemtap/
|
||||
Summary: Static probe support header files
|
||||
License: GPL-2.0-or-later AND CC0-1.0
|
||||
URL: https://sourceware.org/systemtap/
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 10
|
||||
# for RHEL buildability compatibility, pull in sdt-dtrace at all times
|
||||
Requires: systemtap-sdt-dtrace = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description sdt-devel
|
||||
This package includes the <sys/sdt.h> header file used for static
|
||||
instrumentation compiled into userspace programs.
|
||||
|
||||
|
||||
%package sdt-dtrace
|
||||
Summary: Static probe support dtrace tool
|
||||
License: GPL-2.0-or-later AND CC0-1.0
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Provides: dtrace = %{version}-%{release}
|
||||
%if %{with_pyparsing}
|
||||
%if %{with_python3}
|
||||
Requires: python3-pyparsing
|
||||
|
|
@ -391,21 +423,19 @@ Requires: python2-pyparsing
|
|||
%endif
|
||||
%endif
|
||||
|
||||
%description sdt-devel
|
||||
This package includes the <sys/sdt.h> header file used for static
|
||||
instrumentation compiled into userspace programs and libraries, along
|
||||
with the optional dtrace-compatibility preprocessor to process related
|
||||
.d files into tracing-macro-laden .h headers.
|
||||
%description sdt-dtrace
|
||||
This package includes the dtrace-compatibility preprocessor
|
||||
to process related .d files into tracing-macro-laden .h headers.
|
||||
|
||||
|
||||
%package testsuite
|
||||
Summary: Instrumentation System Testsuite
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later AND GPL-2.0-only AND GPL-3.0-or-later AND MIT
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: systemtap = %{version}-%{release}
|
||||
Requires: systemtap-sdt-devel = %{version}-%{release}
|
||||
Requires: systemtap-server = %{version}-%{release}
|
||||
Requires: dejagnu which elfutils grep nc
|
||||
Requires: dejagnu which elfutils grep nc wget
|
||||
%if %{with_debuginfod}
|
||||
Requires: elfutils-debuginfod
|
||||
%endif
|
||||
|
|
@ -472,8 +502,8 @@ systemtap on the current system.
|
|||
%if %{with_java}
|
||||
%package runtime-java
|
||||
Summary: Systemtap Java Runtime Support
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: systemtap-runtime = %{version}-%{release}
|
||||
# work around fedora ci gating kvetching about i686<->x86-64 conflicts
|
||||
%ifarch x86_64
|
||||
|
|
@ -494,8 +524,8 @@ that probe Java processes running on the OpenJDK runtimes using Byteman.
|
|||
%if %{with_python2_probes}
|
||||
%package runtime-python2
|
||||
Summary: Systemtap Python 2 Runtime Support
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: systemtap-runtime = %{version}-%{release}
|
||||
|
||||
%description runtime-python2
|
||||
|
|
@ -506,8 +536,8 @@ that probe python 2 processes.
|
|||
%if %{with_python3_probes}
|
||||
%package runtime-python3
|
||||
Summary: Systemtap Python 3 Runtime Support
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: systemtap-runtime = %{version}-%{release}
|
||||
|
||||
%if ! (%{with_python2_probes})
|
||||
|
|
@ -523,8 +553,8 @@ that probe python 3 processes.
|
|||
%if %{with_python3_probes}
|
||||
%package exporter
|
||||
Summary: Systemtap-prometheus interoperation mechanism
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: systemtap-runtime = %{version}-%{release}
|
||||
|
||||
%description exporter
|
||||
|
|
@ -536,8 +566,8 @@ to remote requesters on demand.
|
|||
%if %{with_virthost}
|
||||
%package runtime-virthost
|
||||
Summary: Systemtap Cross-VM Instrumentation - host
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
# only require libvirt-libs really
|
||||
#Requires: libvirt >= 1.0.2
|
||||
Requires: libxml2
|
||||
|
|
@ -551,8 +581,8 @@ connection.
|
|||
%if %{with_virtguest}
|
||||
%package runtime-virtguest
|
||||
Summary: Systemtap Cross-VM Instrumentation - guest
|
||||
License: GPLv2+
|
||||
URL: http://sourceware.org/systemtap/
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: systemtap-runtime = %{version}-%{release}
|
||||
%if %{with_systemd}
|
||||
Requires(post): findutils coreutils
|
||||
|
|
@ -569,10 +599,22 @@ This package installs the services necessary on a virtual machine for a
|
|||
systemtap-runtime-virthost machine to execute systemtap scripts.
|
||||
%endif
|
||||
|
||||
%package jupyter
|
||||
Summary: ISystemtap jupyter kernel and examples
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://sourceware.org/systemtap/
|
||||
Requires: systemtap = %{version}-%{release}
|
||||
|
||||
%description jupyter
|
||||
This package includes files needed to build and run
|
||||
the interactive systemtap Jupyter kernel, either locally
|
||||
or within a container.
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch 0 -p1
|
||||
|
||||
%build
|
||||
|
||||
|
|
@ -583,6 +625,13 @@ systemtap-runtime-virthost machine to execute systemtap scripts.
|
|||
%global dyninst_config --without-dyninst
|
||||
%endif
|
||||
|
||||
# Enable/disable the dyninst pure-userspace backend
|
||||
%if %{with_Werror}
|
||||
%global Werror_config --enable-Werror
|
||||
%else
|
||||
%global Werror_config --disable-Werror
|
||||
%endif
|
||||
|
||||
# Enable/disable the sqlite coverage testing support
|
||||
%if %{with_sqlite}
|
||||
%global sqlite_config --enable-sqlite
|
||||
|
|
@ -670,12 +719,17 @@ systemtap-runtime-virthost machine to execute systemtap scripts.
|
|||
# We don't ship compileworthy python code, just oddball samples
|
||||
%global py_auto_byte_compile 0
|
||||
|
||||
%configure %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} %{bpf_config} %{debuginfod_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}"
|
||||
%configure %{Werror_config} %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} %{bpf_config} %{debuginfod_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}"
|
||||
make %{?_smp_mflags} V=1
|
||||
|
||||
|
||||
%install
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
|
||||
%if ! (%{with_python3})
|
||||
rm -v $RPM_BUILD_ROOT%{_bindir}/stap-profile-annotate
|
||||
%endif
|
||||
|
||||
%find_lang %{name}
|
||||
for dir in $(ls -1d $RPM_BUILD_ROOT%{_mandir}/{??,??_??}) ; do
|
||||
dir=$(echo $dir | sed -e "s|^$RPM_BUILD_ROOT||")
|
||||
|
|
@ -688,6 +742,8 @@ mkdir -p %{buildroot}%{_sysusersdir}
|
|||
echo '%_systemtap_runtime_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-runtime.conf
|
||||
echo '%_systemtap_server_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-server.conf
|
||||
echo '%_systemtap_testsuite_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-testsuite.conf
|
||||
mkdir -p %{buildroot}%{_tmpfilesdir}
|
||||
echo '%_systemtap_server_preinstall_tmpfiles' > %{buildroot}%{_tmpfilesdir}/systemtap-server.conf
|
||||
%endif
|
||||
|
||||
|
||||
|
|
@ -705,9 +761,6 @@ find testsuite -type f -name '.gitignore' -print0 | xargs -0 rm -f
|
|||
# permissions back to 04110 in the %files section below.
|
||||
chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun
|
||||
|
||||
#install the useful stap-prep script
|
||||
install -c -m 755 stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
|
||||
|
||||
# Copy over the testsuite
|
||||
cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap
|
||||
|
||||
|
|
@ -813,33 +866,52 @@ done
|
|||
|
||||
%if %{with_specific_python}
|
||||
# Some files got ambiguous python shebangs, we fix them after everything else is done
|
||||
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{python3_sitearch} %{buildroot}%{_bindir}/*
|
||||
%py3_shebang_fix %{buildroot}%{python3_sitearch} %{buildroot}%{_bindir}/*
|
||||
%endif
|
||||
|
||||
%check
|
||||
%if %{with_check}
|
||||
make check RUNTESTFLAGS=environment_sanity.exp
|
||||
%endif
|
||||
|
||||
|
||||
%pre runtime
|
||||
%if %{with_sysusers}
|
||||
%if (0%{?fedora} && 0%{?fedora} < 42) || (0%{?rhel} && 0%{?rhel} < 11)
|
||||
echo '%_systemtap_runtime_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-runtime.conf -
|
||||
exit 0
|
||||
%endif
|
||||
%else
|
||||
getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr
|
||||
getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys
|
||||
getent group stapdev >/dev/null || groupadd -f -g 158 -r stapdev
|
||||
%endif
|
||||
getent passwd stapunpriv >/dev/null || \
|
||||
useradd -c "Systemtap Unprivileged User" -u 159 -g stapunpriv -d %{_localstatedir}/lib/stapunpriv -r -s /sbin/nologin stapunpriv 2>/dev/null || \
|
||||
useradd -c "Systemtap Unprivileged User" -g stapunpriv -d %{_localstatedir}/lib/stapunpriv -r -s /sbin/nologin stapunpriv
|
||||
exit 0
|
||||
%endif
|
||||
|
||||
%pre server
|
||||
%if %{with_sysusers}
|
||||
%if (0%{?fedora} && 0%{?fedora} < 42) || (0%{?rhel} && 0%{?rhel} < 11)
|
||||
echo '%_systemtap_server_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-server.conf -
|
||||
echo '%_systemtap_server_preinstall_tmpfiles' | systemd-tmpfiles --replace=%{_tmpfilesdir}/systemtap-server.conf -
|
||||
exit 0
|
||||
%endif
|
||||
%else
|
||||
getent group stap-server >/dev/null || groupadd -f -g 155 -r stap-server
|
||||
getent passwd stap-server >/dev/null || \
|
||||
useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server 2>/dev/null || \
|
||||
useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server
|
||||
%endif
|
||||
exit 0
|
||||
%endif
|
||||
|
||||
%pre testsuite
|
||||
%if %{with_sysusers}
|
||||
%if (0%{?fedora} && 0%{?fedora} < 42) || (0%{?rhel} && 0%{?rhel} < 11)
|
||||
echo '%_systemtap_testsuite_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-testsuite.conf -
|
||||
exit 0
|
||||
%endif
|
||||
%else
|
||||
getent passwd stapusr >/dev/null || \
|
||||
useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr
|
||||
|
|
@ -847,8 +919,8 @@ getent passwd stapsys >/dev/null || \
|
|||
useradd -c "Systemtap 'stapsys' User" -g stapsys -G stapusr -r -s /sbin/nologin stapsys
|
||||
getent passwd stapdev >/dev/null || \
|
||||
useradd -c "Systemtap 'stapdev' User" -g stapdev -G stapusr -r -s /sbin/nologin stapdev
|
||||
%endif
|
||||
exit 0
|
||||
%endif
|
||||
|
||||
%post server
|
||||
|
||||
|
|
@ -868,7 +940,8 @@ if [ ! -f ~stap-server/.systemtap/rc ]; then
|
|||
numcpu=`/usr/bin/getconf _NPROCESSORS_ONLN`
|
||||
if [ -z "$numcpu" -o "$numcpu" -lt 1 ]; then numcpu=1; fi
|
||||
nproc=`expr $numcpu \* 30`
|
||||
echo "--rlimit-as=614400000 --rlimit-cpu=60 --rlimit-nproc=$nproc --rlimit-stack=1024000 --rlimit-fsize=51200000" > ~stap-server/.systemtap/rc
|
||||
# PR29661 -> 4G
|
||||
echo "--rlimit-as=4294967296 --rlimit-cpu=60 --rlimit-nproc=$nproc --rlimit-stack=1024000 --rlimit-fsize=51200000" > ~stap-server/.systemtap/rc
|
||||
chown stap-server:stap-server ~stap-server/.systemtap/rc
|
||||
fi
|
||||
|
||||
|
|
@ -1055,6 +1128,7 @@ exit 0
|
|||
%if %{with_systemd}
|
||||
%{_unitdir}/stap-server.service
|
||||
%{_tmpfilesdir}/stap-server.conf
|
||||
%{_tmpfilesdir}/systemtap-server.conf
|
||||
%else
|
||||
%{initdir}/stap-server
|
||||
%dir %{_sysconfdir}/stap-server/conf.d
|
||||
|
|
@ -1078,7 +1152,9 @@ exit 0
|
|||
%files devel -f systemtap.lang
|
||||
%{_bindir}/stap
|
||||
%{_bindir}/stap-prep
|
||||
%if %{with_python3}
|
||||
%{_bindir}/stap-profile-annotate
|
||||
%endif
|
||||
%{_bindir}/stap-report
|
||||
%dir %{_datadir}/systemtap
|
||||
%{_datadir}/systemtap/runtime
|
||||
|
|
@ -1099,13 +1175,14 @@ exit 0
|
|||
%if %{with_emacsvim}
|
||||
%{_emacs_sitelispdir}/*.el*
|
||||
%{_emacs_sitestartdir}/systemtap-init.el
|
||||
%{_datadir}/vim/vimfiles/*/*.vim
|
||||
%{_datadir}/vim/vimfiles
|
||||
%endif
|
||||
# Notice that the stap-resolve-module-function.py file is used by
|
||||
# *both* the python2 and python3 subrpms. Both subrpms use that same
|
||||
# python script to help list python probes.
|
||||
%if %{with_python3_probes} || %{with_python2_probes}
|
||||
%{_libexecdir}/systemtap/python/stap-resolve-module-function.py
|
||||
%dir %{_libexecdir}/systemtap/python
|
||||
%exclude %{_libexecdir}/systemtap/python/stap-resolve-module-function.py?
|
||||
%endif
|
||||
|
||||
|
|
@ -1200,16 +1277,22 @@ exit 0
|
|||
|
||||
|
||||
%files sdt-devel
|
||||
%{_bindir}/dtrace
|
||||
%{_includedir}/sys/sdt.h
|
||||
%{_includedir}/sys/sdt-config.h
|
||||
%{_mandir}/man1/dtrace.1*
|
||||
%{_rpmmacrodir}/macros.systemtap
|
||||
%doc README AUTHORS NEWS
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license COPYING
|
||||
|
||||
|
||||
%files sdt-dtrace
|
||||
%{_bindir}/dtrace
|
||||
%doc README AUTHORS NEWS
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license COPYING
|
||||
%{_mandir}/man1/dtrace.1*
|
||||
|
||||
|
||||
%files testsuite
|
||||
%dir %{_datadir}/systemtap
|
||||
%{_datadir}/systemtap/testsuite
|
||||
|
|
@ -1266,15 +1349,115 @@ exit 0
|
|||
%{_sbindir}/stap-exporter
|
||||
%endif
|
||||
|
||||
%files jupyter
|
||||
%{_bindir}/stap-jupyter-container
|
||||
%{_bindir}/stap-jupyter-install
|
||||
%{_mandir}/man1/stap-jupyter.1*
|
||||
%dir %{_datadir}/systemtap
|
||||
%{_datadir}/systemtap/interactive-notebook
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
|
||||
# Future new-release entries should be of the form
|
||||
# * DDD MMM DD YYYY YOURNAME <YOUREMAIL> - V-R
|
||||
# - Upstream release, see wiki page below for detailed notes.
|
||||
# http://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
# https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
|
||||
# PRERELEASE
|
||||
%changelog
|
||||
* Tue Jan 13 2026 Jonathan Wakely <jwakely@fedoraproject.org> - 5.4-2
|
||||
- Patched to workaround Autoconf 2.72 incompatiblity with GCC 16
|
||||
|
||||
* Fri Oct 31 2025 Frank Ch. Eigler <fche@redhat.com> - 5.4-1
|
||||
- Upstream release, see wiki page below for detailed notes.
|
||||
https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
|
||||
* Mon Sep 22 2025 Frank Ch. Eigler <fche@redhat.com> - 5.4-17585496g86ab88eb
|
||||
- Automated weekly rawhide release
|
||||
- Applied spec changes from upstream git
|
||||
|
||||
* Mon Sep 22 2025 Frank Ch. Eigler <fche@redhat.com> - 5.4-17585473g1fe4178d
|
||||
- Automated weekly rawhide release
|
||||
- Applied spec changes from upstream git
|
||||
|
||||
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 5.3-5
|
||||
- Rebuilt for Python 3.14.0rc3 bytecode
|
||||
|
||||
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 5.3-4
|
||||
- Rebuilt for Python 3.14.0rc2 bytecode
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 5.3-2
|
||||
- Rebuilt for Python 3.14
|
||||
|
||||
* Fri May 02 2025 Frank Ch. Eigler <fche@redhat.com> - 5.3-1
|
||||
- Upstream release, see wiki page below for detailed notes.
|
||||
https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
|
||||
* Thu Feb 06 2025 Frank Ch. Eigler <fche@redhat.com> - 5.3~pre17373816g7a71d34b.5
|
||||
- Respin against dyninst 13 redux
|
||||
|
||||
* Fri Jan 24 2025 Frank Ch. Eigler <fche@redhat.com> - 5.3~pre17373816g7a71d34b.3
|
||||
- Respin against dyninst 13, sans dyninst on i686.
|
||||
|
||||
* Mon Jan 20 2025 Frank Ch. Eigler <fche@redhat.com> - 5.3-17373816g7a71d34b
|
||||
- Automated weekly rawhide release
|
||||
- Applied spec changes from upstream git
|
||||
|
||||
* Mon Jan 20 2025 Frank Ch. Eigler <fche@redhat.com> - 5.3-17373794g3efe129d
|
||||
- Automated weekly rawhide release
|
||||
- Applied spec changes from upstream git
|
||||
|
||||
* Sun Jan 19 2025 Frank Ch. Eigler <fche@redhat.com> - 5.3-17373422g9a48fbea
|
||||
- Automated weekly rawhide release
|
||||
- Applied spec changes from upstream git
|
||||
|
||||
* Sun Jan 19 2025 Frank Ch. Eigler <fche@redhat.com> - 5.2-17373420g1e894ff0
|
||||
- Automated weekly rawhide release
|
||||
- Applied spec changes from upstream git
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Fri Nov 08 2024 Frank Ch. Eigler <fche@redhat.com> - 5.2-1
|
||||
- Upstream release, see wiki page below for detailed notes.
|
||||
https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
|
||||
* Mon Oct 07 2024 William Cohen <wcohen@redhat.com> - 5.2-17283218gc5774e18
|
||||
- Automated weekly rawhide release
|
||||
- Applied spec changes from upstream git
|
||||
|
||||
* Tue Oct 01 2024 William Cohen <wcohen@redhat.com> - 5.2-17277956g0b7f6722
|
||||
- Automated weekly rawhide release
|
||||
- Applied spec changes from upstream git
|
||||
|
||||
* Fri Aug 30 2024 Frank Ch. Eigler <fche@redhat.com> - 5.2-17250223gd07e4284
|
||||
- Automated weekly rawhide release
|
||||
- Applied spec changes from upstream git
|
||||
|
||||
* Thu Aug 08 2024 Lumír Balhar <lbalhar@redhat.com> - 5.2-pre
|
||||
- Final split of sdt-dtrace and sdt-devel (rhbz#2296275)
|
||||
https://fedoraproject.org/wiki/Changes/Separate_dtrace_package
|
||||
|
||||
* Fri Apr 26 2024 Frank Ch. Eigler <fche@redhat.com> - 5.1-1
|
||||
- Upstream release, see wiki page below for detailed notes.
|
||||
https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
|
||||
* Sat Nov 04 2023 Frank Ch. Eigler <fche@redhat.com> - 5.0-1
|
||||
- Upstream release, see wiki page below for detailed notes.
|
||||
https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
- migrated to SPDX license
|
||||
|
||||
* Fri Apr 28 2023 Frank Ch. Eigler <fche@redhat.com> - 4.9-1
|
||||
- Upstream release, see wiki page below for detailed notes.
|
||||
https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
|
||||
* Thu Nov 03 2022 Serhei Makarov <serhei@serhei.io> - 4.8-1
|
||||
- Upstream release, see wiki page below for detailed notes.
|
||||
https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
|
||||
* Mon May 02 2022 Frank Ch. Eigler <fche@redhat.com> - 4.7-1
|
||||
- Upstream release, see wiki page below for detailed notes.
|
||||
https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||
|
|
|
|||
|
|
@ -1,20 +0,0 @@
|
|||
#!/usr/bin/stap -v
|
||||
/*
|
||||
Example usage of the Python systemtap tapset to show a nested view of all
|
||||
Python function calls (and returns) across the whole system.
|
||||
|
||||
Run this using
|
||||
stap systemtap-example.stp
|
||||
to instrument all Python processes on the system, or (for example) using
|
||||
stap systemtap-example.stp -c COMMAND
|
||||
to instrument a specific program (implemented in Python)
|
||||
*/
|
||||
probe python.function.entry
|
||||
{
|
||||
printf("%s => %s in %s:%d\n", thread_indent(1), funcname, filename, lineno);
|
||||
}
|
||||
|
||||
probe python.function.return
|
||||
{
|
||||
printf("%s <= %s in %s:%d\n", thread_indent(-1), funcname, filename, lineno);
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
summary: Systemtap static probes test
|
||||
description: |
|
||||
This test checks basic functionality of Python's systemtap static
|
||||
probes. It runs list & top systemtap scripts (examples from the
|
||||
python rpm) and then a python script using the "random" module.
|
||||
Finally it checks that the "random" module is correctly listed in
|
||||
the output of both systemtap scripts.
|
||||
contact: Petr Splichal <psplicha@redhat.com>
|
||||
component:
|
||||
- python
|
||||
- systemtap
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- python
|
||||
- python-debuginfo
|
||||
- systemtap
|
||||
- python2
|
||||
- python3
|
||||
- elfutils
|
||||
duration: 15m
|
||||
extra-summary: /CoreOS/python/Sanity/systemtap
|
||||
extra-task: /CoreOS/python/Sanity/systemtap
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/python/Sanity/systemtap
|
||||
# Description: Systemtap static probes test
|
||||
# Author: Petr Splichal <psplicha@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include rhts environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
# Packages to be tested
|
||||
PACKAGES="${PACKAGES:-python3}"
|
||||
# Other required packages
|
||||
REQUIRES=${REQUIRES:-}
|
||||
# Binary name parametrized
|
||||
PYTHON="${PYTHON:-python3}"
|
||||
|
||||
package=$(rpm -qf --queryformat '%{name}\n' $(which $PYTHON))
|
||||
collection_path=$(which python | sed 's/\/usr\/bin\/python//')
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm --all
|
||||
rlAssertRpm "systemtap"
|
||||
rlLogInfo "Running on kernel: $(uname -r)"
|
||||
rlRun "rpm -qa 'systemtap*'" 0 "Checking systemtap packages"
|
||||
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||
rlRun "cp list.stp top.stp test.py $TmpDir" 0 "Copying scripts"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Verifying ELF file for presence of .probes section"
|
||||
for lib in ${collection_path}/usr/lib*/libpython*.so.* ; do
|
||||
rlRun "eu-readelf -x .probes $lib" \
|
||||
0 "Checking for .probes section within $lib"
|
||||
done
|
||||
rlPhaseEnd
|
||||
|
||||
# Note that typically you need to be root to run "stap" (or be within
|
||||
# an appropriate group)
|
||||
for script in list top; do
|
||||
rlPhaseStartTest "Test $script"
|
||||
rlRun "rm -rf ~/.systemtap/cache" 0 "Cleaning cache"
|
||||
rlRun "stap $script.stp -v -c \"$PYTHON test.py\" > $script" \
|
||||
0 "Testing with $script.stp"
|
||||
rlRun "tail -100 $script | col -b" 0 "Inspecting output"
|
||||
if ! rlRun "grep '/usr/lib.*python.*random.py' '$script'" \
|
||||
0 "Checking for random in the $script output"; then
|
||||
rlRun "stap $script.stp -vvv -c \"$PYTHON test.py\" > $script" \
|
||||
0 "Running $script.stp once more in verbose mode"
|
||||
fi
|
||||
rlPhaseEnd
|
||||
done
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
import random, time
|
||||
print(random.random())
|
||||
time.sleep(3)
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
#!/usr/bin/stap -v
|
||||
|
||||
global fn_calls;
|
||||
|
||||
probe python.function.entry
|
||||
{
|
||||
fn_calls[pid(), filename, funcname, lineno] += 1;
|
||||
}
|
||||
|
||||
probe timer.ms(1000) {
|
||||
printf("\033[2J\033[1;1H") /* clear screen */
|
||||
printf("%6s %80s %6s %30s %6s\n",
|
||||
"PID", "FILENAME", "LINE", "FUNCTION", "CALLS")
|
||||
foreach ([pid, filename, funcname, lineno] in fn_calls- limit 1000) {
|
||||
printf("%6d %80s %6d %30s %6d\n",
|
||||
pid, filename, lineno, funcname,
|
||||
fn_calls[pid, filename, funcname, lineno]);
|
||||
}
|
||||
|
||||
delete fn_calls;
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
summary: suns small tests
|
||||
description: ''
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- systemtap
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- systemtap
|
||||
- systemtap-testsuite
|
||||
- perf
|
||||
duration: 10m
|
||||
extra-summary: /tools/systemtap/Regression/small-tests
|
||||
extra-task: /tools/systemtap/Regression/small-tests
|
||||
|
|
@ -1,183 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/systemtap/Regression/small-tests
|
||||
# Description: suns small tests
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2014 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="systemtap"
|
||||
|
||||
export DEBUGINFOD_URLS="https://debuginfod.fedoraproject.org/ $DEBUGINFOD_URLS"
|
||||
export DEBUGINFOD_TIMEOUT=300
|
||||
|
||||
_arch=$(arch)
|
||||
|
||||
function perf_probe_failed ()
|
||||
{
|
||||
probe=$1
|
||||
perf probe -d $probe ||:
|
||||
perf probe --add $probe
|
||||
retval=$?
|
||||
test $retval -eq 0 && \
|
||||
rlLogInfo "Running perf probe --add $probe PASSED" || \
|
||||
rlLogInfo "Running perf probe --add $probe FAILED"
|
||||
perf probe -d $probe ||:
|
||||
if test $retval -eq 0; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
function perf_found_none_of ()
|
||||
{
|
||||
ret=0
|
||||
for f in "$@"; do
|
||||
perf_probe_failed $f || ret=1
|
||||
done
|
||||
return $ret
|
||||
}
|
||||
|
||||
rlJournalStart
|
||||
# Check the environment ---------------------------------------
|
||||
rlPhaseStart WARN "Check the environment"
|
||||
rlRun "rpm -qa | egrep '^(kernel|systemtap|perf)' | sort"
|
||||
rlRun "uname -r"
|
||||
rlRun "perf --version"
|
||||
rlPhaseEnd
|
||||
|
||||
# bz1162939 ---------------------------------------------------
|
||||
(
|
||||
perf_probe_failed "vfs_read" && exit
|
||||
rlPhaseStart FAIL "test 1 bz1162939"
|
||||
# At this point a weird problem shows up: sometimes the first
|
||||
# systemtap invocation fails for some reason, but subsequent
|
||||
# invocations succeed. Can't reproduce this manually:
|
||||
rlRun "stap -vvvp4 -e 'probe vfs.read{println(\"hit\")}'" 0,1
|
||||
sleep 30
|
||||
rlRun "stap -vvvp4 -e 'probe vfs.read{println(\"hit\")}'" 0,1
|
||||
sleep 30
|
||||
rlRun "stap -e 'probe vfs.read{println(\"hit\")}' -c 'head -1 /etc/hosts'"
|
||||
rlPhaseEnd
|
||||
)
|
||||
# bz1119335 ---------------------------------------------------
|
||||
rlPhaseStart FAIL "test 2 bz1119335"
|
||||
rlRun "man 8 staprun | grep 'STAP_FIPS_OVERRIDE'"
|
||||
rlPhaseEnd
|
||||
|
||||
# bz1153673 ---------------------------------------------------
|
||||
rlPhaseStart FAIL "test 3 bz1153673"
|
||||
_tested=0
|
||||
for _pkg in $( rpm -qa | grep systemtap-testsuite ); do
|
||||
for _tc in $( rpm -ql $_pkg | grep 'alias_suffixes.stp$' ); do
|
||||
stap -p4 $_tc && p="" || p="-P"
|
||||
rlRun "stap $p -p4 $_tc"
|
||||
_tested=1
|
||||
done
|
||||
done
|
||||
[[ $_tested -eq 0 ]] && rlFail "Not tested"
|
||||
rlPhaseEnd
|
||||
|
||||
# bz1160837 ---------------------------------------------------
|
||||
(
|
||||
perf_probe_failed "sd_init_command" && exit
|
||||
rlPhaseStart FAIL "test 4 bz1160837"
|
||||
_tested=0
|
||||
_prologue_search=''
|
||||
for _pkg in $( rpm -qa | grep systemtap-testsuite ); do
|
||||
for _tc in $( rpm -ql $_pkg | grep 'iostat-scsi.stp$' ); do
|
||||
test $_arch = ppc64le && _prologue_search='-P'
|
||||
rlRun "stap -g $_prologue_search $_tc 1 -c 'sleep 1'"
|
||||
_tested=1
|
||||
done
|
||||
done
|
||||
[[ $_tested -eq 0 ]] && rlFail "Not tested"
|
||||
rlPhaseEnd
|
||||
)
|
||||
|
||||
# bz1203808 ---------------------------------------------------
|
||||
rlPhaseStart FAIL "test 5 bz1203808"
|
||||
_tested=0
|
||||
for _pkg in $( rpm -qa | grep systemtap-testsuite ); do
|
||||
for _tc in $( rpm -ql $_pkg | grep 'vfs-all-probes.stp$' ); do
|
||||
stap -wp4 $_tc && p="" || p="-P"
|
||||
rlRun "stap $p -w -p4 $_tc"
|
||||
_tested=1
|
||||
done
|
||||
done
|
||||
[[ $_tested -eq 0 ]] && rlFail "Not tested"
|
||||
rlPhaseEnd
|
||||
|
||||
# bz1269062 ---------------------------------------------------
|
||||
rlPhaseStart FAIL "test 6 bz1269062"
|
||||
rlRun "stap -c sync --suppress-handler-errors -e 'probe ioscheduler.elv_add_request{println(elevator_name) exit()}'"
|
||||
rlPhaseEnd
|
||||
|
||||
# bz528792 ---------------------------------------------------
|
||||
(
|
||||
# Not relevant on rhel-9 because of kernel commit cad6967ac10843a70842cd39c7b53412901dd21f that removes
|
||||
# _do_fork() and replaces it with new kernel_clone()
|
||||
perf_found_none_of "_do_fork" "do_fork" "sys_clone" && exit
|
||||
|
||||
rlPhaseStart FAIL "test 7 bz528792"
|
||||
if test $_arch = ppc64le; then
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1652740#c4 - We can not reach any function parameters, namely $clone_flags
|
||||
rlRun "stap -ve 'probe kernel.function(\"_do_fork\")!, kernel.function(\"do_fork\")!, kernel.function(\"sys_clone\") { println(pp()) exit() }' -c \"bash -c 'while sleep 1; do /bin/true; done'\""
|
||||
else
|
||||
rlRun "stap -ve 'probe kernel.function(\"_do_fork\")!, kernel.function(\"do_fork\")!, kernel.function(\"sys_clone\") { printf(\"%x\n\",\$clone_flags) exit() }' -c \"bash -c 'while sleep 1; do /bin/true; done'\""
|
||||
fi
|
||||
rlPhaseEnd
|
||||
)
|
||||
|
||||
# bz1890702 ---------------------------------------------------
|
||||
(
|
||||
perf_probe_failed "vfs_open" && exit
|
||||
rlPhaseStart FAIL "test 8 bz1890702"
|
||||
rlRun "stap -g --suppress-time-limits -e 'probe kernel.function(\"vfs_open\") { printf(\"%s(path: %s)\", ppfunc(), \$path\$) ; exit() }' -c 'cat /etc/hosts'"
|
||||
rlPhaseEnd
|
||||
)
|
||||
|
||||
# bz1904216 ---------------------------------------------------
|
||||
rlPhaseStart FAIL "test 9 bz1904216"
|
||||
rlRun "stap -p4 -DSTP_NO_OVERLOAD -t -c 'sleep 0.25' -e 'probe kernel.trace(\"bcache:bcache_btree_set_root\") { if (pid() == 0) printf(\"probe hit\n\"); }'"
|
||||
rlPhaseEnd
|
||||
|
||||
# bz1940804 ---------------------------------------------------
|
||||
rlPhaseStart FAIL "test 10 bz1940804"
|
||||
rlRun "stap -e 'probe process(\"/bin/bash\").function(\"main\") {println(pn()) }' -c '/bin/bash --help'"
|
||||
rlPhaseEnd
|
||||
|
||||
# bz1940945 ---------------------------------------------------
|
||||
rlPhaseStart FAIL "test 11 bz1940945"
|
||||
rlRun "stap -c sync --suppress-handler-errors -e 'probe ioscheduler.elv_add_request{println(elevator_name) exit()}'"
|
||||
rlPhaseEnd
|
||||
|
||||
# bz1940761 ---------------------------------------------------
|
||||
rlPhaseStart FAIL "test 12 bz1940761"
|
||||
rlRun "stap -v /usr/share/systemtap/examples/process/strace.stp -w -c \"echo hello world\""
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
package foo.bar;
|
||||
|
||||
import java.lang.*;
|
||||
import java.util.*;
|
||||
|
||||
class ThreadedExample
|
||||
{
|
||||
|
||||
public static void printMessage(int message) {
|
||||
System.out.println("message: " + message);
|
||||
}
|
||||
|
||||
public static void printMessage(long message) {
|
||||
System.out.println("message: " + message);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
// sleep so that stap can start and byteman agent gets installed
|
||||
try {
|
||||
Thread.sleep(30000);
|
||||
} catch(InterruptedException ex) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
String[] inputs = new String[] {"int", "foo", "long"};
|
||||
for (String next : inputs) {
|
||||
|
||||
final String arg = next;
|
||||
final int i = 42;
|
||||
final long j = 987234864;
|
||||
Thread thread = new Thread(arg) {
|
||||
public void run() {
|
||||
if(arg.equals("int"))
|
||||
printMessage(i);
|
||||
else if(arg.equals("long"))
|
||||
printMessage(j);
|
||||
else
|
||||
System.out.println("Neither of the types");
|
||||
}
|
||||
};
|
||||
thread.start();
|
||||
try {
|
||||
thread.join();
|
||||
} catch (Exception e){}
|
||||
}
|
||||
} catch (Exception e){}
|
||||
|
||||
|
||||
// sleep so that stap can finish still while probed java program still runs
|
||||
try {
|
||||
Thread.sleep(80000);
|
||||
} catch(InterruptedException ex) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
probe java("foo.bar.ThreadedExample").class("ThreadedExample").method("printMessage(int)")
|
||||
{
|
||||
printf("Hit printMessage(int): %s\n", arg1)
|
||||
}
|
||||
|
||||
probe java("foo.bar.ThreadedExample").class("ThreadedExample").method("printMessage(long)")
|
||||
{
|
||||
printf("Hit printMessage(long): %s\n", arg1)
|
||||
exit()
|
||||
}
|
||||
|
||||
probe timer.ms(100000)
|
||||
{
|
||||
error("Exit on timeout")
|
||||
exit()
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
summary: byteman-java-methods-probing
|
||||
description: ''
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- java-devel
|
||||
- systemtap
|
||||
- systemtap-runtime-java
|
||||
duration: 15m
|
||||
extra-summary: /tools/systemtap/Sanity/byteman-java-methods-probing
|
||||
extra-task: /tools/systemtap/Sanity/byteman-java-methods-probing
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/systemtap/Sanity/byteman-java-methods-probing
|
||||
# Description: byteman-java-methods-probing
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
export DEBUGINFOD_URLS="https://debuginfod.fedoraproject.org/ $DEBUGINFOD_URLS"
|
||||
export DEBUGINFOD_TIMEOUT=300
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
# At this point we simply rely on that the %triggerin scriptlet from
|
||||
# systemtap-runtime-java did it's job well. There was a hack to force
|
||||
# trigger it here, but commit respective to this comment removes it.
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1732514#c11
|
||||
|
||||
rlRun "rpm -qa | fgrep -e systemtap-runtime-java -e byteman -e openjdk | sort"
|
||||
|
||||
rlRun "stap-prep"
|
||||
|
||||
for BINARY in java javac; do
|
||||
rlRun "alternatives --display $BINARY | grep -v slave"
|
||||
rlRun "$BINARY -version"
|
||||
done
|
||||
|
||||
rlRun "TMPDIR=$( mktemp -d )"
|
||||
rlRun "mkdir -p $TMPDIR/foo/bar"
|
||||
rlRun "cp ThreadedExample.java $TMPDIR/foo/bar/"
|
||||
rlRun "cp ThreadedExample.stp $TMPDIR/"
|
||||
rlRun "pushd $TMPDIR"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStart FAIL 'Prepare bytecode class'
|
||||
rlRun "javac foo/bar/ThreadedExample.java"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStart FAIL 'Prepare the LKML'
|
||||
rlRun "stap -p4 -m ThreadedExample ThreadedExample.stp"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStart FAIL 'Check the Feature'
|
||||
java foo.bar.ThreadedExample &
|
||||
rlRun "jps -l | grep 'foo.bar.ThreadedExample'"
|
||||
export STAPBM_VERBOSE=yes
|
||||
# rlRun "stap --poison-cache -vv ThreadedExample.stp 2>&1 | tee testout.log"
|
||||
# Speed the stap startup up by pre-compiling the module within separate
|
||||
# phase 'Prepare the LKML' above.
|
||||
rlRun "staprun -v -R ThreadedExample.ko 2>&1 | tee testout.log"
|
||||
rlRun "grep -q 'Hit printMessage(int): 42' testout.log"
|
||||
rlRun "grep -q 'Hit printMessage(long): 987234864' testout.log"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TMPDIR"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
obj-m := MODULENAME.o
|
||||
module:
|
||||
make -C /lib/modules/$(shell uname -r)/build KBUILD_EXTMOD=DIRECTORY SUBDIRS=DIRECTORY modules
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
summary: Tests systemtap working with kernel modules
|
||||
description: ''
|
||||
contact: Petr Muller <pmuller@redhat.com>
|
||||
component:
|
||||
- systemtap
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- systemtap
|
||||
- kernel-devel
|
||||
- bison
|
||||
- flex
|
||||
- openssl-devel
|
||||
- elfutils-libelf-devel
|
||||
duration: 10m
|
||||
extra-summary: /tools/systemtap/Sanity/kernel-modules
|
||||
extra-task: /tools/systemtap/Sanity/kernel-modules
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
#include <linux/module.h> /* Needed by all modules */
|
||||
#include <linux/kernel.h> /* Needed for KERN_INFO */
|
||||
|
||||
int init_module(void)
|
||||
{
|
||||
printk(KERN_INFO "Hello world 1.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int some_method(void){
|
||||
printk(KERN_INFO "Some method called\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void cleanup_module(void)
|
||||
{
|
||||
printk(KERN_INFO "Goodbye world 1.\n");
|
||||
}
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/systemtap/Sanity/kernel-modules
|
||||
# Description: Tests systemtap working with kernel modules
|
||||
# Author: Petr Muller <pmuller@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="systemtap"
|
||||
|
||||
check_probes(){
|
||||
FAIL=""
|
||||
rlAssertGrep init_module $1 || FAIL='yes'
|
||||
rlAssertGrep cleanup_module $1 || FAIL='yes'
|
||||
rlAssertGrep some_method $1 || FAIL='yes'
|
||||
|
||||
if [ -n "$FAIL" ]
|
||||
then
|
||||
rlFileSubmit $1 $2.out
|
||||
fi
|
||||
}
|
||||
|
||||
rlJournalStart
|
||||
|
||||
rlPhaseStartSetup "Preparing modules"
|
||||
rlRun "mkdir -p 'stap-underscore' 'stap-dash' 'stap-none'"
|
||||
rlRun "cp module.c stap-underscore/test_module.c"
|
||||
rlRun "cp module.c stap-dash/test-module.c"
|
||||
rlRun "cp module.c stap-none/testmodule.c"
|
||||
|
||||
cat Makefile.template | sed -e 's/MODULENAME/test_module/g' \
|
||||
| sed -e "s|DIRECTORY|$PWD/stap-underscore|g" > stap-underscore/Makefile
|
||||
rlAssert0 "Creating Makefile for underscore variant" $?
|
||||
cat Makefile.template | sed -e 's/MODULENAME/test-module/g' \
|
||||
| sed -e "s|DIRECTORY|$PWD/stap-dash|g" > stap-dash/Makefile
|
||||
rlAssert0 "Creating Makefile for dash variant" $?
|
||||
|
||||
cat Makefile.template | sed -e 's/MODULENAME/testmodule/g' \
|
||||
| sed -e "s|DIRECTORY|$PWD/stap-none|g" > stap-none/Makefile
|
||||
rlAssert0 "Creating Makefile for no character variant" $?
|
||||
|
||||
if [ -n "$ARCH" ]
|
||||
then
|
||||
rlLog "ARCH is set to: [$ARCH]"
|
||||
rlLog "This interferes with 'make module', so it needs to be unset."
|
||||
ARCHOLD="$ARCH"
|
||||
unset ARCH
|
||||
rlLog "ARCH is set to: [$ARCH]"
|
||||
fi
|
||||
rlRun "make -C stap-underscore module"
|
||||
rlRun "make -C stap-dash module"
|
||||
rlRun "make -C stap-none module"
|
||||
if [ -n "$ARCHOLD" ]
|
||||
then
|
||||
rlLog "Restoring ARCH"
|
||||
export ARCH="$ARCHOLD"
|
||||
rlLog "ARCH is set to: [$ARCH]"
|
||||
fi
|
||||
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Testing underscore variant"
|
||||
rlRun "cp stap-underscore/test_module.ko /lib/modules/$(uname -r)/"
|
||||
rlRun "insmod stap-underscore/test_module.ko"
|
||||
stap -L 'module("test_module").function("*")' -v > stap.out
|
||||
check_probes stap.out "module-und-probe-und"
|
||||
stap -L 'module("test-module").function("*")' -v > stap.out
|
||||
check_probes stap.out "module-und-probe-dash"
|
||||
sleep 1
|
||||
rlRun "rmmod test_module"
|
||||
rlRun "rm -f /lib/modules/$(uname -r)/test_module.ko"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Testing dash variant"
|
||||
rlRun "cp stap-dash/test-module.ko /lib/modules/$(uname -r)/"
|
||||
rlRun "insmod stap-dash/test-module.ko"
|
||||
stap -L 'module("test_module").function("*")' -v > stap.out
|
||||
check_probes stap.out "module-dash-probe-und"
|
||||
stap -L 'module("test-module").function("*")' -v > stap.out
|
||||
check_probes stap.out "module-dash-probe-dash"
|
||||
sleep 1
|
||||
rlRun "rmmod test-module"
|
||||
rlRun "rm -f /lib/modules/$(uname -r)/test-module.ko"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Testing no separator variant"
|
||||
rlRun "cp stap-none/testmodule.ko /lib/modules/$(uname -r)/"
|
||||
rlRun "insmod stap-none/testmodule.ko"
|
||||
stap -L 'module("testmodule").function("*")' -v > stap.out
|
||||
check_probes stap.out "module-none-probe-none"
|
||||
sleep 1
|
||||
rlRun "rmmod testmodule"
|
||||
rlRun "rm -f /lib/modules/$(uname -r)/testmodule.ko"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "rm -rf stap-underscore stap-dash stap-none stap.out"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
summary: Quick test that systemtap generally works
|
||||
description: ''
|
||||
contact:
|
||||
- Petr Muller <pmuller@redhat.com>
|
||||
component:
|
||||
- systemtap
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- koji
|
||||
- systemtap
|
||||
- kernel-devel
|
||||
duration: 1h
|
||||
extra-summary: /tools/systemtap/Sanity/quick-smoke-test
|
||||
extra-task: /tools/systemtap/Sanity/quick-smoke-test
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# runtest.sh of /tools/systemtap/Sanity/quick-smoke-test
|
||||
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
export DEBUGINFOD_URLS="https://debuginfod.fedoraproject.org/ $DEBUGINFOD_URLS"
|
||||
export DEBUGINFOD_TIMEOUT=300
|
||||
# export DEBUGINFOD_PROGRESS=1
|
||||
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartTest
|
||||
rlRun "rpm -qa | egrep '^(kernel|systemtap)' | sort"
|
||||
rlRun "uname -r"
|
||||
rlRun "stap-prep"
|
||||
rlRun "stap -L 'process(\"stap\").mark(\"*\")' | grep pass"
|
||||
rlRun "stap -v --example helloworld.stp"
|
||||
rlRun "stap -v -T 10 -p4 -e 'probe kernel.function(\"do_exit\") {println(\$\$vars)}'"
|
||||
rlRun "stap -v -T 60 -e 'probe kernel.function(\"vfs_read\"){ println(\$\$vars); exit() }'"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
summary: stap-server-basic-sanity
|
||||
description: ''
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- systemtap
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- systemtap
|
||||
- kernel-debuginfo
|
||||
- avahi
|
||||
- systemtap-server
|
||||
- dbus
|
||||
- net-tools
|
||||
duration: 45m
|
||||
extra-summary: /tools/systemtap/Sanity/stap-server-basic-sanity
|
||||
extra-task: /tools/systemtap/Sanity/stap-server-basic-sanity
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/systemtap/Sanity/stap-server-basic-sanity
|
||||
# Description: stap-server-basic-sanity
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
CMD='stap'
|
||||
BIN=$(which --skip-alias $CMD)
|
||||
PACKAGE="${PACKAGE:-$(rpm -qf --qf='%{name}\n' $BIN | head -1)}"
|
||||
|
||||
export DEBUGINFOD_URLS="https://debuginfod.fedoraproject.org/ $DEBUGINFOD_URLS"
|
||||
export DEBUGINFOD_TIMEOUT=300
|
||||
|
||||
function service_stap_server() {
|
||||
action=$1
|
||||
retval=${2:-0}
|
||||
sleep 5
|
||||
rlLogInfo "PACKAGE=$PACKAGE"
|
||||
if echo $PACKAGE | grep -q devtoolset; then
|
||||
__i=$(echo $PACKAGE | awk -F- '{print $2}')
|
||||
rlRun "service devtoolset-$__i-stap-server $action" $retval
|
||||
elif echo $PACKAGE | grep -q gcc-toolset; then
|
||||
__i=$(echo $PACKAGE | awk -F- '{print $3}')
|
||||
rlRun "service gcc-toolset-$__i-stap-server $action" $retval
|
||||
else
|
||||
rlRun "service stap-server $action" $retval
|
||||
fi
|
||||
sleep 5
|
||||
}
|
||||
|
||||
_rhelmajor=$(rpm --eval '%{rhel}')
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlRun "TMPDIR=$(mktemp -d)"
|
||||
rlRun "pushd $TMPDIR"
|
||||
rlAssertRpm dbus
|
||||
rlAssertRpm avahi
|
||||
rlAssertRpm net-tools # because of netstat
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStart FAIL "sanity check"
|
||||
rlRun "stap -v -e 'probe begin { log(\"hello\"); exit() }'"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "service iptables stop" 0-255
|
||||
rlRun "service firewalld stop" 0-255
|
||||
service_stap_server stop
|
||||
test $_rhelmajor -le 8 && \
|
||||
rlRun "service messagebus restart"
|
||||
rlRun "service avahi-daemon restart"
|
||||
service_stap_server start
|
||||
|
||||
rlRun "netstat -tlp | grep stap"
|
||||
rlRun "SERVER_PORT=$( netstat -tlpn | awk '/stap/ {print $4}' | grep -o '[0-9]*$' )"
|
||||
|
||||
for SERVER_IP in '127.0.0.1' '[::1]'; do
|
||||
rlLogInfo "Testing SERVER_IP=$SERVER_IP"
|
||||
rlRun "stap --trust-servers=ssl,signer,all-users,no-prompt --use-server=$SERVER_IP:$SERVER_PORT"
|
||||
rlRun "stap --use-server=$SERVER_IP:$SERVER_PORT -v -e 'probe begin { log(\"hello\"); exit() }' 2>&1 | tee output.log"
|
||||
rlRun "grep 'Using a compile server' output.log"
|
||||
rlRun "grep '^hello$' output.log"
|
||||
done
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
service_stap_server stop
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TMPDIR"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
#include <stdio.h>
|
||||
|
||||
int main(void) {
|
||||
printf("Hello world!\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
summary: userspace-probes
|
||||
description: ''
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- systemtap
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- systemtap
|
||||
- dyninst-devel
|
||||
- gawk
|
||||
duration: 5m
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=855981
|
||||
extra-summary: /CoreOS/systemtap/Sanity/userspace-probes
|
||||
extra-task: /CoreOS/systemtap/Sanity/userspace-probes
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/systemtap/Sanity/userspace-probes
|
||||
# Description: userspace-probes
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
export DEBUGINFOD_URLS="https://debuginfod.fedoraproject.org/ $DEBUGINFOD_URLS"
|
||||
export DEBUGINFOD_TIMEOUT=300
|
||||
|
||||
PACKAGE="$(rpm -qf $( which stap ) | head -n 1 )"
|
||||
WORKDIR=$( mktemp -d )
|
||||
TESTUSER=mytestuser
|
||||
|
||||
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStart WARN "Check the environment"
|
||||
if ! stap -V 2>&1 | grep -q 'enabled features:.*DYNINST'; then
|
||||
rlLogWarning "No dyninst available in $PACKAGE"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
exit 0
|
||||
fi
|
||||
rlRun "useradd $TESTUSER" 0,9
|
||||
rlRun "su $TESTUSER -c 'which stap'"
|
||||
rlRun "rpm -qa | fgrep -e dyninst -e systemtap | sort"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartSetup
|
||||
rlRun "cp hello.c testcase*.sh $WORKDIR"
|
||||
rlRun "chown -R $TESTUSER:$TESTUSER $WORKDIR"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStart FAIL "Testcase 1"
|
||||
rlRun "which gcc"
|
||||
rlRun "su $TESTUSER -c 'gcc -g -o $WORKDIR/hello $WORKDIR/hello.c'"
|
||||
rlRun "su $TESTUSER -c '$WORKDIR/hello'"
|
||||
rlRun "chmod a+x $WORKDIR/testcase1.sh"
|
||||
rlRun "su $TESTUSER -c '$WORKDIR/testcase1.sh $WORKDIR'"
|
||||
|
||||
LOG="$WORKDIR/stapout.log"
|
||||
|
||||
rlRun "cat $LOG"
|
||||
rlRun "grep '^process(\"$WORKDIR/hello\").function(\"main@$WORKDIR/hello.c:3\")$' $LOG"
|
||||
rlRun "grep -i error $LOG" 1
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStart FAIL "Testcase 2"
|
||||
rlRun "chmod a+x $WORKDIR/testcase2.sh"
|
||||
rlRun "su $TESTUSER -c '$WORKDIR/testcase2.sh $WORKDIR'"
|
||||
|
||||
LOG="$WORKDIR/stapout.log"
|
||||
|
||||
rlRun "cat $LOG"
|
||||
rlRun "grep '^\*\*\*\ exiting\ \*\*\*$' $LOG"
|
||||
rlRun "egrep -i 'error|warning' $LOG" 1
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "userdel $TESTUSER" 0-255
|
||||
rlRun "rm -rf /home/$TESTUSER $WORKDIR"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
stap -e "probe process(\"$1/hello\").function(\"main\") { println(pn()) }" --runtime=dyninst -c "$1/hello" -o "$1/stapout.log"
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
stap --runtime=dyninst -e 'probe end { printf("*** exiting ***\n"); exit() }' -c "$1/hello" -o "$1/stapout.log"
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue