From ca7a07319412e695f13045ae8dfbe238ff3c405c Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Thu, 19 Sep 2024 04:27:07 +1000 Subject: [PATCH] build: ensure pmie config.default created with correct ownership When the pcp-zeroconf package install creates config.default for pmie (rather than updating it) ensure correct pcp:pcp ownership. Resolves Red Hat issue RHEL-59366 --- build/rpm/pcp.spec.in | 9 +++++---- build/rpm/redhat.spec | 9 +++++---- debian/pcp-zeroconf.postinst | 3 ++- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/build/rpm/pcp.spec.in b/build/rpm/pcp.spec.in index c5f6d0a020..8ae4018104 100755 --- a/build/rpm/pcp.spec.in +++ b/build/rpm/pcp.spec.in @@ -220,11 +220,12 @@ fi } %global run_pmieconf() %{expand: -if [ -w "%1" ] +if [ -d "%1" -a -w "%1" -a -w "%1/%2" ] then - pmieconf -c enable "%2" + pmieconf -f "%1/%2" -c enable "%3" + chown pcp:pcp "%1/%2" 2>/dev/null else - echo "WARNING: Cannot write to %1, skipping pmieconf enable of %2." >&2 + echo "WARNING: Cannot write to %1/%2, skipping pmieconf enable of %3." >&2 fi } @@ -2747,7 +2748,7 @@ for PMDA in $needinstall ; do fi done # auto-enable these usually optional pmie rules -%{run_pmieconf "$PCP_PMIECONFIG_DIR" dmthin} +%{run_pmieconf "$PCP_PMIECONFIG_DIR" config.default dmthin} %if "@enable_systemd@" == "true" systemctl restart pcp-reboot-init pmcd pmlogger pmie >/dev/null 2>&1 systemctl enable pcp-reboot-init pmcd pmlogger pmie >/dev/null 2>&1 diff --git a/build/rpm/redhat.spec b/build/rpm/redhat.spec index b669729b00..da1bd20cee 100644 --- a/build/rpm/redhat.spec +++ b/build/rpm/redhat.spec @@ -476,11 +476,12 @@ fi } %global run_pmieconf() %{expand: -if [ -w "%1" ] +if [ -d "%1" -a -w "%1" -a -w "%1/%2" ] then - pmieconf -c enable "%2" + pmieconf -f "%1/%2" -c enable "%3" + chown pcp:pcp "%1/%2" 2>/dev/null else - echo "WARNING: Cannot write to %1, skipping pmieconf enable of %2." >&2 + echo "WARNING: Cannot write to %1/%2, skipping pmieconf enable of %3." >&2 fi } @@ -3223,7 +3224,7 @@ for PMDA in dm nfsclient openmetrics ; do fi done # auto-enable these usually optional pmie rules -%{run_pmieconf "$PCP_PMIECONFIG_DIR" dmthin} +%{run_pmieconf "$PCP_PMIECONFIG_DIR" config.default dmthin} %if 0%{?rhel} <= 9 %if !%{disable_systemd} systemctl restart pcp-reboot-init pmcd pmlogger pmie >/dev/null 2>&1 diff --git a/debian/pcp-zeroconf.postinst b/debian/pcp-zeroconf.postinst index 4837c7030d..26eabdcc7e 100644 --- a/debian/pcp-zeroconf.postinst +++ b/debian/pcp-zeroconf.postinst @@ -12,4 +12,5 @@ for PMDA in dm nfsclient openmetrics ; do done # auto-enable these usually optional pmie rules -pmieconf -c enable dmthin +pmieconf -f /var/lib/pcp/config/pmie/config.default -c enable dmthin +chown pcp:pcp /var/lib/pcp/config/pmie/config.default