]> sourceware.org Git - systemtap.git/blobdiff - systemtap.spec.in
PR5792: wildcard support for %( kernel/arch %) preprocessor operands
[systemtap.git] / systemtap.spec.in
index a74855165dbbecd29d67925ccb7a23e95217d3ce..789f219f42c473976e8cc1beca45f40fd0a352b5 100644 (file)
@@ -1,42 +1,89 @@
-%define bundled_elfutils 1
-%define elfutils_version 0.116
+# Release number for rpm build.  Stays at 1 for new PACKAGE_VERSION increases.
+%define release 3
+# Version number of oldest elfutils release that works with systemtap.
+%define elfutils_version 0.127
+
+# Default options (suitable for fedora)
+%define with_sqlite 1
+%define with_crash 0
+%define with_bundled_elfutils 0
+
+# Enable these options by default for RHEL
+%if 0%{?rhel} >= 5
+%define with_crash 1
+%define with_bundled_elfutils 1
+%endif
 
 Name: systemtap
 Version: @VERSION@
-Release: 1
+Release: %{release}%{?dist}
 Summary: Instrumentation System
 Group: Development/System
-License: GPL
+License: GPLv2+
 URL: http://sourceware.org/systemtap/
-Source: ftp://sourceware.org/pub/%{name}/%{name}-%{version}.tar.gz
-
-ExclusiveArch: %{ix86} x86_64 ppc ia64
+Source: ftp://sourceware.org/pub/%{name}/releases/%{name}-%{version}.tar.gz
 
-BuildRoot: %{_tmppath}/%{name}-root
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 Requires: kernel >= 2.6.9-11
-Requires: kernel-devel
-# or is that kernel-smp-devel?
+BuildRequires: libcap-devel
+%if %{with_sqlite}
+BuildRequires: sqlite-devel
+Requires: sqlite
+%endif
+%if %{with_crash}
+BuildRequires: crash-devel zlib-devel
+%endif
+# Requires: kernel-devel
+# or is that kernel-smp-devel?  kernel-hugemem-devel?
 Requires: gcc make
 # Suggest: kernel-debuginfo
+Requires: systemtap-runtime = %{version}-%{release}
 
-%if %{bundled_elfutils}
+%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
+%if %{with_crash}
+Requires: crash
+%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.
 
+%package runtime
+Summary: Instrumentation System Runtime
+Group: Development/System
+License: GPLv2+
+URL: http://sourceware.org/systemtap/
+Requires: kernel >= 2.6.9-11
+Requires(pre): shadow-utils
+
+%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.
+
+%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}
 
-%if %{bundled_elfutils}
+%if %{with_bundled_elfutils}
 cd elfutils-%{elfutils_version}
 %patch1 -p1
 sleep 1
@@ -48,31 +95,9 @@ cd ..
 
 %build
 
-%if %{bundled_elfutils}
+%if %{with_bundled_elfutils}
 # Build our own copy of elfutils.
-elfutils_includedir="`pwd`/include-elfutils"
-elfutils_libdir="`pwd`/lib-elfutils"
-mkdir build-elfutils
-cd build-elfutils
-cat > configure <<\EOF
-#!/bin/sh
-exec ../elfutils-%{elfutils_version}/configure "$@"
-EOF
-chmod +x configure
-LDFLAGS=-Wl,--enable-new-dtags,-rpath,%{_libdir}/%{name}
-export LDFLAGS
-%configure --enable-libebl-subdir=%{name}
-make %{?_smp_mflags}
-for dir in libelf libebl libdw libdwfl; do
-  make -C $dir install includedir=$elfutils_includedir libdir=$elfutils_libdir
-done
-cd ..
-
-# We'll configure with these options to use the local headers and libraries.
-CPPFLAGS="-I${elfutils_includedir}"
-LDFLAGS="-L${elfutils_libdir} -Wl,-rpath-link,${elfutils_libdir} \
--Wl,--enable-new-dtags,-rpath,%{_libdir}/%{name}"
-export CPPFLAGS LDFLAGS
+%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.
@@ -85,52 +110,151 @@ export CPPFLAGS LDFLAGS
 %define elfutils_mflags LD_LIBRARY_PATH=`pwd`/lib-elfutils
 %endif
 
