Drop gfs2 metrics subpackage from the c10s build

Related: RHEL-43429
This commit is contained in:
Nathan Scott 2024-08-14 09:19:24 +10:00
parent 31cfdc55d2
commit 366f28d6c6
2 changed files with 183 additions and 38 deletions

View File

@ -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 <nathans@redhat.com> - 6.3.0-3
- Remove the pcp-pmda-gfs2 metrics package (RHEL-52316)
* Thu Aug 08 2024 Troy Dawson <tdawson@redhat.com> - 6.3.0-2
- Bump release for Aug 2024 java mass rebuild
* Thu Aug 1 2024 Nathan Scott <nathans@redhat.com> - 6.3.0-1
* Thu Aug 01 2024 Nathan Scott <nathans@redhat.com> - 6.3.0-1
- Update to latest stable version of PCP (RHEL-43429)
* Wed Apr 10 2024 Nathan Scott <nathans@redhat.com> - 6.2.1-1
- Rebase to latest stable version of PCP (RHEL-30198)
* Wed Mar 20 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-2
- Fix python sub-package year day range issue (RHEL-25543)
* Mon Feb 12 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-1
- Rebase to latest stable version of PCP (RHEL-2317)
* Thu Dec 14 2023 Nathan Scott <nathans@redhat.com> - 6.1.1-4
- Fix pcp-ss(1) handling of UDP packet states (RHEL-17649)
* Wed Nov 29 2023 Nathan Scott <nathans@redhat.com> - 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 <nathans@redhat.com> - 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 <tdawson@redhat.com> - 6.2.2-5
- Bump release for June 2024 mass rebuild
@ -3612,16 +3619,3 @@ fi
* Mon Feb 12 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-1
- Rebase to latest stable version of PCP (RHEL-2317)
* Thu Dec 14 2023 Nathan Scott <nathans@redhat.com> - 6.1.1-4
- Fix pcp-ss(1) handling of UDP packet states (RHEL-17649)
* Wed Nov 29 2023 Nathan Scott <nathans@redhat.com> - 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 <nathans@redhat.com> - 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)

View File

@ -0,0 +1,151 @@
commit 6e63a17575440733ff03524569c8ee1a5d9e922e
Author: Nathan Scott <nathans@redhat.com>
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