]> sourceware.org Git - systemtap.git/blame - systemtap.spec
configury: add --without-bpf configure option
[systemtap.git] / systemtap.spec
CommitLineData
0f887b7f 1%{!?with_sqlite: %global with_sqlite 0%{?fedora} >= 17 || 0%{?rhel} >= 7}
0dfed9e3
FCE
2# prefer prebuilt docs
3%{!?with_docs: %global with_docs 0}
6706593f 4%{!?with_htmldocs: %global with_htmldocs 0}
f7420048 5%{!?with_monitor: %global with_monitor 1}
8d238932 6# crash is not available
29f15b2e 7%ifarch ppc ppc64 %{sparc} aarch64 ppc64le %{mips}
8d238932
LB
8%{!?with_crash: %global with_crash 0}
9%else
38105915 10%{!?with_crash: %global with_crash 1}
8d238932 11%endif
11059140
RM
12%{!?with_rpm: %global with_rpm 1}
13%{!?with_bundled_elfutils: %global with_bundled_elfutils 0}
e050d62f 14%{!?elfutils_version: %global elfutils_version 0.142}
11059140 15%{!?pie_supported: %global pie_supported 1}
11059140 16%{!?with_boost: %global with_boost 0}
ebf1032e 17%ifarch %{ix86} x86_64 ppc ppc64
a40f6057 18%{!?with_dyninst: %global with_dyninst 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
605083f9
WC
19%else
20%{!?with_dyninst: %global with_dyninst 0}
21%endif
748e425b 22%{!?with_bpf: %global with_bpf 0%{?fedora} >= 22 || 0%{?rhel} >= 8}
515f4553 23%{!?with_systemd: %global with_systemd 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
7f6c7a0b
FCE
24%{!?with_emacsvim: %global with_emacsvim 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
25%{!?with_java: %global with_java 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
765a5d60
JL
26%{!?with_virthost: %global with_virthost 0%{?fedora} >= 19 || 0%{?rhel} >= 7}
27%{!?with_virtguest: %global with_virtguest 1}
b8d6168f 28%{!?with_dracut: %global with_dracut 0%{?fedora} >= 19 || 0%{?rhel} >= 6}
25c72c50
DS
29%ifarch x86_64
30%{!?with_mokutil: %global with_mokutil 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
9a9a6ff8 31%{!?with_openssl: %global with_openssl 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
25c72c50
DS
32%else
33%{!?with_mokutil: %global with_mokutil 0}
9a9a6ff8 34%{!?with_openssl: %global with_openssl 0}
25c72c50 35%endif
d0eeef5f 36%{!?with_pyparsing: %global with_pyparsing 0%{?fedora} >= 18 || 0%{?rhel} >= 7}
d6145cec 37%{!?with_python3: %global with_python3 0%{?fedora} >= 23 || 0%{?rhel} > 7}
470a81c8
PV
38%{!?with_python2_probes: %global with_python2_probes (0%{?fedora} <= 28 && 0%{?rhel} <= 7)}
39%{!?with_python3_probes: %global with_python3_probes (0%{?fedora} >= 23 || 0%{?rhel} > 7)}
696a4ac1 40%{!?with_httpd: %global with_httpd 0}
1074f79d 41
b61a4d61 42%ifarch ppc64le aarch64
662747f9
BB
43%global with_virthost 0
44%endif
45
4a618408
JL
46%if 0%{?fedora} >= 18 || 0%{?rhel} >= 6
47 %define initdir %{_initddir}
48%else # RHEL5 doesn't know _initddir
49 %define initdir %{_initrddir}
50%endif
51
765a5d60 52%if %{with_virtguest}
ce532fda
JL
53 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
54 %define udevrulesdir /usr/lib/udev/rules.d
765a5d60 55 %else
ce532fda
JL
56 %if 0%{?rhel} >= 6
57 %define udevrulesdir /lib/udev/rules.d
58 %else # RHEL5
59 %define udevrulesdir /etc/udev/rules.d
60 %endif
765a5d60
JL
61 %endif
62%endif
63
b8d6168f
MC
64%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
65 %define dracutstap %{_prefix}/lib/dracut/modules.d/99stap
66%else
67 %define dracutstap %{_prefix}/share/dracut/modules.d/99stap
68%endif
69
1d4d806c 70%if 0%{?rhel} == 6 || 0%{?rhel} == 7
b8d6168f
MC
71 %define dracutbindir /sbin
72%else
73 %define dracutbindir %{_bindir}
74%endif
6a06bc73 75
9297d41f
MC
76%if 0%{?rhel} == 6
77 %{!?_rpmmacrodir: %define _rpmmacrodir /etc/rpm/}
78%else
79 %{!?_rpmmacrodir: %define _rpmmacrodir %{_rpmconfigdir}/macros.d}
80%endif
81
e4f9f015
SC
82# To avoid testsuite/*/*.stp has shebang which doesn't start with '/'
83%undefine __brp_mangle_shebangs
84
a2c9eba7 85Name: systemtap
6021a1f0 86Version: 4.0
8f0fcd99 87Release: 1%{?dist}
59b30bda 88# for version, see also configure.ac
016a35ea
FCE
89
90
91# Packaging abstract:
92#
93# systemtap empty req:-client req:-devel
94# systemtap-server /usr/bin/stap-server*, req:-devel
95# systemtap-devel /usr/bin/stap, runtime, tapset, req:kernel-devel
4b682f2a 96# systemtap-runtime /usr/bin/staprun, /usr/bin/stapsh, /usr/bin/stapdyn
016a35ea 97# systemtap-client /usr/bin/stap, samples, docs, tapset(bonus), req:-runtime
6a06bc73 98# systemtap-initscript /etc/init.d/systemtap, dracut module, req:systemtap
016a35ea
FCE
99# systemtap-sdt-devel /usr/include/sys/sdt.h /usr/bin/dtrace
100# systemtap-testsuite /usr/share/systemtap/testsuite*, req:systemtap, req:sdt-devel
36cfba7c 101# systemtap-runtime-java libHelperSDT.so, HelperSDT.jar, stapbm, req:-runtime
765a5d60
JL
102# systemtap-runtime-virthost /usr/bin/stapvirt, req:libvirt req:libxml2
103# systemtap-runtime-virtguest udev rules, init scripts/systemd service, req:-runtime
30354895
DS
104# systemtap-runtime-python2 HelperSDT python2 module, req:-runtime
105# systemtap-runtime-python3 HelperSDT python3 module, req:-runtime
016a35ea
FCE
106#
107# Typical scenarios:
108#
109# stap-client: systemtap-client
110# stap-server: systemtap-server
111# local user: systemtap
112#
113# Unusual scenarios:
1553f7e3 114#
016a35ea
FCE
115# intermediary stap-client for --remote: systemtap-client (-runtime unused)
116# intermediary stap-server for --use-server: systemtap-server (-devel unused)
117
118Summary: Programmable system-wide instrumentation system
7d838f63 119Group: Development/System
6a1cd8a7 120License: GPLv2+
a2c9eba7 121URL: http://sourceware.org/systemtap/
60e99141 122Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
a2c9eba7 123
016a35ea 124# Build*
4c895683 125BuildRequires: gcc-c++
48fa6b5e 126BuildRequires: gettext-devel
756c7cf2
FCE
127BuildRequires: pkgconfig(nss)
128BuildRequires: pkgconfig(avahi-client)
5ecd6999 129%if %{with_dyninst}
0f3edcb9 130BuildRequires: dyninst-devel >= 8.0
756c7cf2 131BuildRequires: pkgconfig(libselinux)
5ecd6999 132%endif
a87d23e3 133%if %{with_sqlite}
572f73b5 134BuildRequires: sqlite-devel > 3.7
d8c3d602 135%endif
f7420048 136%if %{with_monitor}
756c7cf2
FCE
137BuildRequires: pkgconfig(json-c)
138BuildRequires: pkgconfig(ncurses)
f7420048 139%endif
10a7ba12
IZ
140%if %{with_systemd}
141BuildRequires: systemd
142%endif
469c1a1b
FCE
143# Needed for libstd++ < 4.0, without <tr1/memory>
144%if %{with_boost}
145BuildRequires: boost-devel
146%endif
a87d23e3 147%if %{with_crash}
d2995e6f 148BuildRequires: crash-devel zlib-devel
1e0716d3 149%endif
2ed04863 150%if %{with_rpm}
71302939 151BuildRequires: rpm-devel
2ed04863 152%endif
a87d23e3 153%if %{with_bundled_elfutils}
7d838f63
MH
154Source1: elfutils-%{elfutils_version}.tar.gz
155Patch1: elfutils-portability.patch
d79591b3 156BuildRequires: m4
11059140 157%global setup_elfutils -a1
a2c9eba7
RM
158%else
159BuildRequires: elfutils-devel >= %{elfutils_version}
7d838f63 160%endif
465e8fbf 161%if %{with_docs}
7012fdd5 162BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf
eb8eb9bc 163%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
2ed848e0 164BuildRequires: tex(fullpage.sty) tex(fancybox.sty) tex(bchr7t.tfm) tex(graphicx.sty)
eb8eb9bc 165%endif
7b19719f
FCE
166# For the html.sty mentioned in the .tex files, even though latex2html is
167# not run during the build, only during manual scripts/update-docs runs:
168BuildRequires: latex2html
6706593f 169%if %{with_htmldocs}
6275c8d7
DS
170# On F10, xmlto's pdf support was broken off into a sub-package,
171# called 'xmlto-tex'. To avoid a specific F10 BuildReq, we'll do a
172# file-based buildreq on '/usr/share/xmlto/format/fo/pdf'.
173BuildRequires: xmlto /usr/share/xmlto/format/fo/pdf
465e8fbf 174%endif
6706593f 175%endif
65635f34
FCE
176%if %{with_emacsvim}
177BuildRequires: emacs
178%endif
fd05c448 179%if %{with_java}
36cfba7c 180BuildRequires: jpackage-utils java-devel
fd05c448 181%endif
765a5d60 182%if %{with_virthost}
756c7cf2
FCE
183# BuildRequires: libvirt-devel >= 1.0.2
184BuildRequires: pkgconfig(libvirt)
185BuildRequires: pkgconfig(libxml-2.0)
765a5d60 186%endif
16314eed
DS
187BuildRequires: readline-devel
188%if 0%{?rhel} <= 5
756c7cf2 189BuildRequires: pkgconfig(ncurses)
16314eed 190%endif
30354895 191%if %{with_python2_probes}
f312f87e 192BuildRequires: python2-devel
09cd42d2 193%if 0%{?fedora} >= 1
f312f87e 194BuildRequires: python2-setuptools
09cd42d2
MC
195%else
196BuildRequires: python-setuptools
197%endif
30354895
DS
198%endif
199%if %{with_python3_probes}
200BuildRequires: python3-devel
c11fe12e 201BuildRequires: python3-setuptools
30354895 202%endif
14df5fde 203
696a4ac1
DS
204%if %{with_httpd}
205BuildRequires: libmicrohttpd-devel
206BuildRequires: libuuid-devel
207%endif
208
016a35ea
FCE
209# Install requirements
210Requires: systemtap-client = %{version}-%{release}
211Requires: systemtap-devel = %{version}-%{release}
212
7d838f63 213%description
f89ff3e2 214SystemTap is an instrumentation system for systems running Linux.
016a35ea
FCE
215Developers can write instrumentation scripts to collect data on
216the operation of the system. The base systemtap package contains/requires
217the components needed to locally develop and execute systemtap scripts.
218
219# ------------------------------------------------------------------------
220
221%package server
222Summary: Instrumentation System Server
223Group: Development/System
224License: GPLv2+
225URL: http://sourceware.org/systemtap/
226Requires: systemtap-devel = %{version}-%{release}
4d589cc1 227Requires: nss coreutils
016a35ea
FCE
228Requires: zip unzip
229Requires(pre): shadow-utils
230Requires(post): chkconfig
231Requires(preun): chkconfig
232Requires(preun): initscripts
233Requires(postun): initscripts
234BuildRequires: nss-devel avahi-devel
9a9a6ff8
DS
235%if %{with_openssl}
236Requires: openssl
237%endif
10a7ba12
IZ
238%if %{with_systemd}
239Requires: systemd
240%endif
016a35ea
FCE
241
242%description server
243This is the remote script compilation server component of systemtap.
244It announces itself to nearby clients with avahi (if available), and
245compiles systemtap scripts to kernel objects on their demand.
246
247
248%package devel
249Summary: Programmable system-wide instrumentation system - development headers, tools
250Group: Development/System
251License: GPLv2+
252URL: http://sourceware.org/systemtap/
19eace0c
DS
253# The virtual provide 'kernel-devel-uname-r' tries to get the right
254# kernel variant (kernel-PAE, kernel-debug, etc.) devel package
255# installed.
256Requires: kernel-devel-uname-r
257%{?fedora:Suggests: kernel-devel}
4c895683 258Requires: gcc make
016a35ea
FCE
259# Suggest: kernel-debuginfo
260
261%description devel
262This package contains the components needed to compile a systemtap
263script from source form into executable (.ko) forms. It may be
264installed on a self-contained developer workstation (along with the
265systemtap-client and systemtap-runtime packages), or on a dedicated
266remote server (alongside the systemtap-server package). It includes
267a copy of the standard tapset library and the runtime library C files.
268
7d838f63 269
a63a95dc 270%package runtime
016a35ea 271Summary: Programmable system-wide instrumentation system - runtime
a63a95dc 272Group: Development/System
6a1cd8a7 273License: GPLv2+
a63a95dc 274URL: http://sourceware.org/systemtap/
378a5245 275Requires(pre): shadow-utils
a63a95dc
DS
276
277%description runtime
016a35ea
FCE
278SystemTap runtime contains the components needed to execute
279a systemtap script that was already compiled into a module
280using a local or remote systemtap-devel installation.
a63a95dc 281
016a35ea
FCE
282
283%package client
284Summary: Programmable system-wide instrumentation system - client
8f3c45cc
FCE
285Group: Development/System
286License: GPLv2+
287URL: http://sourceware.org/systemtap/
016a35ea
FCE
288Requires: zip unzip
289Requires: systemtap-runtime = %{version}-%{release}
290Requires: coreutils grep sed unzip zip
291Requires: openssh-clients
25c72c50
DS
292%if %{with_mokutil}
293Requires: mokutil
294%endif
8f3c45cc 295
016a35ea 296%description client
1553f7e3
LB
297This package contains/requires the components needed to develop
298systemtap scripts, and compile them using a local systemtap-devel
016a35ea
FCE
299or a remote systemtap-server installation, then run them using a
300local or remote systemtap-runtime. It includes script samples and
301documentation, and a copy of the tapset library for reference.
8f3c45cc 302
016a35ea
FCE
303
304%package initscript
305Summary: Systemtap Initscripts
d9d14e20
DB
306Group: Development/System
307License: GPLv2+
308URL: http://sourceware.org/systemtap/
ad12652e 309Requires: systemtap = %{version}-%{release}
e2a741be
DB
310Requires(post): chkconfig
311Requires(preun): chkconfig
312Requires(preun): initscripts
313Requires(postun): initscripts
d9d14e20 314
016a35ea 315%description initscript
6a06bc73
JL
316This package includes a SysVinit script to launch selected systemtap
317scripts at system startup, along with a dracut module for early
318boot-time probing if supported.
016a35ea 319
d9d14e20 320
b899aa79
SC
321%package sdt-devel
322Summary: Static probe support tools
323Group: Development/System
920b103a 324License: GPLv2+ and Public Domain
b899aa79 325URL: http://sourceware.org/systemtap/
d0eeef5f 326%if %{with_pyparsing}
0a742545
FCE
327%if %{with_python3}
328Requires: python3-pyparsing
329%else
089afb20
MC
330%if 0%{?rhel} >= 7
331Requires: pyparsing
332%else
f312f87e 333Requires: python2-pyparsing
d0eeef5f 334%endif
0a742545 335%endif
089afb20 336%endif
b899aa79
SC
337
338%description sdt-devel
016a35ea
FCE
339This package includes the <sys/sdt.h> header file used for static
340instrumentation compiled into userspace programs and libraries, along
341with the optional dtrace-compatibility preprocessor to process related
342.d files into tracing-macro-laden .h headers.
b899aa79 343
016a35ea
FCE
344
345%package testsuite
346Summary: Instrumentation System Testsuite
9a8d8be3
MH
347Group: Development/System
348License: GPLv2+
349URL: http://sourceware.org/systemtap/
016a35ea
FCE
350Requires: systemtap = %{version}-%{release}
351Requires: systemtap-sdt-devel = %{version}-%{release}
d6d8634e 352Requires: systemtap-server = %{version}-%{release}
cf638735 353Requires: dejagnu which elfutils grep nc
4c895683 354Requires: gcc gcc-c++ make glibc-devel
c157d058
DS
355# testsuite/systemtap.base/ptrace.exp needs strace
356Requires: strace
9564c81a
DS
357# testsuite/systemtap.base/ipaddr.exp needs nc. Unfortunately, the rpm
358# that provides nc has changed over time (from 'nc' to
359# 'nmap-ncat'). So, we'll do a file-based require.
360Requires: /usr/bin/nc
70afe224 361%ifnarch ia64 ppc64le aarch64
9d0b65fe
FCE
362%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
363# no prelink
364%else
cf638735
SC
365Requires: prelink
366%endif
9d0b65fe 367%endif
d6d8634e
DS
368# testsuite/systemtap.server/client.exp needs avahi
369Requires: avahi
370%if %{with_crash}
371# testsuite/systemtap.base/crash.exp needs crash
372Requires: crash
373%endif
eaa3bf2e
FCE
374%if %{with_java}
375Requires: systemtap-runtime-java = %{version}-%{release}
376%endif
30354895
DS
377%if %{with_python2_probes}
378Requires: systemtap-runtime-python2 = %{version}-%{release}
379%endif
380%if %{with_python3_probes}
381Requires: systemtap-runtime-python3 = %{version}-%{release}
382%endif
07547775 383%ifarch x86_64
e2d574cc 384Requires: /usr/lib/libc.so
b9770214
FCE
385# ... and /usr/lib/libgcc_s.so.*
386# ... and /usr/lib/libstdc++.so.*
4c895683 387%endif
574cf27a
SC
388%if 0%{?fedora} >= 18
389Requires: stress
390%endif
6965b69a
DS
391# The following "meta" files for the systemtap examples run "perf":
392# testsuite/systemtap.examples/hw_watch_addr.meta
393# testsuite/systemtap.examples/memory/hw_watch_sym.meta
394Requires: perf
016a35ea
FCE
395
396%description testsuite
397This package includes the dejagnu-based systemtap stress self-testing
398suite. This may be used by system administrators to thoroughly check
399systemtap on the current system.
9a8d8be3 400
9a8d8be3 401
36cfba7c
SM
402%if %{with_java}
403%package runtime-java
404Summary: Systemtap Java Runtime Support
405Group: Development/System
406License: GPLv2+
407URL: http://sourceware.org/systemtap/
408Requires: systemtap-runtime = %{version}-%{release}
d885563b 409Requires: byteman > 2.0
0973594b 410Requires: iproute
36cfba7c
SM
411
412%description runtime-java
413This package includes support files needed to run systemtap scripts
414that probe Java processes running on the OpenJDK 1.6 and OpenJDK 1.7
415runtimes using Byteman.
416%endif
417
30354895
DS
418%if %{with_python2_probes}
419%package runtime-python2
420Summary: Systemtap Python 2 Runtime Support
421Group: Development/System
422License: GPLv2+
423URL: http://sourceware.org/systemtap/
424Requires: systemtap-runtime = %{version}-%{release}
425
426%description runtime-python2
427This package includes support files needed to run systemtap scripts
428that probe python 2 processes.
429%endif
430
431%if %{with_python3_probes}
432%package runtime-python3
433Summary: Systemtap Python 3 Runtime Support
434Group: Development/System
435License: GPLv2+
436URL: http://sourceware.org/systemtap/
437Requires: systemtap-runtime = %{version}-%{release}
438
470a81c8
PV
439%if ! (%{with_python2_probes})
440# Provide an clean upgrade path when the python2 package is removed
441Obsoletes: %{name}-runtime-python2 < %{version}-%{release}
442%endif
443
30354895
DS
444%description runtime-python3
445This package includes support files needed to run systemtap scripts
446that probe python 3 processes.
447%endif
448
765a5d60
JL
449%if %{with_virthost}
450%package runtime-virthost
451Summary: Systemtap Cross-VM Instrumentation - host
452Group: Development/System
453License: GPLv2+
454URL: http://sourceware.org/systemtap/
455Requires: libvirt >= 1.0.2
456Requires: libxml2
457
458%description runtime-virthost
459This package includes the components required to run systemtap scripts
460inside a libvirt-managed domain from the host without using a network
461connection.
462%endif
463
464%if %{with_virtguest}
465%package runtime-virtguest
466Summary: Systemtap Cross-VM Instrumentation - guest
467Group: Development/System
468License: GPLv2+
469URL: http://sourceware.org/systemtap/
470Requires: systemtap-runtime = %{version}-%{release}
471%if %{with_systemd}
472Requires(post): findutils coreutils
473Requires(preun): grep coreutils
474Requires(postun): grep coreutils
475%else
476Requires(post): chkconfig initscripts
477Requires(preun): chkconfig initscripts
478Requires(postun): initscripts
479%endif
480
481%description runtime-virtguest
482This package installs the services necessary on a virtual machine for a
483systemtap-runtime-virthost machine to execute systemtap scripts.
484%endif
36cfba7c 485
016a35ea
FCE
486# ------------------------------------------------------------------------
487
7d838f63 488%prep
a2c9eba7
RM
489%setup -q %{?setup_elfutils}
490
a87d23e3 491%if %{with_bundled_elfutils}
7d838f63
MH
492cd elfutils-%{elfutils_version}
493%patch1 -p1
a2c9eba7
RM
494sleep 1
495find . \( -name Makefile.in -o -name aclocal.m4 \) -print | xargs touch
496sleep 1
497find . \( -name configure -o -name config.h.in \) -print | xargs touch
7d838f63
MH
498cd ..
499%endif
500
501%build
a2c9eba7 502
a87d23e3 503%if %{with_bundled_elfutils}
7d838f63 504# Build our own copy of elfutils.
11059140 505%global elfutils_config --with-elfutils=elfutils-%{elfutils_version}
a2c9eba7
RM
506
507# We have to prevent the standard dependency generation from identifying
508# our private elfutils libraries in our provides and requires.
11059140
RM
509%global _use_internal_dependency_generator 0
510%global filter_eulibs() /bin/sh -c "%{1} | sed '/libelf/d;/libdw/d;/libebl/d'"
511%global __find_provides %{filter_eulibs /usr/lib/rpm/find-provides}
512%global __find_requires %{filter_eulibs /usr/lib/rpm/find-requires}
4dbd685d
RM
513
514# This will be needed for running stap when not installed, for the test suite.
11059140 515%global elfutils_mflags LD_LIBRARY_PATH=`pwd`/lib-elfutils
7d838f63
MH
516%endif
517
5ecd6999
JS
518# Enable/disable the dyninst pure-userspace backend
519%if %{with_dyninst}
520%global dyninst_config --with-dyninst
521%else
522%global dyninst_config --without-dyninst
523%endif
524
9921a199 525# Enable/disable the sqlite coverage testing support
a87d23e3 526%if %{with_sqlite}
11059140 527%global sqlite_config --enable-sqlite
9921a199 528%else
11059140 529%global sqlite_config --disable-sqlite
d8c3d602
WC
530%endif
531
a87d23e3
DS
532# Enable/disable the crash extension
533%if %{with_crash}
11059140 534%global crash_config --enable-crash
a87d23e3 535%else
11059140 536%global crash_config --disable-crash
a87d23e3
DS
537%endif
538
2ed04863
WC
539# Enable/disable the code to find and suggest needed rpms
540%if %{with_rpm}
11059140 541%global rpm_config --with-rpm
2ed04863 542%else
11059140 543%global rpm_config --without-rpm
2ed04863
WC
544%endif
545
465e8fbf 546%if %{with_docs}
6706593f
FL
547%if %{with_htmldocs}
548%global docs_config --enable-docs --enable-htmldocs
549%else
550%global docs_config --enable-docs --disable-htmldocs
551%endif
465e8fbf 552%else
0dfed9e3 553%global docs_config --enable-docs=prebuilt
465e8fbf
FCE
554%endif
555
e1e3ba36
RA
556# Enable pie as configure defaults to disabling it
557%if %{pie_supported}
11059140 558%global pie_config --enable-pie
e1e3ba36 559%else
11059140 560%global pie_config --disable-pie
e1e3ba36 561%endif
465e8fbf 562
53ade4da 563
fd05c448 564%if %{with_java}
26703c63 565%global java_config --with-java=%{_jvmdir}/java
fd05c448 566%else
26703c63 567%global java_config --without-java
fd05c448 568%endif
465e8fbf 569
30354895
DS
570%if %{with_python3}
571%global python3_config --with-python3
572%else
573%global python3_config --without-python3
574%endif
575%if %{with_python2_probes}
576%global python2_probes_config --with-python2-probes
577%else
578%global python2_probes_config --without-python2-probes
579%endif
580%if %{with_python3_probes}
581%global python3_probes_config --with-python3-probes
582%else
583%global python3_probes_config --without-python3-probes
584%endif
585
b0c670f4
FCE
586%if %{with_virthost}
587%global virt_config --enable-virt
588%else
589%global virt_config --disable-virt
590%endif
591
2323b028 592%if %{with_dracut}
b8d6168f 593%global dracut_config --with-dracutstap=%{dracutstap} --with-dracutbindir=%{dracutbindir}
2323b028 594%else
b68f9f67 595%global dracut_config %{nil}
2323b028
FCE
596%endif
597
696a4ac1
DS
598%if %{with_httpd}
599%global httpd_config --enable-httpd
600%else
601%global httpd_config --disable-httpd
602%endif
603
74bf7577
FCE
604# We don't ship compileworthy python code, just oddball samples
605%global py_auto_byte_compile 0
0a742545 606
90f2c8d1 607%configure %{?elfutils_config} %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{pie_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}"
a2c9eba7 608make %{?_smp_mflags}
2a4b42eb 609
65635f34
FCE
610%if %{with_emacsvim}
611%{_emacs_bytecompile} emacs/systemtap-mode.el
612%endif
613
ec4d1558
MW
614%install
615rm -rf ${RPM_BUILD_ROOT}
616make DESTDIR=$RPM_BUILD_ROOT install
9564097a 617%find_lang %{name}
d679d193
MC
618for dir in $(ls -1d $RPM_BUILD_ROOT%{_mandir}/{??,??_??}) ; do
619 dir=$(echo $dir | sed -e "s|^$RPM_BUILD_ROOT||")
620 lang=$(basename $dir)
621 echo "%%lang($lang) $dir/man*/*" >> %{name}.lang
622done
ec4d1558 623
2cd5c938 624ln -s %{_datadir}/systemtap/examples
ec4d1558 625
5c5f2389 626# Fix paths in the example scripts.
2cd5c938 627find $RPM_BUILD_ROOT%{_datadir}/systemtap/examples -type f -name '*.stp' -print0 | xargs -0 sed -i -r -e '1s@^#!.+stap@#!%{_bindir}/stap@'
7d838f63 628
414e04de
DS
629# To make rpmlint happy, remove any .gitignore files in the testsuite.
630find testsuite -type f -name '.gitignore' -print0 | xargs -0 rm -f
631
b7565b41 632# Because "make install" may install staprun with whatever mode, the
98aab489
DS
633# post-processing programs rpmbuild runs won't be able to read it.
634# So, we change permissions so that they can read it. We'll set the
b7565b41 635# permissions back to 04110 in the %files section below.
98aab489
DS
636chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun
637
cd4d1d39
WC
638#install the useful stap-prep script
639install -c -m 755 stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
640
8f3c45cc
FCE
641# Copy over the testsuite
642cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap
643
7fe437e6 644# We want the manuals in the special doc dir, not the generic doc install dir.
c256c4a6
MW
645# We build it in place and then move it away so it doesn't get installed
646# twice. rpm can specify itself where the (versioned) docs go with the
647# %doc directive.
7fe437e6
MW
648mkdir docs.installed
649mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/*.pdf docs.installed/
0dfed9e3 650%if %{with_docs}
6706593f 651%if %{with_htmldocs}
5bfd7a37 652mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/tapsets docs.installed/
53ade4da
MW
653mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/SystemTap_Beginners_Guide docs.installed/
654%endif
6706593f 655%endif
7fe437e6 656
e914597c
FCE
657install -D -m 644 macros.systemtap $RPM_BUILD_ROOT%{_rpmmacrodir}/macros.systemtap
658
e58423f4
LB
659mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server
660mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server
8689b446 661mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server/.systemtap
e58423f4
LB
662mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server
663touch $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server/log
664mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/systemtap
89abe8f9 665mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/systemtap
c1fc8157
LB
666mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
667install -m 644 initscript/logrotate.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/stap-server
4a618408
JL
668mkdir -p $RPM_BUILD_ROOT%{initdir}
669install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{initdir}
4c3b0da5
LB
670mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap
671mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/conf.d
672mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/script.d
673install -m 644 initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
7fe42498 674%if %{with_systemd}
c1fc8157
LB
675mkdir -p $RPM_BUILD_ROOT%{_unitdir}
676touch $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
677install -m 644 stap-server.service $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
752358d4
FCE
678mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
679install -m 644 stap-server.conf $RPM_BUILD_ROOT%{_tmpfilesdir}/stap-server.conf
e58423f4 680%else
4a618408 681install -m 755 initscript/stap-server $RPM_BUILD_ROOT%{initdir}
2f78bee0 682mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server/conf.d
c982e923 683mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
e2a741be 684install -m 644 initscript/config.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/stap-server
e58423f4 685%endif
9a8d8be3 686
65635f34
FCE
687%if %{with_emacsvim}
688mkdir -p $RPM_BUILD_ROOT%{_emacs_sitelispdir}
689install -p -m 644 emacs/systemtap-mode.el* $RPM_BUILD_ROOT%{_emacs_sitelispdir}
690mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir}
691install -p -m 644 emacs/systemtap-init.el $RPM_BUILD_ROOT%{_emacs_sitestartdir}/systemtap-init.el
e42fca4e
FCE
692for subdir in ftdetect ftplugin indent syntax
693do
694 mkdir -p $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/$subdir
695 install -p -m 644 vim/$subdir/*.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/$subdir
696done
65635f34
FCE
697%endif
698
765a5d60
JL
699%if %{with_virtguest}
700 mkdir -p $RPM_BUILD_ROOT%{udevrulesdir}
701 %if %{with_systemd}
702 install -p -m 644 staprun/guest/99-stapsh.rules $RPM_BUILD_ROOT%{udevrulesdir}
703 mkdir -p $RPM_BUILD_ROOT%{_unitdir}
704 install -p -m 644 staprun/guest/stapsh@.service $RPM_BUILD_ROOT%{_unitdir}
705 %else
706 install -p -m 644 staprun/guest/99-stapsh-init.rules $RPM_BUILD_ROOT%{udevrulesdir}
707 install -p -m 755 staprun/guest/stapshd $RPM_BUILD_ROOT%{initdir}
708 mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/systemtap
709 install -p -m 755 staprun/guest/stapsh-daemon $RPM_BUILD_ROOT%{_libexecdir}/systemtap
710 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
711 # Technically, this is only needed for RHEL5, in which the MODULE_ALIAS is missing, but
712 # it does no harm in RHEL6 as well
713 install -p -m 755 staprun/guest/virtio_console.modules $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
714 %endif
715%endif
65635f34 716
6a06bc73
JL
717%if %{with_dracut}
718 mkdir -p $RPM_BUILD_ROOT%{dracutstap}
719 install -p -m 755 initscript/99stap/module-setup.sh $RPM_BUILD_ROOT%{dracutstap}
b8d6168f
MC
720 install -p -m 755 initscript/99stap/install $RPM_BUILD_ROOT%{dracutstap}
721 install -p -m 755 initscript/99stap/check $RPM_BUILD_ROOT%{dracutstap}
6a06bc73
JL
722 install -p -m 755 initscript/99stap/start-staprun.sh $RPM_BUILD_ROOT%{dracutstap}
723 touch $RPM_BUILD_ROOT%{dracutstap}/params.conf
724%endif
725
378a5245 726%pre runtime
9d2b21df
FCE
727getent group stapusr >/dev/null || groupadd -g 156 -r stapusr 2>/dev/null || groupadd -r stapusr
728getent group stapsys >/dev/null || groupadd -g 157 -r stapsys 2>/dev/null || groupadd -r stapsys
729getent group stapdev >/dev/null || groupadd -g 158 -r stapdev 2>/dev/null || groupadd -r stapdev
efc4bf9a 730exit 0
98aab489 731
7433d0cf 732%pre server
9d2b21df 733getent group stap-server >/dev/null || groupadd -g 155 -r stap-server 2>/dev/null || groupadd -r stap-server
2648a9b4 734getent passwd stap-server >/dev/null || \
7734bd4f
FCE
735 useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server 2>/dev/null || \
736 useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -r -s /sbin/nologin stap-server
8689b446 737
5c84a24f
DS
738%pre testsuite
739getent passwd stapusr >/dev/null || \
740 useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr
741getent passwd stapsys >/dev/null || \
742 useradd -c "Systemtap 'stapsys' User" -g stapsys -G stapusr -r -s /sbin/nologin stapsys
743getent passwd stapdev >/dev/null || \
744 useradd -c "Systemtap 'stapdev' User" -g stapdev -G stapusr -r -s /sbin/nologin stapdev
745exit 0
746
8689b446
FCE
747%post server
748
4cf2b709
FCE
749# We have some duplication between the %files listings for the
750# ~stap-server directories and the explicit mkdir/chown/chmod bits
751# here. Part of the reason may be that a preexisting stap-server
752# account may well be placed somewhere other than
753# %{_localstatedir}/lib/stap-server, but we'd like their permissions
754# set similarly.
755
756test -e ~stap-server && chmod 750 ~stap-server
878b2f3f
CM
757
758if [ ! -f ~stap-server/.systemtap/rc ]; then
759 mkdir -p ~stap-server/.systemtap
760 chown stap-server:stap-server ~stap-server/.systemtap
86298f09 761 # PR16276: guess at a reasonable number for a default --rlimit-nproc
3c4476ac
FCE
762 numcpu=`/usr/bin/getconf _NPROCESSORS_ONLN`
763 if [ -z "$numcpu" -o "$numcpu" -lt 1 ]; then numcpu=1; fi
764 nproc=`expr $numcpu \* 30`
765 echo "--rlimit-as=614400000 --rlimit-cpu=60 --rlimit-nproc=$nproc --rlimit-stack=1024000 --rlimit-fsize=51200000" > ~stap-server/.systemtap/rc
878b2f3f
CM
766 chown stap-server:stap-server ~stap-server/.systemtap/rc
767fi
7433d0cf 768
962906a7
DS
769test -e %{_localstatedir}/log/stap-server/log || {
770 touch %{_localstatedir}/log/stap-server/log
4cf2b709 771 chmod 644 %{_localstatedir}/log/stap-server/log
962906a7
DS
772 chown stap-server:stap-server %{_localstatedir}/log/stap-server/log
773}
e59944d5 774# Prepare the service
7fe42498 775%if %{with_systemd}
e59944d5
JS
776 # Note, Fedora policy doesn't allow network services enabled by default
777 # /bin/systemctl enable stap-server.service >/dev/null 2>&1 || :
5646d029 778 /bin/systemd-tmpfiles --create %{_tmpfilesdir}/stap-server.conf >/dev/null 2>&1 || :
e58423f4
LB
779%else
780 /sbin/chkconfig --add stap-server
781%endif
09070e8a
DB
782exit 0
783
045e193d
FCE
784%triggerin client -- systemtap-server
785if test -e ~stap-server/.systemtap/ssl/server/stap.cert; then
786 # echo Authorizing ssl-peer/trusted-signer certificate for local systemtap-server
60e99141
FCE
787 %{_libexecdir}/systemtap/stap-authorize-cert ~stap-server/.systemtap/ssl/server/stap.cert %{_sysconfdir}/systemtap/ssl/client >/dev/null
788 %{_libexecdir}/systemtap/stap-authorize-cert ~stap-server/.systemtap/ssl/server/stap.cert %{_sysconfdir}/systemtap/staprun >/dev/null
045e193d
FCE
789fi
790exit 0
791# XXX: corresponding %triggerun?
792
09070e8a 793%preun server
d210cb1c
DB
794# Check that this is the actual deinstallation of the package, as opposed to
795# just removing the old package on upgrade.
e2a741be 796if [ $1 = 0 ] ; then
7fe42498 797 %if %{with_systemd}
e58423f4
LB
798 /bin/systemctl --no-reload disable stap-server.service >/dev/null 2>&1 || :
799 /bin/systemctl stop stap-server.service >/dev/null 2>&1 || :
800 %else
801 /sbin/service stap-server stop >/dev/null 2>&1
64647133 802 /sbin/chkconfig --del stap-server
e58423f4 803 %endif
e2a741be
DB
804fi
805exit 0
806
807%postun server
d210cb1c
DB
808# Check whether this is an upgrade of the package.
809# If so, restart the service if it's running
e2a741be 810if [ "$1" -ge "1" ] ; then
7fe42498 811 %if %{with_systemd}
e59944d5 812 /bin/systemctl condrestart stap-server.service >/dev/null 2>&1 || :
e58423f4
LB
813 %else
814 /sbin/service stap-server condrestart >/dev/null 2>&1 || :
815 %endif
e2a741be 816fi
09070e8a
DB
817exit 0
818
9a8d8be3 819%post initscript
7fe42498 820%if %{with_systemd}
64647133 821 /bin/systemctl enable systemtap.service >/dev/null 2>&1 || :
e58423f4
LB
822%else
823 /sbin/chkconfig --add systemtap
824%endif
9a8d8be3
MH
825exit 0
826
827%preun initscript
d210cb1c
DB
828# Check that this is the actual deinstallation of the package, as opposed to
829# just removing the old package on upgrade.
e2a741be 830if [ $1 = 0 ] ; then
7fe42498 831 %if %{with_systemd}
64647133
JL
832 /bin/systemctl --no-reload disable systemtap.service >/dev/null 2>&1 || :
833 /bin/systemctl stop systemtap.service >/dev/null 2>&1 || :
e58423f4
LB
834 %else
835 /sbin/service systemtap stop >/dev/null 2>&1
64647133 836 /sbin/chkconfig --del systemtap
e58423f4 837 %endif
e2a741be
DB
838fi
839exit 0
840
841%postun initscript
d210cb1c
DB
842# Check whether this is an upgrade of the package.
843# If so, restart the service if it's running
e2a741be 844if [ "$1" -ge "1" ] ; then
7fe42498 845 %if %{with_systemd}
64647133 846 /bin/systemctl condrestart systemtap.service >/dev/null 2>&1 || :
e58423f4
LB
847 %else
848 /sbin/service systemtap condrestart >/dev/null 2>&1 || :
849 %endif
e2a741be 850fi
9a8d8be3
MH
851exit 0
852
765a5d60
JL
853%post runtime-virtguest
854%if %{with_systemd}
855 # Start services if there are ports present
856 if [ -d /dev/virtio-ports ]; then
857 (find /dev/virtio-ports -iname 'org.systemtap.stapsh.[0-9]*' -type l \
858 | xargs -n 1 basename \
859 | xargs -n 1 -I {} /bin/systemctl start stapsh@{}.service) >/dev/null 2>&1 || :
860 fi
861%else
862 /sbin/chkconfig --add stapshd
863 /sbin/chkconfig stapshd on
864 /sbin/service stapshd start >/dev/null 2>&1 || :
865%endif
866exit 0
867
868%preun runtime-virtguest
869# Stop service if this is an uninstall rather than an upgrade
870if [ $1 = 0 ]; then
871 %if %{with_systemd}
872 # We need to stop all stapsh services. Because they are instantiated from
873 # a template service file, we can't simply call disable. We need to find
874 # all the running ones and stop them all individually
875 for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
876 /bin/systemctl stop $service >/dev/null 2>&1 || :
877 done
878 %else
879 /sbin/service stapshd stop >/dev/null 2>&1
880 /sbin/chkconfig --del stapshd
881 %endif
882fi
883exit 0
884
885%postun runtime-virtguest
886# Restart service if this is an upgrade rather than an uninstall
887if [ "$1" -ge "1" ]; then
888 %if %{with_systemd}
889 # We need to restart all stapsh services. Because they are instantiated from
890 # a template service file, we can't simply call restart. We need to find
891 # all the running ones and restart them all individually
892 for service in `/bin/systemctl --full | grep stapsh@ | cut -d ' ' -f 1`; do
893 /bin/systemctl condrestart $service >/dev/null 2>&1 || :
894 done
895 %else
896 /sbin/service stapshd condrestart >/dev/null 2>&1
897 %endif
898fi
899exit 0
900
1208cc21
FCE
901%post
902# Remove any previously-built uprobes.ko materials
60e99141 903(make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
70f2bd1f 904(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
1208cc21
FCE
905
906%preun
907# Ditto
60e99141 908(make -C %{_datadir}/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
70f2bd1f 909(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
9a8d8be3 910
016a35ea
FCE
911# ------------------------------------------------------------------------
912
fd05c448
SM
913%if %{with_java}
914
39526324 915%triggerin runtime-java -- java-1.8.0-openjdk, java-1.7.0-openjdk, java-1.6.0-openjdk
a6018be1 916for f in %{_libexecdir}/systemtap/libHelperSDT_*.so; do
5e5ec35c
LB
917 %ifarch %{ix86}
918 arch=i386
1553f7e3
LB
919 %else
920 arch=`basename $f | cut -f2 -d_ | cut -f1 -d.`
921 %endif
a6018be1 922 for archdir in %{_jvmdir}/*openjdk*/jre/lib/${arch}; do
46b3edce 923 if [ -d ${archdir} ]; then
86298f09
LB
924 ln -sf %{_libexecdir}/systemtap/libHelperSDT_${arch}.so ${archdir}/libHelperSDT_${arch}.so
925 ln -sf %{_libexecdir}/systemtap/HelperSDT.jar ${archdir}/../ext/HelperSDT.jar
46b3edce 926 fi
a6018be1
SM
927 done
928done
fd05c448 929
39526324 930%triggerun runtime-java -- java-1.8.0-openjdk, java-1.7.0-openjdk, java-1.6.0-openjdk
a6018be1 931for f in %{_libexecdir}/systemtap/libHelperSDT_*.so; do
5e5ec35c
LB
932 %ifarch %{ix86}
933 arch=i386
1553f7e3
LB
934 %else
935 arch=`basename $f | cut -f2 -d_ | cut -f1 -d.`
936 %endif
a6018be1
SM
937 for archdir in %{_jvmdir}/*openjdk*/jre/lib/${arch}; do
938 rm -f ${archdir}/libHelperSDT_${arch}.so
939 rm -f ${archdir}/../ext/HelperSDT.jar
940 done
941done
fd05c448 942
39526324 943%triggerpostun runtime-java -- java-1.8.0-openjdk, java-1.7.0-openjdk, java-1.6.0-openjdk
a6018be1
SM
944# Restore links for any JDKs remaining after a package removal:
945for f in %{_libexecdir}/systemtap/libHelperSDT_*.so; do
5e5ec35c
LB
946 %ifarch %{ix86}
947 arch=i386
1553f7e3
LB
948 %else
949 arch=`basename $f | cut -f2 -d_ | cut -f1 -d.`
950 %endif
a6018be1 951 for archdir in %{_jvmdir}/*openjdk*/jre/lib/${arch}; do
46b3edce 952 if [ -d ${archdir} ]; then
86298f09
LB
953 ln -sf %{_libexecdir}/systemtap/libHelperSDT_${arch}.so ${archdir}/libHelperSDT_${arch}.so
954 ln -sf %{_libexecdir}/systemtap/HelperSDT.jar ${archdir}/../ext/HelperSDT.jar
46b3edce 955 fi
a6018be1
SM
956 done
957done
fd05c448 958
a6018be1 959# XXX: analogous support for other types of JRE/JDK??
fd05c448
SM
960
961%endif
962
963# ------------------------------------------------------------------------
964
60e99141 965%files -f systemtap.lang
016a35ea
FCE
966# The master "systemtap" rpm doesn't include any files.
967
60e99141 968%files server -f systemtap.lang
7d838f63 969%defattr(-,root,root)
016a35ea 970%{_bindir}/stap-server
60e99141
FCE
971%dir %{_libexecdir}/systemtap
972%{_libexecdir}/systemtap/stap-serverd
973%{_libexecdir}/systemtap/stap-start-server
974%{_libexecdir}/systemtap/stap-stop-server
975%{_libexecdir}/systemtap/stap-gen-cert
976%{_libexecdir}/systemtap/stap-sign-module
977%{_libexecdir}/systemtap/stap-authorize-cert
978%{_libexecdir}/systemtap/stap-env
541343c6 979%{_mandir}/man7/error*
016a35ea 980%{_mandir}/man7/stappaths.7*
09b37817 981%{_mandir}/man7/warning*
016a35ea 982%{_mandir}/man8/stap-server.8*
7fe42498 983%if %{with_systemd}
c1fc8157 984%{_unitdir}/stap-server.service
752358d4 985%{_tmpfilesdir}/stap-server.conf
e58423f4 986%else
4a618408 987%{initdir}/stap-server
016a35ea
FCE
988%dir %{_sysconfdir}/stap-server/conf.d
989%config(noreplace) %{_sysconfdir}/sysconfig/stap-server
e58423f4 990%endif
c1fc8157
LB
991%config(noreplace) %{_sysconfdir}/logrotate.d/stap-server
992%dir %{_sysconfdir}/stap-server
ef079a5c 993%dir %attr(0750,stap-server,stap-server) %{_localstatedir}/lib/stap-server
8689b446 994%dir %attr(0700,stap-server,stap-server) %{_localstatedir}/lib/stap-server/.systemtap
016a35ea
FCE
995%dir %attr(0755,stap-server,stap-server) %{_localstatedir}/log/stap-server
996%ghost %config(noreplace) %attr(0644,stap-server,stap-server) %{_localstatedir}/log/stap-server/log
997%ghost %attr(0755,stap-server,stap-server) %{_localstatedir}/run/stap-server
91c82d36 998%doc README README.unprivileged AUTHORS NEWS
bb067054 999%{!?_licensedir:%global license %%doc}
91c82d36 1000%license COPYING
a2c9eba7 1001
a2c9eba7 1002
60e99141 1003%files devel -f systemtap.lang
a2c9eba7 1004%{_bindir}/stap
cd4d1d39 1005%{_bindir}/stap-prep
b0ff684d 1006%{_bindir}/stap-report
60e99141
FCE
1007%dir %{_datadir}/systemtap
1008%{_datadir}/systemtap/runtime
1009%{_datadir}/systemtap/tapset
016a35ea 1010%{_mandir}/man1/stap.1*
d142b86c 1011%{_mandir}/man1/stap-prep.1*
0d8d5d71 1012%{_mandir}/man1/stap-report.1*
541343c6 1013%{_mandir}/man7/error*
016a35ea 1014%{_mandir}/man7/stappaths.7*
09b37817 1015%{_mandir}/man7/warning*
91c82d36 1016%doc README README.unprivileged AUTHORS NEWS
bb067054 1017%{!?_licensedir:%global license %%doc}
91c82d36 1018%license COPYING
36cfba7c
SM
1019%if %{with_java}
1020%dir %{_libexecdir}/systemtap
1021%{_libexecdir}/systemtap/libHelperSDT_*.so
1022%endif
a87d23e3 1023%if %{with_bundled_elfutils}
60e99141
FCE
1024%dir %{_libdir}/systemtap
1025%{_libdir}/systemtap/lib*.so*
7d838f63 1026%endif
65635f34
FCE
1027%if %{with_emacsvim}
1028%{_emacs_sitelispdir}/*.el*
1029%{_emacs_sitestartdir}/systemtap-init.el
e42fca4e 1030%{_datadir}/vim/vimfiles/*/*.vim
65635f34 1031%endif
ca677173
DS
1032# Notice that the stap-resolve-module-function.py file is used by
1033# *both* the python2 and python3 subrpms. Both subrpms use that same
1034# python script to help list python probes.
8065f5d8
FCE
1035%if %{with_python3_probes} || %{with_python2_probes}
1036%{_libexecdir}/systemtap/python/stap-resolve-module-function.py
1037%exclude %{_libexecdir}/systemtap/python/stap-resolve-module-function.py?
1038%endif
a2c9eba7 1039
5ecd6999 1040
60e99141 1041%files runtime -f systemtap.lang
a63a95dc 1042%defattr(-,root,root)
b7565b41 1043%attr(4110,root,stapusr) %{_bindir}/staprun
e96f2257 1044%{_bindir}/stapsh
6c2c4d8e 1045%{_bindir}/stap-merge
b0ff684d 1046%{_bindir}/stap-report
8ff439fa 1047%if %{with_dyninst}
4b682f2a 1048%{_bindir}/stapdyn
8ff439fa 1049%endif
5eb23ed5 1050%if %{with_bpf}
78efcde0 1051%{_bindir}/stapbpf
5eb23ed5 1052%endif
60e99141
FCE
1053%dir %{_libexecdir}/systemtap
1054%{_libexecdir}/systemtap/stapio
1055%{_libexecdir}/systemtap/stap-authorize-cert
38105915 1056%if %{with_crash}
60e99141
FCE
1057%dir %{_libdir}/systemtap
1058%{_libdir}/systemtap/staplog.so*
38105915 1059%endif
0d8d5d71 1060%{_mandir}/man1/stap-report.1*
541343c6 1061%{_mandir}/man7/error*
4e47b3c4 1062%{_mandir}/man7/stappaths.7*
09b37817 1063%{_mandir}/man7/warning*
e7e3c2fd 1064%{_mandir}/man8/stapsh.8*
0bda9740 1065%{_mandir}/man8/staprun.8*
75c8709f
FCE
1066%if %{with_dyninst}
1067%{_mandir}/man8/stapdyn.8*
1068%endif
5eb23ed5
AM
1069%if %{with_bpf}
1070%{_mandir}/man8/stapbpf.8*
1071%endif
91c82d36 1072%doc README README.security AUTHORS NEWS
bb067054 1073%{!?_licensedir:%global license %%doc}
91c82d36 1074%license COPYING
7d838f63 1075
8f3c45cc 1076
60e99141 1077%files client -f systemtap.lang
d9d14e20 1078%defattr(-,root,root)
2cd5c938
CS
1079%doc README README.unprivileged AUTHORS NEWS
1080%{_datadir}/systemtap/examples
bb067054 1081%{!?_licensedir:%global license %%doc}
91c82d36 1082%license COPYING
016a35ea 1083%doc docs.installed/*.pdf
0dfed9e3 1084%if %{with_docs}
6706593f 1085%if %{with_htmldocs}
016a35ea 1086%doc docs.installed/tapsets/*.html
016a35ea
FCE
1087%doc docs.installed/SystemTap_Beginners_Guide
1088%endif
6706593f 1089%endif
016a35ea
FCE
1090%{_bindir}/stap
1091%{_bindir}/stap-prep
1092%{_bindir}/stap-report
1093%{_mandir}/man1/stap.1*
d142b86c 1094%{_mandir}/man1/stap-prep.1*
016a35ea 1095%{_mandir}/man1/stap-merge.1*
0d8d5d71 1096%{_mandir}/man1/stap-report.1*
a80691df 1097%{_mandir}/man1/stapref.1*
016a35ea 1098%{_mandir}/man3/*
541343c6 1099%{_mandir}/man7/error*
4e47b3c4 1100%{_mandir}/man7/stappaths.7*
09b37817 1101%{_mandir}/man7/warning*
60e99141
FCE
1102%dir %{_datadir}/systemtap
1103%{_datadir}/systemtap/tapset
016a35ea 1104
8f3c45cc 1105
b899aa79 1106
9a8d8be3
MH
1107%files initscript
1108%defattr(-,root,root)
4a618408 1109%{initdir}/systemtap
c1fc8157
LB
1110%dir %{_sysconfdir}/systemtap
1111%dir %{_sysconfdir}/systemtap/conf.d
1112%dir %{_sysconfdir}/systemtap/script.d
1113%config(noreplace) %{_sysconfdir}/systemtap/config
9a8d8be3 1114%dir %{_localstatedir}/cache/systemtap
d1bf48fa 1115%ghost %{_localstatedir}/run/systemtap
f19a1ef4 1116%{_mandir}/man8/systemtap.8*
6a06bc73
JL
1117%if %{with_dracut}
1118 %dir %{dracutstap}
1119 %{dracutstap}/*
1120%endif
9a8d8be3 1121
016a35ea 1122
a54d79ce 1123%files sdt-devel
016a35ea
FCE
1124%defattr(-,root,root)
1125%{_bindir}/dtrace
1126%{_includedir}/sys/sdt.h
1127%{_includedir}/sys/sdt-config.h
1128%{_mandir}/man1/dtrace.1*
fe42fac6 1129%{_rpmmacrodir}/macros.systemtap
91c82d36 1130%doc README AUTHORS NEWS
bb067054 1131%{!?_licensedir:%global license %%doc}
91c82d36 1132%license COPYING
016a35ea
FCE
1133
1134
1135%files testsuite
1136%defattr(-,root,root)
60e99141
FCE
1137%dir %{_datadir}/systemtap
1138%{_datadir}/systemtap/testsuite
016a35ea
FCE
1139
1140
36cfba7c
SM
1141%if %{with_java}
1142%files runtime-java
1143%dir %{_libexecdir}/systemtap
1144%{_libexecdir}/systemtap/libHelperSDT_*.so
1145%{_libexecdir}/systemtap/HelperSDT.jar
1146%{_libexecdir}/systemtap/stapbm
1147%endif
1148
30354895
DS
1149%if %{with_python2_probes}
1150%files runtime-python2
8065f5d8
FCE
1151%{python_sitearch}/HelperSDT
1152%{python_sitearch}/HelperSDT-*.egg-info
30354895
DS
1153%endif
1154%if %{with_python3_probes}
1155%files runtime-python3
8065f5d8
FCE
1156%{python3_sitearch}/HelperSDT
1157%{python3_sitearch}/HelperSDT-*.egg-info
30354895
DS
1158%endif
1159
765a5d60
JL
1160%if %{with_virthost}
1161%files runtime-virthost
1162%{_mandir}/man1/stapvirt.1*
1163%{_bindir}/stapvirt
1164%endif
1165
1166%if %{with_virtguest}
1167%files runtime-virtguest
1168%if %{with_systemd}
1169 %{udevrulesdir}/99-stapsh.rules
1170 %{_unitdir}/stapsh@.service
1171%else
1172 %{udevrulesdir}/99-stapsh-init.rules
1173 %dir %{_libexecdir}/systemtap
1174 %{_libexecdir}/systemtap/stapsh-daemon
1175 %{initdir}/stapshd
1176 %{_sysconfdir}/sysconfig/modules/virtio_console.modules
1177%endif
1178%endif
36cfba7c 1179
016a35ea 1180# ------------------------------------------------------------------------
9a8d8be3 1181
26fa6c15
FCE
1182# Future new-release entries should be of the form
1183# * DDD MMM DD YYYY YOURNAME <YOUREMAIL> - V-R
1184# - Upstream release, see wiki page below for detailed notes.
1185# http://sourceware.org/systemtap/wiki/SystemTapReleases
1186
b8ea350d 1187# PRERELEASE
7d838f63 1188%changelog
16b0bd93
FCE
1189* Thu Jun 07 2018 Frank Ch. Eigler <fche@redhat.com> - 3.3-1
1190- Upstream release.
1191
a3e0237a 1192* Wed Oct 18 2017 Frank Ch. Eigler <fche@redhat.com> - 3.2-1
c074154d
FCE
1193- Upstream release.
1194
b8ea350d
FCE
1195* Fri Feb 17 2017 Frank Ch. Eigler <fche@redhat.com> - 3.1-1
1196- Upstream release.
1197
6b2b2bef
FCE
1198* Sun Mar 27 2016 Frank Ch. Eigler <fche@redhat.com> - 3.0-1
1199- Upstream release.
1200
7009f2f7 1201* Thu Oct 08 2015 Frank Ch. Eigler <fche@redhat.com> - 2.9-1
f59f4f63
FL
1202- Upstream release.
1203
08dc7182
AJ
1204* Wed Jun 17 2015 Abegail Jakop <ajakop@redhat.com> - 2.8-1
1205- Upstream release.
1206
c86582b2
FCE
1207* Wed Feb 18 2015 Frank Ch. Eigler <fche@redhat.com> - 2.7-1
1208- Upstream release.
1209
7682e51d
JS
1210* Fri Sep 05 2014 Josh Stone <jistone@redhat.com> - 2.6-1
1211- Upstream release.
1212
ebf1032e 1213* Mon Jul 07 2014 Josh Stone <jistone@redhat.com>
bec6172d 1214- Flip with_dyninst to an %%ifarch whitelist.
ebf1032e 1215
e8fa5eb0 1216* Wed Apr 30 2014 Jonathan Lebon <jlebon@redhat.com> - 2.5-1
8f0fcd99
JL
1217- Upstream release.
1218
86298f09
LB
1219* Thu Feb 13 2014 Lukas Berk <lberk@redhat.com>
1220- Add directory checks for runtime-java sym links
1221
6a06bc73
JL
1222* Mon Jan 06 2014 Jonathan Lebon <jlebon@redhat.com>
1223- Added dracut module to initscript package
1224
aa7b1e00
FCE
1225* Wed Nov 06 2013 Frank Ch. Eigler <fche@redhat.com> - 2.4-1
1226- Upstream release.
1227
765a5d60
JL
1228* Wed Oct 09 2013 Jonathan Lebon <jlebon@redhat.com>
1229- Added runtime-virthost and runtime-virtguest packages.
1230
26fa6c15
FCE
1231* Thu Jul 25 2013 Frank Ch. Eigler <fche@redhat.com> - 2.3-1
1232- Upstream release.
1233
e4bf97f8
FCE
1234* Thu May 16 2013 Frank Ch. Eigler <fche@redhat.com> - 2.2.1-1
1235- Upstream release.
1236
bec88838
FCE
1237* Tue May 14 2013 Frank Ch. Eigler <fche@redhat.com> - 2.2-1
1238- Upstream release.
1239
0dc908f7 1240* Wed Feb 13 2013 Serguei Makarov <smakarov@redhat.com> - 2.1-1
460cea43
SM
1241- Upstream release.
1242
a63381cc
JS
1243* Tue Oct 09 2012 Josh Stone <jistone@redhat.com> - 2.0-1
1244- Upstream release.
1245
07547775
PR
1246* Fri Jul 13 2012 Peter Robinson <pbrobinson@fedoraproject.org>
1247- Fix ifarch statement
e2d574cc 1248- use file based requires for glibc-devel on x86_64 so that we work in koji
07547775 1249
48fa6b5e
FCE
1250* Sun Jun 17 2012 Frank Ch. Eigler <fche@redhat.com> - 1.8-1
1251- Upstream release.
1252
83bd2699
FCE
1253* Wed Feb 01 2012 Frank Ch. Eigler <fche@redhat.com> - 1.7-1
1254- Upstream release.
1255
87600139
DS
1256* Fri Jan 13 2012 David Smith <dsmith@redhat.com> - 1.6-2
1257- Fixed /bin/mktemp require.
1258
aff1eaa0
FCE
1259* Mon Jul 25 2011 Stan Cox <scox@redhat.com> - 1.6-1
1260- Upstream release.
1261
63509773 1262* Mon May 23 2011 Stan Cox <scox@redhat.com> - 1.5-1
aff1eaa0
FCE
1263- Upstream release.
1264
6e0c15da
FCE
1265* Mon Jan 17 2011 Frank Ch. Eigler <fche@redhat.com> - 1.4-1
1266- Upstream release.
1267
e12e958f
JS
1268* Wed Jul 21 2010 Josh Stone <jistone@redhat.com> - 1.3-1
1269- Upstream release.
1270
e36ba31a
FCE
1271* Mon Mar 22 2010 Frank Ch. Eigler <fche@redhat.com> - 1.2-1
1272- Upstream release.
1273
0710d850
DS
1274* Mon Dec 21 2009 David Smith <dsmith@redhat.com> - 1.1-1
1275- Upstream release.
1276
6a7aa1a1
JS
1277* Tue Sep 22 2009 Josh Stone <jistone@redhat.com> - 1.0-1
1278- Upstream release.
1279
1e9b189f
JS
1280* Tue Aug 4 2009 Josh Stone <jistone@redhat.com> - 0.9.9-1
1281- Upstream release.
1282
e1774a7f
JS
1283* Thu Jun 11 2009 Josh Stone <jistone@redhat.com> - 0.9.8-1
1284- Upstream release.
1285
9b055ab2 1286* Thu Apr 23 2009 Josh Stone <jistone@redhat.com> - 0.9.7-1
225d8d4b
JS
1287- Upstream release.
1288
27aba29a
JS
1289* Fri Mar 27 2009 Josh Stone <jistone@redhat.com> - 0.9.5-1
1290- Upstream release.
1291
fab6ce30
WC
1292* Wed Mar 18 2009 Will Cohen <wcohen@redhat.com> - 0.9-2
1293- Add location of man pages.
1294
c8bf931d
FCE
1295* Tue Feb 17 2009 Frank Ch. Eigler <fche@redhat.com> - 0.9-1
1296- Upstream release.
1297
70f5a7b3
FCE
1298* Thu Nov 13 2008 Frank Ch. Eigler <fche@redhat.com> - 0.8-1
1299- Upstream release.
1300
cfaa068c
FCE
1301* Tue Jul 15 2008 Frank Ch. Eigler <fche@redhat.com> - 0.7-1
1302- Upstream release.
1303
d2995e6f
FCE
1304* Fri Feb 1 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-3
1305- Add zlib-devel to buildreq; missing from crash-devel
1306- Process testsuite .stp files for #!stap->#!/usr/bin/stap
1307
bfe2b4ab 1308* Fri Jan 18 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-1
1e0716d3
FCE
1309- Add crash-devel buildreq to build staplog.so crash(8) module.
1310- Many robustness & functionality improvements:
1311
47b0655b
WC
1312* Wed Dec 5 2007 Will Cohen <wcohen@redhat.com> - 0.6-2
1313- Correct Source to point to location contain code.
1314
98aab489
DS
1315* Thu Aug 9 2007 David Smith <dsmith@redhat.com> - 0.6-1
1316- Bumped version, added libcap-devel BuildRequires.
1317
d8c3d602
WC
1318* Wed Jul 11 2007 Will Cohen <wcohen@redhat.com> - 0.5.14-2
1319- Fix Requires and BuildRequires for sqlite.
1320
63509773 1321* Mon Jul 2 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.14-1
c1edaa30
FCE
1322- Many robustness improvements: 1117, 1134, 1305, 1307, 1570, 1806,
1323 2033, 2116, 2224, 2339, 2341, 2406, 2426, 2438, 2583, 3037,
1324 3261, 3282, 3331, 3428 3519, 3545, 3625, 3648, 3880, 3888, 3911,
1325 3952, 3965, 4066, 4071, 4075, 4078, 4081, 4096, 4119, 4122, 4127,
1326 4146, 4171, 4179, 4183, 4221, 4224, 4254, 4281, 4319, 4323, 4326,
1327 4329, 4332, 4337, 4415, 4432, 4444, 4445, 4458, 4467, 4470, 4471,
1328 4518, 4567, 4570, 4579, 4589, 4609, 4664
1329
aa384dcd
FCE
1330* Mon Mar 26 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.13-1
1331- An emergency / preliminary refresh, mainly for compatibility
1332 with 2.6.21-pre kernels.
2a4b42eb 1333
31982bd2
FCE
1334* Mon Jan 1 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.12-1
1335- Many changes, see NEWS file.
1336
a63a95dc
DS
1337* Tue Sep 26 2006 David Smith <dsmith@redhat.com> - 0.5.10-1
1338- Added 'systemtap-runtime' subpackage.
1339
d65d6b27
RM
1340* Wed Jul 19 2006 Roland McGrath <roland@redhat.com> - 0.5.9-1
1341- PRs 2669, 2913
1342
c1d6a343
RM
1343* Fri Jun 16 2006 Roland McGrath <roland@redhat.com> - 0.5.8-1
1344- PRs 2627, 2520, 2228, 2645
1345
f6291560 1346* Fri May 5 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.7-1
6f231a27
FCE
1347- PRs 2511 2453 2307 1813 1944 2497 2538 2476 2568 1341 2058 2220 2437
1348 1326 2014 2599 2427 2438 2465 1930 2149 2610 2293 2634 2506 2433
1349
611010bf
RM
1350* Tue Apr 4 2006 Roland McGrath <roland@redhat.com> - 0.5.5-1
1351- Many changes, affected PRs include: 2068, 2293, 1989, 2334,
1352 1304, 2390, 2425, 953.
1353
be9923ac
FCE
1354* Wed Feb 1 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.4-1
1355- PRs 1916, 2205, 2142, 2060, 1379
1356
db6a8a10
RM
1357* Mon Jan 16 2006 Roland McGrath <roland@redhat.com> - 0.5.3-1
1358- Many changes, affected PRs include: 2056, 1144, 1379, 2057,
1359 2060, 1972, 2140, 2148
1360
dcf0c541
RM
1361* Mon Dec 19 2005 Roland McGrath <roland@redhat.com> - 0.5.2-1
1362- Fixed build with gcc 4.1, various tapset changes.
1363
4d9087fc
RM
1364* Wed Dec 7 2005 Roland McGrath <roland@redhat.com> - 0.5.1-1
1365- elfutils update, build changes
1366
e94c050c 1367* Fri Dec 02 2005 Frank Ch. Eigler <fche@redhat.com> - 0.5-1
7d9e8974
FCE
1368- Many fixes and improvements: 1425, 1536, 1505, 1380, 1329, 1828, 1271,
1369 1339, 1340, 1345, 1837, 1917, 1903, 1336, 1868, 1594, 1564, 1276, 1295
1370
ae65ed5c
RM
1371* Mon Oct 31 2005 Roland McGrath <roland@redhat.com> - 0.4.2-1
1372- Many fixes and improvements: PRs 1344, 1260, 1330, 1295, 1311, 1368,
1373 1182, 1131, 1332, 1366, 1456, 1271, 1338, 1482, 1477, 1194.
1374
66bb48fd
RM
1375* Wed Sep 14 2005 Roland McGrath <roland@redhat.com> - 0.4.1-1
1376- Many fixes and improvements since 0.2.2; relevant PRs include:
1377 1122, 1134, 1155, 1172, 1174, 1175, 1180, 1186, 1187, 1191, 1193, 1195,
1378 1197, 1205, 1206, 1209, 1213, 1244, 1257, 1258, 1260, 1265, 1268, 1270,
1379 1289, 1292, 1306, 1335, 1257
1380
323904e0
FCE
1381* Wed Sep 7 2005 Frank Ch. Eigler <fche@redhat.com>
1382- Bump version.
1383
63509773 1384* Tue Aug 16 2005 Frank Ch. Eigler <fche@redhat.com>
83ff1cf9
FCE
1385- Bump version.
1386
2205d115
MH
1387* Wed Aug 3 2005 Martin Hunt <hunt@redhat.com> - 0.2.2-1
1388- Add directory /var/cache/systemtap
1389- Add stp_check to /usr/libexec/systemtap
1390
351e76d3
RM
1391* Wed Aug 3 2005 Roland McGrath <roland@redhat.com> - 0.2.1-1
1392- New version 0.2.1, various fixes.
1393
4dbd685d
RM
1394* Fri Jul 29 2005 Roland McGrath <roland@redhat.com> - 0.2-1
1395- New version 0.2, requires elfutils 0.111
1396
a2c9eba7
RM
1397* Mon Jul 25 2005 Roland McGrath <roland@redhat.com>
1398- Clean up spec file, build bundled elfutils.
1399
7d838f63
MH
1400* Thu Jul 21 2005 Martin Hunt <hunt@redhat.com>
1401- Set Version to use version from autoconf.
1402- Fix up some of the path names.
a2c9eba7
RM
1403- Add Requires and BuildRequires.
1404
63509773 1405* Tue Jul 19 2005 Will Cohen <wcohen@redhat.com>
7d838f63 1406- Initial creation of RPM.
This page took 0.485668 seconds and 5 git commands to generate.