]> sourceware.org Git - systemtap.git/blame - systemtap.spec
Create systemtap-client and systemtap-server sub rpms
[systemtap.git] / systemtap.spec
CommitLineData
4040e9ea
FCE
1%{!?release: %define release 1}
2%{!?with_sqllite: %define with_sqlite 1}
3%{!?with_docs: %define with_docs 1}
4%{!?with_crash: %define with_crash 0}
5%{!?with_bundled_elfutils: %define with_bundled_elfutils 0}
6%{!?elfutils_version: %define elfutils_version 0.127}
1074f79d 7
a2c9eba7 8Name: systemtap
bc44995a
DS
9# for version, see also configure.ac
10Version: 0.7.1
1074f79d 11Release: %{release}%{?dist}
7d838f63 12Summary: Instrumentation System
7d838f63 13Group: Development/System
6a1cd8a7 14License: GPLv2+
a2c9eba7 15URL: http://sourceware.org/systemtap/
47b0655b 16Source: ftp://sourceware.org/pub/%{name}/releases/%{name}-%{version}.tar.gz
a2c9eba7 17
37b99e78 18BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
a2c9eba7
RM
19
20Requires: kernel >= 2.6.9-11
98aab489 21BuildRequires: libcap-devel
a87d23e3 22%if %{with_sqlite}
c3a3c0c9 23BuildRequires: sqlite-devel
d8c3d602
WC
24Requires: sqlite
25%endif
a87d23e3 26%if %{with_crash}
d2995e6f 27BuildRequires: crash-devel zlib-devel
1e0716d3 28%endif
4698b0a8
FCE
29# Requires: kernel-devel
30# or is that kernel-smp-devel? kernel-hugemem-devel?
aab2b35f 31Requires: gcc make
9ae6172f 32# Suggest: kernel-debuginfo
a63a95dc 33Requires: systemtap-runtime = %{version}-%{release}
7d838f63 34
a87d23e3 35%if %{with_bundled_elfutils}
7d838f63
MH
36Source1: elfutils-%{elfutils_version}.tar.gz
37Patch1: elfutils-portability.patch
38%define setup_elfutils -a1
a2c9eba7
RM
39%else
40BuildRequires: elfutils-devel >= %{elfutils_version}
7d838f63 41%endif
a87d23e3
DS
42%if %{with_crash}
43Requires: crash
44%endif
7d838f63 45
465e8fbf
FCE
46%if %{with_docs}
47BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf latex2html
48%endif
49
7d838f63 50%description
a2c9eba7
RM
51SystemTap is an instrumentation system for systems running Linux 2.6.
52Developers can write instrumentation to collect data on the operation
53of the system.
7d838f63 54
a63a95dc
DS
55%package runtime
56Summary: Instrumentation System Runtime
57Group: Development/System
6a1cd8a7 58License: GPLv2+
a63a95dc
DS
59URL: http://sourceware.org/systemtap/
60Requires: kernel >= 2.6.9-11
378a5245 61Requires(pre): shadow-utils
a63a95dc
DS
62
63%description runtime
64SystemTap runtime is the runtime component of an instrumentation
65system for systems running Linux 2.6. Developers can write
66instrumentation to collect data on the operation of the system.
67
8f3c45cc
FCE
68%package testsuite
69Summary: Instrumentation System Testsuite
70Group: Development/System
71License: GPLv2+
72URL: http://sourceware.org/systemtap/
0fda8ffb 73Requires: systemtap dejagnu
8f3c45cc
FCE
74
75%description testsuite
76The testsuite allows testing of the entire SystemTap toolchain
77without having to rebuild from sources.
78
d9d14e20
DB
79%package client
80Summary: Instrumentation System Client
81Group: Development/System
82License: GPLv2+
83URL: http://sourceware.org/systemtap/
84Requires: systemtap-runtime = %{version}-%{release}
85Requires: avahi-tools nc mktemp grep sed tar which coreutils util-linux-ng
86
87%description client
88SystemTap client is the client component of an instrumentation
89system for systems running Linux 2.6. Developers can write
90instrumentation to collect data on the operation of the system.
91
92%package server
93Summary: Instrumentation System Server
94Group: Development/System
95License: GPLv2+
96URL: http://sourceware.org/systemtap/
97Requires: systemtap
98Requires: avahi-tools nc net-tools gawk mktemp grep sed tar coreutils util-linux-ng
99
100%description server
101SystemTap server is the server component of an instrumentation
102system for systems running Linux 2.6. Developers can write
103instrumentation to collect data on the operation of the system.
104
7d838f63 105%prep
a2c9eba7
RM
106%setup -q %{?setup_elfutils}
107
a87d23e3 108%if %{with_bundled_elfutils}
7d838f63
MH
109cd elfutils-%{elfutils_version}
110%patch1 -p1
a2c9eba7
RM
111sleep 1
112find . \( -name Makefile.in -o -name aclocal.m4 \) -print | xargs touch
113sleep 1
114find . \( -name configure -o -name config.h.in \) -print | xargs touch
7d838f63
MH
115cd ..
116%endif
117
118%build
a2c9eba7 119
a87d23e3 120%if %{with_bundled_elfutils}
7d838f63 121# Build our own copy of elfutils.
4d9087fc 122%define elfutils_config --with-elfutils=elfutils-%{elfutils_version}
a2c9eba7
RM
123
124# We have to prevent the standard dependency generation from identifying
125# our private elfutils libraries in our provides and requires.
126%define _use_internal_dependency_generator 0
127%define filter_eulibs() /bin/sh -c "%{1} | sed '/libelf/d;/libdw/d;/libebl/d'"
128%define __find_provides %{filter_eulibs /usr/lib/rpm/find-provides}
129%define __find_requires %{filter_eulibs /usr/lib/rpm/find-requires}
4dbd685d
RM
130
131# This will be needed for running stap when not installed, for the test suite.
132%define elfutils_mflags LD_LIBRARY_PATH=`pwd`/lib-elfutils
7d838f63
MH
133%endif
134
9921a199 135# Enable/disable the sqlite coverage testing support
a87d23e3 136%if %{with_sqlite}
9921a199
DS
137%define sqlite_config --enable-sqlite
138%else
139%define sqlite_config --disable-sqlite
d8c3d602
WC
140%endif
141
a87d23e3
DS
142# Enable/disable the crash extension
143%if %{with_crash}
144%define crash_config --enable-crash
145%else
146%define crash_config --disable-crash
147%endif
148
465e8fbf
FCE
149%if %{with_docs}
150%define docs_config --enable-docs
151%else
152%define docs_config --disable-docs
153%endif
154
155
156
157%configure %{?elfutils_config} %{sqlite_config} %{crash_config} %{docs_config}
a2c9eba7 158make %{?_smp_mflags}
2a4b42eb 159
ec4d1558
MW
160%install
161rm -rf ${RPM_BUILD_ROOT}
162make DESTDIR=$RPM_BUILD_ROOT install
163
c256c4a6
MW
164# We want the examples in the special doc dir, not the build install dir.
165# We build it in place and then move it away so it doesn't get installed
166# twice. rpm can specify itself where the (versioned) docs go with the
167# %doc directive.
ec4d1558
MW
168mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/examples examples
169
d2995e6f
FCE
170# Fix paths in the example & testsuite scripts
171find examples testsuite -type f -name '*.stp' -print0 | xargs -0 sed -i -r -e '1s@^#!.+stap@#!%{_bindir}/stap@'
7d838f63 172
c63a6b9d 173# To avoid perl dependency, make perl sample script non-executable
164567d1 174#chmod -x examples/samples/kmalloc-top
c63a6b9d 175
8f3c45cc 176# Because "make install" may install staprun with mode 04111, the
98aab489
DS
177# post-processing programs rpmbuild runs won't be able to read it.
178# So, we change permissions so that they can read it. We'll set the
179# permissions back to 04111 in the %files section below.
180chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun
181
8f3c45cc
FCE
182# Copy over the testsuite
183cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap
184
4040e9ea 185%if %{with_docs}
7fe437e6 186# We want the manuals in the special doc dir, not the generic doc install dir.
c256c4a6
MW
187# We build it in place and then move it away so it doesn't get installed
188# twice. rpm can specify itself where the (versioned) docs go with the
189# %doc directive.
7fe437e6
MW
190mkdir docs.installed
191mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/*.pdf docs.installed/
4040e9ea 192%endif
7fe437e6 193
7d838f63
MH
194%clean
195rm -rf ${RPM_BUILD_ROOT}
196
378a5245 197%pre runtime
efc4bf9a
DS
198getent group stapdev >/dev/null || groupadd -r stapdev
199getent group stapusr >/dev/null || groupadd -r stapusr
200exit 0
98aab489 201
7d838f63
MH
202%files
203%defattr(-,root,root)
a2c9eba7 204
94cfa802 205%doc README AUTHORS NEWS COPYING examples
465e8fbf 206%if %{with_docs}
7fe437e6 207%doc docs.installed/*.pdf
465e8fbf 208%endif
a2c9eba7
RM
209
210%{_bindir}/stap
4dbd685d 211%{_mandir}/man1/*
ba4a90fd 212%{_mandir}/man5/*
a2c9eba7 213
bcdfb17d
DS
214%dir %{_datadir}/%{name}
215%{_datadir}/%{name}/runtime
216%{_datadir}/%{name}/tapset
a2c9eba7 217
a87d23e3 218%if %{with_bundled_elfutils} || %{with_crash}
7d838f63 219%dir %{_libdir}/%{name}
a87d23e3
DS
220%endif
221%if %{with_bundled_elfutils}
8f3c45cc 222%{_libdir}/%{name}/lib*.so*
7d838f63 223%endif
a87d23e3
DS
224%if %{with_crash}
225%{_libdir}/%{name}/staplog.so*
226%endif
a2c9eba7 227
a87d23e3 228%files runtime
a63a95dc 229%defattr(-,root,root)
98aab489 230%attr(4111,root,root) %{_bindir}/staprun
bcdfb17d 231%{_libexecdir}/%{name}
d9d14e20 232%{_mandir}/man8/staprun.8
be168105
DS
233
234%doc README AUTHORS NEWS COPYING
7d838f63 235
8f3c45cc
FCE
236%files testsuite
237%defattr(-,root,root)
bcdfb17d 238%{_datadir}/%{name}/testsuite
8f3c45cc 239
d9d14e20
DB
240%files client
241%defattr(-,root,root)
242%{_bindir}/stap-client
243%{_bindir}/stap-find-servers
244%{_mandir}/man8/stap-server.8
245
246%files server
247%defattr(-,root,root)
248%{_bindir}/stap-server
249%{_bindir}/stap-serverd
250%{_bindir}/stap-start-server
251%{_bindir}/stap-find-servers
252%{_bindir}/stap-find-or-start-server
253%{_bindir}/stap-stop-server
254%{_mandir}/man8/stap-server.8
8f3c45cc 255
7d838f63 256%changelog
cfaa068c
FCE
257* Tue Jul 15 2008 Frank Ch. Eigler <fche@redhat.com> - 0.7-1
258- Upstream release.
259
d2995e6f
FCE
260* Fri Feb 1 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-3
261- Add zlib-devel to buildreq; missing from crash-devel
262- Process testsuite .stp files for #!stap->#!/usr/bin/stap
263
bfe2b4ab 264* Fri Jan 18 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-1
1e0716d3
FCE
265- Add crash-devel buildreq to build staplog.so crash(8) module.
266- Many robustness & functionality improvements:
267
47b0655b
WC
268* Wed Dec 5 2007 Will Cohen <wcohen@redhat.com> - 0.6-2
269- Correct Source to point to location contain code.
270
98aab489
DS
271* Thu Aug 9 2007 David Smith <dsmith@redhat.com> - 0.6-1
272- Bumped version, added libcap-devel BuildRequires.
273
d8c3d602
WC
274* Wed Jul 11 2007 Will Cohen <wcohen@redhat.com> - 0.5.14-2
275- Fix Requires and BuildRequires for sqlite.
276
c1edaa30
FCE
277* Tue Jul 2 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.14-1
278- Many robustness improvements: 1117, 1134, 1305, 1307, 1570, 1806,
279 2033, 2116, 2224, 2339, 2341, 2406, 2426, 2438, 2583, 3037,
280 3261, 3282, 3331, 3428 3519, 3545, 3625, 3648, 3880, 3888, 3911,
281 3952, 3965, 4066, 4071, 4075, 4078, 4081, 4096, 4119, 4122, 4127,
282 4146, 4171, 4179, 4183, 4221, 4224, 4254, 4281, 4319, 4323, 4326,
283 4329, 4332, 4337, 4415, 4432, 4444, 4445, 4458, 4467, 4470, 4471,
284 4518, 4567, 4570, 4579, 4589, 4609, 4664
285
aa384dcd
FCE
286* Mon Mar 26 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.13-1
287- An emergency / preliminary refresh, mainly for compatibility
288 with 2.6.21-pre kernels.
2a4b42eb 289
31982bd2
FCE
290* Mon Jan 1 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.12-1
291- Many changes, see NEWS file.
292
a63a95dc
DS
293* Tue Sep 26 2006 David Smith <dsmith@redhat.com> - 0.5.10-1
294- Added 'systemtap-runtime' subpackage.
295
d65d6b27
RM
296* Wed Jul 19 2006 Roland McGrath <roland@redhat.com> - 0.5.9-1
297- PRs 2669, 2913
298
c1d6a343
RM
299* Fri Jun 16 2006 Roland McGrath <roland@redhat.com> - 0.5.8-1
300- PRs 2627, 2520, 2228, 2645
301
f6291560 302* Fri May 5 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.7-1
6f231a27
FCE
303- PRs 2511 2453 2307 1813 1944 2497 2538 2476 2568 1341 2058 2220 2437
304 1326 2014 2599 2427 2438 2465 1930 2149 2610 2293 2634 2506 2433
305
611010bf
RM
306* Tue Apr 4 2006 Roland McGrath <roland@redhat.com> - 0.5.5-1
307- Many changes, affected PRs include: 2068, 2293, 1989, 2334,
308 1304, 2390, 2425, 953.
309
be9923ac
FCE
310* Wed Feb 1 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.4-1
311- PRs 1916, 2205, 2142, 2060, 1379
312
db6a8a10
RM
313* Mon Jan 16 2006 Roland McGrath <roland@redhat.com> - 0.5.3-1
314- Many changes, affected PRs include: 2056, 1144, 1379, 2057,
315 2060, 1972, 2140, 2148
316
dcf0c541
RM
317* Mon Dec 19 2005 Roland McGrath <roland@redhat.com> - 0.5.2-1
318- Fixed build with gcc 4.1, various tapset changes.
319
4d9087fc
RM
320* Wed Dec 7 2005 Roland McGrath <roland@redhat.com> - 0.5.1-1
321- elfutils update, build changes
322
e94c050c 323* Fri Dec 02 2005 Frank Ch. Eigler <fche@redhat.com> - 0.5-1
7d9e8974
FCE
324- Many fixes and improvements: 1425, 1536, 1505, 1380, 1329, 1828, 1271,
325 1339, 1340, 1345, 1837, 1917, 1903, 1336, 1868, 1594, 1564, 1276, 1295
326
ae65ed5c
RM
327* Mon Oct 31 2005 Roland McGrath <roland@redhat.com> - 0.4.2-1
328- Many fixes and improvements: PRs 1344, 1260, 1330, 1295, 1311, 1368,
329 1182, 1131, 1332, 1366, 1456, 1271, 1338, 1482, 1477, 1194.
330
66bb48fd
RM
331* Wed Sep 14 2005 Roland McGrath <roland@redhat.com> - 0.4.1-1
332- Many fixes and improvements since 0.2.2; relevant PRs include:
333 1122, 1134, 1155, 1172, 1174, 1175, 1180, 1186, 1187, 1191, 1193, 1195,
334 1197, 1205, 1206, 1209, 1213, 1244, 1257, 1258, 1260, 1265, 1268, 1270,
335 1289, 1292, 1306, 1335, 1257
336
323904e0
FCE
337* Wed Sep 7 2005 Frank Ch. Eigler <fche@redhat.com>
338- Bump version.
339
03f23d0f 340* Wed Aug 16 2005 Frank Ch. Eigler <fche@redhat.com>
83ff1cf9
FCE
341- Bump version.
342
2205d115
MH
343* Wed Aug 3 2005 Martin Hunt <hunt@redhat.com> - 0.2.2-1
344- Add directory /var/cache/systemtap
345- Add stp_check to /usr/libexec/systemtap
346
351e76d3
RM
347* Wed Aug 3 2005 Roland McGrath <roland@redhat.com> - 0.2.1-1
348- New version 0.2.1, various fixes.
349
4dbd685d
RM
350* Fri Jul 29 2005 Roland McGrath <roland@redhat.com> - 0.2-1
351- New version 0.2, requires elfutils 0.111
352
a2c9eba7
RM
353* Mon Jul 25 2005 Roland McGrath <roland@redhat.com>
354- Clean up spec file, build bundled elfutils.
355
7d838f63
MH
356* Thu Jul 21 2005 Martin Hunt <hunt@redhat.com>
357- Set Version to use version from autoconf.
358- Fix up some of the path names.
a2c9eba7
RM
359- Add Requires and BuildRequires.
360
361* Wed Jul 19 2005 Will Cohen <wcohen@redhat.com>
7d838f63 362- Initial creation of RPM.
This page took 0.098697 seconds and 5 git commands to generate.