]> sourceware.org Git - systemtap.git/blame_incremental - systemtap.spec
PR32209: Improve the fix per bugzilla comment #6
[systemtap.git] / systemtap.spec
... / ...
CommitLineData
1# work around flakey gcc warnings
2%{!?with_Werror: %global with_Werror 0}
3%{!?with_sqlite: %global with_sqlite 0%{?fedora} >= 17 || 0%{?rhel} >= 7}
4# prefer prebuilt docs
5%{!?with_docs: %global with_docs 0}
6%{!?with_htmldocs: %global with_htmldocs 0}
7%{!?with_monitor: %global with_monitor 1}
8# crash is not available
9%ifarch ppc ppc64 %{sparc} %{mips} %{riscv}
10%{!?with_crash: %global with_crash 0}
11%else
12%{!?with_crash: %global with_crash 1}
13%endif
14%{!?with_rpm: %global with_rpm 1}
15%{!?elfutils_version: %global elfutils_version 0.179}
16%{!?with_boost: %global with_boost 0}
17%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64
18%{!?with_dyninst: %global with_dyninst 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
19%else
20%{!?with_dyninst: %global with_dyninst 0}
21%endif
22%{!?with_bpf: %global with_bpf 0%{?fedora} >= 22 || 0%{?rhel} >= 8}
23%{!?with_systemd: %global with_systemd 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
24%{!?with_emacsvim: %global with_emacsvim 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
25%ifarch %{ix86}
26%{!?with_java: %global with_java 0}
27%else
28%{!?with_java: %global with_java 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
29%endif
30%{!?with_debuginfod: %global with_debuginfod 0%{?fedora} >= 25 || 0%{?rhel} >= 7}
31%{!?with_virthost: %global with_virthost 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
32%{!?with_virtguest: %global with_virtguest 1}
33%{!?with_dracut: %global with_dracut 0%{?fedora} >= 19 || 0%{?rhel} >= 6}
34%ifarch x86_64
35%{!?with_mokutil: %global with_mokutil 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
36%{!?with_openssl: %global with_openssl 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
37%else
38%{!?with_mokutil: %global with_mokutil 0}
39%{!?with_openssl: %global with_openssl 0}
40%endif
41%{!?with_pyparsing: %global with_pyparsing 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
42%{!?with_python3: %global with_python3 0%{?fedora} >= 23 || 0%{?rhel} > 7}
43%{!?with_python2_probes: %global with_python2_probes (0%{?fedora} <= 28 && 0%{?rhel} <= 7)}
44%{!?with_python3_probes: %global with_python3_probes (0%{?fedora} >= 23 || 0%{?rhel} > 7)}
45%{!?with_httpd: %global with_httpd 0}
46%{!?with_specific_python: %global with_specific_python 0%{?fedora} >= 31}
47%{!?with_sysusers: %global with_sysusers 0%{?fedora} >= 32 || 0%{?rhel} >= 9}
48
49# Virt is supported on these arches, even on el7, but it's not in core EL7
50%if 0%{?rhel} && 0%{?rhel} <= 7
51%ifarch ppc64le aarch64
52%global with_virthost 0
53%endif
54%endif
55
56%if 0%{?fedora} >= 18 || 0%{?rhel} >= 6
57 %define initdir %{_initddir}
58%else
59 # RHEL5 doesn't know _initddir
60 %define initdir %{_initrddir}
61%endif
62
63%if %{with_virtguest}
64 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
65 %define udevrulesdir /usr/lib/udev/rules.d
66 %else
67 %if 0%{?rhel} >= 6
68 %define udevrulesdir /lib/udev/rules.d
69 %endif
70 %endif
71%endif
72
73%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
74 %define dracutstap %{_prefix}/lib/dracut/modules.d/99stap
75%else
76 %define dracutstap %{_prefix}/share/dracut/modules.d/99stap
77%endif
78
79%if 0%{?rhel} == 6 || 0%{?rhel} == 7
80 %define dracutbindir /sbin
81%else
82 %define dracutbindir %{_bindir}
83%endif
84
85%{!?_rpmmacrodir: %define _rpmmacrodir %{_rpmconfigdir}/macros.d}
86
87# To avoid testsuite/*/*.stp has shebang which doesn't start with '/'
88%define __brp_mangle_shebangs_exclude_from .stp$
89
90%define _systemtap_runtime_preinstall \
91# See systemd-sysusers(8) sysusers.d(5)\
92\
93g stapusr 156\
94g stapsys 157\
95g stapdev 158\
96g stapunpriv 159\
97u stapunpriv 159 "systemtap unprivileged user" /var/lib/stapunpriv /sbin/nologin\
98m stapunpriv stapunpriv
99
100%define _systemtap_server_preinstall \
101# See systemd-sysusers(8) sysusers.d(5)\
102\
103g stap-server -\
104u stap-server - "systemtap compiler server" /var/lib/stap-server /sbin/nologin\
105m stap-server stap-server
106
107
108%define _systemtap_testsuite_preinstall \
109# See systemd-sysusers(8) sysusers.d(5)\
110\
111u stapusr - "systemtap testsuite user" / /sbin/nologin\
112u stapsys - "systemtap testsuite user" / /sbin/nologin\
113u stapdev - "systemtap testsuite user" / /sbin/nologin\
114m stapusr stapusr\
115m stapsys stapusr\
116m stapsys stapsys\
117m stapdev stapusr\
118m stapdev stapdev
119
120
121Name: systemtap
122# PRERELEASE
123Version: 5.2
124Release: 1%{?release_override}%{?dist}
125# for version, see also configure.ac
126
127
128# Packaging abstract:
129#
130# systemtap empty req:-client req:-devel
131# systemtap-server /usr/bin/stap-server*, req:-devel
132# systemtap-devel /usr/bin/stap, runtime, tapset, req:kernel-devel
133# systemtap-runtime /usr/bin/staprun, /usr/bin/stapsh, /usr/bin/stapdyn
134# systemtap-client /usr/bin/stap, samples, docs, tapset(bonus), req:-runtime
135# systemtap-initscript /etc/init.d/systemtap, dracut module, req:systemtap
136# systemtap-sdt-devel /usr/include/sys/sdt.h
137# systemtap-sdt-dtrace /usr/bin/dtrace
138# systemtap-testsuite /usr/share/systemtap/testsuite*, req:systemtap, req:sdt-devel
139# systemtap-runtime-java libHelperSDT.so, HelperSDT.jar, stapbm, req:-runtime
140# systemtap-runtime-virthost /usr/bin/stapvirt, req:libvirt req:libxml2
141# systemtap-runtime-virtguest udev rules, init scripts/systemd service, req:-runtime
142# systemtap-runtime-python2 HelperSDT python2 module, req:-runtime
143# systemtap-runtime-python3 HelperSDT python3 module, req:-runtime
144# systemtap-jupyter /usr/bin/stap-jupyter-* interactive-notebook req:systemtap
145#
146# Typical scenarios:
147#
148# stap-client: systemtap-client
149# stap-server: systemtap-server
150# local user: systemtap
151#
152# Unusual scenarios:
153#
154# intermediary stap-client for --remote: systemtap-client (-runtime unused)
155# intermediary stap-server for --use-server: systemtap-server (-devel unused)
156
157Summary: Programmable system-wide instrumentation system
158License: GPL-2.0-or-later
159URL: https://sourceware.org/systemtap/
160Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
161
162# Build*
163BuildRequires: make
164BuildRequires: gcc-c++
165BuildRequires: cpio
166BuildRequires: gettext-devel
167BuildRequires: pkgconfig(nss)
168BuildRequires: pkgconfig(avahi-client)
169%if %{with_debuginfod}
170BuildRequires: pkgconfig(libdebuginfod)
171BuildRequires: pkgconfig(json-c)
172%endif
173%if %{with_dyninst}
174BuildRequires: dyninst-devel >= 10.0
175BuildRequires: pkgconfig(libselinux)
176%endif
177%if %{with_sqlite}
178BuildRequires: sqlite-devel > 3.7
179%endif
180%if %{with_monitor}
181BuildRequires: pkgconfig(json-c)
182BuildRequires: pkgconfig(ncurses)
183%endif
184%if %{with_systemd}
185BuildRequires: systemd
186%endif
187# Needed for libstd++ < 4.0, without <tr1/memory>
188%if %{with_boost}
189BuildRequires: boost-devel
190%endif
191%if %{with_crash}
192BuildRequires: crash-devel zlib-devel
193%endif
194%if %{with_rpm}
195BuildRequires: rpm-devel
196%endif
197BuildRequires: elfutils-devel >= %{elfutils_version}
198%if %{with_docs}
199BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf
200%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
201BuildRequires: tex(fullpage.sty) tex(fancybox.sty) tex(bchr7t.tfm) tex(graphicx.sty)
202%endif
203%if %{with_htmldocs}
204# On F10, xmlto's pdf support was broken off into a sub-package,
205# called 'xmlto-tex'. To avoid a specific F10 BuildReq, we'll do a
206# file-based buildreq on '/usr/share/xmlto/format/fo/pdf'.
207BuildRequires: xmlto /usr/share/xmlto/format/fo/pdf
208%endif
209%endif
210%if %{with_emacsvim}
211# for _emacs_sitelispdir macros etc.
212BuildRequires: emacs
213%endif
214%if %{with_java}
215BuildRequires: java-devel
216%endif
217%if %{with_virthost}
218# BuildRequires: libvirt-devel >= 1.0.2
219BuildRequires: pkgconfig(libvirt)
220BuildRequires: pkgconfig(libxml-2.0)
221%endif
222BuildRequires: readline-devel
223%if %{with_python2_probes}
224BuildRequires: python2-devel
225%if 0%{?fedora} >= 1
226BuildRequires: python2-setuptools
227%else
228BuildRequires: python-setuptools
229%endif
230%endif
231%if %{with_python3}
232BuildRequires: python3
233%endif
234%if %{with_python3_probes}
235BuildRequires: python3-devel
236BuildRequires: python3-setuptools
237%endif
238
239%if %{with_httpd}
240BuildRequires: libmicrohttpd-devel
241BuildRequires: libuuid-devel
242%endif
243%if %{with_sysusers}
244BuildRequires: systemd-rpm-macros
245%endif
246
247
248# Install requirements
249Requires: systemtap-client = %{version}-%{release}
250Requires: systemtap-devel = %{version}-%{release}
251
252%description
253SystemTap is an instrumentation system for systems running Linux.
254Developers can write instrumentation scripts to collect data on
255the operation of the system. The base systemtap package contains/requires
256the components needed to locally develop and execute systemtap scripts.
257
258# ------------------------------------------------------------------------
259
260%package server
261Summary: Instrumentation System Server
262License: GPL-2.0-or-later
263URL: https://sourceware.org/systemtap/
264Requires: systemtap-devel = %{version}-%{release}
265Conflicts: systemtap-devel < %{version}-%{release}
266Conflicts: systemtap-runtime < %{version}-%{release}
267Conflicts: systemtap-client < %{version}-%{release}
268Requires: nss coreutils
269Requires: zip unzip
270Requires(pre): shadow-utils
271BuildRequires: nss-devel avahi-devel
272%if %{with_openssl}
273Requires: openssl
274%endif
275%if %{with_systemd}
276Requires: systemd
277%else
278Requires(post): chkconfig
279Requires(preun): chkconfig
280Requires(preun): initscripts
281Requires(postun): initscripts
282%endif
283
284%description server
285This is the remote script compilation server component of systemtap.
286It announces itself to nearby clients with avahi (if available), and
287compiles systemtap scripts to kernel objects on their demand.
288
289
290%package devel
291Summary: Programmable system-wide instrumentation system - development headers, tools
292License: GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
293URL: https://sourceware.org/systemtap/
294
295%if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
296Recommends: (kernel-debug-devel if kernel-debug)
297Recommends: (kernel-devel if kernel)
298%else
299Requires: kernel-devel-uname-r
300%endif
301
302Requires: gcc make
303# for compiling --runtime=dyninst sripts, need elfutils headers, bz1930973
304Requires: elfutils-devel >= %{elfutils_version}
305
306Conflicts: systemtap-client < %{version}-%{release}
307Conflicts: systemtap-server < %{version}-%{release}
308Conflicts: systemtap-runtime < %{version}-%{release}
309# Suggest: kernel-debuginfo
310
311%description devel
312This package contains the components needed to compile a systemtap
313script from source form into executable (.ko) forms. It may be
314installed on a self-contained developer workstation (along with the
315systemtap-client and systemtap-runtime packages), or on a dedicated
316remote server (alongside the systemtap-server package). It includes
317a copy of the standard tapset library and the runtime library C files.
318
319
320%package runtime
321Summary: Programmable system-wide instrumentation system - runtime
322License: GPL-2.0-or-later
323URL: https://sourceware.org/systemtap/
324Requires(pre): shadow-utils
325Conflicts: systemtap-devel < %{version}-%{release}
326Conflicts: systemtap-server < %{version}-%{release}
327Conflicts: systemtap-client < %{version}-%{release}
328
329%description runtime
330SystemTap runtime contains the components needed to execute
331a systemtap script that was already compiled into a module
332using a local or remote systemtap-devel installation.
333
334
335%package client
336Summary: Programmable system-wide instrumentation system - client
337License: 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
338URL: https://sourceware.org/systemtap/
339Requires: zip unzip
340Requires: systemtap-runtime = %{version}-%{release}
341Requires: coreutils grep sed unzip zip
342Requires: openssh-clients
343Conflicts: systemtap-devel < %{version}-%{release}
344Conflicts: systemtap-server < %{version}-%{release}
345Conflicts: systemtap-runtime < %{version}-%{release}
346%if %{with_mokutil}
347Requires: mokutil
348%endif
349
350%description client
351This package contains/requires only the components needed to
352use systemtap scripts by compiling them using a local or a remote
353systemtap-server service, then run them using a local or
354remote systemtap-runtime. It includes script samples and
355documentation, and a copy of the tapset library for reference.
356It does NOT include all the components for running a systemtap
357script in a self-contained fashion; for that, use the -devel
358subpackage instead.
359
360%package initscript
361Summary: Systemtap Initscripts
362License: GPL-2.0-or-later
363URL: https://sourceware.org/systemtap/
364Requires: systemtap = %{version}-%{release}
365%if %{with_systemd}
366Requires: systemd
367%else
368Requires(post): chkconfig
369Requires(preun): chkconfig
370Requires(preun): initscripts
371Requires(postun): initscripts
372%endif
373
374%description initscript
375This package includes a SysVinit script to launch selected systemtap
376scripts at system startup, along with a dracut module for early
377boot-time probing if supported.
378
379
380%package sdt-devel
381Summary: Static probe support header files
382License: GPL-2.0-or-later AND CC0-1.0
383URL: https://sourceware.org/systemtap/
384
385%description sdt-devel
386This package includes the <sys/sdt.h> header file used for static
387instrumentation compiled into userspace programs.
388
389
390%package sdt-dtrace
391Summary: Static probe support dtrace tool
392License: GPL-2.0-or-later AND CC0-1.0
393URL: https://sourceware.org/systemtap/
394Provides: dtrace = %{version}-%{release}
395%if %{with_pyparsing}
396%if %{with_python3}
397Requires: python3-pyparsing
398%else
399%if 0%{?rhel} >= 7
400Requires: pyparsing
401%else
402Requires: python2-pyparsing
403%endif
404%endif
405%endif
406
407%description sdt-dtrace
408This package includes the dtrace-compatibility preprocessor
409to process related .d files into tracing-macro-laden .h headers.
410
411
412%package testsuite
413Summary: Instrumentation System Testsuite
414License: GPL-2.0-or-later AND GPL-2.0-only AND GPL-3.0-or-later AND MIT
415URL: https://sourceware.org/systemtap/
416Requires: systemtap = %{version}-%{release}
417Requires: systemtap-sdt-devel = %{version}-%{release}
418Requires: systemtap-server = %{version}-%{release}
419Requires: dejagnu which elfutils grep nc wget
420%if %{with_debuginfod}
421Requires: elfutils-debuginfod
422%endif
423# work around fedora ci gating kvetching about i686<->x86-64 conflicts
424%ifarch x86_64
425Conflicts: systemtap-testsuite = %{version}-%{release}.i686
426%endif
427%ifarch i686
428Conflicts: systemtap-testsuite = %{version}-%{release}.x86_64
429%endif
430Requires: gcc gcc-c++ make glibc-devel
431# testsuite/systemtap.base/ptrace.exp needs strace
432Requires: strace
433# testsuite/systemtap.base/ipaddr.exp needs nc. Unfortunately, the rpm
434# that provides nc has changed over time (from 'nc' to
435# 'nmap-ncat'). So, we'll do a file-based require.
436Requires: /usr/bin/nc
437%ifnarch ia64 ppc64le aarch64
438%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
439# no prelink
440%else
441Requires: prelink
442%endif
443%endif
444# testsuite/systemtap.server/client.exp needs avahi
445Requires: avahi
446%if %{with_crash}
447# testsuite/systemtap.base/crash.exp needs crash
448Requires: crash
449%endif
450%if %{with_java}
451Requires: systemtap-runtime-java = %{version}-%{release}
452%endif
453%if %{with_python2_probes}
454Requires: systemtap-runtime-python2 = %{version}-%{release}
455%endif
456%if %{with_python3_probes}
457Requires: systemtap-runtime-python3 = %{version}-%{release}
458%endif
459%ifarch x86_64
460%if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
461# fweimer, personal correspondence
462Recommends: glibc-devel(x86-32)
463%else
464Requires: /usr/lib/libc.so
465%endif
466# ... and /usr/lib/libgcc_s.so.*
467# ... and /usr/lib/libstdc++.so.*
468%endif
469%if 0%{?fedora} >= 18
470Requires: stress
471%endif
472# The following "meta" files for the systemtap examples run "perf":
473# testsuite/systemtap.examples/hw_watch_addr.meta
474# testsuite/systemtap.examples/memory/hw_watch_sym.meta
475Requires: perf
476
477%description testsuite
478This package includes the dejagnu-based systemtap stress self-testing
479suite. This may be used by system administrators to thoroughly check
480systemtap on the current system.
481
482
483%if %{with_java}
484%package runtime-java
485Summary: Systemtap Java Runtime Support
486License: GPL-2.0-or-later
487URL: https://sourceware.org/systemtap/
488Requires: systemtap-runtime = %{version}-%{release}
489# work around fedora ci gating kvetching about i686<->x86-64 conflicts
490%ifarch x86_64
491Conflicts: systemtap-runtime = %{version}-%{release}.i686
492%endif
493%ifarch i686
494Conflicts: systemtap-runtime = %{version}-%{release}.x86_64
495%endif
496Requires: byteman > 2.0
497Requires: iproute
498Requires: java-devel
499
500%description runtime-java
501This package includes support files needed to run systemtap scripts
502that probe Java processes running on the OpenJDK runtimes using Byteman.
503%endif
504
505%if %{with_python2_probes}
506%package runtime-python2
507Summary: Systemtap Python 2 Runtime Support
508License: GPL-2.0-or-later
509URL: https://sourceware.org/systemtap/
510Requires: systemtap-runtime = %{version}-%{release}
511
512%description runtime-python2
513This package includes support files needed to run systemtap scripts
514that probe python 2 processes.
515%endif
516
517%if %{with_python3_probes}
518%package runtime-python3
519Summary: Systemtap Python 3 Runtime Support
520License: GPL-2.0-or-later
521URL: https://sourceware.org/systemtap/
522Requires: systemtap-runtime = %{version}-%{release}
523
524%if ! (%{with_python2_probes})
525# Provide an clean upgrade path when the python2 package is removed
526Obsoletes: %{name}-runtime-python2 < %{version}-%{release}
527%endif
528
529%description runtime-python3
530This package includes support files needed to run systemtap scripts
531that probe python 3 processes.
532%endif
533
534%if %{with_python3_probes}
535%package exporter
536Summary: Systemtap-prometheus interoperation mechanism
537License: GPL-2.0-or-later
538URL: https://sourceware.org/systemtap/
539Requires: systemtap-runtime = %{version}-%{release}
540
541%description exporter
542This package includes files for a systemd service that manages
543systemtap sessions and relays prometheus metrics from the sessions
544to remote requesters on demand.
545%endif
546
547%if %{with_virthost}
548%package runtime-virthost
549Summary: Systemtap Cross-VM Instrumentation - host
550License: GPL-2.0-or-later
551URL: https://sourceware.org/systemtap/
552# only require libvirt-libs really
553#Requires: libvirt >= 1.0.2
554Requires: libxml2
555
556%description runtime-virthost
557This package includes the components required to run systemtap scripts
558inside a libvirt-managed domain from the host without using a network
559connection.
560%endif
561
562%if %{with_virtguest}
563%package runtime-virtguest
564Summary: Systemtap Cross-VM Instrumentation - guest
565License: GPL-2.0-or-later
566URL: https://sourceware.org/systemtap/
567Requires: systemtap-runtime = %{version}-%{release}
568%if %{with_systemd}
569Requires(post): findutils coreutils
570Requires(preun): grep coreutils
571Requires(postun): grep coreutils
572%else
573Requires(post): chkconfig initscripts
574Requires(preun): chkconfig initscripts
575Requires(postun): initscripts
576%endif
577
578%description runtime-virtguest
579This package installs the services necessary on a virtual machine for a
580systemtap-runtime-virthost machine to execute systemtap scripts.
581%endif
582
583%package jupyter
584Summary: ISystemtap jupyter kernel and examples
585License: GPL-2.0-or-later
586URL: https://sourceware.org/systemtap/
587Requires: systemtap = %{version}-%{release}
588
589%description jupyter
590This package includes files needed to build and run
591the interactive systemtap Jupyter kernel, either locally
592or within a container.
593
594# ------------------------------------------------------------------------
595
596%prep
597%setup -q
598
599%build
600
601# Enable/disable the dyninst pure-userspace backend
602%if %{with_dyninst}
603%global dyninst_config --with-dyninst
604%else
605%global dyninst_config --without-dyninst
606%endif
607
608# Enable/disable the dyninst pure-userspace backend
609%if %{with_Werror}
610%global Werror_config --enable-Werror
611%else
612%global Werror_config --disable-Werror
613%endif
614
615# Enable/disable the sqlite coverage testing support
616%if %{with_sqlite}
617%global sqlite_config --enable-sqlite
618%else
619%global sqlite_config --disable-sqlite
620%endif
621
622%if %{with_debuginfod}
623%global debuginfod_config --with-debuginfod
624%else
625%global debuginfod_config --without-debuginfod
626%endif
627
628
629# Enable/disable the crash extension
630%if %{with_crash}
631%global crash_config --enable-crash
632%else
633%global crash_config --disable-crash
634%endif
635
636# Enable/disable the code to find and suggest needed rpms
637%if %{with_rpm}
638%global rpm_config --with-rpm
639%else
640%global rpm_config --without-rpm
641%endif
642
643%if %{with_docs}
644%if %{with_htmldocs}
645%global docs_config --enable-docs --enable-htmldocs
646%else
647%global docs_config --enable-docs --disable-htmldocs
648%endif
649%else
650%global docs_config --enable-docs=prebuilt
651%endif
652
653%if %{with_java}
654%global java_config --with-java=%{_jvmdir}/java
655%else
656%global java_config --without-java
657%endif
658
659%if %{with_python3}
660%global python3_config --with-python3
661%else
662%global python3_config --without-python3
663%endif
664%if %{with_python2_probes}
665%global python2_probes_config --with-python2-probes
666%else
667%global python2_probes_config --without-python2-probes
668%endif
669%if %{with_python3_probes}
670%global python3_probes_config --with-python3-probes
671%else
672%global python3_probes_config --without-python3-probes
673%endif
674
675%if %{with_virthost}
676%global virt_config --enable-virt
677%else
678%global virt_config --disable-virt
679%endif
680
681%if %{with_dracut}
682%global dracut_config --with-dracutstap=%{dracutstap} --with-dracutbindir=%{dracutbindir}
683%else
684%global dracut_config %{nil}
685%endif
686
687%if %{with_httpd}
688%global httpd_config --enable-httpd
689%else
690%global httpd_config --disable-httpd
691%endif
692
693%if %{with_bpf}
694%global bpf_config --with-bpf
695%else
696%global bpf_config --without-bpf
697%endif
698
699# We don't ship compileworthy python code, just oddball samples
700%global py_auto_byte_compile 0
701
702%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}"
703make %{?_smp_mflags} V=1
704
705
706%install
707make DESTDIR=$RPM_BUILD_ROOT install
708
709%if ! (%{with_python3})
710rm -v $RPM_BUILD_ROOT%{_bindir}/stap-profile-annotate
711%endif
712
713%find_lang %{name}
714for dir in $(ls -1d $RPM_BUILD_ROOT%{_mandir}/{??,??_??}) ; do
715 dir=$(echo $dir | sed -e "s|^$RPM_BUILD_ROOT||")
716 lang=$(basename $dir)
717 echo "%%lang($lang) $dir/man*/*" >> %{name}.lang
718done
719
720%if %{with_sysusers}
721mkdir -p %{buildroot}%{_sysusersdir}
722echo '%_systemtap_runtime_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-runtime.conf
723echo '%_systemtap_server_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-server.conf
724echo '%_systemtap_testsuite_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-testsuite.conf
725%endif
726
727
728ln -s %{_datadir}/systemtap/examples
729
730# Fix paths in the example scripts.
731find $RPM_BUILD_ROOT%{_datadir}/systemtap/examples -type f -name '*.stp' -print0 | xargs -0 sed -i -r -e '1s@^#!.+stap@#!%{_bindir}/stap@'
732
733# To make rpmlint happy, remove any .gitignore files in the testsuite.
734find testsuite -type f -name '.gitignore' -print0 | xargs -0 rm -f
735
736# Because "make install" may install staprun with whatever mode, the
737# post-processing programs rpmbuild runs won't be able to read it.
738# So, we change permissions so that they can read it. We'll set the
739# permissions back to 04110 in the %files section below.
740chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun
741
742# Copy over the testsuite
743cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap
744
745# We want the manuals in the special doc dir, not the generic doc install dir.
746# We build it in place and then move it away so it doesn't get installed
747# twice. rpm can specify itself where the (versioned) docs go with the
748# %doc directive.
749mkdir docs.installed
750mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/*.pdf docs.installed/
751%if %{with_docs}
752%if %{with_htmldocs}
753mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/tapsets docs.installed/
754mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/SystemTap_Beginners_Guide docs.installed/
755%endif
756%endif
757
758install -D -m 644 macros.systemtap $RPM_BUILD_ROOT%{_rpmmacrodir}/macros.systemtap
759
760mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server
761mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server
762mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server/.systemtap
763mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server
764touch $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server/log
765mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/systemtap
766mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/systemtap
767mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
768install -m 644 initscript/logrotate.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/stap-server
769
770# If using systemd systemtap.service file, retain the old init script in %{_libexecdir} as a helper.
771%if %{with_systemd}
772mkdir -p $RPM_BUILD_ROOT%{_unitdir}
773touch $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
774# RHBZ2070857
775mkdir -p $RPM_BUILD_ROOT%{_presetdir}
776echo 'enable systemtap.service' > $RPM_BUILD_ROOT%{_presetdir}/42-systemtap.preset
777install -m 644 initscript/systemtap.service $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
778mkdir -p $RPM_BUILD_ROOT%{_sbindir}
779install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
780%else
781mkdir -p $RPM_BUILD_ROOT%{initdir}
782install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{initdir}
783mkdir -p $RPM_BUILD_ROOT%{_sbindir}
784ln -sf %{initdir}/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
785# TODO CHECK CORRECTNESS: symlink %{_sbindir}/systemtap-service to %{initdir}/systemtap
786%endif
787
788mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap
789mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/conf.d
790mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/script.d
791install -m 644 initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
792
793%if %{with_systemd}
794mkdir -p $RPM_BUILD_ROOT%{_unitdir}
795touch $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
796install -m 644 stap-server.service $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
797mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
798install -m 644 stap-server.conf $RPM_BUILD_ROOT%{_tmpfilesdir}/stap-server.conf
799%else
800install -m 755 initscript/stap-server $RPM_BUILD_ROOT%{initdir}
801mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server/conf.d
802mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
803install -m 644 initscript/config.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/stap-server
804%endif
805
806%if %{with_emacsvim}
807mkdir -p $RPM_BUILD_ROOT%{_emacs_sitelispdir}
808install -p -m 644 emacs/systemtap-mode.el* $RPM_BUILD_ROOT%{_emacs_sitelispdir}
809mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir}
810install -p -m 644 emacs/systemtap-init.el $RPM_BUILD_ROOT%{_emacs_sitestartdir}/systemtap-init.el
811for subdir in ftdetect ftplugin indent syntax
812do
813 mkdir -p $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/$subdir
814 install -p -m 644 vim/$subdir/*.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/$subdir
815done
816%endif
817
818%if %{with_virtguest}
819 mkdir -p $RPM_BUILD_ROOT%{udevrulesdir}
820 %if %{with_systemd}
821 install -p -m 644 staprun/guest/99-stapsh.rules $RPM_BUILD_ROOT%{udevrulesdir}
822 mkdir -p $RPM_BUILD_ROOT%{_unitdir}
823 install -p -m 644 staprun/guest/stapsh@.service $RPM_BUILD_ROOT%{_unitdir}
824 %else
825 install -p -m 644 staprun/guest/99-stapsh-init.rules $RPM_BUILD_ROOT%{udevrulesdir}
826 install -p -m 755 staprun/guest/stapshd $RPM_BUILD_ROOT%{initdir}
827 mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/systemtap
828 install -p -m 755 staprun/guest/stapsh-daemon $RPM_BUILD_ROOT%{_libexecdir}/systemtap
829 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
830 # Technically, this is only needed for RHEL5, in which the MODULE_ALIAS is missing, but
831 # it does no harm in RHEL6 as well
832 install -p -m 755 staprun/guest/virtio_console.modules $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
833 %endif
834%endif
835
836%if %{with_dracut}
837 mkdir -p $RPM_BUILD_ROOT%{dracutstap}
838 install -p -m 755 initscript/99stap/module-setup.sh $RPM_BUILD_ROOT%{dracutstap}
839 install -p -m 755 initscript/99stap/install $RPM_BUILD_ROOT%{dracutstap}
840 install -p -m 755 initscript/99stap/check $RPM_BUILD_ROOT%{dracutstap}
841 install -p -m 755 initscript/99stap/start-staprun.sh $RPM_BUILD_ROOT%{dracutstap}
842 touch $RPM_BUILD_ROOT%{dracutstap}/params.conf
843%endif
844
845%if %{with_specific_python}
846# Some files got ambiguous python shebangs, we fix them after everything else is done
847%py3_shebang_fix %{buildroot}%{python3_sitearch} %{buildroot}%{_bindir}/*
848%endif
849
850%pre runtime
851%if %{with_sysusers}
852echo '%_systemtap_runtime_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-runtime.conf -
853%else
854getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr
855getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys
856getent group stapdev >/dev/null || groupadd -f -g 158 -r stapdev
857getent passwd stapunpriv >/dev/null || \
858 useradd -c "Systemtap Unprivileged User" -u 159 -g stapunpriv -d %{_localstatedir}/lib/stapunpriv -r -s /sbin/nologin stapunpriv 2>/dev/null || \
859 useradd -c "Systemtap Unprivileged User" -g stapunpriv -d %{_localstatedir}/lib/stapunpriv -r -s /sbin/nologin stapunpriv
860%endif
861exit 0
862
863%pre server
864%if %{with_sysusers}
865echo '%_systemtap_server_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-server.conf -
866%else
867getent group stap-server >/dev/null || groupadd -f -g 155 -r stap-server
868getent passwd stap-server >/dev/null || \
869 useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server 2>/dev/null || \
870 useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server
871%endif
872exit 0
873
874%pre testsuite
875%if %{with_sysusers}
876echo '%_systemtap_testsuite_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-testsuite.conf -
877%else
878getent passwd stapusr >/dev/null || \
879 useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr
880getent passwd stapsys >/dev/null || \
881 useradd -c "Systemtap 'stapsys' User" -g stapsys -G stapusr -r -s /sbin/nologin stapsys
882getent passwd stapdev >/dev/null || \
883 useradd -c "Systemtap 'stapdev' User" -g stapdev -G stapusr -r -s /sbin/nologin stapdev
884%endif
885exit 0
886
887%post server
888
889# We have some duplication between the %files listings for the
890# ~stap-server directories and the explicit mkdir/chown/chmod bits
891# here. Part of the reason may be that a preexisting stap-server
892# account may well be placed somewhere other than
893# %{_localstatedir}/lib/stap-server, but we'd like their permissions
894# set similarly.
895
896test -e ~stap-server && chmod 750 ~stap-server
897
898if [ ! -f ~stap-server/.systemtap/rc ]; then
899 mkdir -p ~stap-server/.systemtap
900 chown stap-server:stap-server ~stap-server/.systemtap
901 # PR16276: guess at a reasonable number for a default --rlimit-nproc
902 numcpu=`/usr/bin/getconf _NPROCESSORS_ONLN`
903 if [ -z "$numcpu" -o "$numcpu" -lt 1 ]; then numcpu=1; fi
904 nproc=`expr $numcpu \* 30`
905 # PR29661 -> 4G
906 echo "--rlimit-as=4294967296 --rlimit-cpu=60 --rlimit-nproc=$nproc --rlimit-stack=1024000 --rlimit-fsize=51200000" > ~stap-server/.systemtap/rc
907 chown stap-server:stap-server ~stap-server/.systemtap/rc
908fi
909
910test -e %{_localstatedir}/log/stap-server/log || {
911 touch %{_localstatedir}/log/stap-server/log
912 chmod 644 %{_localstatedir}/log/stap-server/log
913 chown stap-server:stap-server %{_localstatedir}/log/stap-server/log
914}
915# Prepare the service
916%if %{with_systemd}
917 # Note, Fedora policy doesn't allow network services enabled by default
918 # /bin/systemctl enable stap-server.service >/dev/null 2>&1 || :
919 /bin/systemd-tmpfiles --create %{_tmpfilesdir}/stap-server.conf >/dev/null 2>&1 || :
920%else
921 /sbin/chkconfig --add stap-server
922%endif
923exit 0
924
925%triggerin client -- systemtap-server
926if test -e ~stap-server/.systemtap/ssl/server/stap.cert; then
927 # echo Authorizing ssl-peer/trusted-signer certificate for local systemtap-server
928 %{_libexecdir}/systemtap/stap-authorize-cert ~stap-server/.systemtap/ssl/server/stap.cert %{_sysconfdir}/systemtap/ssl/client >/dev/null
929 %{_libexecdir}/systemtap/stap-authorize-cert ~stap-server/.systemtap/ssl/server/stap.cert %{_sysconfdir}/systemtap/staprun >/dev/null
930fi
931exit 0
932# XXX: corresponding %triggerun?
933
934%preun server
935# Check that this is the actual deinstallation of the package, as opposed to
936# just removing the old package on upgrade.
937if [ $1 = 0 ] ; then
938 %if %{with_systemd}
939 /bin/systemctl --no-reload disable stap-server.service >/dev/null 2>&1 || :
940 /bin/systemctl stop stap-server.service >/dev/null 2>&1 || :
941 %else
942 /sbin/service stap-server stop >/dev/null 2>&1
943 /sbin/chkconfig --del stap-server
944 %endif
945fi
946exit 0
947
948%postun server
949# Check whether this is an upgrade of the package.
950# If so, restart the service if it's running
951if [ "$1" -ge "1" ] ; then
952 %if %{with_systemd}
953 /bin/systemctl condrestart stap-server.service >/dev/null 2>&1 || :
954 %else
955 /sbin/service stap-server condrestart >/dev/null 2>&1 || :
956 %endif
957fi
958exit 0
959
960%post initscript
961%if %{with_systemd}
962 # RHBZ2070857 - use systemd presets instead
963 # /bin/systemctl enable systemtap.service >/dev/null 2>&1 || :
964%else
965 /sbin/chkconfig --add systemtap
966%endif
967exit 0
968
969%preun initscript
970# Check that this is the actual deinstallation of the package, as opposed to
971# just removing the old package on upgrade.
972if [ $1 = 0 ] ; then
973 %if %{with_systemd}
974 /bin/systemctl --no-reload disable systemtap.service >/dev/null 2>&1 || :
975 /bin/systemctl stop systemtap.service >/dev/null 2>&1 || :
976 %else
977 /sbin/service systemtap stop >/dev/null 2>&1
978 /sbin/chkconfig --del systemtap
979 %endif
980fi
981exit 0
982
983%postun initscript
984# Check whether this is an upgrade of the package.
985# If so, restart the service if it's running
986if [ "$1" -ge "1" ] ; then
987 %if %{with_systemd}
988 /bin/systemctl condrestart systemtap.service >/dev/null 2>&1 || :
989 %else
990 /sbin/service systemtap condrestart >/dev/null 2>&1 || :
991 %endif
992fi
993exit 0
994
995%post runtime-virtguest
996%if %{with_systemd}
997 # Start services if there are ports present
998 if [ -d /dev/virtio-ports ]; then
999 (find /dev/virtio-ports -iname 'org.systemtap.stapsh.[0-9]*' -type l \
1000 | xargs -n 1 basename \
1001 | xargs -n 1 -I {} /bin/systemctl start stapsh@{}.service) >/dev/null 2>&1 || :
1002 fi
1003%else
1004 /sbin/chkconfig --add stapshd
1005 /sbin/chkconfig stapshd on
1006 /sbin/service stapshd start >/dev/null 2>&1 || :
1007%endif
1008exit 0
1009
1010%preun runtime-virtguest
1011# Stop service if this is an uninstall rather than an upgrade
1012if [ $1 = 0 ]; then
1013 %if %{with_systemd}
1014 # We need to stop all stapsh services. Because they are instantiated from
1015 # a template service file, we can't simply call disable. We need to find
1016 # all the running ones and stop them all individually
1017 for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
1018 /bin/systemctl stop $service >/dev/null 2>&1 || :
1019 done
1020 %else
1021 /sbin/service stapshd stop >/dev/null 2>&1
1022 /sbin/chkconfig --del stapshd
1023 %endif
1024fi
1025exit 0
1026
1027%postun runtime-virtguest
1028# Restart service if this is an upgrade rather than an uninstall
1029if [ "$1" -ge "1" ]; then
1030 %if %{with_systemd}
1031 # We need to restart all stapsh services. Because they are instantiated from
1032 # a template service file, we can't simply call restart. We need to find
1033 # all the running ones and restart them all individually
1034 for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
1035 /bin/systemctl condrestart $service >/dev/null 2>&1 || :
1036 done
1037 %else
1038 /sbin/service stapshd condrestart >/dev/null 2>&1
1039 %endif
1040fi
1041exit 0
1042
1043%if %{with_python3_probes}
1044%if %{with_systemd}
1045%preun exporter
1046if [ $1 = 0 ] ; then
1047 /bin/systemctl stop stap-exporter.service >/dev/null 2>&1 || :
1048 /bin/systemctl disable stap-exporter.service >/dev/null 2>&1 || :
1049fi
1050exit 0
1051
1052%postun exporter
1053# Restart service if this is an upgrade rather than an uninstall
1054if [ "$1" -ge "1" ]; then
1055 /bin/systemctl condrestart stap-exporter >/dev/null 2>&1 || :
1056fi
1057exit 0
1058%endif
1059%endif
1060
1061%post
1062# Remove any previously-built uprobes.ko materials
1063(make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
1064(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
1065
1066%preun
1067# Ditto
1068(make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
1069(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
1070
1071# ------------------------------------------------------------------------
1072
1073%files
1074# The main "systemtap" rpm doesn't include any files.
1075
1076%files server -f systemtap.lang
1077%{_bindir}/stap-server
1078%dir %{_libexecdir}/systemtap
1079%{_libexecdir}/systemtap/stap-serverd
1080%{_libexecdir}/systemtap/stap-start-server
1081%{_libexecdir}/systemtap/stap-stop-server
1082%{_libexecdir}/systemtap/stap-gen-cert
1083%{_libexecdir}/systemtap/stap-sign-module
1084%{_libexecdir}/systemtap/stap-authorize-cert
1085%{_libexecdir}/systemtap/stap-env
1086%{_mandir}/man7/error*
1087%{_mandir}/man7/stappaths.7*
1088%{_mandir}/man7/warning*
1089%{_mandir}/man8/stap-server.8*
1090%if %{with_systemd}
1091%{_unitdir}/stap-server.service
1092%{_tmpfilesdir}/stap-server.conf
1093%else
1094%{initdir}/stap-server
1095%dir %{_sysconfdir}/stap-server/conf.d
1096%config(noreplace) %{_sysconfdir}/sysconfig/stap-server
1097%endif
1098%config(noreplace) %{_sysconfdir}/logrotate.d/stap-server
1099%dir %{_sysconfdir}/stap-server
1100%dir %attr(0750,stap-server,stap-server) %{_localstatedir}/lib/stap-server
1101%dir %attr(0700,stap-server,stap-server) %{_localstatedir}/lib/stap-server/.systemtap
1102%dir %attr(0755,stap-server,stap-server) %{_localstatedir}/log/stap-server
1103%ghost %config(noreplace) %attr(0644,stap-server,stap-server) %{_localstatedir}/log/stap-server/log
1104%ghost %attr(0755,stap-server,stap-server) %{_localstatedir}/run/stap-server
1105%doc README README.unprivileged AUTHORS NEWS
1106%{!?_licensedir:%global license %%doc}
1107%license COPYING
1108%if %{with_sysusers}
1109%{_sysusersdir}/systemtap-server.conf
1110%endif
1111
1112
1113%files devel -f systemtap.lang
1114%{_bindir}/stap
1115%{_bindir}/stap-prep
1116%if %{with_python3}
1117%{_bindir}/stap-profile-annotate
1118%endif
1119%{_bindir}/stap-report
1120%dir %{_datadir}/systemtap
1121%{_datadir}/systemtap/runtime
1122%{_datadir}/systemtap/tapset
1123%{_mandir}/man1/stap.1*
1124%{_mandir}/man1/stap-prep.1*
1125%{_mandir}/man1/stap-report.1*
1126%{_mandir}/man7/error*
1127%{_mandir}/man7/stappaths.7*
1128%{_mandir}/man7/warning*
1129%doc README README.unprivileged AUTHORS NEWS
1130%{!?_licensedir:%global license %%doc}
1131%license COPYING
1132%if %{with_java}
1133%dir %{_libexecdir}/systemtap
1134%{_libexecdir}/systemtap/libHelperSDT.so
1135%endif
1136%if %{with_emacsvim}
1137%{_emacs_sitelispdir}/*.el*
1138%{_emacs_sitestartdir}/systemtap-init.el
1139%{_datadir}/vim/vimfiles
1140%endif
1141# Notice that the stap-resolve-module-function.py file is used by
1142# *both* the python2 and python3 subrpms. Both subrpms use that same
1143# python script to help list python probes.
1144%if %{with_python3_probes} || %{with_python2_probes}
1145%{_libexecdir}/systemtap/python/stap-resolve-module-function.py
1146%dir %{_libexecdir}/systemtap/python
1147%exclude %{_libexecdir}/systemtap/python/stap-resolve-module-function.py?
1148%endif
1149
1150
1151%files runtime -f systemtap.lang
1152%attr(4110,root,stapusr) %{_bindir}/staprun
1153%{_bindir}/stapsh
1154%{_bindir}/stap-merge
1155%{_bindir}/stap-report
1156%if %{with_dyninst}
1157%{_bindir}/stapdyn
1158%endif
1159%if %{with_bpf}
1160%{_bindir}/stapbpf
1161%endif
1162%dir %{_libexecdir}/systemtap
1163%{_libexecdir}/systemtap/stapio
1164%{_libexecdir}/systemtap/stap-authorize-cert
1165%if %{with_crash}
1166%dir %{_libdir}/systemtap
1167%{_libdir}/systemtap/staplog.so*
1168%endif
1169%{_mandir}/man1/stap-report.1*
1170%{_mandir}/man7/error*
1171%{_mandir}/man7/stappaths.7*
1172%{_mandir}/man7/warning*
1173%{_mandir}/man8/stapsh.8*
1174%{_mandir}/man8/staprun.8*
1175%if %{with_dyninst}
1176%{_mandir}/man8/stapdyn.8*
1177%endif
1178%if %{with_bpf}
1179%{_mandir}/man8/stapbpf.8*
1180%endif
1181%doc README README.security AUTHORS NEWS
1182%{!?_licensedir:%global license %%doc}
1183%license COPYING
1184%if %{with_sysusers}
1185%{_sysusersdir}/systemtap-runtime.conf
1186%endif
1187
1188
1189%files client -f systemtap.lang
1190%doc README README.unprivileged AUTHORS NEWS
1191%{_datadir}/systemtap/examples
1192%{!?_licensedir:%global license %%doc}
1193%license COPYING
1194%doc docs.installed/*.pdf
1195%if %{with_docs}
1196%if %{with_htmldocs}
1197%doc docs.installed/tapsets/*.html
1198%doc docs.installed/SystemTap_Beginners_Guide
1199%endif
1200%endif
1201%{_bindir}/stap
1202%{_bindir}/stap-prep
1203%{_bindir}/stap-report
1204%{_mandir}/man1/stap.1*
1205%{_mandir}/man1/stap-prep.1*
1206%{_mandir}/man1/stap-merge.1*
1207%{_mandir}/man1/stap-report.1*
1208%{_mandir}/man1/stapref.1*
1209%{_mandir}/man3/*
1210%{_mandir}/man7/error*
1211%{_mandir}/man7/stappaths.7*
1212%{_mandir}/man7/warning*
1213%dir %{_datadir}/systemtap
1214%{_datadir}/systemtap/tapset
1215
1216
1217
1218%files initscript
1219%if %{with_systemd}
1220%{_presetdir}/42-systemtap.preset
1221%{_unitdir}/systemtap.service
1222%{_sbindir}/systemtap-service
1223%else
1224%{initdir}/systemtap
1225%{_sbindir}/systemtap-service
1226%endif
1227%dir %{_sysconfdir}/systemtap
1228%dir %{_sysconfdir}/systemtap/conf.d
1229%dir %{_sysconfdir}/systemtap/script.d
1230%config(noreplace) %{_sysconfdir}/systemtap/config
1231%dir %{_localstatedir}/cache/systemtap
1232%ghost %{_localstatedir}/run/systemtap
1233%{_mandir}/man8/systemtap-service.8*
1234%if %{with_dracut}
1235 %dir %{dracutstap}
1236 %{dracutstap}/*
1237%endif
1238
1239
1240%files sdt-devel
1241%{_includedir}/sys/sdt.h
1242%{_includedir}/sys/sdt-config.h
1243%{_rpmmacrodir}/macros.systemtap
1244%doc README AUTHORS NEWS
1245%{!?_licensedir:%global license %%doc}
1246%license COPYING
1247
1248
1249%files sdt-dtrace
1250%{_bindir}/dtrace
1251%doc README AUTHORS NEWS
1252%{!?_licensedir:%global license %%doc}
1253%license COPYING
1254%{_mandir}/man1/dtrace.1*
1255
1256
1257%files testsuite
1258%dir %{_datadir}/systemtap
1259%{_datadir}/systemtap/testsuite
1260%if %{with_sysusers}
1261%{_sysusersdir}/systemtap-testsuite.conf
1262%endif
1263
1264
1265%if %{with_java}
1266%files runtime-java
1267%dir %{_libexecdir}/systemtap
1268%{_libexecdir}/systemtap/libHelperSDT.so
1269%{_libexecdir}/systemtap/HelperSDT.jar
1270%{_libexecdir}/systemtap/stapbm
1271%endif
1272
1273%if %{with_python2_probes}
1274%files runtime-python2
1275%{python_sitearch}/HelperSDT
1276%{python_sitearch}/HelperSDT-*.egg-info
1277%endif
1278%if %{with_python3_probes}
1279%files runtime-python3
1280%{python3_sitearch}/HelperSDT
1281%{python3_sitearch}/HelperSDT-*.egg-info
1282%endif
1283
1284%if %{with_virthost}
1285%files runtime-virthost
1286%{_mandir}/man1/stapvirt.1*
1287%{_bindir}/stapvirt
1288%endif
1289
1290%if %{with_virtguest}
1291%files runtime-virtguest
1292%if %{with_systemd}
1293 %{udevrulesdir}/99-stapsh.rules
1294 %{_unitdir}/stapsh@.service
1295%else
1296 %{udevrulesdir}/99-stapsh-init.rules
1297 %dir %{_libexecdir}/systemtap
1298 %{_libexecdir}/systemtap/stapsh-daemon
1299 %{initdir}/stapshd
1300 %{_sysconfdir}/sysconfig/modules/virtio_console.modules
1301%endif
1302%endif
1303
1304%if %{with_python3_probes}
1305%files exporter
1306%{_sysconfdir}/stap-exporter
1307%{_sysconfdir}/sysconfig/stap-exporter
1308%{_unitdir}/stap-exporter.service
1309%{_mandir}/man8/stap-exporter.8*
1310%{_sbindir}/stap-exporter
1311%endif
1312
1313%files jupyter
1314%{_bindir}/stap-jupyter-container
1315%{_bindir}/stap-jupyter-install
1316%{_mandir}/man1/stap-jupyter.1*
1317%dir %{_datadir}/systemtap
1318%{_datadir}/systemtap/interactive-notebook
1319
1320# ------------------------------------------------------------------------
1321
1322# Future new-release entries should be of the form
1323# * DDD MMM DD YYYY YOURNAME <YOUREMAIL> - V-R
1324# - Upstream release, see wiki page below for detailed notes.
1325# https://sourceware.org/systemtap/wiki/SystemTapReleases
1326
1327# PRERELEASE
1328%changelog
1329* Thu Aug 08 2024 Lumír Balhar <lbalhar@redhat.com> - 5.2-pre
1330- Final split of sdt-dtrace and sdt-devel (rhbz#2296275)
1331 https://fedoraproject.org/wiki/Changes/Separate_dtrace_package
1332
1333* Fri Apr 26 2024 Frank Ch. Eigler <fche@redhat.com> - 5.1-1
1334- Upstream release, see wiki page below for detailed notes.
1335 https://sourceware.org/systemtap/wiki/SystemTapReleases
1336
1337* Sat Nov 04 2023 Frank Ch. Eigler <fche@redhat.com> - 5.0-1
1338- Upstream release, see wiki page below for detailed notes.
1339 https://sourceware.org/systemtap/wiki/SystemTapReleases
1340- migrated to SPDX license
1341
1342* Fri Apr 28 2023 Frank Ch. Eigler <fche@redhat.com> - 4.9-1
1343- Upstream release, see wiki page below for detailed notes.
1344 https://sourceware.org/systemtap/wiki/SystemTapReleases
1345
1346* Thu Nov 03 2022 Serhei Makarov <serhei@serhei.io> - 4.8-1
1347- Upstream release, see wiki page below for detailed notes.
1348 https://sourceware.org/systemtap/wiki/SystemTapReleases
1349
1350* Mon May 02 2022 Frank Ch. Eigler <fche@redhat.com> - 4.7-1
1351- Upstream release, see wiki page below for detailed notes.
1352 https://sourceware.org/systemtap/wiki/SystemTapReleases
1353
1354* Mon Nov 15 2021 Serhei Makarov <me@serhei.io> - 4.6-1
1355- Upstream release, see wiki page below for detailed notes.
1356 https://sourceware.org/systemtap/wiki/SystemTapReleases
1357
1358* Fri May 07 2021 Serhei Makarov <me@serhei.io> - 4.5-1
1359- Upstream release.
1360
1361* Mon Nov 09 2020 Frank Ch. Eigler <fche@redhat.com> - 4.4-1
1362- Upstream release.
1363
1364* Thu Jun 11 2020 Frank Ch. Eigler <fche@redhat.com> - 4.3-1
1365- Upstream release.
1366
1367* Mon Nov 18 2019 Sagar Patel <sapatel@redhat.com> - 4.2-1
1368- Upstream release.
1369
1370* Tue May 07 2019 Serguei Makarov <smakarov@redhat.com> - 4.1-1
1371- Upstream release.
1372
1373* Sat Oct 13 2018 Frank Ch. Eigler <fche@redhat.com> - 4.0-1
1374- Upstream release.
1375
1376* Thu Jun 07 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-1
1377- Upstream release.
1378
1379* Wed Oct 18 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-1
1380- Upstream release.
1381
1382* Fri Feb 17 2017 Frank Ch. Eigler <fche@redhat.com> - 3.1-1
1383- Upstream release.
1384
1385* Sun Mar 27 2016 Frank Ch. Eigler <fche@redhat.com> - 3.0-1
1386- Upstream release.
1387
1388* Thu Oct 08 2015 Frank Ch. Eigler <fche@redhat.com> - 2.9-1
1389- Upstream release.
1390
1391* Wed Jun 17 2015 Abegail Jakop <ajakop@redhat.com> - 2.8-1
1392- Upstream release.
1393
1394* Wed Feb 18 2015 Frank Ch. Eigler <fche@redhat.com> - 2.7-1
1395- Upstream release.
1396
1397* Fri Sep 05 2014 Josh Stone <jistone@redhat.com> - 2.6-1
1398- Upstream release.
1399
1400* Mon Jul 07 2014 Josh Stone <jistone@redhat.com>
1401- Flip with_dyninst to an %%ifarch passlist.
1402
1403* Wed Apr 30 2014 Jonathan Lebon <jlebon@redhat.com> - 2.5-1
1404- Upstream release.
1405
1406* Thu Feb 13 2014 Lukas Berk <lberk@redhat.com>
1407- Add directory checks for runtime-java sym links
1408
1409* Mon Jan 06 2014 Jonathan Lebon <jlebon@redhat.com>
1410- Added dracut module to initscript package
1411
1412* Wed Nov 06 2013 Frank Ch. Eigler <fche@redhat.com> - 2.4-1
1413- Upstream release.
1414
1415* Wed Oct 09 2013 Jonathan Lebon <jlebon@redhat.com>
1416- Added runtime-virthost and runtime-virtguest packages.
1417
1418* Thu Jul 25 2013 Frank Ch. Eigler <fche@redhat.com> - 2.3-1
1419- Upstream release.
1420
1421* Thu May 16 2013 Frank Ch. Eigler <fche@redhat.com> - 2.2.1-1
1422- Upstream release.
1423
1424* Tue May 14 2013 Frank Ch. Eigler <fche@redhat.com> - 2.2-1
1425- Upstream release.
1426
1427* Wed Feb 13 2013 Serguei Makarov <smakarov@redhat.com> - 2.1-1
1428- Upstream release.
1429
1430* Tue Oct 09 2012 Josh Stone <jistone@redhat.com> - 2.0-1
1431- Upstream release.
1432
1433* Fri Jul 13 2012 Peter Robinson <pbrobinson@fedoraproject.org>
1434- Fix ifarch statement
1435- use file based requires for glibc-devel on x86_64 so that we work in koji
1436
1437* Sun Jun 17 2012 Frank Ch. Eigler <fche@redhat.com> - 1.8-1
1438- Upstream release.
1439
1440* Wed Feb 01 2012 Frank Ch. Eigler <fche@redhat.com> - 1.7-1
1441- Upstream release.
1442
1443* Fri Jan 13 2012 David Smith <dsmith@redhat.com> - 1.6-2
1444- Fixed /bin/mktemp require.
1445
1446* Mon Jul 25 2011 Stan Cox <scox@redhat.com> - 1.6-1
1447- Upstream release.
1448
1449* Mon May 23 2011 Stan Cox <scox@redhat.com> - 1.5-1
1450- Upstream release.
1451
1452* Mon Jan 17 2011 Frank Ch. Eigler <fche@redhat.com> - 1.4-1
1453- Upstream release.
1454
1455* Wed Jul 21 2010 Josh Stone <jistone@redhat.com> - 1.3-1
1456- Upstream release.
1457
1458* Mon Mar 22 2010 Frank Ch. Eigler <fche@redhat.com> - 1.2-1
1459- Upstream release.
1460
1461* Mon Dec 21 2009 David Smith <dsmith@redhat.com> - 1.1-1
1462- Upstream release.
1463
1464* Tue Sep 22 2009 Josh Stone <jistone@redhat.com> - 1.0-1
1465- Upstream release.
1466
1467* Tue Aug 4 2009 Josh Stone <jistone@redhat.com> - 0.9.9-1
1468- Upstream release.
1469
1470* Thu Jun 11 2009 Josh Stone <jistone@redhat.com> - 0.9.8-1
1471- Upstream release.
1472
1473* Thu Apr 23 2009 Josh Stone <jistone@redhat.com> - 0.9.7-1
1474- Upstream release.
1475
1476* Fri Mar 27 2009 Josh Stone <jistone@redhat.com> - 0.9.5-1
1477- Upstream release.
1478
1479* Wed Mar 18 2009 Will Cohen <wcohen@redhat.com> - 0.9-2
1480- Add location of man pages.
1481
1482* Tue Feb 17 2009 Frank Ch. Eigler <fche@redhat.com> - 0.9-1
1483- Upstream release.
1484
1485* Thu Nov 13 2008 Frank Ch. Eigler <fche@redhat.com> - 0.8-1
1486- Upstream release.
1487
1488* Tue Jul 15 2008 Frank Ch. Eigler <fche@redhat.com> - 0.7-1
1489- Upstream release.
1490
1491* Fri Feb 1 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-3
1492- Add zlib-devel to buildreq; missing from crash-devel
1493- Process testsuite .stp files for #!stap->#!/usr/bin/stap
1494
1495* Fri Jan 18 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-1
1496- Add crash-devel buildreq to build staplog.so crash(8) module.
1497- Many robustness & functionality improvements:
1498
1499* Wed Dec 5 2007 Will Cohen <wcohen@redhat.com> - 0.6-2
1500- Correct Source to point to location contain code.
1501
1502* Thu Aug 9 2007 David Smith <dsmith@redhat.com> - 0.6-1
1503- Bumped version, added libcap-devel BuildRequires.
1504
1505* Wed Jul 11 2007 Will Cohen <wcohen@redhat.com> - 0.5.14-2
1506- Fix Requires and BuildRequires for sqlite.
1507
1508* Mon Jul 2 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.14-1
1509- Many robustness improvements: 1117, 1134, 1305, 1307, 1570, 1806,
1510 2033, 2116, 2224, 2339, 2341, 2406, 2426, 2438, 2583, 3037,
1511 3261, 3282, 3331, 3428 3519, 3545, 3625, 3648, 3880, 3888, 3911,
1512 3952, 3965, 4066, 4071, 4075, 4078, 4081, 4096, 4119, 4122, 4127,
1513 4146, 4171, 4179, 4183, 4221, 4224, 4254, 4281, 4319, 4323, 4326,
1514 4329, 4332, 4337, 4415, 4432, 4444, 4445, 4458, 4467, 4470, 4471,
1515 4518, 4567, 4570, 4579, 4589, 4609, 4664
1516
1517* Mon Mar 26 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.13-1
1518- An emergency / preliminary refresh, mainly for compatibility
1519 with 2.6.21-pre kernels.
1520
1521* Mon Jan 1 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.12-1
1522- Many changes, see NEWS file.
1523
1524* Tue Sep 26 2006 David Smith <dsmith@redhat.com> - 0.5.10-1
1525- Added 'systemtap-runtime' subpackage.
1526
1527* Wed Jul 19 2006 Roland McGrath <roland@redhat.com> - 0.5.9-1
1528- PRs 2669, 2913
1529
1530* Fri Jun 16 2006 Roland McGrath <roland@redhat.com> - 0.5.8-1
1531- PRs 2627, 2520, 2228, 2645
1532
1533* Fri May 5 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.7-1
1534- PRs 2511 2453 2307 1813 1944 2497 2538 2476 2568 1341 2058 2220 2437
1535 1326 2014 2599 2427 2438 2465 1930 2149 2610 2293 2634 2506 2433
1536
1537* Tue Apr 4 2006 Roland McGrath <roland@redhat.com> - 0.5.5-1
1538- Many changes, affected PRs include: 2068, 2293, 1989, 2334,
1539 1304, 2390, 2425, 953.
1540
1541* Wed Feb 1 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.4-1
1542- PRs 1916, 2205, 2142, 2060, 1379
1543
1544* Mon Jan 16 2006 Roland McGrath <roland@redhat.com> - 0.5.3-1
1545- Many changes, affected PRs include: 2056, 1144, 1379, 2057,
1546 2060, 1972, 2140, 2148
1547
1548* Mon Dec 19 2005 Roland McGrath <roland@redhat.com> - 0.5.2-1
1549- Fixed build with gcc 4.1, various tapset changes.
1550
1551* Wed Dec 7 2005 Roland McGrath <roland@redhat.com> - 0.5.1-1
1552- elfutils update, build changes
1553
1554* Fri Dec 02 2005 Frank Ch. Eigler <fche@redhat.com> - 0.5-1
1555- Many fixes and improvements: 1425, 1536, 1505, 1380, 1329, 1828, 1271,
1556 1339, 1340, 1345, 1837, 1917, 1903, 1336, 1868, 1594, 1564, 1276, 1295
1557
1558* Mon Oct 31 2005 Roland McGrath <roland@redhat.com> - 0.4.2-1
1559- Many fixes and improvements: PRs 1344, 1260, 1330, 1295, 1311, 1368,
1560 1182, 1131, 1332, 1366, 1456, 1271, 1338, 1482, 1477, 1194.
1561
1562* Wed Sep 14 2005 Roland McGrath <roland@redhat.com> - 0.4.1-1
1563- Many fixes and improvements since 0.2.2; relevant PRs include:
1564 1122, 1134, 1155, 1172, 1174, 1175, 1180, 1186, 1187, 1191, 1193, 1195,
1565 1197, 1205, 1206, 1209, 1213, 1244, 1257, 1258, 1260, 1265, 1268, 1270,
1566 1289, 1292, 1306, 1335, 1257
1567
1568* Wed Sep 7 2005 Frank Ch. Eigler <fche@redhat.com>
1569- Bump version.
1570
1571* Tue Aug 16 2005 Frank Ch. Eigler <fche@redhat.com>
1572- Bump version.
1573
1574* Wed Aug 3 2005 Martin Hunt <hunt@redhat.com> - 0.2.2-1
1575- Add directory /var/cache/systemtap
1576- Add stp_check to /usr/libexec/systemtap
1577
1578* Wed Aug 3 2005 Roland McGrath <roland@redhat.com> - 0.2.1-1
1579- New version 0.2.1, various fixes.
1580
1581* Fri Jul 29 2005 Roland McGrath <roland@redhat.com> - 0.2-1
1582- New version 0.2, requires elfutils 0.111
1583
1584* Mon Jul 25 2005 Roland McGrath <roland@redhat.com>
1585- Clean up spec file, build bundled elfutils.
1586
1587* Thu Jul 21 2005 Martin Hunt <hunt@redhat.com>
1588- Set Version to use version from autoconf.
1589- Fix up some of the path names.
1590- Add Requires and BuildRequires.
1591
1592* Tue Jul 19 2005 Will Cohen <wcohen@redhat.com>
1593- Initial creation of RPM.
This page took 0.087535 seconds and 6 git commands to generate.