]> sourceware.org Git - systemtap.git/blob - systemtap.spec
a840ffa16c5e5ba40d7865b01bf36d1391eab523
[systemtap.git] / systemtap.spec
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 \
93 g stapusr 156\
94 g stapsys 157\
95 g stapdev 158\
96 g stapunpriv 159\
97 u stapunpriv 159 "systemtap unprivileged user" /var/lib/stapunpriv /sbin/nologin\
98 m stapunpriv stapunpriv
99
100 %define _systemtap_server_preinstall \
101 # See systemd-sysusers(8) sysusers.d(5)\
102 \
103 g stap-server -\
104 u stap-server - "systemtap compiler server" /var/lib/stap-server /sbin/nologin\
105 m stap-server stap-server
106
107
108 %define _systemtap_testsuite_preinstall \
109 # See systemd-sysusers(8) sysusers.d(5)\
110 \
111 u stapusr - "systemtap testsuite user" / /sbin/nologin\
112 u stapsys - "systemtap testsuite user" / /sbin/nologin\
113 u stapdev - "systemtap testsuite user" / /sbin/nologin\
114 m stapusr stapusr\
115 m stapsys stapusr\
116 m stapsys stapsys\
117 m stapdev stapusr\
118 m stapdev stapdev
119
120
121 Name: systemtap
122 # PRERELEASE
123 Version: 5.2
124 Release: 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
157 Summary: Programmable system-wide instrumentation system
158 License: GPL-2.0-or-later
159 URL: https://sourceware.org/systemtap/
160 Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
161
162 # Build*
163 BuildRequires: make
164 BuildRequires: gcc-c++
165 BuildRequires: cpio
166 BuildRequires: gettext-devel
167 BuildRequires: pkgconfig(nss)
168 BuildRequires: pkgconfig(avahi-client)
169 %if %{with_debuginfod}
170 BuildRequires: pkgconfig(libdebuginfod)
171 BuildRequires: pkgconfig(json-c)
172 %endif
173 %if %{with_dyninst}
174 BuildRequires: dyninst-devel >= 10.0
175 BuildRequires: pkgconfig(libselinux)
176 %endif
177 %if %{with_sqlite}
178 BuildRequires: sqlite-devel > 3.7
179 %endif
180 %if %{with_monitor}
181 BuildRequires: pkgconfig(json-c)
182 BuildRequires: pkgconfig(ncurses)
183 %endif
184 %if %{with_systemd}
185 BuildRequires: systemd
186 %endif
187 # Needed for libstd++ < 4.0, without <tr1/memory>
188 %if %{with_boost}
189 BuildRequires: boost-devel
190 %endif
191 %if %{with_crash}
192 BuildRequires: crash-devel zlib-devel
193 %endif
194 %if %{with_rpm}
195 BuildRequires: rpm-devel
196 %endif
197 BuildRequires: elfutils-devel >= %{elfutils_version}
198 %if %{with_docs}
199 BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf
200 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
201 BuildRequires: 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'.
207 BuildRequires: xmlto /usr/share/xmlto/format/fo/pdf
208 %endif
209 %endif
210 %if %{with_emacsvim}
211 # for _emacs_sitelispdir macros etc.
212 BuildRequires: emacs
213 %endif
214 %if %{with_java}
215 BuildRequires: java-devel
216 %endif
217 %if %{with_virthost}
218 # BuildRequires: libvirt-devel >= 1.0.2
219 BuildRequires: pkgconfig(libvirt)
220 BuildRequires: pkgconfig(libxml-2.0)
221 %endif
222 BuildRequires: readline-devel
223 %if %{with_python2_probes}
224 BuildRequires: python2-devel
225 %if 0%{?fedora} >= 1
226 BuildRequires: python2-setuptools
227 %else
228 BuildRequires: python-setuptools
229 %endif
230 %endif
231 %if %{with_python3}
232 BuildRequires: python3
233 %endif
234 %if %{with_python3_probes}
235 BuildRequires: python3-devel
236 BuildRequires: python3-setuptools
237 %endif
238
239 %if %{with_httpd}
240 BuildRequires: libmicrohttpd-devel
241 BuildRequires: libuuid-devel
242 %endif
243 %if %{with_sysusers}
244 BuildRequires: systemd-rpm-macros
245 %endif
246
247
248 # Install requirements
249 Requires: systemtap-client = %{version}-%{release}
250 Requires: systemtap-devel = %{version}-%{release}
251
252 %description
253 SystemTap is an instrumentation system for systems running Linux.
254 Developers can write instrumentation scripts to collect data on
255 the operation of the system. The base systemtap package contains/requires
256 the components needed to locally develop and execute systemtap scripts.
257
258 # ------------------------------------------------------------------------
259
260 %package server
261 Summary: Instrumentation System Server
262 License: GPL-2.0-or-later
263 URL: https://sourceware.org/systemtap/
264 Requires: systemtap-devel = %{version}-%{release}
265 Conflicts: systemtap-devel < %{version}-%{release}
266 Conflicts: systemtap-runtime < %{version}-%{release}
267 Conflicts: systemtap-client < %{version}-%{release}
268 Requires: nss coreutils
269 Requires: zip unzip
270 Requires(pre): shadow-utils
271 BuildRequires: nss-devel avahi-devel
272 %if %{with_openssl}
273 Requires: openssl
274 %endif
275 %if %{with_systemd}
276 Requires: systemd
277 %else
278 Requires(post): chkconfig
279 Requires(preun): chkconfig
280 Requires(preun): initscripts
281 Requires(postun): initscripts
282 %endif
283
284 %description server
285 This is the remote script compilation server component of systemtap.
286 It announces itself to nearby clients with avahi (if available), and
287 compiles systemtap scripts to kernel objects on their demand.
288
289
290 %package devel
291 Summary: Programmable system-wide instrumentation system - development headers, tools
292 License: GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
293 URL: https://sourceware.org/systemtap/
294
295 %if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
296 Recommends: (kernel-debug-devel if kernel-debug)
297 Recommends: (kernel-devel if kernel)
298 %else
299 Requires: kernel-devel-uname-r
300 %endif
301
302 Requires: gcc make
303 # for compiling --runtime=dyninst sripts, need elfutils headers, bz1930973
304 Requires: elfutils-devel >= %{elfutils_version}
305
306 Conflicts: systemtap-client < %{version}-%{release}
307 Conflicts: systemtap-server < %{version}-%{release}
308 Conflicts: systemtap-runtime < %{version}-%{release}
309 # Suggest: kernel-debuginfo
310
311 %description devel
312 This package contains the components needed to compile a systemtap
313 script from source form into executable (.ko) forms. It may be
314 installed on a self-contained developer workstation (along with the
315 systemtap-client and systemtap-runtime packages), or on a dedicated
316 remote server (alongside the systemtap-server package). It includes
317 a copy of the standard tapset library and the runtime library C files.
318
319
320 %package runtime
321 Summary: Programmable system-wide instrumentation system - runtime
322 License: GPL-2.0-or-later
323 URL: https://sourceware.org/systemtap/
324 Requires(pre): shadow-utils
325 Conflicts: systemtap-devel < %{version}-%{release}
326 Conflicts: systemtap-server < %{version}-%{release}
327 Conflicts: systemtap-client < %{version}-%{release}
328
329 %description runtime
330 SystemTap runtime contains the components needed to execute
331 a systemtap script that was already compiled into a module
332 using a local or remote systemtap-devel installation.
333
334
335 %package client
336 Summary: Programmable system-wide instrumentation system - client
337 License: GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
338 URL: https://sourceware.org/systemtap/
339 Requires: zip unzip
340 Requires: systemtap-runtime = %{version}-%{release}
341 Requires: coreutils grep sed unzip zip
342 Requires: openssh-clients
343 Conflicts: systemtap-devel < %{version}-%{release}
344 Conflicts: systemtap-server < %{version}-%{release}
345 Conflicts: systemtap-runtime < %{version}-%{release}
346 %if %{with_mokutil}
347 Requires: mokutil
348 %endif
349
350 %description client
351 This package contains/requires only the components needed to
352 use systemtap scripts by compiling them using a local or a remote
353 systemtap-server service, then run them using a local or
354 remote systemtap-runtime. It includes script samples and
355 documentation, and a copy of the tapset library for reference.
356 It does NOT include all the components for running a systemtap
357 script in a self-contained fashion; for that, use the -devel
358 subpackage instead.
359
360 %package initscript
361 Summary: Systemtap Initscripts
362 License: GPL-2.0-or-later
363 URL: https://sourceware.org/systemtap/
364 Requires: systemtap = %{version}-%{release}
365 %if %{with_systemd}
366 Requires: systemd
367 %else
368 Requires(post): chkconfig
369 Requires(preun): chkconfig
370 Requires(preun): initscripts
371 Requires(postun): initscripts
372 %endif
373
374 %description initscript
375 This package includes a SysVinit script to launch selected systemtap
376 scripts at system startup, along with a dracut module for early
377 boot-time probing if supported.
378
379
380 %package sdt-devel
381 Summary: Static probe support header files
382 License: GPL-2.0-or-later AND CC0-1.0
383 URL: https://sourceware.org/systemtap/
384
385 %description sdt-devel
386 This package includes the <sys/sdt.h> header file used for static
387 instrumentation compiled into userspace programs.
388
389
390 %package sdt-dtrace
391 Summary: Static probe support dtrace tool
392 License: GPL-2.0-or-later AND CC0-1.0
393 URL: https://sourceware.org/systemtap/
394 Provides: dtrace = %{version}-%{release}
395 %if %{with_pyparsing}
396 %if %{with_python3}
397 Requires: python3-pyparsing
398 %else
399 %if 0%{?rhel} >= 7
400 Requires: pyparsing
401 %else
402 Requires: python2-pyparsing
403 %endif
404 %endif
405 %endif
406
407 %description sdt-dtrace
408 This package includes the dtrace-compatibility preprocessor
409 to process related .d files into tracing-macro-laden .h headers.
410
411
412 %package testsuite
413 Summary: Instrumentation System Testsuite
414 License: GPL-2.0-or-later AND GPL-2.0-only AND GPL-3.0-or-later AND MIT
415 URL: https://sourceware.org/systemtap/
416 Requires: systemtap = %{version}-%{release}
417 Requires: systemtap-sdt-devel = %{version}-%{release}
418 Requires: systemtap-server = %{version}-%{release}
419 Requires: dejagnu which elfutils grep nc wget
420 %if %{with_debuginfod}
421 Requires: elfutils-debuginfod
422 %endif
423 # work around fedora ci gating kvetching about i686<->x86-64 conflicts
424 %ifarch x86_64
425 Conflicts: systemtap-testsuite = %{version}-%{release}.i686
426 %endif
427 %ifarch i686
428 Conflicts: systemtap-testsuite = %{version}-%{release}.x86_64
429 %endif
430 Requires: gcc gcc-c++ make glibc-devel
431 # testsuite/systemtap.base/ptrace.exp needs strace
432 Requires: 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.
436 Requires: /usr/bin/nc
437 %ifnarch ia64 ppc64le aarch64
438 %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
439 # no prelink
440 %else
441 Requires: prelink
442 %endif
443 %endif
444 # testsuite/systemtap.server/client.exp needs avahi
445 Requires: avahi
446 %if %{with_crash}
447 # testsuite/systemtap.base/crash.exp needs crash
448 Requires: crash
449 %endif
450 %if %{with_java}
451 Requires: systemtap-runtime-java = %{version}-%{release}
452 %endif
453 %if %{with_python2_probes}
454 Requires: systemtap-runtime-python2 = %{version}-%{release}
455 %endif
456 %if %{with_python3_probes}
457 Requires: systemtap-runtime-python3 = %{version}-%{release}
458 %endif
459 %ifarch x86_64
460 %if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
461 # fweimer, personal correspondence
462 Recommends: glibc-devel(x86-32)
463 %else
464 Requires: /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
470 Requires: 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
475 Requires: perf
476
477 %description testsuite
478 This package includes the dejagnu-based systemtap stress self-testing
479 suite. This may be used by system administrators to thoroughly check
480 systemtap on the current system.
481
482
483 %if %{with_java}
484 %package runtime-java
485 Summary: Systemtap Java Runtime Support
486 License: GPL-2.0-or-later
487 URL: https://sourceware.org/systemtap/
488 Requires: systemtap-runtime = %{version}-%{release}
489 # work around fedora ci gating kvetching about i686<->x86-64 conflicts
490 %ifarch x86_64
491 Conflicts: systemtap-runtime = %{version}-%{release}.i686
492 %endif
493 %ifarch i686
494 Conflicts: systemtap-runtime = %{version}-%{release}.x86_64
495 %endif
496 Requires: byteman > 2.0
497 Requires: iproute
498 Requires: java-devel
499
500 %description runtime-java
501 This package includes support files needed to run systemtap scripts
502 that probe Java processes running on the OpenJDK runtimes using Byteman.
503 %endif
504
505 %if %{with_python2_probes}
506 %package runtime-python2
507 Summary: Systemtap Python 2 Runtime Support
508 License: GPL-2.0-or-later
509 URL: https://sourceware.org/systemtap/
510 Requires: systemtap-runtime = %{version}-%{release}
511
512 %description runtime-python2
513 This package includes support files needed to run systemtap scripts
514 that probe python 2 processes.
515 %endif
516
517 %if %{with_python3_probes}
518 %package runtime-python3
519 Summary: Systemtap Python 3 Runtime Support
520 License: GPL-2.0-or-later
521 URL: https://sourceware.org/systemtap/
522 Requires: systemtap-runtime = %{version}-%{release}
523
524 %if ! (%{with_python2_probes})
525 # Provide an clean upgrade path when the python2 package is removed
526 Obsoletes: %{name}-runtime-python2 < %{version}-%{release}
527 %endif
528
529 %description runtime-python3
530 This package includes support files needed to run systemtap scripts
531 that probe python 3 processes.
532 %endif
533
534 %if %{with_python3_probes}
535 %package exporter
536 Summary: Systemtap-prometheus interoperation mechanism
537 License: GPL-2.0-or-later
538 URL: https://sourceware.org/systemtap/
539 Requires: systemtap-runtime = %{version}-%{release}
540
541 %description exporter
542 This package includes files for a systemd service that manages
543 systemtap sessions and relays prometheus metrics from the sessions
544 to remote requesters on demand.
545 %endif
546
547 %if %{with_virthost}
548 %package runtime-virthost
549 Summary: Systemtap Cross-VM Instrumentation - host
550 License: GPL-2.0-or-later
551 URL: https://sourceware.org/systemtap/
552 # only require libvirt-libs really
553 #Requires: libvirt >= 1.0.2
554 Requires: libxml2
555
556 %description runtime-virthost
557 This package includes the components required to run systemtap scripts
558 inside a libvirt-managed domain from the host without using a network
559 connection.
560 %endif
561
562 %if %{with_virtguest}
563 %package runtime-virtguest
564 Summary: Systemtap Cross-VM Instrumentation - guest
565 License: GPL-2.0-or-later
566 URL: https://sourceware.org/systemtap/
567 Requires: systemtap-runtime = %{version}-%{release}
568 %if %{with_systemd}
569 Requires(post): findutils coreutils
570 Requires(preun): grep coreutils
571 Requires(postun): grep coreutils
572 %else
573 Requires(post): chkconfig initscripts
574 Requires(preun): chkconfig initscripts
575 Requires(postun): initscripts
576 %endif
577
578 %description runtime-virtguest
579 This package installs the services necessary on a virtual machine for a
580 systemtap-runtime-virthost machine to execute systemtap scripts.
581 %endif
582
583 %package jupyter
584 Summary: ISystemtap jupyter kernel and examples
585 License: GPL-2.0-or-later
586 URL: https://sourceware.org/systemtap/
587 Requires: systemtap = %{version}-%{release}
588
589 %description jupyter
590 This package includes files needed to build and run
591 the interactive systemtap Jupyter kernel, either locally
592 or 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}"
703 make %{?_smp_mflags} V=1
704
705
706 %install
707 make DESTDIR=$RPM_BUILD_ROOT install
708
709 %if ! (%{with_python3})
710 rm -v $RPM_BUILD_ROOT%{_bindir}/stap-profile-annotate
711 %endif
712
713 %find_lang %{name}
714 for 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
718 done
719
720 %if %{with_sysusers}
721 mkdir -p %{buildroot}%{_sysusersdir}
722 echo '%_systemtap_runtime_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-runtime.conf
723 echo '%_systemtap_server_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-server.conf
724 echo '%_systemtap_testsuite_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-testsuite.conf
725 %endif
726
727
728 ln -s %{_datadir}/systemtap/examples
729
730 # Fix paths in the example scripts.
731 find $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.
734 find 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.
740 chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun
741
742 # Copy over the testsuite
743 cp -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.
749 mkdir docs.installed
750 mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/*.pdf docs.installed/
751 %if %{with_docs}
752 %if %{with_htmldocs}
753 mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/tapsets docs.installed/
754 mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/SystemTap_Beginners_Guide docs.installed/
755 %endif
756 %endif
757
758 install -D -m 644 macros.systemtap $RPM_BUILD_ROOT%{_rpmmacrodir}/macros.systemtap
759
760 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server
761 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server
762 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/stap-server/.systemtap
763 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server
764 touch $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server/log
765 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/systemtap
766 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/systemtap
767 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
768 install -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}
772 mkdir -p $RPM_BUILD_ROOT%{_unitdir}
773 touch $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
774 # RHBZ2070857
775 mkdir -p $RPM_BUILD_ROOT%{_presetdir}
776 echo 'enable systemtap.service' > $RPM_BUILD_ROOT%{_presetdir}/42-systemtap.preset
777 install -m 644 initscript/systemtap.service $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
778 mkdir -p $RPM_BUILD_ROOT%{_sbindir}
779 install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
780 %else
781 mkdir -p $RPM_BUILD_ROOT%{initdir}
782 install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{initdir}
783 mkdir -p $RPM_BUILD_ROOT%{_sbindir}
784 ln -sf %{initdir}/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
785 # TODO CHECK CORRECTNESS: symlink %{_sbindir}/systemtap-service to %{initdir}/systemtap
786 %endif
787
788 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap
789 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/conf.d
790 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/script.d
791 install -m 644 initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
792
793 %if %{with_systemd}
794 mkdir -p $RPM_BUILD_ROOT%{_unitdir}
795 touch $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
796 install -m 644 stap-server.service $RPM_BUILD_ROOT%{_unitdir}/stap-server.service
797 mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
798 install -m 644 stap-server.conf $RPM_BUILD_ROOT%{_tmpfilesdir}/stap-server.conf
799 %else
800 install -m 755 initscript/stap-server $RPM_BUILD_ROOT%{initdir}
801 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server/conf.d
802 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
803 install -m 644 initscript/config.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/stap-server
804 %endif
805
806 %if %{with_emacsvim}
807 mkdir -p $RPM_BUILD_ROOT%{_emacs_sitelispdir}
808 install -p -m 644 emacs/systemtap-mode.el* $RPM_BUILD_ROOT%{_emacs_sitelispdir}
809 mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir}
810 install -p -m 644 emacs/systemtap-init.el $RPM_BUILD_ROOT%{_emacs_sitestartdir}/systemtap-init.el
811 for subdir in ftdetect ftplugin indent syntax
812 do
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
815 done
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}
852 echo '%_systemtap_runtime_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-runtime.conf -
853 %else
854 getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr
855 getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys
856 getent group stapdev >/dev/null || groupadd -f -g 158 -r stapdev
857 getent 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
861 exit 0
862
863 %pre server
864 %if %{with_sysusers}
865 echo '%_systemtap_server_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-server.conf -
866 %else
867 getent group stap-server >/dev/null || groupadd -f -g 155 -r stap-server
868 getent 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
872 exit 0
873
874 %pre testsuite
875 %if %{with_sysusers}
876 echo '%_systemtap_testsuite_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-testsuite.conf -
877 %else
878 getent passwd stapusr >/dev/null || \
879 useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr
880 getent passwd stapsys >/dev/null || \
881 useradd -c "Systemtap 'stapsys' User" -g stapsys -G stapusr -r -s /sbin/nologin stapsys
882 getent passwd stapdev >/dev/null || \
883 useradd -c "Systemtap 'stapdev' User" -g stapdev -G stapusr -r -s /sbin/nologin stapdev
884 %endif
885 exit 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
896 test -e ~stap-server && chmod 750 ~stap-server
897
898 if [ ! -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
908 fi
909
910 test -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
923 exit 0
924
925 %triggerin client -- systemtap-server
926 if 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
930 fi
931 exit 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.
937 if [ $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
945 fi
946 exit 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
951 if [ "$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
957 fi
958 exit 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
967 exit 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.
972 if [ $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
980 fi
981 exit 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
986 if [ "$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
992 fi
993 exit 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
1008 exit 0
1009
1010 %preun runtime-virtguest
1011 # Stop service if this is an uninstall rather than an upgrade
1012 if [ $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
1024 fi
1025 exit 0
1026
1027 %postun runtime-virtguest
1028 # Restart service if this is an upgrade rather than an uninstall
1029 if [ "$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
1040 fi
1041 exit 0
1042
1043 %if %{with_python3_probes}
1044 %if %{with_systemd}
1045 %preun exporter
1046 if [ $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 || :
1049 fi
1050 exit 0
1051
1052 %postun exporter
1053 # Restart service if this is an upgrade rather than an uninstall
1054 if [ "$1" -ge "1" ]; then
1055 /bin/systemctl condrestart stap-exporter >/dev/null 2>&1 || :
1056 fi
1057 exit 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.103598 seconds and 6 git commands to generate.