From 17e3a21537cfcd2f886850c06f1f7c07431f01b0 Mon Sep 17 00:00:00 2001 From: roland Date: Fri, 22 Jul 2005 21:23:37 +0000 Subject: [PATCH] auto-import systemtap-0.0.0.1rm-1 on branch devel from systemtap-0.0.0.1rm-1.src.rpm --- .cvsignore | 2 + sources | 2 + systemtap.spec | 131 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 systemtap.spec diff --git a/.cvsignore b/.cvsignore index e69de29..47bc415 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1,2 @@ +elfutils-0.109.tar.gz +systemtap-0.0.0.1rm.tar.gz diff --git a/sources b/sources index e69de29..e51a774 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +60e8778f8e285ef88cdf15879c386473 elfutils-0.109.tar.gz +61ba9fea530f21ab5ec33107537cea04 systemtap-0.0.0.1rm.tar.gz diff --git a/systemtap.spec b/systemtap.spec new file mode 100644 index 0000000..85980fd --- /dev/null +++ b/systemtap.spec @@ -0,0 +1,131 @@ +%define bundled_elfutils 1 +%define elfutils_version 0.109 + +Name: systemtap +Version: 0.0.0.1rm +Release: 1 +Summary: Instrumentation System +Group: Development/System +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 + +%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. + +See the HTML documentation for further details. + +%prep +%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" +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 +%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 .. +libdwfl_h=$elfutils_includedir/elfutils/libdwfl.h +sed 's%%%' ${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} \ +-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 %{?_smp_mflags} +make docs + +%install +rm -rf ${RPM_BUILD_ROOT} +make DESTDIR=${RPM_BUILD_ROOT} install + +%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 + + +%clean +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 + + +%changelog +* Fri Jul 22 2005 Roland McGrath +- Clean up spec file, build bundled elfutils. + +* Thu Jul 21 2005 Martin Hunt +- Set Version to use version from autoconf. +- Fix up some of the path names. +- Add Requires and BuildRequires. + +* Wed Jul 19 2005 Will Cohen +- Initial creation of RPM.