-%configure
+# 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
+
+%configure %{?elfutils_config} %{sqlite_config} %{crash_config}
 make %{?_smp_mflags}
 
-%install
-rm -rf ${RPM_BUILD_ROOT}
+# 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@'
 
-%makeinstall
+# To avoid perl dependency, make perl sample script non-executable
+chmod -x examples/samples/kmalloc-top
 
-%if %{bundled_elfutils}
-installed_elfutils=${RPM_BUILD_ROOT}%{_libdir}/%{name}
-mkdir -p ${installed_elfutils}
-cp -P lib-elfutils/*.so* lib-elfutils/%{name}/*.so* ${installed_elfutils}/
-%endif
+%install
+rm -rf ${RPM_BUILD_ROOT}
+make DESTDIR=$RPM_BUILD_ROOT install
 
-mkdir -p $RPM_BUILD_ROOT/var/cache/systemtap
+# 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
 
-%check
-make check %{?elfutils_mflags} || :
+# Copy over the testsuite
+cp -rp testsuite $RPM_BUILD_ROOT%{_datadir}/systemtap
 
 %clean
 rm -rf ${RPM_BUILD_ROOT}
 
+%pre runtime
+getent group stapdev >/dev/null || groupadd -r stapdev
+getent group stapusr >/dev/null || groupadd -r stapusr
+exit 0
+
 %files
 %defattr(-,root,root)
 
-%doc README AUTHORS NEWS COPYING
+%doc README AUTHORS NEWS COPYING examples
 
 %{_bindir}/stap
 %{_mandir}/man1/*
 %{_mandir}/man5/*
-%{_libexecdir}/systemtap/*
 
 %dir %{_datadir}/systemtap
 %{_datadir}/systemtap/runtime
 %{_datadir}/systemtap/tapset
 
-%dir %attr(0755,root,root) /var/cache/systemtap
-
-%if %{bundled_elfutils}
+%if %{with_bundled_elfutils} || %{with_crash}
 %dir %{_libdir}/%{name}
+%endif
+%if %{with_bundled_elfutils}
 %{_libdir}/%{name}/lib*.so*
 %endif
+%if %{with_crash}
+%{_libdir}/%{name}/staplog.so*
+%endif
+
+%files runtime
+%defattr(-,root,root)
+%attr(4111,root,root) %{_bindir}/staprun
+%{_libexecdir}/systemtap
+%{_mandir}/man8/*
+
+%doc README AUTHORS NEWS COPYING
+
+%files testsuite
+%defattr(-,root,root)
+%{_datadir}/systemtap/testsuite
 
 
 %changelog
-* 2005-12-02  Frank Ch. Eigler  <fche@redhat.com> - 0.5
+* Fri Feb  1 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-3
+- Add zlib-devel to buildreq; missing from crash-devel
+- Process testsuite .stp files for #!stap->#!/usr/bin/stap
+
+* 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.
+
+* 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.
+
+* 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
+
+* 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.
+
+* Mon Jan  1 2007 Frank Ch. Eigler <fche@redhat.com> - 0.5.12-1
+- Many changes, see NEWS file.
+
+* Tue Sep 26 2006 David Smith <dsmith@redhat.com> - 0.5.10-1
+- Added 'systemtap-runtime' subpackage.
+
+* Wed Jul 19 2006 Roland McGrath <roland@redhat.com> - 0.5.9-1
+- PRs 2669, 2913
+
+* 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
+
+* 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.
+
+* Wed Feb  1 2006 Frank Ch. Eigler <fche@redhat.com> - 0.5.4-1
+- PRs 1916, 2205, 2142, 2060, 1379
+
+* 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
+
+* Mon Dec 19 2005 Roland McGrath <roland@redhat.com> - 0.5.2-1
+- Fixed build with gcc 4.1, various tapset changes.
+
+* Wed Dec  7 2005 Roland McGrath <roland@redhat.com> - 0.5.1-1
+- elfutils update, build changes
+
+* 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
 
This page took 0.028522 seconds and 5 git commands to generate.