]> TLD Linux GIT Repositories - packages/systemtap.git/blob - systemtap.spec
- merged 2.7 from PLD, doc still broken
[packages/systemtap.git] / systemtap.spec
1 #
2 # Conditional build:
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
8
9 %ifnarch %{ix86} %{x8664} alpha arm ia64 ppc64 s390 s390x
10 %undefine       with_crash
11 %endif
12 %ifnarch %{ix86} %{x8664} ppc ppc64
13 %undefine       with_dyninst
14 %endif
15 Summary:        Instrumentation System
16 Summary(pl.UTF-8):      System oprzyrządowania
17 Name:           systemtap
18 Version:        2.7
19 Release:        1
20 License:        GPL v2+
21 Group:          Base
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
40 %if %{with java}
41 BuildRequires:  jdk
42 BuildRequires:  rpm-javaprov
43 %endif
44 %if %{with dyninst} || %{with java}
45 BuildRequires:  libselinux-devel
46 %endif
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
56 BuildRequires:  xmlto
57 %if %{with doc}
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
66 %endif
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)
71
72 %description
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.
77
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.
83
84 %package runtime
85 Summary:        Programmable system-wide instrumentation system - runtime
86 Summary(pl.UTF-8):      Programowalny systemowy system oprzyrządowania - środowisko uruchomieniowe
87 Group:          Applications/System
88
89 %description runtime
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.
93
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.
98
99 %package runtime-java
100 Summary:        SystemTap Java runtime support
101 Summary(pl.UTF-8):      Obsługa Javy dla środowiska uruchomieniowego SystemTap
102 Group:          Libraries
103 Requires:       %{name}-runtime = %{version}-%{release}
104 Requires:       byteman > 2.0
105
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.
110
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.
115
116 %package client
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}
121 Requires:       coreutils
122 Requires:       grep
123 Requires:       libvirt >= 1.0.2
124 Requires:       openssh-clients
125 Requires:       sed
126 Requires:       unzip
127 Requires:       zip
128
129 %description client
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.
135
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.
143
144 %package devel
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}
149 Requires:       gcc
150 Requires:       kernel-module-build
151 Requires:       make
152
153 %description devel
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.
160
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
168 C.
169
170 %package initscript
171 Summary:        SystemTap Initscripts
172 Summary(pl.UTF-8):      Skrypty startowe SystemTap
173 Group:          Base
174 Requires(post,preun):   /sbin/chkconfig
175 Requires:       %{name} = %{version}-%{release}
176 Requires:       rc-scripts
177
178 %description initscript
179 SysVinit scripts to launch selected systemtap scripts at system
180 startup.
181
182 %description initscript -l pl.UTF-8
183 Skrypty SysVinit do uruchamiania wybranych skryptów systemtap w
184 trakcie startu systemu.
185
186 %package server
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
193 Requires:       unzip
194 Requires:       zip
195
196 %description server
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.
200
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
205 jądra.
206
207 %package sdt-devel
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
212
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.
218
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
224 śledzącymi.
225
226 %package doc
227 Summary:        SystemTap guides and tutorials
228 Summary(pl.UTF-8):      Przewodniki i dokumentacja wprowadzająca do SystemTap
229 Group:          Documentation
230
231 %description doc
232 SystemTap guides and tutorials.
233
234 %description doc -l pl.UTF-8
235 Przewodniki i dokumentacja wprowadzająca do SystemTap.
236
237 %prep
238 %setup -q
239 %patch0 -p1
240 %patch1 -p1
241 %patch4 -p1
242 %if "%{_rpmversion}" >= "5.0"
243 %patch2 -p1
244 %endif
245
246 %build
247 %{__gettextize}
248 %{__aclocal}
249 %{__autoconf}
250 %{__autoheader}
251 %{__automake}
252 %configure \
253         --disable-silent-rules \
254         %{?with_crash:--enable-crash} \
255         --enable-docs%{!?with_doc:=no} \
256         --enable-pie \
257         --enable-publican%{!?with_publican:=no} \
258         --enable-server \
259         --enable-sqlite \
260         --with-dyninst%{!?with_dyninst:=no} \
261         --with-java=%{?with_java:%{_jvmdir}/java}%{!?with_java:no}
262 %{__make}
263
264 %install
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
269
270 %{__make} install \
271         DESTDIR=$RPM_BUILD_ROOT
272
273 # not installed by make
274 install -p stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
275
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
278
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
282
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
286
287 %if %{with doc}
288 install -d $RPM_BUILD_ROOT%{_examplesdir}
289 mv $RPM_BUILD_ROOT{%{_docdir}/%{name}/examples,%{_examplesdir}/%{name}-client-%{version}}
290 %endif
291
292 %{__mv} $RPM_BUILD_ROOT%{_docdir}/systemtap docs-installed
293
294 %find_lang %{name}
295
296 %clean
297 rm -rf $RPM_BUILD_ROOT
298
299 %files
300 %defattr(644,root,root,755)
301
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*
321 %if %{with doc}
322 %{_mandir}/man3/function::*.3stap*
323 %{_mandir}/man3/probe::*.3stap*
324 %{_mandir}/man3/tapset::*.3stap*
325 %endif
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*
334
335 %if %{with java}
336 %files runtime-java
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
341 %endif
342
343 %files client
344 %defattr(644,root,root,755)
345 %if %{with doc}
346 %doc docs-installed/{tapsets,langref.pdf,tutorial.pdf}
347 %{_examplesdir}/%{name}-client-%{version}
348 %endif
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*
357
358 %files devel
359 %defattr(644,root,root,755)
360 %{_datadir}/%{name}/runtime
361
362 %files initscript
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}
371
372 %files server
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*
392
393 %files sdt-devel
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*
399
400 %if %{with publican}
401 %files doc
402 %defattr(644,root,root,755)
403 %doc doc/{langref,tutorial}.pdf doc/beginners/SystemTap_Beginners_Guide.pdf
404 %endif