3 %bcond_without 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 Source1: %{name}.tmpfiles
25 Source2: stap-server.tmpfiles
26 Patch0: %{name}-configure.patch
27 Patch1: %{name}-build.patch
28 Patch2: %{name}-rpm5-support.patch
29 Patch4: format-security.patch
30 URL: http://sourceware.org/systemtap/
31 BuildRequires: autoconf >= 2.63
32 BuildRequires: automake
33 BuildRequires: avahi-devel
34 BuildRequires: boost-devel
35 %{?with_crash:BuildRequires: crash-devel}
36 BuildRequires: docbook-dtd412-xml
37 %{?with_dyninst:BuildRequires: dyninst-devel >= 8.0}
38 BuildRequires: elfutils-devel >= 0.148
39 BuildRequires: gettext-tools >= 0.18.2
40 BuildRequires: glib2-devel
41 %{?with_java:BuildRequires: jdk}
42 %if %{with dyninst} || %{with java}
43 BuildRequires: libselinux-devel
45 BuildRequires: libstdc++-devel
46 BuildRequires: libvirt-devel >= 1.0.2
47 BuildRequires: libxml2-devel >= 2.0
48 BuildRequires: mysql-devel
49 BuildRequires: nss-devel >= 3
50 BuildRequires: rpm-devel
51 BuildRequires: sqlite3-devel >= 3
54 BuildRequires: latex2html
55 %{?with_publican:BuildRequires: publican}
56 BuildRequires: texlive-dvips
57 BuildRequires: texlive-fonts-bitstream
58 BuildRequires: texlive-fonts-type1-bitstream
59 BuildRequires: texlive-latex
61 # let base mean client+local development package
62 Requires: %{name}-client = %{version}-%{release}
63 Requires: %{name}-devel = %{version}-%{release}
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67 SystemTap is an instrumentation system for systems running Linux 2.6.
68 Developers can write instrumentation to collect data on the operation
69 of the system. The base systemtap package provides the components
70 needed to locally develop and execute systemtap script.
72 %description -l pl.UTF-8
73 SystemTap to system oprzyrządowania dla systemów opartych na Linuksie
74 2.6. Programiści mogą pisać narzędzia do zbierania danych dotyczących
75 operacji w systemie. Główny pakiet dostarcza komponenty niezbędne do
76 lokalnego tworzenia i wykonywania skryptów systemtap.
79 Summary: Programmable system-wide instrumentation system - runtime
80 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - środowisko uruchomieniowe
81 Group: Applications/System
84 SystemTap runtime contains the components needed to execute a
85 systemtap script that was already compiled into a module using a local
86 or remote systemtap-devel installation.
88 %description runtime -l pl.UTF-8
89 Środowisko uruchomieniowe SystemTap zawiera komponenty niezbędne do
90 uruchomienia skryptu systemtap, który został już wkompilowany do
91 modułu przy użyciu lokalnej lub zdalnej instalacji systemtap-devel.
94 Summary: SystemTap Java runtime support
95 Summary(pl.UTF-8): Obsługa Javy dla środowiska uruchomieniowego SystemTap
97 Requires: %{name}-runtime = %{version}-%{release}
98 Requires: byteman > 2.0
100 %description runtime-java
101 This package includes support files needed to run systemtap scripts
102 that probe Java processes running on the OpenJDK 1.6 and OpenJDK 1.7
103 runtimes using Byteman.
105 %description runtime-java -l pl.UTF-8
106 Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
107 sondujące procesy Javy działające w środowiskach OpenJDK 1.6 i OpenJDK
108 1.7 przy użyciu Bytemana.
111 Summary: Programmable system-wide instrumentation system - client
112 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - klient
113 Group: Applications/System
114 Requires: %{name}-runtime = %{version}-%{release}
117 Requires: libvirt >= 1.0.2
118 Requires: openssh-clients
124 This package provides the components needed to develop systemtap
125 scripts and compile them using a local systemtap-devel or a remote
126 systemtap-server installation, then run them using a local or remote
127 systemtap-runtime. It includes script samples and documentation, and a
128 copy of the tapset library for reference.
130 %description client -l pl.UTF-8
131 Ten pakiet dostarcza komponenty niezbędne do tworzenia skryptów
132 systemtap i kompilowania ich przy użyciu lokalnej instalacji
133 systemtap-devel lub zdalnej instalacji systemtap-server, a następnie
134 uruchamiania ich przy użyciu lokalnej lub zdalnej instalacji
135 systemtap-runtime. Zawiera przykłady skryptów oraz dokumentację, a
136 także kopię biblioteki tapset.
139 Summary: Programmable system-wide instrumentation system - development headers, tools
140 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - pliki nagłówkowe, narzędzia
141 Group: Development/Tools
142 Requires: %{name}-client = %{version}-%{release}
144 Requires: kernel-module-build
148 This package provides the components needed to compile a systemtap
149 script from source form into executable (.ko) forms. It may be
150 installed on a self-contained developer workstation (along with the
151 systemtap-client and systemtap-runtime packages), or on a dedicated
152 remote server (alongside the systemtap-server package). It includes a
153 copy of the standard tapset library and the runtime library C files.
155 %description devel -l pl.UTF-8
156 Ten pakiet dostarcza komponenty niezbędne do kompilowania skryptów
157 systemtap z postaci źródłowej do wykonywalnej (.ko). Może być
158 zainstalowany na samodzielnej stacji roboczej programisty (wraz z
159 pakietami systemtap-client i systemtap-runtime) lub dedykowanym
160 zdalnym serwerze (wraz z pakietem systemtap-server). Zawiera kopię
161 standardowej biblioteki tapset oraz pliki biblioteki uruchomieniowej
165 Summary: SystemTap Initscripts
166 Summary(pl.UTF-8): Skrypty startowe SystemTap
168 Requires(post,preun): /sbin/chkconfig
169 Requires: %{name} = %{version}-%{release}
172 %description initscript
173 SysVinit scripts to launch selected systemtap scripts at system
176 %description initscript -l pl.UTF-8
177 Skrypty SysVinit do uruchamiania wybranych skryptów systemtap w
178 trakcie startu systemu.
181 Summary: Instrumentation System Server
182 Summary(pl.UTF-8): Serwer systemu oprzyrządowania
183 Group: Applications/System
184 Requires(post,preun): /sbin/chkconfig
185 Requires: %{name}-devel = %{version}-%{release}
186 Requires: /bin/mktemp
191 This is the remote script compilation server component of systemtap.
192 It announces itself to nearby clients with avahi (if available), and
193 compiles systemtap scripts to kernel objects on their demand.
195 %description server -l pl.UTF-8
196 Ten pakiet zawiera komponent serwera do zdalnej kompilacji skryptów
197 systemtap. Rozgłasza się pobliskim klientom przy użyciu avahi (jeśli
198 jest dostępny) i na żądanie kompiluje skrypty systemtap do obiektów
202 Summary: Static probe support tools
203 Summary(pl.UTF-8): Narzędzia do obsługi sond statycznych
204 License: GPL v2+ and Public Domain
205 Group: Development/Libraries
207 %description sdt-devel
208 This package includes the <sys/sdt.h> header file used for static
209 instrumentation compiled into userspace programs and libraries, along
210 with the optional dtrace-compatibility preprocessor to process related
211 .d files into tracing-macro-laden .h headers.
213 %description sdt-devel -l pl.UTF-8
214 Ten pakiet zawiera plik nagłówkowy <sys/sdt.h> służący do
215 wkompilowywania statycznego oprzyrządowania do programów i bibliotek
216 przestrzeni użytkownika, wraz z opcjonalnym preprocesorem zgodności z
217 dtrace, który przetwarza pliki .d na pliki nagłówkowe .h z makrami
225 %if "%{_rpmversion}" >= "5.0"
236 --disable-silent-rules \
237 %{?with_crash:--enable-crash} \
238 --enable-docs%{!?with_doc:=no} \
240 --enable-publican%{!?with_publican:=no} \
243 --with-dyninst%{!?with_dyninst:=no} \
244 --with-java=%{?with_java:%{_jvmdir}/java}%{!?with_java:no}
248 rm -rf $RPM_BUILD_ROOT
249 install -d $RPM_BUILD_ROOT{/var/{cache,run}/%{name},%{systemdtmpfilesdir},%{systemdunitdir}} \
250 $RPM_BUILD_ROOT{%{_sysconfdir}/stap-server/conf.d,/etc/{sysconfig,logrotate.d,rc.d/init.d}} \
251 $RPM_BUILD_ROOT/var/log/stap-server
254 DESTDIR=$RPM_BUILD_ROOT
256 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/systemtap.conf
257 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/stap-server.conf
259 # not installed by make
260 install -p stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
262 install -p initscript/systemtap $RPM_BUILD_ROOT/etc/rc.d/init.d
263 cp -p initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
265 install -p initscript/stap-server $RPM_BUILD_ROOT/etc/rc.d/init.d
266 cp -p initscript/config.stap-server $RPM_BUILD_ROOT/etc/sysconfig/stap-server
267 cp -p initscript/logrotate.stap-server $RPM_BUILD_ROOT/etc/logrotate.d/stap-server
268 cp -p stap-server.service $RPM_BUILD_ROOT%{systemdunitdir}
270 install -d $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/{conf.d,script.d}
271 install -d $RPM_BUILD_ROOT/var/lib/stap-server/.systemtap
272 install -d $RPM_BUILD_ROOT/var/log/stap-server
275 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-client-%{version}
276 cp -a docs-installed/examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-client-%{version}
279 %{__mv} $RPM_BUILD_ROOT%{_docdir}/systemtap docs-installed
284 rm -rf $RPM_BUILD_ROOT
287 %defattr(644,root,root,755)
289 %files runtime -f %{name}.lang
290 %defattr(644,root,root,755)
291 %doc AUTHORS NEWS README*
292 %attr(755,root,root) %{_bindir}/stap-merge
293 %attr(755,root,root) %{_bindir}/stap-report
294 %{?with_dyninst:%attr(755,root,root) %{_bindir}/stapdyn}
295 %attr(755,root,root) %{_bindir}/stapsh
296 # XXX: %attr(4754,root,stapusr) staprun ?
297 %attr(755,root,root) %{_bindir}/staprun
298 %dir %{_libdir}/%{name}
299 %attr(755,root,root) %{_libdir}/%{name}/stap-authorize-cert
300 %attr(755,root,root) %{_libdir}/%{name}/stapio
301 %{?with_crash:%attr(755,root,root) %{_libdir}/%{name}/staplog.so}
302 %{_mandir}/man1/stap-merge.1*
303 %{_mandir}/man1/stap-report.1*
304 #%{_mandir}/man3/function::*.3stap*
305 #%{_mandir}/man3/probe::*.3stap*
306 %{_mandir}/man3/stapex.3stap*
307 %{_mandir}/man3/stapfuncs.3stap*
308 %{_mandir}/man3/stapprobes.3stap*
309 %{_mandir}/man3/stapvars.3stap*
310 #%{_mandir}/man3/tapset::*.3stap*
311 %{_mandir}/man7/error::*.7stap*
312 %{_mandir}/man7/stappaths.7*
313 %{_mandir}/man7/warning::debuginfo.7stap*
314 %{_mandir}/man7/warning::symbols.7stap*
315 %{?with_dyninst:%{_mandir}/man8/stapdyn.8*}
316 %{_mandir}/man8/staprun.8*
317 %{_mandir}/man8/stapsh.8*
318 %{_mandir}/man8/systemtap.8*
322 %defattr(644,root,root,755)
323 %attr(755,root,root) %{_libdir}/%{name}/stapbm
324 %attr(755,root,root) %{_libdir}/%{name}/libHelperSDT_*.so
325 %{_libdir}/%{name}/HelperSDT.jar
329 %defattr(644,root,root,755)
331 %doc docs-installed/{tapsets,langref.pdf,tutorial.pdf}
332 %{_examplesdir}/%{name}-client-%{version}
334 %attr(755,root,root) %{_bindir}/stap
335 %attr(755,root,root) %{_bindir}/stap-prep
336 %attr(755,root,root) %{_bindir}/stapvirt
337 %dir %{_datadir}/%{name}
338 %{_datadir}/%{name}/tapset
339 %{_mandir}/man1/stap.1*
340 %{_mandir}/man1/stap-prep.1*
341 %{_mandir}/man1/stapvirt.1*
344 %defattr(644,root,root,755)
345 %{_datadir}/%{name}/runtime
348 %defattr(644,root,root,755)
349 %attr(754,root,root) /etc/rc.d/init.d/systemtap
350 %dir %{_sysconfdir}/systemtap
351 %dir %{_sysconfdir}/systemtap/conf.d
352 %dir %{_sysconfdir}/systemtap/script.d
353 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemtap/config
354 %{systemdtmpfilesdir}/systemtap.conf
355 %dir /var/cache/%{name}
356 %dir /var/run/%{name}
359 %defattr(644,root,root,755)
360 %attr(755,root,root) %{_bindir}/stap-server
361 %attr(755,root,root) %{_libdir}/%{name}/stap-env
362 %attr(755,root,root) %{_libdir}/%{name}/stap-gen-cert
363 %attr(755,root,root) %{_libdir}/%{name}/stap-serverd
364 %attr(755,root,root) %{_libdir}/%{name}/stap-sign-module
365 %attr(755,root,root) %{_libdir}/%{name}/stap-start-server
366 %attr(755,root,root) %{_libdir}/%{name}/stap-stop-server
367 %dir %{_sysconfdir}/stap-server
368 %dir %{_sysconfdir}/stap-server/conf.d
369 %attr(754,root,root) /etc/rc.d/init.d/stap-server
370 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/stap-server
371 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/stap-server
372 %{systemdunitdir}/stap-server.service
373 %{systemdtmpfilesdir}/stap-server.conf
374 # TODO: create user/group
375 #%attr(750,stap-server,stap-server) %dir /var/lib/stap-server
376 #%attr(700,stap-server,stap-server) %dir /var/lib/stap-server/.systemtap
377 #%attr(755,stap-server,stap-server) %dir /var/log/stap-server
378 #%attr(755,stap-server,stap-server) %dir /var/run/stap-server
379 %{_mandir}/man8/stap-server.8*
382 %defattr(644,root,root,755)
383 %attr(755,root,root) %{_bindir}/dtrace
384 %{_includedir}/sys/sdt.h
385 %{_includedir}/sys/sdt-config.h
386 %{_mandir}/man1/dtrace.1*