3 %bcond_without doc # documentation build
4 %bcond_with publican # publican guides build [as of 3.0 not rebuilt automatically, PDFs are included]
5 %bcond_without crash # crash extension
6 %bcond_without dyninst # dyninst support
7 %bcond_without java # Java runtime support
8 %bcond_without python2 # Python 2.x runtime support
9 %bcond_without python3 # Python 3.x runtime support
11 %ifnarch %{ix86} %{x8664} x32 alpha arm ia64 ppc64 s390 s390x
14 %ifnarch %{ix86} %{x8664} x32 ppc ppc64 aarch64
15 %undefine with_dyninst
17 Summary: Instrumentation System
18 Summary(pl.UTF-8): System oprzyrządowania
24 Source0: http://sourceware.org/systemtap/ftp/releases/%{name}-%{version}.tar.gz
25 # Source0-md5: 7f80117649a9eb663781b5372e8a4f96
26 Patch0: %{name}-configure.patch
27 Patch1: %{name}-build.patch
28 Patch2: %{name}-rpm-4.5-support.patch
29 Patch3: %{name}-no-werror.patch
30 Patch4: format-security.patch
31 Patch5: %{name}-dyninst.patch
32 URL: http://sourceware.org/systemtap/
33 BuildRequires: autoconf >= 2.63
34 BuildRequires: automake
35 BuildRequires: avahi-devel
36 BuildRequires: boost-devel
37 %{?with_crash:BuildRequires: crash-devel}
38 BuildRequires: docbook-dtd412-xml
39 %{?with_dyninst:BuildRequires: dyninst-devel >= 8.0}
40 BuildRequires: elfutils-devel >= 0.148
41 BuildRequires: gettext-devel >= 0.19.4
42 BuildRequires: gettext-tools >= 0.19.4
43 BuildRequires: glib2-devel >= 2.0
44 BuildRequires: json-c-devel >= 0.12
45 %{?with_java:BuildRequires: jdk}
46 %if %{with dyninst} || %{with java}
47 BuildRequires: libselinux-devel
49 BuildRequires: libstdc++-devel >= 6:4.5
50 BuildRequires: libvirt-devel >= 1.0.2
51 BuildRequires: libxml2-devel >= 2.0
52 BuildRequires: mysql-devel
53 BuildRequires: ncurses-devel
54 BuildRequires: nss-devel >= 3
55 BuildRequires: pkgconfig
57 BuildRequires: python-devel >= 1:2.6
58 BuildRequires: python-setuptools
61 BuildRequires: python3-devel >= 1:3.2
62 BuildRequires: python3-setuptools
64 BuildRequires: readline-devel
65 BuildRequires: rpm-devel
66 %{?with_java:BuildRequires: rpm-javaprov}
67 BuildRequires: rpm-pythonprov
68 BuildRequires: rpmbuild(macros) >= 1.219
69 BuildRequires: sqlite3-devel >= 3.7
72 BuildRequires: latex2html
73 %{?with_publican:BuildRequires: publican}
74 BuildRequires: texlive-dvips
75 BuildRequires: texlive-fonts-bitstream
76 BuildRequires: texlive-fonts-type1-bitstream
77 BuildRequires: texlive-latex
78 BuildRequires: texlive-latex-psnfss
79 BuildRequires: texlive-xetex
81 # let base mean client+local development package
82 Requires: %{name}-client = %{version}-%{release}
83 Requires: %{name}-devel = %{version}-%{release}
84 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
87 SystemTap is an instrumentation system for systems running Linux 2.6.
88 Developers can write instrumentation to collect data on the operation
89 of the system. The base systemtap package provides the components
90 needed to locally develop and execute systemtap script.
92 %description -l pl.UTF-8
93 SystemTap to system oprzyrządowania dla systemów opartych na Linuksie
94 2.6. Programiści mogą pisać narzędzia do zbierania danych dotyczących
95 operacji w systemie. Główny pakiet dostarcza komponenty niezbędne do
96 lokalnego tworzenia i wykonywania skryptów systemtap.
99 Summary: Programmable system-wide instrumentation system - runtime
100 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - środowisko uruchomieniowe
101 Group: Applications/System
102 Requires: json-c >= 0.12
105 SystemTap runtime contains the components needed to execute a
106 systemtap script that was already compiled into a module using a local
107 or remote systemtap-devel installation.
109 %description runtime -l pl.UTF-8
110 Środowisko uruchomieniowe SystemTap zawiera komponenty niezbędne do
111 uruchomienia skryptu systemtap, który został już wkompilowany do
112 modułu przy użyciu lokalnej lub zdalnej instalacji systemtap-devel.
114 %package runtime-java
115 Summary: SystemTap Java runtime support
116 Summary(pl.UTF-8): Obsługa Javy dla środowiska uruchomieniowego SystemTap
118 Requires: %{name}-runtime = %{version}-%{release}
119 Requires: byteman > 2.0
121 %description runtime-java
122 This package includes support files needed to run systemtap scripts
123 that probe Java processes running on the OpenJDK 1.6 and OpenJDK 1.7
124 runtimes using Byteman.
126 %description runtime-java -l pl.UTF-8
127 Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
128 sondujących procesy Javy działające w środowiskach OpenJDK 1.6 i
129 OpenJDK 1.7 przy użyciu Bytemana.
131 %package runtime-python2
132 Summary: SystemTap Python 2 Runtime Support
133 Summary(pl.UTF-8): Obsługa Pythona 2 dla środowiska uruchomieniowego SystemTap
134 Group: Development/Tools
135 Requires: %{name}-runtime = %{version}-%{release}
136 Requires: python-modules >= 1:2.6
138 %description runtime-python2
139 This package includes support files needed to run systemtap scripts
140 that probe Python 2 processes.
142 %description runtime-python2 -l pl.UTF-8
143 Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
144 sondujących procesy Pythona 2.
146 %package runtime-python3
147 Summary: SystemTap Python 3 Runtime Support
148 Summary(pl.UTF-8): Obsługa Pythona 3 dla środowiska uruchomieniowego SystemTap
149 Group: Development/Tools
150 Requires: %{name}-runtime = %{version}-%{release}
151 Requires: python3-modules >= 1:3.2
153 %description runtime-python3
154 This package includes support files needed to run systemtap scripts
155 that probe Python 3 processes.
157 %description runtime-python3 -l pl.UTF-8
158 Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
159 sondujących procesy Pythona 3.
162 Summary: Programmable system-wide instrumentation system - client
163 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - klient
164 Group: Applications/System
165 Requires: %{name}-runtime = %{version}-%{release}
168 Requires: libvirt >= 1.0.2
169 Requires: openssh-clients
175 This package provides the components needed to develop systemtap
176 scripts and compile them using a local systemtap-devel or a remote
177 systemtap-server installation, then run them using a local or remote
178 systemtap-runtime. It includes script samples and documentation, and a
179 copy of the tapset library for reference.
181 %description client -l pl.UTF-8
182 Ten pakiet dostarcza komponenty niezbędne do tworzenia skryptów
183 systemtap i kompilowania ich przy użyciu lokalnej instalacji
184 systemtap-devel lub zdalnej instalacji systemtap-server, a następnie
185 uruchamiania ich przy użyciu lokalnej lub zdalnej instalacji
186 systemtap-runtime. Zawiera przykłady skryptów oraz dokumentację, a
187 także kopię biblioteki tapset.
190 Summary: Programmable system-wide instrumentation system - development headers, tools
191 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - pliki nagłówkowe, narzędzia
192 Group: Development/Tools
193 Requires: %{name}-client = %{version}-%{release}
198 This package provides the components needed to compile a systemtap
199 script from source form into executable (.ko) forms. It may be
200 installed on a self-contained developer workstation (along with the
201 systemtap-client and systemtap-runtime packages), or on a dedicated
202 remote server (alongside the systemtap-server package). It includes a
203 copy of the standard tapset library and the runtime library C files.
205 %description devel -l pl.UTF-8
206 Ten pakiet dostarcza komponenty niezbędne do kompilowania skryptów
207 systemtap z postaci źródłowej do wykonywalnej (.ko). Może być
208 zainstalowany na samodzielnej stacji roboczej programisty (wraz z
209 pakietami systemtap-client i systemtap-runtime) lub dedykowanym
210 zdalnym serwerze (wraz z pakietem systemtap-server). Zawiera kopię
211 standardowej biblioteki tapset oraz pliki biblioteki uruchomieniowej
215 Summary: SystemTap Initscripts
216 Summary(pl.UTF-8): Skrypty startowe SystemTap
218 Requires(post,preun): /sbin/chkconfig
219 Requires: %{name} = %{version}-%{release}
222 %description initscript
223 SysVinit scripts to launch selected systemtap scripts at system
226 %description initscript -l pl.UTF-8
227 Skrypty SysVinit do uruchamiania wybranych skryptów systemtap w
228 trakcie startu systemu.
231 Summary: Instrumentation System Server
232 Summary(pl.UTF-8): Serwer systemu oprzyrządowania
233 Group: Applications/System
234 Requires(post,preun): /sbin/chkconfig
235 Requires: %{name}-devel = %{version}-%{release}
236 Requires: /bin/mktemp
241 This is the remote script compilation server component of systemtap.
242 It announces itself to nearby clients with avahi (if available), and
243 compiles systemtap scripts to kernel objects on their demand.
245 %description server -l pl.UTF-8
246 Ten pakiet zawiera komponent serwera do zdalnej kompilacji skryptów
247 systemtap. Rozgłasza się pobliskim klientom przy użyciu avahi (jeśli
248 jest dostępny) i na żądanie kompiluje skrypty systemtap do obiektów
252 Summary: Static probe support tools
253 Summary(pl.UTF-8): Narzędzia do obsługi sond statycznych
254 License: GPL v2+ and Public Domain
255 Group: Development/Libraries
257 %description sdt-devel
258 This package includes the <sys/sdt.h> header file used for static
259 instrumentation compiled into userspace programs and libraries, along
260 with the optional dtrace-compatibility preprocessor to process related
261 .d files into tracing-macro-laden .h headers.
263 %description sdt-devel -l pl.UTF-8
264 Ten pakiet zawiera plik nagłówkowy <sys/sdt.h> służący do
265 wkompilowywania statycznego oprzyrządowania do programów i bibliotek
266 przestrzeni użytkownika, wraz z opcjonalnym preprocesorem zgodności z
267 dtrace, który przetwarza pliki .d na pliki nagłówkowe .h z makrami
271 Summary: SystemTap guides and tutorials
272 Summary(pl.UTF-8): Przewodniki i dokumentacja wprowadzająca do SystemTap
276 SystemTap guides and tutorials.
278 %description doc -l pl.UTF-8
279 Przewodniki i dokumentacja wprowadzająca do SystemTap.
297 --disable-silent-rules \
298 %{?with_crash:--enable-crash} \
299 --enable-docs%{!?with_doc:=no} \
303 --with-dyninst%{!?with_dyninst:=no} \
304 --with-java=%{?with_java:%{_jvmdir}/java}%{!?with_java:no}
308 rm -rf $RPM_BUILD_ROOT
309 install -d $RPM_BUILD_ROOT/var/{cache,run}/%{name} \
310 $RPM_BUILD_ROOT{%{_sysconfdir}/stap-server/conf.d,/etc/{sysconfig,logrotate.d,rc.d/init.d}} \
311 $RPM_BUILD_ROOT/var/log/stap-server
314 DESTDIR=$RPM_BUILD_ROOT
316 # not installed by make
317 install -p stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
319 install -p initscript/systemtap $RPM_BUILD_ROOT/etc/rc.d/init.d
320 cp -p initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
322 install -p initscript/stap-server $RPM_BUILD_ROOT/etc/rc.d/init.d
323 cp -p initscript/config.stap-server $RPM_BUILD_ROOT/etc/sysconfig/stap-server
324 cp -p initscript/logrotate.stap-server $RPM_BUILD_ROOT/etc/logrotate.d/stap-server
326 install -d $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/{conf.d,script.d}
327 install -d $RPM_BUILD_ROOT/var/lib/stap-server/.systemtap
328 install -d $RPM_BUILD_ROOT/var/log/stap-server
330 %{__mv} $RPM_BUILD_ROOT%{_docdir}/systemtap docs-installed
339 rm -rf $RPM_BUILD_ROOT
342 %defattr(644,root,root,755)
344 %files runtime -f %{name}.lang
345 %defattr(644,root,root,755)
346 %doc AUTHORS NEWS README*
347 %attr(755,root,root) %{_bindir}/stap-merge
348 %attr(755,root,root) %{_bindir}/stap-report
349 %attr(755,root,root) %{_bindir}/stapbpf
350 %{?with_dyninst:%attr(755,root,root) %{_bindir}/stapdyn}
351 %attr(755,root,root) %{_bindir}/stapsh
352 # XXX: %attr(4754,root,stapusr) staprun ?
353 %attr(755,root,root) %{_bindir}/staprun
354 %dir %{_libexecdir}/%{name}
355 %attr(755,root,root) %{_libexecdir}/%{name}/stap-authorize-cert
356 %attr(755,root,root) %{_libexecdir}/%{name}/stapio
358 %if "%{_libdir}" != "%{_libexecdir}"
359 %dir %{_libdir}/%{name}
361 %attr(755,root,root) %{_libdir}/%{name}/staplog.so
363 %{_mandir}/man1/stap-merge.1*
364 %{_mandir}/man1/stap-report.1*
365 %{_mandir}/man1/stapref.1*
366 %{_mandir}/man3/stapex.3stap*
367 %{_mandir}/man3/stapfuncs.3stap*
368 %{_mandir}/man3/stapprobes.3stap*
369 %{_mandir}/man3/stapvars.3stap*
371 %{_mandir}/man3/function::*.3stap*
372 %{_mandir}/man3/macro::*.3stap*
373 %{_mandir}/man3/probe::*.3stap*
374 %{_mandir}/man3/tapset::*.3stap*
376 %{_mandir}/man7/error::*.7stap*
377 %{_mandir}/man7/stappaths.7*
378 %{_mandir}/man7/warning::debuginfo.7stap*
379 %{_mandir}/man7/warning::symbols.7stap*
380 %{_mandir}/man8/stapbpf.8*
381 %{?with_dyninst:%{_mandir}/man8/stapdyn.8*}
382 %{_mandir}/man8/staprun.8*
383 %{_mandir}/man8/stapsh.8*
384 %{_mandir}/man8/systemtap.8*
385 %lang(cs) %{_mandir}/cs/man1/stap-merge.1*
386 %lang(cs) %{_mandir}/cs/man1/stap-report.1*
387 %lang(cs) %{_mandir}/cs/man1/stapref.1*
388 %lang(cs) %{_mandir}/cs/man3/stapex.3stap*
389 %lang(cs) %{_mandir}/cs/man3/stapfuncs.3stap*
390 %lang(cs) %{_mandir}/cs/man3/stapprobes.3stap*
391 %lang(cs) %{_mandir}/cs/man3/stapvars.3stap*
392 %lang(cs) %{_mandir}/cs/man7/error::*.7stap*
393 %lang(cs) %{_mandir}/cs/man7/stappaths.7*
394 %lang(cs) %{_mandir}/cs/man7/warning::debuginfo.7stap*
395 %lang(cs) %{_mandir}/cs/man7/warning::symbols.7stap*
396 %lang(cs) %{_mandir}/cs/man8/stapsh.8*
397 %lang(cs) %{_mandir}/cs/man8/systemtap.8*
401 %defattr(644,root,root,755)
402 %attr(755,root,root) %{_libexecdir}/%{name}/stapbm
403 %attr(755,root,root) %{_libexecdir}/%{name}/libHelperSDT_*.so
404 %{_libexecdir}/%{name}/HelperSDT.jar
408 %files runtime-python2
409 %defattr(644,root,root,755)
410 %dir %{py_sitedir}/HelperSDT
411 %attr(755,root,root) %{py_sitedir}/HelperSDT/_HelperSDT.so
412 %{py_sitedir}/HelperSDT/*.py[co]
413 %{py_sitedir}/HelperSDT-0.1.0-py*.egg-info
417 %files runtime-python3
418 %defattr(644,root,root,755)
419 %dir %{py3_sitedir}/HelperSDT
420 %attr(755,root,root) %{py3_sitedir}/HelperSDT/_HelperSDT.cpython-*.so
421 %{py3_sitedir}/HelperSDT/*.py
422 %{py3_sitedir}/HelperSDT/__pycache__
423 %{py3_sitedir}/HelperSDT-0.1.0-py*.egg-info
427 %defattr(644,root,root,755)
428 %attr(755,root,root) %{_bindir}/stap
429 %attr(755,root,root) %{_bindir}/stap-prep
430 %attr(755,root,root) %{_bindir}/stapvirt
431 %dir %{_datadir}/%{name}
432 %{_datadir}/%{name}/examples
433 %{_datadir}/%{name}/tapset
434 %{_mandir}/man1/stap.1*
435 %{_mandir}/man1/stap-prep.1*
436 %{_mandir}/man1/stapvirt.1*
437 %lang(cs) %{_mandir}/cs/man1/stap.1*
438 %lang(cs) %{_mandir}/cs/man1/stap-prep.1*
439 %lang(cs) %{_mandir}/cs/man1/stapvirt.1*
442 %defattr(644,root,root,755)
443 %{_datadir}/%{name}/runtime
444 %if %{with python2} || %{with python3}
445 %dir %{_libexecdir}/%{name}
446 %dir %{_libexecdir}/%{name}/python
447 %attr(755,root,root) %{_libexecdir}/systemtap/python/stap-resolve-module-function.py
451 %defattr(644,root,root,755)
452 %attr(754,root,root) /etc/rc.d/init.d/systemtap
453 %dir %{_sysconfdir}/systemtap
454 %dir %{_sysconfdir}/systemtap/conf.d
455 %dir %{_sysconfdir}/systemtap/script.d
456 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemtap/config
457 %dir /var/cache/%{name}
458 %dir /var/run/%{name}
461 %defattr(644,root,root,755)
462 %attr(755,root,root) %{_bindir}/stap-server
463 %attr(755,root,root) %{_libexecdir}/%{name}/stap-env
464 %attr(755,root,root) %{_libexecdir}/%{name}/stap-gen-cert
465 %attr(755,root,root) %{_libexecdir}/%{name}/stap-serverd
466 %attr(755,root,root) %{_libexecdir}/%{name}/stap-sign-module
467 %attr(755,root,root) %{_libexecdir}/%{name}/stap-start-server
468 %attr(755,root,root) %{_libexecdir}/%{name}/stap-stop-server
469 %dir %{_sysconfdir}/stap-server
470 %dir %{_sysconfdir}/stap-server/conf.d
471 %attr(754,root,root) /etc/rc.d/init.d/stap-server
472 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/stap-server
473 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/stap-server
474 # TODO: create user/group
475 #%attr(750,stap-server,stap-server) %dir /var/lib/stap-server
476 #%attr(700,stap-server,stap-server) %dir /var/lib/stap-server/.systemtap
477 #%attr(755,stap-server,stap-server) %dir /var/log/stap-server
478 #%attr(755,stap-server,stap-server) %dir /var/run/stap-server
479 %{_mandir}/man8/stap-server.8*
480 %lang(cs) %{_mandir}/cs/man8/stap-server.8*
483 %defattr(644,root,root,755)
484 %attr(755,root,root) %{_bindir}/dtrace
485 %{_includedir}/sys/sdt.h
486 %{_includedir}/sys/sdt-config.h
487 %{_mandir}/man1/dtrace.1*
488 %lang(cs) %{_mandir}/cs/man1/dtrace.1*
492 %defattr(644,root,root,755)
493 %doc doc/{langref,tutorial}.pdf doc/beginners/SystemTap_Beginners_Guide.pdf docs-installed/tapsets.pdf