summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroland <roland>2005-07-25 19:31:42 +0000
committerroland <roland>2005-07-25 19:31:42 +0000
commita2c9eba7508e9338050572efb9f50771b63690f3 (patch)
treec116160c30b48f872358fa144b6f160f8139d5c1
parentf00a8372e0503272cbff64b41956e2d7c15e9a24 (diff)
downloadsystemtap-steved-a2c9eba7508e9338050572efb9f50771b63690f3.tar.gz
systemtap-steved-a2c9eba7508e9338050572efb9f50771b63690f3.tar.xz
systemtap-steved-a2c9eba7508e9338050572efb9f50771b63690f3.zip
Clean up spec file, fix build of bundled elfutils.
-rw-r--r--systemtap.spec.in86
1 files changed, 57 insertions, 29 deletions
diff --git a/systemtap.spec.in b/systemtap.spec.in
index 4b879529..829457af 100644
--- a/systemtap.spec.in
+++ b/systemtap.spec.in
@@ -1,45 +1,53 @@
-%define bundled_elfutils 0
-%define elfutils_version 0.XXX
+%define bundled_elfutils 1
+%define elfutils_version 0.109
-Release: 1
+Name: systemtap
Version: @VERSION@
+Release: 1
Summary: Instrumentation System
-Name: systemtap
-License: GPL
Group: Development/System
-#
-Source0: %{name}-%{version}.tar.gz
+License: GPL
+URL: http://sourceware.org/systemtap/
+Source: ftp://sourceware.org/pub/%{name}/%{name}-%{version}.tar.gz
+
+ExclusiveArch: %{ix86} x86_64
+
+BuildRoot: %{_tmppath}/%{name}-root
+
+Requires: kernel >= 2.6.9-11
+Requires: tcl gcc make
+BuildRequires: doxygen
%if %{bundled_elfutils}
Source1: elfutils-%{elfutils_version}.tar.gz
Patch1: elfutils-portability.patch
%define setup_elfutils -a1
+%else
+BuildRequires: elfutils-devel >= %{elfutils_version}
%endif
-URL: http://sourceware.org/systemtap/
-ExclusiveArch: %{ix86} x86_64
-
-Requires: kernel >= 2.6.9-11
-Requires: tcl gcc make
-BuildRequires: kernel-devel doxygen
-BuildRoot: %{_tmppath}/%{name}-root
-
%description
-SystemTap is a instrumentation system for systems running
-Linux 2.6. Developers can write instrumentation to collect data on
-the operation of the system.
+SystemTap is an instrumentation system for systems running Linux 2.6.
+Developers can write instrumentation to collect data on the operation
+of the system.
See the HTML documentation for further details.
%prep
-%setup -q -n %{name}-%{version} %{?setup_elfutils}
+%setup -q %{?setup_elfutils}
+
%if %{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
+
%if %{bundled_elfutils}
# Build our own copy of elfutils.
elfutils_includedir="`pwd`/include-elfutils"
@@ -57,15 +65,27 @@ for dir in libelf libebl libdw libdwfl; do
make -C $dir install includedir=$elfutils_includedir libdir=$elfutils_libdir
done
cd ..
+libdwfl_h=$elfutils_includedir/elfutils/libdwfl.h
+sed 's%<libdw.h>%<elfutils/libdw.h>%' ${libdwfl_h} > ${libdwfl_h}.new
+mv -f ${libdwfl_h}.new ${libdwfl_h}
# 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}"
+LDFLAGS="-L${elfutils_libdir} -Wl,-rpath-link,${elfutils_libdir} \
+-Wl,--enable-new-dtags,-rpath,\\\$\$\$\$ORIGIN/../\\\$\$\$\$LIB/%{name}"
export CPPFLAGS LDFLAGS
+
+# 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}
%endif
%configure
-make
+make %{?_smp_mflags}
+make docs
%install
rm -rf ${RPM_BUILD_ROOT}
@@ -83,21 +103,29 @@ rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(-,root,root)
+
+%doc README AUTHORS NEWS runtime/docs/html
+
+%{_bindir}/stap
+%{_libexecdir}/stpd
+
+%dir %{_datadir}/systemtap
+%{_datadir}/systemtap/runtime
+
%if %{bundled_elfutils}
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/lib*.so*
%endif
-%{_bindir}/stap
-/usr/libexec/stpd
-/usr/share/systemtap
-/usr/share/doc/systemtap
+
%changelog
+* 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.
-- Addes Requires and BuildRequires.
-* Thu Jul 21 2005 Roland McGrath <roland@redhat.com> - 0.1-1
-- Clean up spec file, build bundled elfutils.
-* Tue Jul 19 2005 Will Cohen <wcohen@redhat.com>
+- Add Requires and BuildRequires.
+
+* Wed Jul 19 2005 Will Cohen <wcohen@redhat.com>
- Initial creation of RPM.