diff --git a/pcp.spec b/pcp.spec index 27e9699..4d2fc2c 100644 --- a/pcp.spec +++ b/pcp.spec @@ -1,11 +1,14 @@ Name: pcp Version: 6.3.0 -Release: 2%{?dist} +Release: 3%{?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 @@ -64,6 +67,13 @@ ExcludeArch: %{ix86} %global disable_statsd 1 %endif +# GFS2 filesystem no longer supported here +%if 0%{?rhel} >= 10 +%global disable_gfs2 1 +%else +%global disable_gfs2 0 +%endif + %if 0%{?fedora} >= 30 || 0%{?rhel} > 7 %global _with_python2 --with-python=no %global disable_python2 1 @@ -384,6 +394,12 @@ Requires: pcp-selinux = %{version}-%{release} %global _with_perfevent --with-perfevent=yes %endif +%if %{disable_gfs2} +%global _with_gfs2 --with-pmdagfs2=no +%else +%global _with_gfs2 --with-pmdagfs2=yes +%endif + %if %{disable_statsd} %global _with_statsd --with-pmdastatsd=no %else @@ -557,10 +573,13 @@ Requires: pcp-pmda-memcache pcp-pmda-mysql pcp-pmda-named pcp-pmda-netfilter pcp 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 -Requires: pcp-pmda-bash pcp-pmda-cisco pcp-pmda-gfs2 pcp-pmda-mailq pcp-pmda-mounts +Requires: pcp-pmda-bash pcp-pmda-cisco pcp-pmda-mailq pcp-pmda-mounts Requires: pcp-pmda-nvidia-gpu pcp-pmda-roomtemp pcp-pmda-sendmail pcp-pmda-shping pcp-pmda-smart pcp-pmda-farm Requires: pcp-pmda-hacluster pcp-pmda-lustrecomm pcp-pmda-logger pcp-pmda-denki pcp-pmda-docker pcp-pmda-bind2 Requires: pcp-pmda-sockets pcp-pmda-podman +%if !%{disable_gfs2} +Requires: pcp-pmda-gfs2 +%endif %if !%{disable_statsd} Requires: pcp-pmda-statsd %endif @@ -2063,6 +2082,7 @@ Reliability Metrics (FARM) Log making use of data from the smartmontools package. #end pcp-pmda-farm +%if !%{disable_gfs2} # # pcp-pmda-gfs2 # @@ -2075,6 +2095,7 @@ Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release} This package contains the PCP Performance Metrics Domain Agent (PMDA) for collecting metrics about the Global Filesystem v2. # end pcp-pmda-gfs2 +%endif # # pcp-pmda-hacluster @@ -2465,7 +2486,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_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_snmp} %{?_with_nutcracker} %{?_with_python2} make %{?_smp_mflags} default_pcp %install @@ -3113,8 +3134,10 @@ exit 0 %preun pmda-farm %{pmda_remove "$1" "farm"} +%if !%{disable_gfs2} %preun pmda-gfs2 %{pmda_remove "$1" "gfs2"} +%endif %preun pmda-hacluster %{pmda_remove "$1" "hacluster"} @@ -3497,7 +3520,9 @@ fi %files pmda-farm -f pcp-pmda-farm-files.rpm +%if !%{disable_gfs2} %files pmda-gfs2 -f pcp-pmda-gfs2-files.rpm +%endif %files pmda-hacluster -f pcp-pmda-hacluster-files.rpm @@ -3571,33 +3596,15 @@ fi %files zeroconf -f pcp-zeroconf-files.rpm %changelog +* Tue Aug 13 2024 Nathan Scott - 6.3.0-3 +- Remove the pcp-pmda-gfs2 metrics package (RHEL-52316) + * Thu Aug 08 2024 Troy Dawson - 6.3.0-2 - Bump release for Aug 2024 java mass rebuild -* Thu Aug 1 2024 Nathan Scott - 6.3.0-1 +* Thu Aug 01 2024 Nathan Scott - 6.3.0-1 - Update to latest stable version of PCP (RHEL-43429) -* Wed Apr 10 2024 Nathan Scott - 6.2.1-1 -- Rebase to latest stable version of PCP (RHEL-30198) - -* Wed Mar 20 2024 Nathan Scott - 6.2.0-2 -- Fix python sub-package year day range issue (RHEL-25543) - -* Mon Feb 12 2024 Nathan Scott - 6.2.0-1 -- Rebase to latest stable version of PCP (RHEL-2317) - -* Thu Dec 14 2023 Nathan Scott - 6.1.1-4 -- Fix pcp-ss(1) handling of UDP packet states (RHEL-17649) - -* Wed Nov 29 2023 Nathan Scott - 6.1.1-2 -- Fix pcp-ss(1) default handling of listen state (RHEL-17335) -- Added pcp package dependency on diffutils for diffstat(1) - -* Mon Nov 20 2023 Nathan Scott - 6.1.1-1 -- Improve pmlogcheck performance with compressed archives (RHEL-3930) -- Fix pcp-ss(1) utility handling of duplicate sources (RHEL-7498) -- Fine-tune PCP python wrapper path resolution (RHEL-7509) -- Rebase to latest stable version of PCP (RHEL-2317) * Mon Jun 24 2024 Troy Dawson - 6.2.2-5 - Bump release for June 2024 mass rebuild @@ -3612,16 +3619,3 @@ fi * Mon Feb 12 2024 Nathan Scott - 6.2.0-1 - Rebase to latest stable version of PCP (RHEL-2317) - -* Thu Dec 14 2023 Nathan Scott - 6.1.1-4 -- Fix pcp-ss(1) handling of UDP packet states (RHEL-17649) - -* Wed Nov 29 2023 Nathan Scott - 6.1.1-2 -- Fix pcp-ss(1) default handling of listen state (RHEL-17335) -- Added pcp package dependency on diffutils for diffstat(1) - -* Mon Nov 20 2023 Nathan Scott - 6.1.1-1 -- Improve pmlogcheck performance with compressed archives (RHEL-3930) -- Fix pcp-ss(1) utility handling of duplicate sources (RHEL-7498) -- Fine-tune PCP python wrapper path resolution (RHEL-7509) -- Rebase to latest stable version of PCP (RHEL-2317) diff --git a/redhat-issue-52316-drop-gfs2-metrics.patch b/redhat-issue-52316-drop-gfs2-metrics.patch new file mode 100644 index 0000000..b77103d --- /dev/null +++ b/redhat-issue-52316-drop-gfs2-metrics.patch @@ -0,0 +1,151 @@ +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