release 1.7

This commit is contained in:
Frank Ch. Eigler 2012-02-01 21:55:08 -05:00
parent fc3b63d11a
commit 9da5ca9f79
4 changed files with 220 additions and 202 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ systemtap-1.3.tar.gz
/systemtap-1.4.tar.gz /systemtap-1.4.tar.gz
/systemtap-1.5.tar.gz /systemtap-1.5.tar.gz
/systemtap-1.6.tar.gz /systemtap-1.6.tar.gz
/systemtap-1.7.tar.gz

View File

@ -1,73 +0,0 @@
diff --git a/cache.cxx b/cache.cxx
index 5104f8d..aaba56f 100644
--- a/cache.cxx
+++ b/cache.cxx
@@ -22,6 +22,7 @@ extern "C" {
#include <sys/stat.h>
#include <fcntl.h>
#include <glob.h>
+#include <unistd.h>
}
using namespace std;
diff --git a/csclient.cxx b/csclient.cxx
index 21f945f..9f8faee 100644
--- a/csclient.cxx
+++ b/csclient.cxx
@@ -24,6 +24,7 @@
#include <algorithm>
extern "C" {
+#include <unistd.h>
#include <linux/limits.h>
#include <sys/time.h>
#include <glob.h>
diff --git a/session.cxx b/session.cxx
index b322600..2436031 100644
--- a/session.cxx
+++ b/session.cxx
@@ -30,6 +30,7 @@ extern "C" {
#include <sys/stat.h>
#include <sys/utsname.h>
#include <elfutils/libdwfl.h>
+#include <unistd.h>
}
#if HAVE_NSS
diff --git a/setupdwfl.cxx b/setupdwfl.cxx
index 71814d7..ee1dbd0 100644
--- a/setupdwfl.cxx
+++ b/setupdwfl.cxx
@@ -23,6 +23,7 @@
extern "C" {
#include <fnmatch.h>
#include <stdlib.h>
+#include <unistd.h>
}
// XXX: also consider adding $HOME/.debug/ for perf build-id-cache
diff --git a/stap-serverd.cxx b/stap-serverd.cxx
index 8ee3b09..9e1345a 100644
--- a/stap-serverd.cxx
+++ b/stap-serverd.cxx
@@ -29,6 +29,7 @@
#include <map>
extern "C" {
+#include <unistd.h>
#include <getopt.h>
#include <wordexp.h>
#include <glob.h>
diff --git a/translate.cxx b/translate.cxx
index 543c908..9d4c137 100644
--- a/translate.cxx
+++ b/translate.cxx
@@ -5569,7 +5569,7 @@ emit_symbol_data (systemtap_session& s)
ofstream kallsyms_out ((s.tmpdir + "/" + symfile).c_str());
- unwindsym_dump_context ctx = { s, kallsyms_out, 0, ~0, s.unwindsym_modules };
+ unwindsym_dump_context ctx = { s, kallsyms_out, 0, ~0UL, s.unwindsym_modules };
// Micro optimization, mainly to speed up tiny regression tests
// using just begin probe.

View File

@ -1 +1 @@
b845ec58bc04cf4cad5c897f67de1308 systemtap-1.6.tar.gz b61b42b2fc687a8c76621ce8e4b37b17 systemtap-1.7.tar.gz

View File

@ -11,24 +11,46 @@
%{!?pie_supported: %global pie_supported 1} %{!?pie_supported: %global pie_supported 1}
%{!?with_grapher: %global with_grapher 1} %{!?with_grapher: %global with_grapher 1}
%{!?with_boost: %global with_boost 0} %{!?with_boost: %global with_boost 0}
%{!?with_publican: %global with_publican 0} %{!?with_publican: %global with_publican 1}
%{!?publican_brand: %global publican_brand fedora} %{!?publican_brand: %global publican_brand fedora}
Name: systemtap Name: systemtap
Version: 1.6 Version: 1.7
Release: 4%{?dist} Release: 1%{?dist}
# for version, see also configure.ac # for version, see also configure.ac
Summary: Instrumentation System
# Packaging abstract:
#
# systemtap empty req:-client req:-devel
# systemtap-server /usr/bin/stap-server*, req:-devel
# systemtap-devel /usr/bin/stap, runtime, tapset, req:kernel-devel
# systemtap-runtime /usr/bin/staprun, /usr/bin/stapsh
# systemtap-client /usr/bin/stap, samples, docs, tapset(bonus), req:-runtime
# systemtap-initscript /etc/init.d/systemtap, req:systemtap
# systemtap-sdt-devel /usr/include/sys/sdt.h /usr/bin/dtrace
# systemtap-testsuite /usr/share/systemtap/testsuite*, req:systemtap, req:sdt-devel
# systemtap-grapher /usr/bin/stapgraph, req:systemtap
#
# Typical scenarios:
#
# stap-client: systemtap-client
# stap-server: systemtap-server
# local user: systemtap
#
# Unusual scenarios:
#
# intermediary stap-client for --remote: systemtap-client (-runtime unused)
# intermediary stap-server for --use-server: systemtap-server (-devel unused)
Summary: Programmable system-wide instrumentation system
Group: Development/System Group: Development/System
License: GPLv2+ License: GPLv2+
URL: http://sourceware.org/systemtap/ URL: http://sourceware.org/systemtap/
Source: ftp://sourceware.org/pub/%{name}/releases/%{name}-%{version}.tar.gz Source: ftp://sourceware.org/pub/%{name}/releases/%{name}-%{version}.tar.gz
Obsoletes: systemtap-client < 1.5 # Build*
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: kernel >= 2.6.9-11
BuildRequires: gettext BuildRequires: gettext
%if %{with_sqlite} %if %{with_sqlite}
BuildRequires: sqlite-devel BuildRequires: sqlite-devel
@ -43,18 +65,7 @@ BuildRequires: crash-devel zlib-devel
%if %{with_rpm} %if %{with_rpm}
BuildRequires: rpm-devel glibc-headers BuildRequires: rpm-devel glibc-headers
%endif %endif
# Alternate kernel packages kernel-PAE-devel et al have a virtual
# provide for kernel-devel, so this requirement does the right thing.
Requires: kernel-devel
Requires: gcc make
# Suggest: kernel-debuginfo
Requires: systemtap-runtime = %{version}-%{release}
BuildRequires: nss-devel avahi-devel pkgconfig BuildRequires: nss-devel avahi-devel pkgconfig
# Additional requires for things spawned by stap
Requires: coreutils grep sed unzip zip
Requires: openssh-clients
%if %{with_bundled_elfutils} %if %{with_bundled_elfutils}
Source1: elfutils-%{elfutils_version}.tar.gz Source1: elfutils-%{elfutils_version}.tar.gz
Patch1: elfutils-portability.patch Patch1: elfutils-portability.patch
@ -63,7 +74,6 @@ BuildRequires: m4
%else %else
BuildRequires: elfutils-devel >= %{elfutils_version} BuildRequires: elfutils-devel >= %{elfutils_version}
%endif %endif
%if %{with_docs} %if %{with_docs}
BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf latex2html BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf latex2html
# On F10, xmlto's pdf support was broken off into a sub-package, # On F10, xmlto's pdf support was broken off into a sub-package,
@ -75,7 +85,6 @@ BuildRequires: publican
BuildRequires: /usr/share/publican/Common_Content/%{publican_brand}/defaults.cfg BuildRequires: /usr/share/publican/Common_Content/%{publican_brand}/defaults.cfg
%endif %endif
%endif %endif
%if %{with_grapher} %if %{with_grapher}
BuildRequires: gtkmm24-devel >= 2.8 BuildRequires: gtkmm24-devel >= 2.8
BuildRequires: libglademm24-devel >= 2.6.7 BuildRequires: libglademm24-devel >= 2.6.7
@ -87,15 +96,66 @@ BuildRequires: boost-devel
%endif %endif
BuildRequires: gettext-devel BuildRequires: gettext-devel
Patch2: gcc-4.7.patch # Install requirements
Requires: systemtap-client = %{version}-%{release}
Requires: systemtap-devel = %{version}-%{release}
%description %description
SystemTap is an instrumentation system for systems running Linux. SystemTap is an instrumentation system for systems running Linux.
Developers can write instrumentation to collect data on the operation Developers can write instrumentation scripts to collect data on
of the system. the operation of the system. The base systemtap package contains/requires
the components needed to locally develop and execute systemtap scripts.
# ------------------------------------------------------------------------
%package server
Summary: Instrumentation System Server
Group: Development/System
License: GPLv2+
URL: http://sourceware.org/systemtap/
Requires: systemtap-devel = %{version}-%{release}
# On RHEL[45], /bin/mktemp comes from the 'mktemp' package. On newer
# distributions, /bin/mktemp comes from the 'coreutils' package. To
# avoid a specific RHEL[45] Requires, we'll do a file-based require.
Requires: nss /bin/mktemp
Requires: zip unzip
Requires(pre): shadow-utils
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
Requires(postun): initscripts
BuildRequires: nss-devel avahi-devel
%description server
This is the remote script compilation server component of systemtap.
It announces itself to nearby clients with avahi (if available), and
compiles systemtap scripts to kernel objects on their demand.
%package devel
Summary: Programmable system-wide instrumentation system - development headers, tools
Group: Development/System
License: GPLv2+
URL: http://sourceware.org/systemtap/
Requires: kernel >= 2.6.9-11
# Alternate kernel packages kernel-PAE-devel et al. have a virtual
# provide for kernel-devel, so this requirement does the right thing,
# at least past RHEL4.
Requires: kernel-devel
Requires: gcc gcc-c++ make
# Suggest: kernel-debuginfo
%description devel
This package contains the components needed to compile a systemtap
script from source form into executable (.ko) forms. It may be
installed on a self-contained developer workstation (along with the
systemtap-client and systemtap-runtime packages), or on a dedicated
remote server (alongside the systemtap-server package). It includes
a copy of the standard tapset library and the runtime library C files.
%package runtime %package runtime
Summary: Instrumentation System Runtime Summary: Programmable system-wide instrumentation system - runtime
Group: Development/System Group: Development/System
License: GPLv2+ License: GPLv2+
URL: http://sourceware.org/systemtap/ URL: http://sourceware.org/systemtap/
@ -103,40 +163,43 @@ Requires: kernel >= 2.6.9-11
Requires(pre): shadow-utils Requires(pre): shadow-utils
%description runtime %description runtime
SystemTap runtime is the runtime component of an instrumentation SystemTap runtime contains the components needed to execute
system for systems running Linux. Developers can write a systemtap script that was already compiled into a module
instrumentation to collect data on the operation of the system. using a local or remote systemtap-devel installation.
%package testsuite
Summary: Instrumentation System Testsuite %package client
Summary: Programmable system-wide instrumentation system - client
Group: Development/System Group: Development/System
License: GPLv2+ License: GPLv2+
URL: http://sourceware.org/systemtap/ URL: http://sourceware.org/systemtap/
Requires: systemtap = %{version}-%{release}
Requires: systemtap-sdt-devel = %{version}-%{release}
Requires: dejagnu which prelink
%description testsuite
The testsuite allows testing of the entire SystemTap toolchain
without having to rebuild from sources.
%package server
Summary: Instrumentation System Server
Group: Development/System
License: GPLv2+
URL: http://sourceware.org/systemtap/
Requires: systemtap = %{version}-%{release}
Requires: avahi avahi-tools nss coreutils
Requires: zip unzip Requires: zip unzip
Requires: systemtap-runtime = %{version}-%{release}
Requires: coreutils grep sed unzip zip
Requires: openssh-clients
%description client
This package contains/requires the components needed to develop
systemtap scripts, and compile them using a local systemtap-devel
or a remote systemtap-server installation, then run them using a
local or remote systemtap-runtime. It includes script samples and
documentation, and a copy of the tapset library for reference.
%package initscript
Summary: Systemtap Initscripts
Group: Development/System
License: GPLv2+
URL: http://sourceware.org/systemtap/
Requires: systemtap = %{version}-%{release}
Requires(post): chkconfig Requires(post): chkconfig
Requires(preun): chkconfig Requires(preun): chkconfig
Requires(preun): initscripts Requires(preun): initscripts
Requires(postun): initscripts Requires(postun): initscripts
%description server %description initscript
This is the remote script compilation server component of systemtap. Sysvinit scripts to launch selected systemtap scripts at system startup.
It announces itself to local clients with avahi, and compiles systemtap
scripts to kernel objects on their demand.
%package sdt-devel %package sdt-devel
Summary: Static probe support tools Summary: Static probe support tools
@ -145,21 +208,26 @@ License: GPLv2+ and Public Domain
URL: http://sourceware.org/systemtap/ URL: http://sourceware.org/systemtap/
%description sdt-devel %description sdt-devel
Support tools to allow applications to use static probes. This package includes the <sys/sdt.h> header file used for static
instrumentation compiled into userspace programs and libraries, along
with the optional dtrace-compatibility preprocessor to process related
.d files into tracing-macro-laden .h headers.
%package initscript
Summary: Systemtap Initscripts %package testsuite
Summary: Instrumentation System Testsuite
Group: Development/System Group: Development/System
License: GPLv2+ License: GPLv2+
URL: http://sourceware.org/systemtap/ URL: http://sourceware.org/systemtap/
Requires: systemtap-runtime = %{version}-%{release} Requires: systemtap = %{version}-%{release}
Requires(post): chkconfig Requires: systemtap-sdt-devel = %{version}-%{release}
Requires(preun): chkconfig Requires: dejagnu which prelink elfutils grep
Requires(preun): initscripts
Requires(postun): initscripts %description testsuite
This package includes the dejagnu-based systemtap stress self-testing
suite. This may be used by system administrators to thoroughly check
systemtap on the current system.
%description initscript
Initscript for Systemtap scripts
%if %{with_grapher} %if %{with_grapher}
%package grapher %package grapher
@ -167,13 +235,17 @@ Summary: Instrumentation System Grapher
Group: Development/System Group: Development/System
License: GPLv2+ License: GPLv2+
URL: http://sourceware.org/systemtap/ URL: http://sourceware.org/systemtap/
Requires: systemtap-runtime = %{version}-%{release} # NB: don't bind it to a particular version (PR13499)
Requires: systemtap
%description grapher %description grapher
SystemTap grapher is a utility for real-time visualization of This package includes a utility for real-time visualization of
data from SystemTap instrumentation scripts. data from SystemTap instrumentation scripts.
%endif %endif
# ------------------------------------------------------------------------
%prep %prep
%setup -q %{?setup_elfutils} %setup -q %{?setup_elfutils}
@ -187,8 +259,6 @@ find . \( -name configure -o -name config.h.in \) -print | xargs touch
cd .. cd ..
%endif %endif
%patch2 -p1
%build %build
%if %{with_bundled_elfutils} %if %{with_bundled_elfutils}
@ -320,15 +390,14 @@ install -m 644 initscript/logrotate.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/lo
%clean %clean
rm -rf ${RPM_BUILD_ROOT} rm -rf ${RPM_BUILD_ROOT}
%pre
getent group stap-server >/dev/null || groupadd -g 155 -r stap-server || groupadd -r stap-server
%pre runtime %pre runtime
getent group stapdev >/dev/null || groupadd -r stapdev getent group stapusr >/dev/null || groupadd -g 156 -r stapusr || groupadd -r stapusr
getent group stapusr >/dev/null || groupadd -r stapusr getent group stapsys >/dev/null || groupadd -g 157 -r stapsys || groupadd -r stapsys
getent group stapdev >/dev/null || groupadd -g 158 -r stapdev || groupadd -r stapdev
exit 0 exit 0
%pre server %pre server
getent group stap-server >/dev/null || groupadd -g 155 -r stap-server || groupadd -r stap-server
getent passwd stap-server >/dev/null || \ getent passwd stap-server >/dev/null || \
useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -m -r -s /sbin/nologin stap-server || \ useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -m -r -s /sbin/nologin stap-server || \
useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -m -r -s /sbin/nologin stap-server useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -m -r -s /sbin/nologin stap-server
@ -403,61 +472,10 @@ exit 0
(make -C %{_datadir}/%{name}/runtime/uprobes clean) >/dev/null 2>&1 || true (make -C %{_datadir}/%{name}/runtime/uprobes clean) >/dev/null 2>&1 || true
(/sbin/rmmod uprobes) >/dev/null 2>&1 || true (/sbin/rmmod uprobes) >/dev/null 2>&1 || true
# ------------------------------------------------------------------------
%files -f %{name}.lang %files -f %{name}.lang
%defattr(-,root,root) # The master "systemtap" rpm doesn't include any files.
%doc README README.unprivileged AUTHORS NEWS COPYING examples
%if %{with_docs}
%doc docs.installed/*.pdf
%doc docs.installed/tapsets
%if %{with_publican}
%doc docs.installed/SystemTap_Beginners_Guide
%endif
%endif
%{_bindir}/stap
%{_bindir}/stap-prep
%{_bindir}/stap-report
%{_mandir}/man1/stap.1*
%{_mandir}/man1/stap-merge.1*
%{_mandir}/man3/*
%{_mandir}/man7/stappaths.7*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/runtime
%{_datadir}/%{name}/tapset
%if %{with_bundled_elfutils}
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/lib*.so*
%endif
# Make sure that the uprobes module can be built by root and by the server
%dir %attr(0775,root,stap-server) %{_datadir}/%{name}/runtime/uprobes
%files runtime -f %{name}.lang
%defattr(-,root,root)
%attr(4110,root,stapusr) %{_bindir}/staprun
%{_bindir}/stapsh
%{_bindir}/stap-merge
%{_bindir}/stap-report
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/stapio
%{_libexecdir}/%{name}/stap-env
%{_libexecdir}/%{name}/stap-authorize-cert
%if %{with_crash}
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/staplog.so*
%endif
%{_mandir}/man7/stappaths.7*
%{_mandir}/man8/staprun.8*
%doc README README.security AUTHORS NEWS COPYING
%files testsuite
%defattr(-,root,root)
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/testsuite
%files server -f %{name}.lang %files server -f %{name}.lang
%defattr(-,root,root) %defattr(-,root,root)
@ -479,14 +497,65 @@ exit 0
%ghost %config(noreplace) %attr(0644,stap-server,stap-server) %{_localstatedir}/log/stap-server/log %ghost %config(noreplace) %attr(0644,stap-server,stap-server) %{_localstatedir}/log/stap-server/log
%ghost %attr(0755,stap-server,stap-server) %{_localstatedir}/run/stap-server %ghost %attr(0755,stap-server,stap-server) %{_localstatedir}/run/stap-server
%doc initscript/README.stap-server %doc initscript/README.stap-server
%doc README README.unprivileged AUTHORS NEWS COPYING
%files sdt-devel
%files devel -f %{name}.lang
%{_bindir}/stap
%{_bindir}/stap-prep
%{_bindir}/stap-report
%dir %{_datadir}/%{name}/runtime
%{_datadir}/%{name}/runtime
%dir %{_datadir}/%{name}/tapset
%{_datadir}/%{name}/tapset
%{_mandir}/man1/stap.1*
%{_mandir}/man7/stappaths.7*
%doc README README.unprivileged AUTHORS NEWS COPYING
%if %{with_bundled_elfutils}
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/lib*.so*
%endif
%files runtime -f %{name}.lang
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/dtrace %attr(4110,root,stapusr) %{_bindir}/staprun
%{_includedir}/sys/sdt.h %{_bindir}/stapsh
%{_includedir}/sys/sdt-config.h %{_bindir}/stap-merge
%{_mandir}/man1/dtrace.1* %{_bindir}/stap-report
%doc README AUTHORS NEWS COPYING %dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/stapio
%{_libexecdir}/%{name}/stap-env
%{_libexecdir}/%{name}/stap-authorize-cert
%if %{with_crash}
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/staplog.so*
%endif
%{_mandir}/man7/stappaths.7*
%{_mandir}/man8/staprun.8*
%doc README README.security AUTHORS NEWS COPYING
%files client -f %{name}.lang
%defattr(-,root,root)
%doc README README.unprivileged AUTHORS NEWS COPYING examples
%if %{with_docs}
%doc docs.installed/*.pdf
%doc docs.installed/tapsets/*.html
%if %{with_publican}
%doc docs.installed/SystemTap_Beginners_Guide
%endif
%endif
%{_bindir}/stap
%{_bindir}/stap-prep
%{_bindir}/stap-report
%{_mandir}/man1/stap.1*
%{_mandir}/man1/stap-merge.1*
%{_mandir}/man3/*
%{_mandir}/man7/stappaths.7*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/tapset
%files initscript %files initscript
%defattr(-,root,root) %defattr(-,root,root)
@ -499,6 +568,22 @@ exit 0
%ghost %{_localstatedir}/run/systemtap %ghost %{_localstatedir}/run/systemtap
%doc initscript/README.systemtap %doc initscript/README.systemtap
%files sdt-devel -f %{name}.lang
%defattr(-,root,root)
%{_bindir}/dtrace
%{_includedir}/sys/sdt.h
%{_includedir}/sys/sdt-config.h
%{_mandir}/man1/dtrace.1*
%doc README AUTHORS NEWS COPYING
%files testsuite
%defattr(-,root,root)
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/testsuite
%if %{with_grapher} %if %{with_grapher}
%files grapher %files grapher
%defattr(-,root,root) %defattr(-,root,root)
@ -508,8 +593,13 @@ exit 0
%{_mandir}/man1/stapgraph.1* %{_mandir}/man1/stapgraph.1*
%endif %endif
# ------------------------------------------------------------------------
%changelog %changelog
* Wed Feb 01 2012 Frank Ch. Eigler <fche@redhat.com> - 1.7-1
- Upstream release.
- Reorganize subpackages, new -client and -devel for subset installations.
* Sat Jan 14 2012 Mark Wielaard <mjw@redhat.com> - 1.6-4 * Sat Jan 14 2012 Mark Wielaard <mjw@redhat.com> - 1.6-4
- Fixes for gcc-4.7 based on upstream commits e14c86 and 47caa9. - Fixes for gcc-4.7 based on upstream commits e14c86 and 47caa9.