From 5493911cf7c330b9c5a69da7d7d88e80199afded Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Mon, 31 Mar 2025 15:40:53 +1100 Subject: [PATCH] Update to latest stable pcp-6.3.7 Resolves: RHEL-83468 --- ...mdabpf-noarch-man-page-build-failure.patch | 93 +++++++++++++++++++ pcp.spec | 43 +++++++-- sources | 2 +- 3 files changed, 129 insertions(+), 9 deletions(-) create mode 100644 fix-pmdabpf-noarch-man-page-build-failure.patch diff --git a/fix-pmdabpf-noarch-man-page-build-failure.patch b/fix-pmdabpf-noarch-man-page-build-failure.patch new file mode 100644 index 0000000..87dde64 --- /dev/null +++ b/fix-pmdabpf-noarch-man-page-build-failure.patch @@ -0,0 +1,93 @@ +diff -Naurp pcp-6.3.7.orig/src/pmdas/bpf/GNUmakefile pcp-6.3.7/src/pmdas/bpf/GNUmakefile +--- pcp-6.3.7.orig/src/pmdas/bpf/GNUmakefile 2025-03-27 17:01:59.000000000 +1100 ++++ pcp-6.3.7/src/pmdas/bpf/GNUmakefile 2025-03-31 14:48:17.152726333 +1100 +@@ -1,7 +1,6 @@ + TOPDIR = ../../.. + include $(TOPDIR)/src/include/builddefs + +-ifeq "$(PMDA_BPF)" "true" + CFILES = bpf.c + CMDTARGET = pmdabpf$(EXECSUFFIX) + LIBTARGET = pmda_bpf.$(DSOSUFFIX) +@@ -27,12 +26,15 @@ MAN_DEST = $(PCP_MAN_DIR)/man$(MAN_SECTI + + LDIRT = domain.h *.o $(IAM).log pmda$(IAM) pmda_$(IAM).$(DSOSUFFIX) + +-default_pcp default: $(CMDTARGET) $(LIBTARGET) $(SUBDIRS) +- $(SUBDIRS_MAKERULE) ++default: build-me + + include $(BUILDRULES) + +-install_pcp install: default $(SUBDIRS) ++ifeq "$(PMDA_BPF)" "true" ++build-me: $(CMDTARGET) $(LIBTARGET) $(SUBDIRS) ++ $(SUBDIRS_MAKERULE) ++ ++install: default $(SUBDIRS) + $(INSTALL) -m 755 -d $(PMDAADMDIR) + $(INSTALL) -m 755 -d $(PMDATMPDIR) + $(INSTALL) -m 755 -t $(PMDATMPDIR) Install Remove $(CMDTARGET) $(LIBTARGET) $(SCRIPTS) $(PMDAADMDIR) +@@ -43,6 +45,15 @@ install_pcp install: default $(SUBDIRS) + $(INSTALL) -m 644 -t $(PMDATMPDIR)/$(CONFIG) $(CONFIG) $(PMDACONFIG)/$(CONFIG) + @$(INSTALL_MAN) + $(SUBDIRS_MAKERULE) ++else ++build-me: ++install: ++ @$(INSTALL_MAN) ++endif ++ ++default_pcp : default ++ ++install_pcp : install + + $(OBJECTS): domain.h + +@@ -51,12 +62,6 @@ domain.h: ../../pmns/stdpmid + + pmns: + $(LN_S) -f root_bpf pmns +-else +-default_pcp default: +- +-install_pcp install: +- @$(INSTALL_MAN) +-endif + + check:: $(MAN_PAGES) + $(MANLINT) $^ +@@ -64,5 +69,6 @@ check:: $(MAN_PAGES) + clean:: + $(MAKE) -C modules/ clean + rm -f $(LDIRT) ++ + debug: + @echo PMDA_BPF=$(PMDA_BPF) +diff -Naurp pcp-6.3.7.orig/src/pmdas/bpf/modules/GNUmakefile pcp-6.3.7/src/pmdas/bpf/modules/GNUmakefile +--- pcp-6.3.7.orig/src/pmdas/bpf/modules/GNUmakefile 2024-03-14 09:37:59.000000000 +1100 ++++ pcp-6.3.7/src/pmdas/bpf/modules/GNUmakefile 2025-03-31 14:48:17.157726345 +1100 +@@ -70,15 +70,21 @@ APPS_BPF = \ + APPS_BPF_2 = \ + netatop.bpf.c + +-default_pcp default: $(PMDABPF_MODULES) ++default: build-me + + include $(BUILDRULES) + ++ifeq "$(PMDA_BPF)" "true" ++build-me: $(PMDABPF_MODULES) ++ + install_pcp install: default + $(INSTALL) -m 755 -d $(MODULEDIR) + $(INSTALL) -m 755 -d $(MODULETMP) + $(INSTALL) -m 644 -t $(MODULETMP) $(PMDABPF_MODULES) $(MODULEDIR) +- ++else ++build-me: ++install: ++endif + + # Use the clang pipeline to emit LLVM to LLD and emit BPF straight to an ELF .o. + # The GCC pipeline has parts of this but not completely, and in any case, likely diff --git a/pcp.spec b/pcp.spec index 8a4fad2..8624d91 100644 --- a/pcp.spec +++ b/pcp.spec @@ -1,11 +1,14 @@ Name: pcp -Version: 6.3.4 +Version: 6.3.7 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: fix-pmdabpf-noarch-man-page-build-failure.patch + %if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 ExcludeArch: %{ix86} %endif @@ -161,6 +164,17 @@ ExcludeArch: %{ix86} %global disable_mssql 1 %endif +# No mysql support on 32-bit x86 platforms from el9 and later +%ifarch %{ix86} +%if 0%{?rhel} >= 9 +%global disable_mysql 1 +%else +%global disable_mysql 0 +%endif +%else +%global disable_mysql 0 +%endif + # support for pmdanutcracker (perl deps missing on rhel) %if 0%{?rhel} == 0 %global disable_nutcracker 0 @@ -225,7 +239,7 @@ ExcludeArch: %{ix86} %global disable_xlsx 1 %endif -%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 +%if 0%{?fedora} >= 40 || 0%{?rhel} >= 9 %global disable_amdgpu 0 %else %global disable_amdgpu 1 @@ -432,6 +446,12 @@ Requires: pcp-selinux = %{version}-%{release} %global _with_mongodb --with-pmdamongodb=yes %endif +%if %{disable_mysql} +%global _with_mysql --with-pmdamysql=no +%else +%global _with_mysql --with-pmdamysql=yes +%endif + %if %{disable_nutcracker} %global _with_nutcracker --with-pmdanutcracker=no %else @@ -556,7 +576,7 @@ Obsoletes: pcp-gui-testsuite < 3.9.5 # both of which are now obsoleted by the base pcp package Requires: pcp-pmda-activemq pcp-pmda-bonding pcp-pmda-dbping pcp-pmda-ds389 pcp-pmda-ds389log Requires: pcp-pmda-elasticsearch pcp-pmda-gpfs pcp-pmda-gpsd pcp-pmda-lustre -Requires: pcp-pmda-memcache pcp-pmda-mysql pcp-pmda-named pcp-pmda-netfilter pcp-pmda-news +Requires: pcp-pmda-memcache pcp-pmda-named pcp-pmda-netfilter pcp-pmda-news Requires: pcp-pmda-nginx pcp-pmda-nfsclient pcp-pmda-pdns pcp-pmda-postfix pcp-pmda-postgresql pcp-pmda-oracle Requires: pcp-pmda-samba pcp-pmda-slurm pcp-pmda-zimbra Requires: pcp-pmda-dm pcp-pmda-apache @@ -596,6 +616,9 @@ Requires: pcp-pmda-mongodb %if !%{disable_mssql} Requires: pcp-pmda-mssql %endif +%if !%{disable_mysql} +Requires: pcp-pmda-mysql +%endif %if !%{disable_snmp} Requires: pcp-pmda-snmp %endif @@ -1309,6 +1332,7 @@ This package contains the PCP Performance Metrics Domain Agent (PMDA) for collecting metrics about Memcached. #end pcp-pmda-memcache +%if !%{disable_mysql} # # pcp-pmda-mysql # @@ -1325,6 +1349,7 @@ BuildRequires: perl(DBI) perl(DBD::mysql) This package contains the PCP Performance Metrics Domain Agent (PMDA) for collecting metrics about the MySQL database. #end pcp-pmda-mysql +%endif # # pcp-pmda-named @@ -2473,7 +2498,7 @@ sed -i "/PACKAGE_BUILD/s/=[0-9]*/=$_build/" VERSION.pcp %if !%{disable_python2} && 0%{?default_python} != 3 export PYTHON=python%{?default_python} %endif -%configure %{?_with_initd} %{?_with_doc} %{?_with_dstat} %{?_with_ib} %{?_with_gfs2} %{?_with_statsd} %{?_with_perfevent} %{?_with_bcc} %{?_with_bpf} %{?_with_bpftrace} %{?_with_json} %{?_with_mongodb} %{?_with_snmp} %{?_with_nutcracker} %{?_with_python2} +%configure %{?_with_initd} %{?_with_doc} %{?_with_dstat} %{?_with_ib} %{?_with_gfs2} %{?_with_statsd} %{?_with_perfevent} %{?_with_bcc} %{?_with_bpf} %{?_with_bpftrace} %{?_with_json} %{?_with_mongodb} %{?_with_mysql} %{?_with_snmp} %{?_with_nutcracker} %{?_with_python2} make %{?_smp_mflags} default_pcp %install @@ -2862,7 +2887,7 @@ done %if !%{disable_selinux} %selinux_relabel_pre -s targeted %endif -%if 0%{?fedora} >= 42 +%if 0%{?fedora} >= 42 || 0%{?rhel} >= 11 %elif 0%{?fedora} >= 32 || 0%{?rhel} >= 9 echo u pcpqa - \"PCP Quality Assurance\" %{_testsdir} /bin/bash | \ systemd-sysusers --replace=/usr/lib/sysusers.d/pcp-testsuite.conf - @@ -2905,7 +2930,7 @@ fi %endif %pre -%if 0%{?fedora} >= 42 +%if 0%{?fedora} >= 42 || 0%{?rhel} >= 11 %elif 0%{?fedora} >= 32 || 0%{?rhel} >= 9 echo u pcp - \"Performance Co-Pilot\" %{_localstatedir}/lib/pcp | \ systemd-sysusers --replace=/usr/lib/sysusers.d/pcp.conf - @@ -2973,8 +2998,10 @@ exit 0 %{pmda_remove "$1" "snmp"} %endif +%if !%{disable_mysql} %preun pmda-mysql %{pmda_remove "$1" "mysql"} +%endif %preun pmda-activemq %{pmda_remove "$1" "activemq"} @@ -3383,7 +3410,7 @@ fi %files pmda-lustrecomm -f pcp-pmda-lustrecomm-files.rpm -%if !%{disable_perl} +%if !%{disable_mysql} %files pmda-mysql -f pcp-pmda-mysql-files.rpm %endif @@ -3585,7 +3612,7 @@ fi %files zeroconf -f pcp-zeroconf-files.rpm %changelog -* Fri Mar 14 2025 Nathan Scott - 6.3.4-1 +* Mon Mar 31 2025 Nathan Scott - 6.3.7-1 - Update to latest stable version of PCP (RHEL-83468) * Fri Jan 31 2025 Nathan Scott - 6.3.2-5 diff --git a/sources b/sources index 7096c44..241d379 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pcp-6.3.4.src.tar.gz) = 1c7ca82c1b2707aab1c505a87df7d4a3407a8a974e6209d2602b93e58bf50a84a08d3ecdbaf05ff8b97d7ca0007ee19a63aaee9299e9f874caefd6de5ba56120 +SHA512 (pcp-6.3.7.src.tar.gz) = ba45f19c45b9153072cee2075c68997599e3f1fe6a7fd9e550c0c78a38677d901679fbe082bcec629477384b7964be9d0fc41f1a4da866ce7f74279e5b375f4e