3 %bcond_with doc # documentation build
4 %bcond_with publican # publican guides build (requires functional publican+wkhtmltopdf)
5 %bcond_without crash # crash extension
6 %bcond_without dyninst # dyninst support
7 %bcond_without java # Java runtime support
9 %ifnarch %{ix86} %{x8664} alpha arm ia64 ppc64 s390 s390x
12 %ifnarch %{ix86} %{x8664} ppc ppc64
13 %undefine with_dyninst
15 Summary: Instrumentation System
16 Summary(pl.UTF-8): System oprzyrządowania
22 Source0: http://sourceware.org/systemtap/ftp/releases/%{name}-%{version}.tar.gz
23 # Source0-md5: e0c3c36955323ae59be07a26a9563474
24 Patch0: %{name}-configure.patch
25 Patch1: %{name}-build.patch
26 Patch2: %{name}-rpm5-support.patch
27 Patch4: format-security.patch
28 URL: http://sourceware.org/systemtap/
29 BuildRequires: autoconf >= 2.63
30 BuildRequires: automake
31 BuildRequires: avahi-devel
32 BuildRequires: boost-devel
33 %{?with_crash:BuildRequires: crash-devel}
34 BuildRequires: docbook-dtd412-xml
35 %{?with_dyninst:BuildRequires: dyninst-devel >= 8.0}
36 BuildRequires: elfutils-devel >= 0.148
37 BuildRequires: gettext-devel >= 0.18.2
38 BuildRequires: gettext-tools >= 0.18.2
39 BuildRequires: glib2-devel
42 BuildRequires: rpm-javaprov
44 %if %{with dyninst} || %{with java}
45 BuildRequires: libselinux-devel
47 BuildRequires: libstdc++-devel
48 BuildRequires: libvirt-devel >= 1.0.2
49 BuildRequires: libxml2-devel >= 2.0
50 BuildRequires: mysql-devel
51 BuildRequires: nss-devel >= 3
52 BuildRequires: pkgconfig
53 BuildRequires: rpm-devel
54 BuildRequires: rpm-pythonprov
55 BuildRequires: sqlite3-devel >= 3
58 BuildRequires: latex2html
59 %{?with_publican:BuildRequires: publican}
60 BuildRequires: texlive-dvips
61 BuildRequires: texlive-fonts-bitstream
62 BuildRequires: texlive-fonts-type1-bitstream
63 BuildRequires: texlive-latex
64 BuildRequires: texlive-latex-psnfss
65 BuildRequires: texlive-xetex
67 # let base mean client+local development package
68 Requires: %{name}-client = %{version}-%{release}
69 Requires: %{name}-devel = %{version}-%{release}
70 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73 SystemTap is an instrumentation system for systems running Linux 2.6.
74 Developers can write instrumentation to collect data on the operation
75 of the system. The base systemtap package provides the components
76 needed to locally develop and execute systemtap script.
78 %description -l pl.UTF-8
79 SystemTap to system oprzyrządowania dla systemów opartych na Linuksie
80 2.6. Programiści mogą pisać narzędzia do zbierania danych dotyczących
81 operacji w systemie. Główny pakiet dostarcza komponenty niezbędne do
82 lokalnego tworzenia i wykonywania skryptów systemtap.
85 Summary: Programmable system-wide instrumentation system - runtime
86 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - środowisko uruchomieniowe
87 Group: Applications/System
90 SystemTap runtime contains the components needed to execute a
91 systemtap script that was already compiled into a module using a local
92 or remote systemtap-devel installation.
94 %description runtime -l pl.UTF-8
95 Środowisko uruchomieniowe SystemTap zawiera komponenty niezbędne do
96 uruchomienia skryptu systemtap, który został już wkompilowany do
97 modułu przy użyciu lokalnej lub zdalnej instalacji systemtap-devel.
100 Summary: SystemTap Java runtime support
101 Summary(pl.UTF-8): Obsługa Javy dla środowiska uruchomieniowego SystemTap
103 Requires: %{name}-runtime = %{version}-%{release}
104 Requires: byteman > 2.0
106 %description runtime-java
107 This package includes support files needed to run systemtap scripts
108 that probe Java processes running on the OpenJDK 1.6 and OpenJDK 1.7
109 runtimes using Byteman.
111 %description runtime-java -l pl.UTF-8
112 Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
113 sondujące procesy Javy działające w środowiskach OpenJDK 1.6 i OpenJDK
114 1.7 przy użyciu Bytemana.
117 Summary: Programmable system-wide instrumentation system - client
118 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - klient
119 Group: Applications/System
120 Requires: %{name}-runtime = %{version}-%{release}
123 Requires: libvirt >= 1.0.2
124 Requires: openssh-clients
130 This package provides the components needed to develop systemtap
131 scripts and compile them using a local systemtap-devel or a remote
132 systemtap-server installation, then run them using a local or remote
133 systemtap-runtime. It includes script samples and documentation, and a
134 copy of the tapset library for reference.
136 %description client -l pl.UTF-8
137 Ten pakiet dostarcza komponenty niezbędne do tworzenia skryptów
138 systemtap i kompilowania ich przy użyciu lokalnej instalacji
139 systemtap-devel lub zdalnej instalacji systemtap-server, a następnie
140 uruchamiania ich przy użyciu lokalnej lub zdalnej instalacji
141 systemtap-runtime. Zawiera przykłady skryptów oraz dokumentację, a
142 także kopię biblioteki tapset.
145 Summary: Programmable system-wide instrumentation system - development headers, tools
146 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - pliki nagłówkowe, narzędzia
147 Group: Development/Tools
148 Requires: %{name}-client = %{version}-%{release}
150 Requires: kernel-module-build
154 This package provides the components needed to compile a systemtap
155 script from source form into executable (.ko) forms. It may be
156 installed on a self-contained developer workstation (along with the
157 systemtap-client and systemtap-runtime packages), or on a dedicated
158 remote server (alongside the systemtap-server package). It includes a
159 copy of the standard tapset library and the runtime library C files.
161 %description devel -l pl.UTF-8
162 Ten pakiet dostarcza komponenty niezbędne do kompilowania skryptów
163 systemtap z postaci źródłowej do wykonywalnej (.ko). Może być
164 zainstalowany na samodzielnej stacji roboczej programisty (wraz z
165 pakietami systemtap-client i systemtap-runtime) lub dedykowanym
166 zdalnym serwerze (wraz z pakietem systemtap-server). Zawiera kopię
167 standardowej biblioteki tapset oraz pliki biblioteki uruchomieniowej
171 Summary: SystemTap Initscripts
172 Summary(pl.UTF-8): Skrypty startowe SystemTap
174 Requires(post,preun): /sbin/chkconfig
175 Requires: %{name} = %{version}-%{release}
178 %description initscript
179 SysVinit scripts to launch selected systemtap scripts at system
182 %description initscript -l pl.UTF-8
183 Skrypty SysVinit do uruchamiania wybranych skryptów systemtap w
184 trakcie startu systemu.
187 Summary: Instrumentation System Server
188 Summary(pl.UTF-8): Serwer systemu oprzyrządowania
189 Group: Applications/System
190 Requires(post,preun): /sbin/chkconfig
191 Requires: %{name}-devel = %{version}-%{release}
192 Requires: /bin/mktemp
197 This is the remote script compilation server component of systemtap.
198 It announces itself to nearby clients with avahi (if available), and
199 compiles systemtap scripts to kernel objects on their demand.
201 %description server -l pl.UTF-8
202 Ten pakiet zawiera komponent serwera do zdalnej kompilacji skryptów
203 systemtap. Rozgłasza się pobliskim klientom przy użyciu avahi (jeśli
204 jest dostępny) i na żądanie kompiluje skrypty systemtap do obiektów
208 Summary: Static probe support tools
209 Summary(pl.UTF-8): Narzędzia do obsługi sond statycznych
210 License: GPL v2+ and Public Domain
211 Group: Development/Libraries
213 %description sdt-devel
214 This package includes the <sys/sdt.h> header file used for static
215 instrumentation compiled into userspace programs and libraries, along
216 with the optional dtrace-compatibility preprocessor to process related
217 .d files into tracing-macro-laden .h headers.
219 %description sdt-devel -l pl.UTF-8
220 Ten pakiet zawiera plik nagłówkowy <sys/sdt.h> służący do
221 wkompilowywania statycznego oprzyrządowania do programów i bibliotek
222 przestrzeni użytkownika, wraz z opcjonalnym preprocesorem zgodności z
223 dtrace, który przetwarza pliki .d na pliki nagłówkowe .h z makrami
227 Summary: SystemTap guides and tutorials
228 Summary(pl.UTF-8): Przewodniki i dokumentacja wprowadzająca do SystemTap
232 SystemTap guides and tutorials.
234 %description doc -l pl.UTF-8
235 Przewodniki i dokumentacja wprowadzająca do SystemTap.
242 %if "%{_rpmversion}" >= "5.0"
253 --disable-silent-rules \
254 %{?with_crash:--enable-crash} \
255 --enable-docs%{!?with_doc:=no} \
257 --enable-publican%{!?with_publican:=no} \
260 --with-dyninst%{!?with_dyninst:=no} \
261 --with-java=%{?with_java:%{_jvmdir}/java}%{!?with_java:no}
265 rm -rf $RPM_BUILD_ROOT
266 install -d $RPM_BUILD_ROOT/var/{cache,run}/%{name} \
267 $RPM_BUILD_ROOT{%{_sysconfdir}/stap-server/conf.d,/etc/{sysconfig,logrotate.d,rc.d/init.d}} \
268 $RPM_BUILD_ROOT/var/log/stap-server
271 DESTDIR=$RPM_BUILD_ROOT
273 # not installed by make
274 install -p stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
276 install -p initscript/systemtap $RPM_BUILD_ROOT/etc/rc.d/init.d
277 cp -p initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
279 install -p initscript/stap-server $RPM_BUILD_ROOT/etc/rc.d/init.d
280 cp -p initscript/config.stap-server $RPM_BUILD_ROOT/etc/sysconfig/stap-server
281 cp -p initscript/logrotate.stap-server $RPM_BUILD_ROOT/etc/logrotate.d/stap-server
283 install -d $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/{conf.d,script.d}
284 install -d $RPM_BUILD_ROOT/var/lib/stap-server/.systemtap
285 install -d $RPM_BUILD_ROOT/var/log/stap-server
288 install -d $RPM_BUILD_ROOT%{_examplesdir}
289 mv $RPM_BUILD_ROOT{%{_docdir}/%{name}/examples,%{_examplesdir}/%{name}-client-%{version}}
292 %{__mv} $RPM_BUILD_ROOT%{_docdir}/systemtap docs-installed
297 rm -rf $RPM_BUILD_ROOT
300 %defattr(644,root,root,755)
302 %files runtime -f %{name}.lang
303 %defattr(644,root,root,755)
304 %doc AUTHORS NEWS README*
305 %attr(755,root,root) %{_bindir}/stap-merge
306 %attr(755,root,root) %{_bindir}/stap-report
307 %{?with_dyninst:%attr(755,root,root) %{_bindir}/stapdyn}
308 %attr(755,root,root) %{_bindir}/stapsh
309 # XXX: %attr(4754,root,stapusr) staprun ?
310 %attr(755,root,root) %{_bindir}/staprun
311 %dir %{_libdir}/%{name}
312 %attr(755,root,root) %{_libdir}/%{name}/stap-authorize-cert
313 %attr(755,root,root) %{_libdir}/%{name}/stapio
314 %{?with_crash:%attr(755,root,root) %{_libdir}/%{name}/staplog.so}
315 %{_mandir}/man1/stap-merge.1*
316 %{_mandir}/man1/stap-report.1*
317 %{_mandir}/man3/stapex.3stap*
318 %{_mandir}/man3/stapfuncs.3stap*
319 %{_mandir}/man3/stapprobes.3stap*
320 %{_mandir}/man3/stapvars.3stap*
322 %{_mandir}/man3/function::*.3stap*
323 %{_mandir}/man3/probe::*.3stap*
324 %{_mandir}/man3/tapset::*.3stap*
326 %{_mandir}/man7/error::*.7stap*
327 %{_mandir}/man7/stappaths.7*
328 %{_mandir}/man7/warning::debuginfo.7stap*
329 %{_mandir}/man7/warning::symbols.7stap*
330 %{?with_dyninst:%{_mandir}/man8/stapdyn.8*}
331 %{_mandir}/man8/staprun.8*
332 %{_mandir}/man8/stapsh.8*
333 %{_mandir}/man8/systemtap.8*
337 %defattr(644,root,root,755)
338 %attr(755,root,root) %{_libdir}/%{name}/stapbm
339 %attr(755,root,root) %{_libdir}/%{name}/libHelperSDT_*.so
340 %{_libdir}/%{name}/HelperSDT.jar
344 %defattr(644,root,root,755)
346 %doc docs-installed/{tapsets,langref.pdf,tutorial.pdf}
347 %{_examplesdir}/%{name}-client-%{version}
349 %attr(755,root,root) %{_bindir}/stap
350 %attr(755,root,root) %{_bindir}/stap-prep
351 %attr(755,root,root) %{_bindir}/stapvirt
352 %dir %{_datadir}/%{name}
353 %{_datadir}/%{name}/tapset
354 %{_mandir}/man1/stap.1*
355 %{_mandir}/man1/stap-prep.1*
356 %{_mandir}/man1/stapvirt.1*
359 %defattr(644,root,root,755)
360 %{_datadir}/%{name}/runtime
363 %defattr(644,root,root,755)
364 %attr(754,root,root) /etc/rc.d/init.d/systemtap
365 %dir %{_sysconfdir}/systemtap
366 %dir %{_sysconfdir}/systemtap/conf.d
367 %dir %{_sysconfdir}/systemtap/script.d
368 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemtap/config
369 %dir /var/cache/%{name}
370 %dir /var/run/%{name}
373 %defattr(644,root,root,755)
374 %attr(755,root,root) %{_bindir}/stap-server
375 %attr(755,root,root) %{_libdir}/%{name}/stap-env
376 %attr(755,root,root) %{_libdir}/%{name}/stap-gen-cert
377 %attr(755,root,root) %{_libdir}/%{name}/stap-serverd
378 %attr(755,root,root) %{_libdir}/%{name}/stap-sign-module
379 %attr(755,root,root) %{_libdir}/%{name}/stap-start-server
380 %attr(755,root,root) %{_libdir}/%{name}/stap-stop-server
381 %dir %{_sysconfdir}/stap-server
382 %dir %{_sysconfdir}/stap-server/conf.d
383 %attr(754,root,root) /etc/rc.d/init.d/stap-server
384 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/stap-server
385 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/stap-server
386 # TODO: create user/group
387 #%attr(750,stap-server,stap-server) %dir /var/lib/stap-server
388 #%attr(700,stap-server,stap-server) %dir /var/lib/stap-server/.systemtap
389 #%attr(755,stap-server,stap-server) %dir /var/log/stap-server
390 #%attr(755,stap-server,stap-server) %dir /var/run/stap-server
391 %{_mandir}/man8/stap-server.8*
394 %defattr(644,root,root,755)
395 %attr(755,root,root) %{_bindir}/dtrace
396 %{_includedir}/sys/sdt.h
397 %{_includedir}/sys/sdt-config.h
398 %{_mandir}/man1/dtrace.1*
402 %defattr(644,root,root,755)
403 %doc doc/{langref,tutorial}.pdf doc/beginners/SystemTap_Beginners_Guide.pdf