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://sources.redhat.com/systemtap/ftp/releases/%{name}-%{version}.tar.gz
23 # Source0-md5: 5be8b55864c5b1b50fc361991bb9a4dd
24 Source1: systemtap.tmpfiles
25 Source2: stap-server.tmpfiles
26 Patch0: %{name}-configure.patch
27 Patch1: %{name}-build.patch
28 Patch2: %{name}-rpm5-support.patch
29 URL: http://sourceware.org/systemtap/
30 BuildRequires: autoconf >= 2.63
31 BuildRequires: automake
32 BuildRequires: avahi-devel
33 BuildRequires: boost-devel
34 %{?with_crash:BuildRequires: crash-devel}
35 BuildRequires: docbook-dtd412-xml
36 %{?with_dyninst:BuildRequires: dyninst-devel >= 8.0}
37 BuildRequires: elfutils-devel >= 0.148
38 BuildRequires: gettext-devel >= 0.17
39 BuildRequires: glib2-devel
40 %{?with_java:BuildRequires: jdk}
41 %if %{with dyninst} || %{with java}
42 BuildRequires: libselinux-devel
44 BuildRequires: libstdc++-devel
45 BuildRequires: mysql-devel
46 BuildRequires: nss-devel >= 3
47 BuildRequires: rpm-devel
48 BuildRequires: sqlite3-devel >= 3
51 BuildRequires: latex2html
52 %{?with_publican:BuildRequires: publican}
53 BuildRequires: texlive-dvips
54 BuildRequires: texlive-fonts-bitstream
55 BuildRequires: texlive-fonts-type1-bitstream
56 BuildRequires: texlive-latex
58 # let base mean client+local development package
59 Requires: %{name}-client = %{version}-%{release}
60 Requires: %{name}-devel = %{version}-%{release}
61 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 SystemTap is an instrumentation system for systems running Linux 2.6.
65 Developers can write instrumentation to collect data on the operation
66 of the system. The base systemtap package provides the components
67 needed to locally develop and execute systemtap script.
69 %description -l pl.UTF-8
70 SystemTap to system oprzyrządowania dla systemów opartych na Linuksie
71 2.6. Programiści mogą pisać narzędzia do zbierania danych dotyczących
72 operacji w systemie. Główny pakiet dostarcza komponenty niezbędne do
73 lokalnego tworzenia i wykonywania skryptów systemtap.
76 Summary: Programmable system-wide instrumentation system - runtime
77 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - środowisko uruchomieniowe
78 Group: Applications/System
81 SystemTap runtime contains the components needed to execute a
82 systemtap script that was already compiled into a module using a local
83 or remote systemtap-devel installation.
85 %description runtime -l pl.UTF-8
86 Środowisko uruchomieniowe SystemTap zawiera komponenty niezbędne do
87 uruchomienia skryptu systemtap, który został już wkompilowany do
88 modułu przy użyciu lokalnej lub zdalnej instalacji systemtap-devel.
91 Summary: SystemTap Java runtime support
92 Summary(pl.UTF-8): Obsługa Javy dla środowiska uruchomieniowego SystemTap
94 Requires: %{name}-runtime = %{version}-%{release}
95 Requires: byteman > 2.0
97 %description runtime-java
98 This package includes support files needed to run systemtap scripts
99 that probe Java processes running on the OpenJDK 1.6 and OpenJDK 1.7
100 runtimes using Byteman.
102 %description runtime-java -l pl.UTF-8
103 Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
104 sondujące procesy Javy działające w środowiskach OpenJDK 1.6 i OpenJDK
105 1.7 przy użyciu Bytemana.
108 Summary: Programmable system-wide instrumentation system - client
109 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - klient
110 Group: Applications/System
111 Requires: %{name}-runtime = %{version}-%{release}
114 Requires: openssh-clients
120 This package provides the components needed to develop systemtap
121 scripts and compile them using a local systemtap-devel or a remote
122 systemtap-server installation, then run them using a local or remote
123 systemtap-runtime. It includes script samples and documentation, and a
124 copy of the tapset library for reference.
126 %description client -l pl.UTF-8
127 Ten pakiet dostarcza komponenty niezbędne do tworzenia skryptów
128 systemtap i kompilowania ich przy użyciu lokalnej instalacji
129 systemtap-devel lub zdalnej instalacji systemtap-server, a następnie
130 uruchamiania ich przy użyciu lokalnej lub zdalnej instalacji
131 systemtap-runtime. Zawiera przykłady skryptów oraz dokumentację, a
132 także kopię biblioteki tapset.
135 Summary: Programmable system-wide instrumentation system - development headers, tools
136 Summary(pl.UTF-8): Programowalny systemowy system oprzyrządowania - pliki nagłówkowe, narzędzia
137 Group: Development/Tools
138 Requires: %{name}-client = %{version}-%{release}
140 Requires: kernel-module-build
144 This package provides the components needed to compile a systemtap
145 script from source form into executable (.ko) forms. It may be
146 installed on a self-contained developer workstation (along with the
147 systemtap-client and systemtap-runtime packages), or on a dedicated
148 remote server (alongside the systemtap-server package). It includes a
149 copy of the standard tapset library and the runtime library C files.
151 %description devel -l pl.UTF-8
152 Ten pakiet dostarcza komponenty niezbędne do kompilowania skryptów
153 systemtap z postaci źródłowej do wykonywalnej (.ko). Może być
154 zainstalowany na samodzielnej stacji roboczej programisty (wraz z
155 pakietami systemtap-client i systemtap-runtime) lub dedykowanym
156 zdalnym serwerze (wraz z pakietem systemtap-server). Zawiera kopię
157 standardowej biblioteki tapset oraz pliki biblioteki uruchomieniowej
161 Summary: SystemTap Initscripts
162 Summary(pl.UTF-8): Skrypty startowe SystemTap
164 Requires(post,preun): /sbin/chkconfig
165 Requires: %{name} = %{version}-%{release}
168 %description initscript
169 SysVinit scripts to launch selected systemtap scripts at system
172 %description initscript -l pl.UTF-8
173 Skrypty SysVinit do uruchamiania wybranych skryptów systemtap w
174 trakcie startu systemu.
177 Summary: Instrumentation System Server
178 Summary(pl.UTF-8): Serwer systemu oprzyrządowania
179 Group: Applications/System
180 Requires(post,preun): /sbin/chkconfig
181 Requires: %{name}-devel = %{version}-%{release}
182 Requires: /bin/mktemp
187 This is the remote script compilation server component of systemtap.
188 It announces itself to nearby clients with avahi (if available), and
189 compiles systemtap scripts to kernel objects on their demand.
191 %description server -l pl.UTF-8
192 Ten pakiet zawiera komponent serwera do zdalnej kompilacji skryptów
193 systemtap. Rozgłasza się pobliskim klientom przy użyciu avahi (jeśli
194 jest dostępny) i na żądanie kompiluje skrypty systemtap do obiektów
198 Summary: Static probe support tools
199 Summary(pl.UTF-8): Narzędzia do obsługi sond statycznych
200 License: GPL v2+ and Public Domain
201 Group: Development/Libraries
203 %description sdt-devel
204 This package includes the <sys/sdt.h> header file used for static
205 instrumentation compiled into userspace programs and libraries, along
206 with the optional dtrace-compatibility preprocessor to process related
207 .d files into tracing-macro-laden .h headers.
209 %description sdt-devel -l pl.UTF-8
210 Ten pakiet zawiera plik nagłówkowy <sys/sdt.h> służący do
211 wkompilowywania statycznego oprzyrządowania do programów i bibliotek
212 przestrzeni użytkownika, wraz z opcjonalnym preprocesorem zgodności z
213 dtrace, który przetwarza pliki .d na pliki nagłówkowe .h z makrami
220 %if "%{_rpmversion}" >= "5.0"
230 --disable-silent-rules \
231 %{?with_crash:--enable-crash} \
232 --enable-docs%{!?with_doc:=no} \
234 --enable-publican%{!?with_publican:=no} \
237 --with-dyninst%{!?with_dyninst:=no} \
238 --with-java=%{?with_java:%{_jvmdir}/java}%{!?with_java:no}
242 rm -rf $RPM_BUILD_ROOT
243 install -d $RPM_BUILD_ROOT{/var/{cache,run}/%{name},%{systemdtmpfilesdir},%{systemdunitdir}} \
244 $RPM_BUILD_ROOT{%{_sysconfdir}/stap-server/conf.d,/etc/{sysconfig,logrotate.d,rc.d/init.d}} \
245 $RPM_BUILD_ROOT/var/log/stap-server
248 DESTDIR=$RPM_BUILD_ROOT
250 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/systemtap.conf
251 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/stap-server.conf
253 # not installed by make
254 install stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
256 install initscript/systemtap $RPM_BUILD_ROOT/etc/rc.d/init.d
257 install initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
259 install initscript/stap-server $RPM_BUILD_ROOT/etc/rc.d/init.d
260 install initscript/config.stap-server $RPM_BUILD_ROOT/etc/sysconfig/stap-server
261 install initscript/logrotate.stap-server $RPM_BUILD_ROOT/etc/logrotate.d/stap-server
262 install stap-server.service $RPM_BUILD_ROOT%{systemdunitdir}
264 install -d $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/{conf.d,script.d}
265 install -d $RPM_BUILD_ROOT/var/lib/stap-server/.systemtap
266 install -d $RPM_BUILD_ROOT/var/log/stap-server
268 %{__mv} $RPM_BUILD_ROOT%{_docdir}/systemtap docs-installed
273 rm -rf $RPM_BUILD_ROOT
276 %defattr(644,root,root,755)
278 %files runtime -f %{name}.lang
279 %defattr(644,root,root,755)
280 %doc AUTHORS NEWS README*
281 %attr(755,root,root) %{_bindir}/stap-merge
282 %attr(755,root,root) %{_bindir}/stap-report
283 %{?with_dyninst:%attr(755,root,root) %{_bindir}/stapdyn}
284 %attr(755,root,root) %{_bindir}/stapsh
285 # XXX: %attr(4754,root,stapusr) staprun ?
286 %attr(755,root,root) %{_bindir}/staprun
287 %dir %{_libdir}/%{name}
288 %attr(755,root,root) %{_libdir}/%{name}/stap-authorize-cert
289 %attr(755,root,root) %{_libdir}/%{name}/stapio
290 %{?with_crash:%attr(755,root,root) %{_libdir}/%{name}/staplog.so}
291 %{_mandir}/man1/stap-merge.1*
292 %{_mandir}/man3/function::*.3stap*
293 %{_mandir}/man3/probe::*.3stap*
294 %{_mandir}/man3/stapex.3stap*
295 %{_mandir}/man3/stapfuncs.3stap*
296 %{_mandir}/man3/stapprobes.3stap*
297 %{_mandir}/man3/stapvars.3stap*
298 %{_mandir}/man3/tapset::*.3stap*
299 %{_mandir}/man7/error::*.7stap*
300 %{_mandir}/man7/stappaths.7*
301 %{_mandir}/man7/warning::debuginfo.7stap*
302 %{_mandir}/man8/staprun.8*
306 %defattr(644,root,root,755)
307 %attr(755,root,root) %{_libdir}/%{name}/stapbm
308 %attr(755,root,root) %{_libdir}/%{name}/libHelperSDT_*.so
309 %{_libdir}/%{name}/HelperSDT.jar
313 %defattr(644,root,root,755)
314 %doc docs-installed/examples %{?with_docs:docs-installed/{tapsets,langref.pdf,tutorial.pdf}}
315 %attr(755,root,root) %{_bindir}/stap
316 %attr(755,root,root) %{_bindir}/stap-prep
317 %dir %{_datadir}/%{name}
318 %{_datadir}/%{name}/tapset
319 %{_mandir}/man1/stap.1*
320 %{_mandir}/man1/stap-prep.1*
323 %defattr(644,root,root,755)
324 %{_datadir}/%{name}/runtime
327 %defattr(644,root,root,755)
328 %doc initscript/README.systemtap
329 %attr(754,root,root) /etc/rc.d/init.d/systemtap
330 %dir %{_sysconfdir}/systemtap
331 %dir %{_sysconfdir}/systemtap/conf.d
332 %dir %{_sysconfdir}/systemtap/script.d
333 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemtap/config
334 %{systemdtmpfilesdir}/systemtap.conf
335 %dir /var/cache/%{name}
336 %dir /var/run/%{name}
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_bindir}/stap-server
341 %attr(755,root,root) %{_libdir}/%{name}/stap-env
342 %attr(755,root,root) %{_libdir}/%{name}/stap-gen-cert
343 %attr(755,root,root) %{_libdir}/%{name}/stap-serverd
344 %attr(755,root,root) %{_libdir}/%{name}/stap-sign-module
345 %attr(755,root,root) %{_libdir}/%{name}/stap-start-server
346 %attr(755,root,root) %{_libdir}/%{name}/stap-stop-server
347 %dir %{_sysconfdir}/stap-server
348 %dir %{_sysconfdir}/stap-server/conf.d
349 %attr(754,root,root) /etc/rc.d/init.d/stap-server
350 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/stap-server
351 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/stap-server
352 %{systemdunitdir}/stap-server.service
353 %{systemdtmpfilesdir}/stap-server.conf
354 # TODO: create user/group
355 #%attr(750,stap-server,stap-server) %dir /var/lib/stap-server
356 #%attr(700,stap-server,stap-server) %dir /var/lib/stap-server/.systemtap
357 #%attr(755,stap-server,stap-server) %dir /var/log/stap-server
358 #%attr(755,stap-server,stap-server) %dir /var/run/stap-server
359 %{_mandir}/man8/stap-server.8*
362 %defattr(644,root,root,755)
363 %attr(755,root,root) %{_bindir}/dtrace
364 %{_includedir}/sys/sdt.h
365 %{_includedir}/sys/sdt-config.h
366 %{_mandir}/man1/dtrace.1*