diff --git a/pcp.spec b/pcp.spec index 8fffa05..0358b80 100644 --- a/pcp.spec +++ b/pcp.spec @@ -1,14 +1,11 @@ Name: pcp -Version: 6.3.0 -Release: 4%{?dist} +Version: 6.3.2 +Release: 1%{?dist} Summary: System-level performance monitoring and performance management License: GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0 URL: https://pcp.io Source0: https://github.com/performancecopilot/pcp/releases/pcp-%{version}.src.tar.gz - -Patch0: redhat-issue-52316-drop-gfs2-metrics.patch - %if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 ExcludeArch: %{ix86} %endif @@ -479,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 } @@ -3226,11 +3224,12 @@ for PMDA in dm nfsclient openmetrics ; do fi done # auto-enable these usually optional pmie rules -%{run_pmieconf "$PCP_PMIECONFIG_DIR" dmthin} -%if 0%{?rhel} <= 9 +%{run_pmieconf "$PCP_PMIECONFIG_DIR" config.default dmthin} +# managed via /usr/lib/systemd/system-preset/90-default.preset nowadays: +%if 0%{?rhel} > 0 && 0%{?rhel} < 10 %if !%{disable_systemd} - systemctl restart pcp-reboot-init pmcd pmlogger pmie >/dev/null 2>&1 - systemctl enable pcp-reboot-init pmcd pmlogger pmie >/dev/null 2>&1 + systemctl restart pmcd pmlogger pmie >/dev/null 2>&1 + systemctl enable pmcd pmlogger pmie >/dev/null 2>&1 %else /sbin/chkconfig --add pmcd >/dev/null 2>&1 /sbin/chkconfig --add pmlogger >/dev/null 2>&1 @@ -3249,6 +3248,8 @@ PCP_LOG_DIR=%{_logsdir} %if !%{disable_systemd} # clean up any stale symlinks for deprecated pm*-poll services rm -f %{_sysconfdir}/systemd/system/pm*.requires/pm*-poll.* >/dev/null 2>&1 || true + systemctl restart pcp-reboot-init >/dev/null 2>&1 + systemctl enable pcp-reboot-init >/dev/null 2>&1 %systemd_postun_with_restart pmcd.service %systemd_post pmcd.service @@ -3596,6 +3597,13 @@ fi %files zeroconf -f pcp-zeroconf-files.rpm %changelog +* Wed Nov 06 2024 Nathan Scott - 6.3.2-1 +- Align start of PCP services with systemd presets (RHEL-22723) +- Improved pcp-xsos command line error diagnostics (RHEL-56836) +- Fix buffer sizing checks in pmstore PDU handling (RHEL-57795) +- Guard against symlink attacks in pmpost program (RHEL-57797) +- Update to latest stable version of PCP (RHEL-62801) + * Tue Oct 29 2024 Troy Dawson - 6.3.0-4 - Bump release for October 2024 mass rebuild: Resolves: RHEL-64018 diff --git a/redhat-issue-52316-drop-gfs2-metrics.patch b/redhat-issue-52316-drop-gfs2-metrics.patch deleted file mode 100644 index b77103d..0000000 --- a/redhat-issue-52316-drop-gfs2-metrics.patch +++ /dev/null @@ -1,151 +0,0 @@ -commit 6e63a17575440733ff03524569c8ee1a5d9e922e -Author: Nathan Scott -Date: Tue Aug 13 22:02:32 2024 +1000 - - build: drop gfs2 PMDA from build if distro vendor opts-out - - Resolves Red Hat issue: RHEL-52316 - -diff --git a/build/rpm/GNUmakefile b/build/rpm/GNUmakefile -index 618c26cdcc..7cca59f34c 100644 ---- a/build/rpm/GNUmakefile -+++ b/build/rpm/GNUmakefile -@@ -70,6 +70,7 @@ pcp.spec: pcp.spec.in - -e's|@pmda_bcc@|$(PMDA_BCC)|g' \ - -e's|@pmda_bpf@|$(PMDA_BPF)|g' \ - -e's|@pmda_bpftrace@|$(PMDA_BPFTRACE)|g' \ -+ -e's|@pmda_gfs2@|$(PMDA_GFS2)|g' \ - -e's|@pmda_statsd@|$(PMDA_STATSD)|g' \ - -e's|@pmda_systemd@|$(PMDA_SYSTEMD)|g' \ - -e's|@pmda_infiniband@|$(PMDA_INFINIBAND)|g' \ -diff --git a/configure b/configure -index cb3160c0c8..62add7c6aa 100755 ---- a/configure -+++ b/configure -@@ -749,6 +749,7 @@ enable_selinux - PMDA_POSTFIX - QSHAPE - PMDA_STATSD -+PMDA_GFS2 - lib_for_chan - lib_for_hdr_histogram - PMDA_PERFEVENT -@@ -1049,6 +1050,7 @@ with_python - with_python3 - with_dstat_symlink - with_perfevent -+with_pmdagfs2 - with_pmdastatsd - with_pmdabcc - with_pmdabpf -@@ -1794,6 +1796,7 @@ Optional Packages: - --with-dstat-symlink enable support for /usr/bin/dstat symlink (default - is on) - --with-perfevent enable perfevent pmda (default is on) -+ --with-pmdagfs2 enable GFS2 pmda (default is on) - --with-pmdastatsd enable statds pmda (default is on) - --with-pmdabcc enable BCC pmda (default is on) - --with-pmdabpf enable BPF pmda (default is on) -@@ -3546,6 +3549,16 @@ fi - - - -+# Check whether --with-pmdagfs2 was given. -+if test ${with_pmdagfs2+y} -+then : -+ withval=$with_pmdagfs2; do_pmdagfs2=$withval; PACKAGE_CONFIGURE="$PACKAGE_CONFIGURE --with-pmdagfs2=$withval" -+else $as_nop -+ do_pmdagfs2=check -+fi -+ -+ -+ - # Check whether --with-pmdastatsd was given. - if test ${with_pmdastatsd+y} - then : -@@ -13261,6 +13274,26 @@ fi - - - -+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the GFS2 PMDA should be included" >&5 -+printf %s "checking if the GFS2 PMDA should be included... " >&6; } -+pmda_gfs2=false -+if test "x$do_pmdagfs2" = "xyes" -+then : -+ pmda_gfs2=true -+fi -+if test "x$do_pmdagfs2" = "xcheck" -+then : -+ -+ if test $target_os = linux; then -+ pmda_gfs2=true -+ fi -+fi -+PMDA_GFS2=$pmda_gfs2 -+ -+if $pmda_gfs2; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+printf "%s\n" "yes" >&6; }; else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+printf "%s\n" "no" >&6; }; fi -+ - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the statsd PMDA should be included" >&5 - printf %s "checking if the statsd PMDA should be included... " >&6; } - pmda_statsd=false -diff --git a/configure.ac b/configure.ac -index 9fa9c3f999..8e680b0f34 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -128,6 +128,11 @@ AC_ARG_WITH([perfevent], - [do_perfevent=$withval; PACKAGE_CONFIGURE="$PACKAGE_CONFIGURE --with-perfevent=$withval"], - [do_perfevent=check]) - -+AC_ARG_WITH([pmdagfs2], -+ [AS_HELP_STRING([--with-pmdagfs2],[enable GFS2 pmda (default is on)])], -+ [do_pmdagfs2=$withval; PACKAGE_CONFIGURE="$PACKAGE_CONFIGURE --with-pmdagfs2=$withval"], -+ [do_pmdagfs2=check]) -+ - AC_ARG_WITH([pmdastatsd], - [AS_HELP_STRING([--with-pmdastatsd],[enable statds pmda (default is on)])], - [do_pmdastatsd=$withval; PACKAGE_CONFIGURE="$PACKAGE_CONFIGURE --with-pmdastatsd=$withval"], -@@ -2222,6 +2227,17 @@ AC_SUBST(lib_for_hdr_histogram) - AC_CHECK_LIB(chan, chan_init, [lib_for_chan="-lchan"]) - AC_SUBST(lib_for_chan) - -+dnl Do you want GFS2 metrics (no longer supported in some Linux distros) -+AC_MSG_CHECKING([if the GFS2 PMDA should be included]) -+pmda_gfs2=false -+AS_IF([test "x$do_pmdagfs2" = "xyes"], [pmda_gfs2=true]) -+AS_IF([test "x$do_pmdagfs2" = "xcheck"], [ -+ if test $target_os = linux; then -+ pmda_gfs2=true -+ fi]) -+AC_SUBST(PMDA_GFS2, $pmda_gfs2) -+if $pmda_gfs2; then AC_MSG_RESULT(yes); else AC_MSG_RESULT(no); fi -+ - dnl Do you have ragel, hdr_histogram and chan libraries for pmdastatsd? - AC_MSG_CHECKING([if the statsd PMDA should be included]) - pmda_statsd=false -diff --git a/src/include/builddefs.in b/src/include/builddefs.in -index a34095cdaf..b82aaa2fba 100644 ---- a/src/include/builddefs.in -+++ b/src/include/builddefs.in -@@ -346,6 +346,7 @@ PMDA_BCC = @PMDA_BCC@ - PMDA_BPF = @PMDA_BPF@ - PMDA_BPFTRACE = @PMDA_BPFTRACE@ - PMDA_JSON = @PMDA_JSON@ -+PMDA_GFS2 = @PMDA_GFS2@ - PMDA_STATSD = @PMDA_STATSD@ - PMDA_LIBVIRT = @PMDA_LIBVIRT@ - PMDA_SYSTEMD = @PMDA_SYSTEMD@ -diff --git a/src/pmdas/gfs2/GNUmakefile b/src/pmdas/gfs2/GNUmakefile -index 18c650f113..85e17a0e9e 100644 ---- a/src/pmdas/gfs2/GNUmakefile -+++ b/src/pmdas/gfs2/GNUmakefile -@@ -42,7 +42,7 @@ default: build-me - - include $(BUILDRULES) - --ifeq "$(TARGET_OS)" "linux" -+ifeq "$(PMDA_GFS2)" "true" - build-me: $(CMDTARGET) $(LIBTARGET) - - install: default diff --git a/sources b/sources index 28d43ff..522878f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pcp-6.3.0.src.tar.gz) = e9a85ce0c51412fe59879694b027c8b489fef461b6d8133f8f01397d8553366b0a7967d150e0f939707ee704402c1710f93333f0c4ce3174cfdc36b48300e6e8 +SHA512 (pcp-6.3.2.src.tar.gz) = 812ed40b848675092ad27fed7265b5a09f3d4dc054748481d5c0bb4f534ab2caa5e4807b320f2969d8a779d0bbbe705866fec654b14d225bbedd721c91c3e257