systemtap/systemtap.spec

315 lines
9.4 KiB
RPMSpec
Raw Normal View History

2008-03-27 19:55:02 +00:00
%define release 1
%define with_sqlite 1
%define with_docs 1
%define with_crash 0
%define with_bundled_elfutils 0
2008-07-15 16:45:18 +00:00
%define elfutils_version 0.127
2007-12-05 17:16:04 +00:00
Name: systemtap
2008-07-15 16:45:18 +00:00
Version: 0.7
2006-07-19 22:32:14 +00:00
Release: %{release}%{?dist}
Summary: Instrumentation System
Group: Development/System
2007-12-05 17:16:04 +00:00
License: GPLv2+
URL: http://sourceware.org/systemtap/
2008-01-18 19:32:21 +00:00
Source: ftp://sourceware.org/pub/%{name}/releases/%{name}-%{version}.tar.gz
2007-03-26 16:09:36 +00:00
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: kernel >= 2.6.9-11
2007-12-05 17:16:04 +00:00
BuildRequires: libcap-devel
2008-03-27 19:55:02 +00:00
%if %{with_sqlite}
2007-08-21 21:37:54 +00:00
BuildRequires: sqlite-devel
2007-12-05 17:16:04 +00:00
Requires: sqlite
%endif
2008-03-27 19:55:02 +00:00
%if %{with_crash}
BuildRequires: crash-devel zlib-devel
2008-01-18 19:32:21 +00:00
%endif
2006-02-02 15:59:35 +00:00
# Requires: kernel-devel
# or is that kernel-smp-devel? kernel-hugemem-devel?
2005-08-26 19:26:41 +00:00
Requires: gcc make
2005-09-07 21:28:32 +00:00
# Suggest: kernel-debuginfo
2006-10-20 00:13:13 +00:00
Requires: systemtap-runtime = %{version}-%{release}
2008-03-27 19:55:02 +00:00
%if %{with_bundled_elfutils}
Source1: elfutils-%{elfutils_version}.tar.gz
Patch1: elfutils-portability.patch
%define setup_elfutils -a1
%else
BuildRequires: elfutils-devel >= %{elfutils_version}
%endif
2008-03-27 19:55:02 +00:00
%if %{with_crash}
Requires: crash
%endif
%if %{with_docs}
BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf latex2html
%endif
%description
SystemTap is an instrumentation system for systems running Linux 2.6.
Developers can write instrumentation to collect data on the operation
of the system.
2006-10-20 00:13:13 +00:00
%package runtime
Summary: Instrumentation System Runtime
Group: Development/System
2007-12-05 17:16:04 +00:00
License: GPLv2+
2006-10-20 00:13:13 +00:00
URL: http://sourceware.org/systemtap/
Requires: kernel >= 2.6.9-11
2008-03-27 19:55:02 +00:00
Requires(pre): shadow-utils
2006-10-20 00:13:13 +00:00
%description runtime
SystemTap runtime is the runtime component of an instrumentation
system for systems running Linux 2.6. Developers can write
instrumentation to collect data on the operation of the system.
2007-12-05 17:16:04 +00:00
%package testsuite
Summary: Instrumentation System Testsuite
Group: Development/System
License: GPLv2+
URL: http://sourceware.org/systemtap/
Requires: systemtap dejagnu
%description testsuite
The testsuite allows testing of the entire SystemTap toolchain
without having to rebuild from sources.
%prep
%setup -q %{?setup_elfutils}
2008-03-27 19:55:02 +00:00
%if %{with_bundled_elfutils}
cd elfutils-%{elfutils_version}
%patch1 -p1
sleep 1
find . \( -name Makefile.in -o -name aclocal.m4 \) -print | xargs touch
sleep 1
find . \( -name configure -o -name config.h.in \) -print | xargs touch
cd ..
%endif
%build
2008-03-27 19:55:02 +00:00
%if %{with_bundled_elfutils}
# Build our own copy of elfutils.
2005-12-12 10:16:46 +00:00
%define elfutils_config --with-elfutils=elfutils-%{elfutils_version}
# We have to prevent the standard dependency generation from identifying
# our private elfutils libraries in our provides and requires.
%define _use_internal_dependency_generator 0
%define filter_eulibs() /bin/sh -c "%{1} | sed '/libelf/d;/libdw/d;/libebl/d'"
%define __find_provides %{filter_eulibs /usr/lib/rpm/find-provides}
%define __find_requires %{filter_eulibs /usr/lib/rpm/find-requires}
2005-07-29 08:40:21 +00:00
# This will be needed for running stap when not installed, for the test suite.
%define elfutils_mflags LD_LIBRARY_PATH=`pwd`/lib-elfutils
%endif
2008-03-27 19:55:02 +00:00
# Enable/disable the sqlite coverage testing support
%if %{with_sqlite}
%define sqlite_config --enable-sqlite
%else
%define sqlite_config --disable-sqlite
%endif
# Enable/disable the crash extension
%if %{with_crash}
%define crash_config --enable-crash
%else
%define crash_config --disable-crash
%endif
%if %{with_docs}
%define docs_config --enable-docs
%else
%define docs_config --disable-docs
2007-12-05 17:16:04 +00:00
%endif
2008-03-27 19:55:02 +00:00
%configure %{?elfutils_config} %{sqlite_config} %{crash_config} %{docs_config}
2007-08-21 21:37:54 +00:00
make %{?_smp_mflags}
2008-07-15 16:45:18 +00:00
%install
rm -rf ${RPM_BUILD_ROOT}
make DESTDIR=$RPM_BUILD_ROOT install
# We want the examples in the special doc dir, not the generoc doc install dir.
mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/examples examples
# Fix paths in the example & testsuite scripts
find examples testsuite -type f -name '*.stp' -print0 | xargs -0 sed -i -r -e '1s@^#!.+stap@#!%{_bindir}/stap@'
2005-07-29 08:40:21 +00:00
2007-03-26 16:09:36 +00:00
# To avoid perl dependency, make perl sample script non-executable
chmod -x examples/samples/kmalloc-top
2007-12-05 17:16:04 +00:00
# Because "make install" may install staprun with mode 04111, the
# post-processing programs rpmbuild runs won't be able to read it.
# So, we change permissions so that they can read it. We'll set the
# permissions back to 04111 in the %files section below.
chmod 755 $RPM_BUILD_ROOT%{_bindir}/staprun
# Copy over the testsuite
cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap
2008-07-15 16:45:18 +00:00
#%if %{with_docs}
# We want the manuals in the special doc dir, not the generic doc install dir.
mkdir docs.installed
mv $RPM_BUILD_ROOT%{_datadir}/doc/systemtap/*.pdf docs.installed/
#%endif
%clean
rm -rf ${RPM_BUILD_ROOT}
2008-03-27 19:55:02 +00:00
%pre runtime
2007-12-05 17:16:04 +00:00
getent group stapdev >/dev/null || groupadd -r stapdev
getent group stapusr >/dev/null || groupadd -r stapusr
exit 0
%files
%defattr(-,root,root)
2007-01-23 19:28:45 +00:00
%doc README AUTHORS NEWS COPYING examples
2008-03-27 19:55:02 +00:00
%if %{with_docs}
2008-07-15 16:45:18 +00:00
%doc docs.installed/*.pdf
2008-03-27 19:55:02 +00:00
%endif
%{_bindir}/stap
2005-07-29 08:40:21 +00:00
%{_mandir}/man1/*
2005-09-07 21:28:32 +00:00
%{_mandir}/man5/*
2008-03-27 19:55:02 +00:00
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/runtime
%{_datadir}/%{name}/tapset
2008-03-27 19:55:02 +00:00
%if %{with_bundled_elfutils} || %{with_crash}
%dir %{_libdir}/%{name}
2008-03-27 19:55:02 +00:00
%endif
%if %{with_bundled_elfutils}
2007-12-05 17:16:04 +00:00
%{_libdir}/%{name}/lib*.so*
%endif
2008-03-27 19:55:02 +00:00
%if %{with_crash}
%{_libdir}/%{name}/staplog.so*
%endif
2008-03-27 19:55:02 +00:00
%files runtime
2006-10-20 00:13:13 +00:00
%defattr(-,root,root)
2007-12-05 17:16:04 +00:00
%attr(4111,root,root) %{_bindir}/staprun
2008-03-27 19:55:02 +00:00
%{_libexecdir}/%{name}
2007-03-26 16:09:36 +00:00
%{_mandir}/man8/*
%doc README AUTHORS NEWS COPYING
2007-12-05 17:16:04 +00:00
%files testsuite
%defattr(-,root,root)
2008-03-27 19:55:02 +00:00
%{_datadir}/%{name}/testsuite
2007-12-05 17:16:04 +00:00
%changelog
2008-07-15 16:45:18 +00:00
* Tue Jul 15 2008 Frank Ch. Eigler <fche@redhat.com> - 0.7-1
- Upstream release.
2008-02-12 16:24:50 +00:00
* Fri Feb 1 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-3
2008-07-15 16:45:18 +00:00
- Add zlib-devel to buildreq; missing from crash-devel
- Process testsuite .stp files for #!stap->#!/usr/bin/stap
2008-01-18 19:32:21 +00:00
* Fri Jan 18 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-1
- Add crash-devel buildreq to build staplog.so crash(8) module.
- Many robustness & functionality improvements:
* Wed Dec 5 2007 Will Cohen <wcohen@redhat.com> - 0.6-2
- Correct Source to point to location contain code.
2007-12-05 17:16:04 +00:00
* Thu Aug 9 2007 David Smith <dsmith@redhat.com> - 0.6-1
- Bumped version, added libcap-devel BuildRequires.
* Wed Jul 11 2007 Will Cohen <wcohen@redhat.com> - 0.5.14-2
- Fix Requires and BuildRequires for sqlite.
2007-08-21 21:37:54 +00:00
* Tue Jul 2 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.14-1
- Many robustness improvements: 1117, 1134, 1305, 1307, 1570, 1806,
2033, 2116, 2224, 2339, 2341, 2406, 2426, 2438, 2583, 3037,
3261, 3282, 3331, 3428 3519, 3545, 3625, 3648, 3880, 3888, 3911,
3952, 3965, 4066, 4071, 4075, 4078, 4081, 4096, 4119, 4122, 4127,
4146, 4171, 4179, 4183, 4221, 4224, 4254, 4281, 4319, 4323, 4326,
4329, 4332, 4337, 4415, 4432, 4444, 4445, 4458, 4467, 4470, 4471,
4518, 4567, 4570, 4579, 4589, 4609, 4664
2007-03-26 16:09:36 +00:00
* Mon Mar 26 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.13-1
- An emergency / preliminary refresh, mainly for compatibility
with 2.6.21-pre kernels.
2007-01-23 19:28:45 +00:00
* Mon Jan 1 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.12-1
- Many changes, see NEWS file.
2006-10-20 00:13:13 +00:00
* Tue Sep 26 2006 David Smith <dsmith@redhat.com> - 0.5.10-1
- Added 'systemtap-runtime' subpackage.
2006-07-19 22:32:14 +00:00
* Wed Jul 19 2006 Roland McGrath <roland@redhat.com> - 0.5.9-1
- PRs 2669, 2913
2005-12-16 18:06:49 +00:00
2006-06-17 01:56:14 +00:00
* Fri Jun 16 2006 Roland McGrath <roland@redhat.com> - 0.5.8-1
- PRs 2627, 2520, 2228, 2645
* Fri May 5 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.7-1
- PRs 2511 2453 2307 1813 1944 2497 2538 2476 2568 1341 2058 2220 2437
1326 2014 2599 2427 2438 2465 1930 2149 2610 2293 2634 2506 2433
2006-04-05 05:24:28 +00:00
* Tue Apr 4 2006 Roland McGrath <roland@redhat.com> - 0.5.5-1
- Many changes, affected PRs include: 2068, 2293, 1989, 2334,
1304, 2390, 2425, 953.
2006-02-02 15:59:35 +00:00
* Wed Feb 1 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.4-1
- PRs 1916, 2205, 2142, 2060, 1379
2006-01-17 07:52:34 +00:00
* Mon Jan 16 2006 Roland McGrath <roland@redhat.com> - 0.5.3-1
- Many changes, affected PRs include: 2056, 1144, 1379, 2057,
2060, 1972, 2140, 2148
2005-12-20 01:11:30 +00:00
* Mon Dec 19 2005 Roland McGrath <roland@redhat.com> - 0.5.2-1
- Fixed build with gcc 4.1, various tapset changes.
2005-08-26 19:26:41 +00:00
2005-12-12 10:16:46 +00:00
* Wed Dec 7 2005 Roland McGrath <roland@redhat.com> - 0.5.1-1
- elfutils update, build changes
2005-12-02 20:38:08 +00:00
* Fri Dec 02 2005 Frank Ch. Eigler <fche@redhat.com> - 0.5-1
- Many fixes and improvements: 1425, 1536, 1505, 1380, 1329, 1828, 1271,
1339, 1340, 1345, 1837, 1917, 1903, 1336, 1868, 1594, 1564, 1276, 1295
2005-11-01 01:01:47 +00:00
* Mon Oct 31 2005 Roland McGrath <roland@redhat.com> - 0.4.2-1
- Many fixes and improvements: PRs 1344, 1260, 1330, 1295, 1311, 1368,
1182, 1131, 1332, 1366, 1456, 1271, 1338, 1482, 1477, 1194.
2005-09-14 21:28:31 +00:00
* Wed Sep 14 2005 Roland McGrath <roland@redhat.com> - 0.4.1-1
- Many fixes and improvements since 0.2.2; relevant PRs include:
1122, 1134, 1155, 1172, 1174, 1175, 1180, 1186, 1187, 1191, 1193, 1195,
1197, 1205, 1206, 1209, 1213, 1244, 1257, 1258, 1260, 1265, 1268, 1270,
1289, 1292, 1306, 1335, 1257
2005-09-07 21:28:32 +00:00
* Wed Sep 7 2005 Frank Ch. Eigler <fche@redhat.com>
- Bump version.
2005-08-26 19:26:41 +00:00
* Wed Aug 16 2005 Frank Ch. Eigler <fche@redhat.com>
- Bump version.
2005-08-03 13:15:56 +00:00
2005-08-04 10:23:41 +00:00
* Wed Aug 3 2005 Martin Hunt <hunt@redhat.com> - 0.2.2-1
- Add directory /var/cache/systemtap
- Add stp_check to /usr/libexec/systemtap
2005-08-03 13:15:56 +00:00
* Wed Aug 3 2005 Roland McGrath <roland@redhat.com> - 0.2.1-1
- New version 0.2.1, various fixes.
2005-07-29 08:40:21 +00:00
* Fri Jul 29 2005 Roland McGrath <roland@redhat.com> - 0.2-1
- New version 0.2, requires elfutils 0.111
2005-07-22 21:27:25 +00:00
2005-07-29 08:40:21 +00:00
* Mon Jul 25 2005 Roland McGrath <roland@redhat.com>
- Clean up spec file, build bundled elfutils.
* Thu Jul 21 2005 Martin Hunt <hunt@redhat.com>
- Set Version to use version from autoconf.
- Fix up some of the path names.
- Add Requires and BuildRequires.
* Wed Jul 19 2005 Will Cohen <wcohen@redhat.com>
- Initial creation of RPM.