From: Alan Maguire <alan.maguire@oracle.com>
To: dtrace@lists.linux.dev
Cc: dtrace-devel@oss.oracle.com, Alan Maguire <alan.maguire@oracle.com>
Subject: [PATCH v4 9/9] dtrace.spec: Add optional PCP PMDA packaging pcp-pmda-dtrace
Date: Wed, 12 Aug 2026 14:22:10 +0100 [thread overview]
Message-ID: <20260812132212.527871-10-alan.maguire@oracle.com> (raw)
In-Reply-To: <20260812132212.527871-1-alan.maguire@oracle.com>
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@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
next prev parent reply other threads:[~2026-08-12 13:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-12 13:22 [PATCH v4 0/9] Add python, PCP support via libdtrace interfaces Alan Maguire
2026-08-12 13:22 ` [PATCH v4 1/9] libdtrace: Support multiple DTrace handles per process Alan Maguire
2026-08-12 13:22 ` [PATCH v4 2/9] libdtrace: share vmlinux BTF/CTF globally to support faster startup Alan Maguire
2026-08-12 13:22 ` [PATCH v4 3/9] libdtrace: Refactor math functions into dt_math.h Alan Maguire
2026-08-12 13:22 ` [PATCH v4 4/9] python: Add cpython bindings for libdtrace Alan Maguire
2026-08-12 13:22 ` [PATCH v4 5/9] dtrace.spec: add python bindings packaging Alan Maguire
2026-08-12 13:22 ` [PATCH v4 6/9] runtest.sh: Export PYTHONPATH when running tests in-tree Alan Maguire
2026-08-12 13:22 ` [PATCH v4 7/9] test: add tests for python bindings Alan Maguire
2026-08-12 13:22 ` [PATCH v4 8/9] dtrace: Add a PCP PMDA to expose DTrace data as metrics Alan Maguire
2026-08-12 13:22 ` Alan Maguire [this message]
2026-08-13 21:01 ` [PATCH v4 0/9] Add python, PCP support via libdtrace interfaces Kris Van Hees
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260812132212.527871-10-alan.maguire@oracle.com \
--to=alan.maguire@oracle.com \
--cc=dtrace-devel@oss.oracle.com \
--cc=dtrace@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox