[DTrace-devel] Prepare spec file for 2.0.0-0.8 release and update NEWS
Kris Van Hees
kris.van.hees at oracle.com
Tue Mar 17 14:44:17 PDT 2020
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
NEWS | 10 +++++++---
dtrace.spec | 51 ++++++++++++++++++++++++++++++++++++++++-----------
2 files changed, 47 insertions(+), 14 deletions(-)
diff --git a/NEWS b/NEWS
index 69a20d78..245427af 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-2.0.0 (Jan 28th, 2020)
+2.0.0 (Mar 10th, 2020)
----------------------
First release of the standalone userspace implementation.
@@ -16,7 +16,10 @@ Working components:
- Support for pre-compiled BPF function libraries has been added. This is
used to implement various D language constructs (global and TLS variable
- access, string manipulation, ...) and D subroutines.
+ access, string manipulation, ...) and D subroutines. This feature makes
+ use of the BPF support in GCC and binutils as cross compilation tools.
+ The BPF functions are compiled at DTrace build time, so there is no
+ runtime dependency on the cross compilation tools.
- Support has been added for reporting BPF verifier output. When compiled
D scripts are loaded as BPF program into the kernel, the BPF verifier
@@ -34,7 +37,8 @@ Working components:
- Statically Defined Tracing (SDT) probes based on Linux tracepoints, with
support for typed probe arguments.
- - Listing of available probes based on globbing-enabled probe specifications.
+ - The trace data buffer management code has been reworked to work with the
+ perf event ring buffers that sre used by BPF to record tracing data.
- The DTrace testsuite has been updated to reflect what tests are expected to
pass with the current state of development for DTrace v2. Various tests
diff --git a/dtrace.spec b/dtrace.spec
index 164463c6..4d8ce57d 100644
--- a/dtrace.spec
+++ b/dtrace.spec
@@ -9,6 +9,10 @@
# something like 'kernel-uek-dtrace'.
%define variant %{?build_variant:%{build_variant}}%{!?build_variant:-uek}
+# Allow building against libdtrace-ctf even when libctf is available. Specify
+# "--without libctf" to the rpmbuild command to bypass libctf.
+%define with_libctf %{?_without_libctf: 0} %{?!_without_libctf: 1}
+
# Kernel lists
#
# Translators are automatically generated by M4 macros from selected kernels.
@@ -40,15 +44,24 @@ BuildRequires: rpm
Name: dtrace
License: Universal Permissive License (UPL), Version 1.0
Group: Development/Tools
-Requires: cpp elfutils-libelf zlib libdtrace-ctf >= 1.1.0 yum libpcap
+Requires: cpp elfutils-libelf zlib yum libpcap
BuildRequires: glibc-headers bison flex zlib-devel elfutils-libelf-devel
-BuildRequires: libdtrace-ctf-devel >= 1.1.0 libpcap-devel
-BuildRequires: glibc-static %{glibc32} wireshark
+BuildRequires: glibc-static %{glibc32} wireshark libpcap-devel
BuildRequires: kernel%{variant}-devel = %{build_kernel}
-BuildRequires: kernel%{variant}-headers = %{build_kernel}
+BuildRequires: gcc-bpf-unknown-none >= 8.3.1-1.0.4
+BuildRequires: binutils-bpf-unknown-none >= 2.30-58.0.2
+%if %{with_libctf}
+Requires: binutils >= 2.30-58.0.8
+BuildRequires: binutils-devel >= 2.30-58.0.8
+%else
+Requires: libdtrace-ctf >= 1.1.0
+BuildRequires: libdtrace-ctf-devel >= 1.1.0
+%endif
+Conflicts: systemtap-sdt-devel
+Provides: systemtap-sdt-devel
Summary: DTrace user interface.
Version: 2.0.0
-Release: 0.6%{?dist}
+Release: 0.8%{?dist}
Source: dtrace-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: x86_64 aarch64
@@ -83,7 +96,11 @@ DTrace external development mailing list <dtrace-devel at oss.oracle.com>
%package devel
Summary: DTrace development headers.
+%if %{with_libctf}
+Requires: binutils-devel >= 2.30-58.0.8
+%else
Requires: libdtrace-ctf-devel >= 1.1.0
+%endif
Requires: elfutils-libelf-devel
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: dtrace-headers = 2.0.0
@@ -104,13 +121,11 @@ replacements for dtrace(1) itself.
%package testsuite
Summary: DTrace testsuite.
Requires: make glibc-devel(%{__isa_name}-64) libgcc(%{__isa_name}-64)
-Requires: %{glibc32}
-Requires: dtrace-headers > 0.6.0 module-init-tools
+Requires: dtrace-headers >= 2.0.0 module-init-tools
Requires: %{name}-devel = %{version}-%{release} perl gcc java
Requires: java-1.8.0-openjdk-devel perl-IO-Socket-IP xfsprogs
Requires: exportfs vim-minimal %{name}%{?_isa} = %{version}-%{release}
-Requires: coreutils
-Requires: wireshark
+Requires: coreutils wireshark %{glibc32}
Autoreq: 0
Group: Development/System
@@ -212,6 +227,20 @@ fi
%{_libdir}/dtrace/testsuite
%changelog
+* Tue Mar 10 2020 Kris Van Hees <kris.van.hees at oracle.com> - 2.0.0-0.8
+- Sync with latest development code.
+- Implement perf event output buffer management and processing.
+- Introduce dt_calloc() to use in all array allocations.
+- Provide support for building against libdtrace-ctf and libctf, with
+ preference given to libctf (if available).
+- Implement association of BPF programs with probe events.
+
+* Sun Jan 26 2020 Kris Van Hees <kris.van.hees at oracle.com> - 2.0.0-0.7
+- Update spec file for build requirements.
+- Sync with latest development code.
+- Ensure that pre-release banner does not interfere with test result
+ comparison.
+
* Thu Dec 5 2019 Kris Van Hees <kris.van.hees at oracle.com> - 2.0.0-0.6
- Update spec file for build requirements.
@@ -659,7 +688,7 @@ fi
* Fri Oct 7 2011 Philip Copeland <philip.copeland at oracle.com> - 0.1-0.3
- The systemtap package in the 'wild' creates a dtrace.1 manpage
- which is bizarre since it doesn't have an associated dtrace
+ which is bizarre since it doesn't have an associated dtrace
binary. This will cause a conflict and the rpm will not install
Since that man page is superfluous I've had to add a %post
section here to move our manpage into position in such a way as
@@ -672,4 +701,4 @@ fi
- Branch for initial release.
* Mon Jun 27 2011 Pearly Zhao <pearly.zhao at oracle.com> - 0.0.1
-- Initial build for dtrace.
+- Initial build for dtrace.
--
2.25.0
More information about the DTrace-devel
mailing list