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 bba0efc..572c07f 100644 --- a/pcp.spec +++ b/pcp.spec @@ -1,6 +1,6 @@ Name: pcp -Version: 6.3.4 -Release: 2%{?dist} +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 @@ -10,6 +10,7 @@ Source0: https://github.com/performancecopilot/pcp/releases/pcp-%{version}.src.t # Keep xx-default-archive-version.patch for the life of RHEL9 Patch0: redhat-issues-RHEL-2317-default-archive-version.patch Patch1: redhat-issues-RHEL-58953-perl-drop-Y2038-checks.patch +Patch2: fix-pmdabpf-noarch-man-page-build-failure.patch %if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 ExcludeArch: %{ix86} @@ -166,6 +167,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 @@ -437,6 +449,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 @@ -561,7 +579,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 @@ -601,6 +619,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 @@ -1314,6 +1335,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 # @@ -1330,6 +1352,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 @@ -2478,7 +2501,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 @@ -2867,7 +2890,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 - @@ -2910,7 +2933,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 - @@ -2978,8 +3001,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"} @@ -3388,7 +3413,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 @@ -3590,6 +3615,9 @@ fi %files zeroconf -f pcp-zeroconf-files.rpm %changelog +* Mon Mar 31 2025 Nathan Scott - 6.3.7-1 +- Update to latest stable version of PCP (RHEL-83482) + * Fri Mar 21 2025 Frederic Berat - 6.3.4-2 - Enable AMD GPU pmda (RHEL-83154) diff --git a/redhat-issues-RHEL-58953-perl-drop-Y2038-checks.patch b/redhat-issues-RHEL-58953-perl-drop-Y2038-checks.patch index 0bd5a5b..df0fa4c 100644 --- a/redhat-issues-RHEL-58953-perl-drop-Y2038-checks.patch +++ b/redhat-issues-RHEL-58953-perl-drop-Y2038-checks.patch @@ -1,35 +1,7 @@ -diff -Naurp pcp-6.3.1.orig/configure pcp-6.3.1/configure ---- pcp-6.3.1.orig/configure 2024-09-11 11:45:29.000000000 +1000 -+++ pcp-6.3.1/configure 2024-10-02 11:50:38.938538019 +1000 -@@ -5442,11 +5442,11 @@ if test x$ac_prog_cxx_stdcxx = xno - then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 - printf %s "checking for $CXX option to enable C++11 features... " >&6; } --if test ${ac_cv_prog_cxx_11+y} -+if test ${ac_cv_prog_cxx_cxx11+y} - then : - printf %s "(cached) " >&6 - else $as_nop -- ac_cv_prog_cxx_11=no -+ ac_cv_prog_cxx_cxx11=no - ac_save_CXX=$CXX - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ -@@ -5488,11 +5488,11 @@ if test x$ac_prog_cxx_stdcxx = xno - then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 - printf %s "checking for $CXX option to enable C++98 features... " >&6; } --if test ${ac_cv_prog_cxx_98+y} -+if test ${ac_cv_prog_cxx_cxx98+y} - then : - printf %s "(cached) " >&6 - else $as_nop -- ac_cv_prog_cxx_98=no -+ ac_cv_prog_cxx_cxx98=no - ac_save_CXX=$CXX - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ -@@ -9457,7 +9457,7 @@ printf %s "checking if Perl is Y2038-saf +diff -Naurp pcp-6.3.7.orig/configure pcp-6.3.7/configure +--- pcp-6.3.7.orig/configure 2025-03-31 12:41:26.000000000 +1100 ++++ pcp-6.3.7/configure 2025-03-31 14:00:04.534091532 +1100 +@@ -9618,7 +9618,7 @@ printf %s "checking if Perl is Y2038-saf # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } @@ -38,10 +10,10 @@ diff -Naurp pcp-6.3.1.orig/configure pcp-6.3.1/configure ;; 67768036191676799) # all good -diff -Naurp pcp-6.3.1.orig/configure.ac pcp-6.3.1/configure.ac ---- pcp-6.3.1.orig/configure.ac 2024-09-11 11:45:29.000000000 +1000 -+++ pcp-6.3.1/configure.ac 2024-10-02 11:50:35.841529740 +1000 -@@ -1401,7 +1401,7 @@ AS_IF([test "x$do_perl" != "xno"], [ +diff -Naurp pcp-6.3.7.orig/configure.ac pcp-6.3.7/configure.ac +--- pcp-6.3.7.orig/configure.ac 2025-03-31 12:41:26.000000000 +1100 ++++ pcp-6.3.7/configure.ac 2025-03-31 13:59:38.095025279 +1100 +@@ -1406,7 +1406,7 @@ AS_IF([test "x$do_perl" != "xno"], [ # can't play in this sandpit # AC_MSG_RESULT([no]) 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