]> git.pld-linux.org Git - packages/systemtap.git/blob - systemtap.spec
- build with dyninst support (where available)
[packages/systemtap.git] / systemtap.spec
1 #
2 # Conditional build:
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
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.2.1
19 Release:        1
20 License:        GPL v2+
21 Group:          Base
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
43 %endif
44 BuildRequires:  libstdc++-devel
45 BuildRequires:  mysql-devel
46 BuildRequires:  nss-devel >= 3
47 BuildRequires:  rpm-devel
48 BuildRequires:  sqlite3-devel >= 3
49 BuildRequires:  xmlto
50 %if %{with doc}
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
57 %endif
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)
62
63 %description
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.
68
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.
74
75 %package runtime
76 Summary:        Programmable system-wide instrumentation system - runtime
77 Summary(pl.UTF-8):      Programowalny systemowy system oprzyrządowania - środowisko uruchomieniowe
78 Group:          Applications/System
79
80 %description runtime
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.
84
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.
89
90 %package runtime-java
91 Summary:        SystemTap Java runtime support
92 Summary(pl.UTF-8):      Obsługa Javy dla środowiska uruchomieniowego SystemTap
93 Group:          Libraries
94 Requires:       %{name}-runtime = %{version}-%{release}
95 Requires:       byteman > 2.0
96
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.
101
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.
106
107 %package client
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}
112 Requires:       coreutils
113 Requires:       grep
114 Requires:       openssh-clients
115 Requires:       sed
116 Requires:       unzip
117 Requires:       zip
118
119 %description client
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.
125
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.
133
134 %package devel
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}
139 Requires:       gcc
140 Requires:       kernel-module-build
141 Requires:       make
142
143 %description devel
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.
150
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
158 C.
159
160 %package initscript
161 Summary:        SystemTap Initscripts
162 Summary(pl.UTF-8):      Skrypty startowe SystemTap
163 Group:          Base
164 Requires(post,preun):   /sbin/chkconfig
165 Requires:       %{name} = %{version}-%{release}
166 Requires:       rc-scripts
167
168 %description initscript
169 SysVinit scripts to launch selected systemtap scripts at system
170 startup.
171
172 %description initscript -l pl.UTF-8
173 Skrypty SysVinit do uruchamiania wybranych skryptów systemtap w
174 trakcie startu systemu.
175
176 %package server
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
183 Requires:       unzip
184 Requires:       zip
185
186 %description server
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.
190
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
195 jądra.
196
197 %package sdt-devel
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
202
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.
208
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
214 śledzącymi.
215
216 %prep
217 %setup -q
218 %patch0 -p1
219 %patch1 -p1
220 %if "%{_rpmversion}" >= "5.0"
221 %patch2 -p1
222 %endif
223
224 %build
225 %{__aclocal}
226 %{__autoconf}
227 %{__autoheader}
228 %{__automake}
229 %configure \
230         --disable-silent-rules \
231         %{?with_crash:--enable-crash} \
232         --enable-docs%{!?with_doc:=no} \
233         --enable-pie \
234         --enable-publican%{!?with_publican:=no} \
235         --enable-server \
236         --enable-sqlite \
237         --with-dyninst%{!?with_dyninst:=no} \
238         --with-java=%{?with_java:%{_jvmdir}/java}%{!?with_java:no}
239 %{__make}
240
241 %install
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
246
247 %{__make} install \
248         DESTDIR=$RPM_BUILD_ROOT
249
250 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/systemtap.conf
251 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/stap-server.conf
252
253 # not installed by make
254 install stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
255
256 install initscript/systemtap $RPM_BUILD_ROOT/etc/rc.d/init.d
257 install initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
258
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}
263
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
267
268 %{__mv} $RPM_BUILD_ROOT%{_docdir}/systemtap docs-installed
269
270 %find_lang %{name}
271
272 %clean
273 rm -rf $RPM_BUILD_ROOT
274
275 %files
276 %defattr(644,root,root,755)
277
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*
303
304 %if %{with java}
305 %files runtime-java
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
310 %endif
311
312 %files client
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*
321
322 %files devel
323 %defattr(644,root,root,755)
324 %{_datadir}/%{name}/runtime
325
326 %files initscript
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}
337
338 %files server
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*
360
361 %files sdt-devel
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*
This page took 0.062238 seconds and 3 git commands to generate.