[DTrace-devel] [PATCH v4 9/9] dtrace.spec: Add optional PCP PMDA packaging pcp-pmda-dtrace
Alan Maguire
alan.maguire at oracle.com
Wed Aug 12 13:22:10 UTC 2026
Add a PCP build conditional and package the DTrace PMDA when PCP and
Python support are enabled. Install it under an overridable PCP target
directory, defaulting to /var/lib/pcp/pmdas/dtrace, and require
python3-pcp at runtime.
Signed-off-by: Alan Maguire <alan.maguire at oracle.com>
---
dtrace.spec | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/dtrace.spec b/dtrace.spec
index a16cb62a..5747665c 100644
--- a/dtrace.spec
+++ b/dtrace.spec
@@ -29,6 +29,9 @@
# By default, do not build with 32-on-64 support.
%define glibc32 %{nil}
+# Directory in which to install the DTrace PCP PMDA.
+%global pcp_targetdir %{?pcp_targetdir}%{!?pcp_targetdir:/var/lib/pcp/pmdas/dtrace}
+
# Enable it for non-ARM64 builds excpet for OL10.
# ARM64 does not support 32-on-64 either.
%ifnarch aarch64
@@ -41,6 +44,7 @@
%global _lto_cflags %{nil}
%bcond_without python
+%bcond_without pcp
BuildRequires: rpm
Name: dtrace
@@ -146,6 +150,18 @@ Python extension module providing access to libdtrace.
%endif
+%if %{with pcp} && %{with python}
+%package -n pcp-pmda-dtrace
+Summary: PCP PMDA for DTrace
+Requires: python3-dtrace = %{version}-%{release}
+Requires: python3-pcp
+Group: Applications/System
+
+%description -n pcp-pmda-dtrace
+Performance Co-Pilot PMDA for exposing DTrace data as metrics.
+
+%endif
+
Installed in /usr/lib64/dtrace/testsuite.
'make check' here is just like 'make check' in the source tree, except that
@@ -170,8 +186,16 @@ make -j $(getconf _NPROCESSORS_ONLN) %{bpfc} %{maybe_use_fuse2} %{?with_python:W
mkdir -p $RPM_BUILD_ROOT/usr/sbin
make DESTDIR=$RPM_BUILD_ROOT VERSION=%{version} \
HDRPREFIX="$RPM_BUILD_ROOT/usr/include" \
+ PMDA_OBJDIR="$RPM_BUILD_ROOT%{pcp_targetdir}" \
install install-test %{?with_python:install-python} PYTHON=%{__python3}
+%if %{without pcp}
+rm -rf "$RPM_BUILD_ROOT%{pcp_targetdir}"
+%endif
+%if %{without python}
+rm -rf "$RPM_BUILD_ROOT%{pcp_targetdir}"
+%endif
+
%if "%{?dist}" == ".el7"
sed -i '/^ProtectSystem=/d; /^ProtectControlGroups=/d; /^RuntimeDirectory/d;' $RPM_BUILD_ROOT/usr/lib/systemd/system/dtprobed.service
%endif
@@ -255,6 +279,11 @@ systemctl start dtprobed || :
%{python3_sitearch}/dtrace*.so
%doc bindings/python/README.md
%endif
+%if %{with pcp} && %{with python}
+%files -n pcp-pmda-dtrace
+%defattr(-,root,root,-)
+%{pcp_targetdir}
+%endif
%files testsuite
%defattr(-,root,root,-)
%{_libdir}/dtrace/testsuite
--
2.43.5
More information about the DTrace-devel
mailing list