Compare commits

...

9 Commits
f34 ... rawhide

Author SHA1 Message Date
Nathan Scott
1dae268e0b Update to resolve useradd issue 2022-11-11 14:11:39 +11:00
Nathan Scott
2cef2863b2 Update to latest community sources 2022-10-27 15:07:59 +11:00
Jan Kurik
c78d313598 Disable run of tests/Library/pcpcommon 2022-10-04 07:49:27 +02:00
Nathan Scott
5fccdbcb53 Update to latest community sources (PCP v6) 2022-08-31 15:36:47 +10:00
Fedora Release Engineering
1d4f5488e4 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 02:52:05 +00:00
Python Maint
1123491c61 Rebuilt for Python 3.11 2022-06-20 10:50:14 +02:00
Nathan Scott
c98c5df92e Fix invalid path in pmie.service unit file (BZ 2079793) 2022-06-17 10:59:41 +10:00
Python Maint
669de448ed Rebuilt for Python 3.11 2022-06-15 18:16:09 +02:00
Jitka Plesnikova
18baba6ef2 Perl 5.36 rebuild 2022-06-01 10:48:26 +02:00
5 changed files with 155 additions and 81 deletions

10
.gitignore vendored
View File

@ -1,10 +1,4 @@
pcp-*.src.rpm pcp-*.src.rpm
pcp-*.tar.gz pcp-*.tar.gz
pcp-webapp-*.tar.gz pcp-testsuite.sysusers
pcp-webjs-* pcp.sysusers
vector-*
/pcp-revert-pmlogger_daily-daystart.patch
/pmcd-pmlogger-local-context.patch
/selinux-policy-updates.patch
/fix-pmdastatsd-build-error.patch
/pcp-selinux-drop-name_connect-udp.patch

199
pcp.spec
View File

@ -1,6 +1,6 @@
Name: pcp Name: pcp
Version: 5.3.7 Version: 6.0.1
Release: 1%{?dist} Release: 2%{?dist}
Summary: System-level performance monitoring and performance management Summary: System-level performance monitoring and performance management
License: GPLv2+ and LGPLv2+ and CC-BY License: GPLv2+ and LGPLv2+ and CC-BY
URL: https://pcp.io URL: https://pcp.io
@ -46,8 +46,6 @@ Source0: %{artifactory}/pcp-source-release/pcp-%{version}.src.tar.gz
%endif %endif
%endif %endif
%global disable_podman 0
# libchan, libhdr_histogram and pmdastatsd # libchan, libhdr_histogram and pmdastatsd
%if 0%{?fedora} >= 29 || 0%{?rhel} > 7 %if 0%{?fedora} >= 29 || 0%{?rhel} > 7
%global disable_statsd 0 %global disable_statsd 0
@ -94,9 +92,9 @@ Source0: %{artifactory}/pcp-source-release/pcp-%{version}.src.tar.gz
%global disable_bcc 1 %global disable_bcc 1
%endif %endif
# support for pmdabpf, check bpf.spec for supported architectures of bpf # support for pmdabpf, check bcc.spec for supported architectures of libbpf-tools
%if 0%{?fedora} >= 33 || 0%{?rhel} > 8 %if 0%{?fedora} >= 33 || 0%{?rhel} > 8
%ifarch x86_64 %{power64} aarch64 s390x %ifarch x86_64 ppc64 ppc64le aarch64
%global disable_bpf 0 %global disable_bpf 0
%else %else
%global disable_bpf 1 %global disable_bpf 1
@ -127,6 +125,13 @@ Source0: %{artifactory}/pcp-source-release/pcp-%{version}.src.tar.gz
%global disable_json 1 %global disable_json 1
%endif %endif
# support for pmdamongodb
%if !%{disable_python2} || !%{disable_python3}
%global disable_mongodb 0
%else
%global disable_mongodb 1
%endif
# No mssql ODBC driver on non-x86 platforms # No mssql ODBC driver on non-x86 platforms
%ifarch x86_64 %ifarch x86_64
%if !%{disable_python2} || !%{disable_python3} %if !%{disable_python2} || !%{disable_python3}
@ -229,7 +234,6 @@ Obsoletes: pcp-pmda-nvidia < 3.10.5
BuildRequires: make BuildRequires: make
BuildRequires: gcc gcc-c++ BuildRequires: gcc gcc-c++
BuildRequires: procps autoconf bison flex BuildRequires: procps autoconf bison flex
BuildRequires: nss-devel
BuildRequires: avahi-devel BuildRequires: avahi-devel
BuildRequires: xz-devel BuildRequires: xz-devel
BuildRequires: zlib-devel BuildRequires: zlib-devel
@ -275,7 +279,7 @@ BuildRequires: perl(Time::HiRes) perl(Digest::MD5)
BuildRequires: perl(XML::LibXML) perl(File::Slurp) BuildRequires: perl(XML::LibXML) perl(File::Slurp)
BuildRequires: man %{_hostname_executable} BuildRequires: man %{_hostname_executable}
%if !%{disable_systemd} %if !%{disable_systemd}
BuildRequires: systemd-devel systemd-rpm-macros BuildRequires: systemd-devel
%endif %endif
%if !%{disable_qt} %if !%{disable_qt}
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
@ -289,36 +293,27 @@ BuildRequires: qt5-qtsvg-devel
Requires: bash xz gawk sed grep findutils which %{_hostname_executable} Requires: bash xz gawk sed grep findutils which %{_hostname_executable}
Requires: pcp-libs = %{version}-%{release} Requires: pcp-libs = %{version}-%{release}
%if !%{disable_selinux}
%if !%{disable_selinux}
# rpm boolean dependencies are supported since RHEL 8 # rpm boolean dependencies are supported since RHEL 8
%if 0%{?fedora} >= 35 || 0%{?rhel} >= 8 %if 0%{?fedora} >= 35 || 0%{?rhel} >= 8
# This ensures that the pcp-selinux package and all it's dependencies are not pulled # This ensures that the pcp-selinux package and all its dependencies are
# into containers and other systems that do not use SELinux # not pulled into containers and other systems that do not use SELinux
Requires: (pcp-selinux = %{version}-%{release} if selinux-policy-targeted) Requires: (pcp-selinux = %{version}-%{release} if selinux-policy-targeted)
%else %else
Requires: pcp-selinux = %{version}-%{release} Requires: pcp-selinux = %{version}-%{release}
%endif %endif
%endif %endif
%global _confdir %{_sysconfdir}/pcp %global _confdir %{_sysconfdir}/pcp
%global _logsdir %{_localstatedir}/log/pcp %global _logsdir %{_localstatedir}/log/pcp
%global _pmnsdir %{_localstatedir}/lib/pcp/pmns %global _pmnsdir %{_localstatedir}/lib/pcp/pmns
%global _pmnsexecdir %{_libexecdir}/pcp/pmns
%global _tempsdir %{_localstatedir}/lib/pcp/tmp
%global _pmdasdir %{_localstatedir}/lib/pcp/pmdas %global _pmdasdir %{_localstatedir}/lib/pcp/pmdas
%global _pmdasexecdir %{_libexecdir}/pcp/pmdas %global _pmdasexecdir %{_libexecdir}/pcp/pmdas
%global _testsdir %{_localstatedir}/lib/pcp/testsuite %global _testsdir %{_localstatedir}/lib/pcp/testsuite
%global _selinuxdir %{_localstatedir}/lib/pcp/selinux %global _ieconfigdir %{_localstatedir}/lib/pcp/config/pmie
%global _selinuxexecdir %{_libexecdir}/pcp/selinux
%global _logconfdir %{_localstatedir}/lib/pcp/config/pmlogconf
%global _ieconfdir %{_localstatedir}/lib/pcp/config/pmieconf %global _ieconfdir %{_localstatedir}/lib/pcp/config/pmieconf
%global _tapsetdir %{_datadir}/systemtap/tapset %global _selinuxdir %{_datadir}/selinux/packages/targeted
%global _bashcompdir %{_datadir}/bash-completion/completions
%global _pixmapdir %{_datadir}/pcp-gui/pixmaps
%global _hicolordir %{_datadir}/icons/hicolor
%global _booksdir %{_datadir}/doc/pcp-doc
%if 0%{?fedora} >= 20 || 0%{?rhel} >= 8 %if 0%{?fedora} >= 20 || 0%{?rhel} >= 8
%global _with_doc --with-docdir=%{_docdir}/%{name} %global _with_doc --with-docdir=%{_docdir}/%{name}
@ -361,12 +356,6 @@ Requires: pcp-selinux = %{version}-%{release}
%global _with_perfevent --with-perfevent=yes %global _with_perfevent --with-perfevent=yes
%endif %endif
%if %{disable_podman}
%global _with_podman --with-podman=no
%else
%global _with_podman --with-podman=yes
%endif
%if %{disable_statsd} %if %{disable_statsd}
%global _with_statsd --with-pmdastatsd=no %global _with_statsd --with-pmdastatsd=no
%else %else
@ -397,6 +386,12 @@ Requires: pcp-selinux = %{version}-%{release}
%global _with_json --with-pmdajson=yes %global _with_json --with-pmdajson=yes
%endif %endif
%if %{disable_mongodb}
%global _with_mongodb --with-pmdamongodb=no
%else
%global _with_mongodb --with-pmdamongodb=yes
%endif
%if %{disable_nutcracker} %if %{disable_nutcracker}
%global _with_nutcracker --with-pmdanutcracker=no %global _with_nutcracker --with-pmdanutcracker=no
%else %else
@ -439,13 +434,12 @@ else
fi fi
} }
%global selinux_handle_policy() %{expand: %global run_pmieconf() %{expand:
if [ %1 -ge 1 ] if [ -w "%1" ]
then then
%{_libexecdir}/pcp/bin/selinux-setup %{_selinuxdir} install %2 pmieconf -c enable "%2"
elif [ %1 -eq 0 ] else
then echo "WARNING: Cannot write to %1, skipping pmieconf enable of %2." >&2
%{_libexecdir}/pcp/bin/selinux-setup %{_selinuxdir} remove %2
fi fi
} }
@ -480,6 +474,9 @@ Summary: Performance Co-Pilot run-time libraries
URL: https://pcp.io URL: https://pcp.io
Requires: pcp-conf = %{version}-%{release} Requires: pcp-conf = %{version}-%{release}
# prevent conflicting library (libpcp.so.N) installation
Conflicts: postgresql-pgpool-II
%description libs %description libs
Performance Co-Pilot (PCP) run-time libraries Performance Co-Pilot (PCP) run-time libraries
@ -492,6 +489,9 @@ Summary: Performance Co-Pilot (PCP) development headers
URL: https://pcp.io URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release} Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
# prevent conflicting library (libpcp.so) installation
Conflicts: postgresql-pgpool-II-devel
%description libs-devel %description libs-devel
Performance Co-Pilot (PCP) headers for development. Performance Co-Pilot (PCP) headers for development.
@ -532,10 +532,7 @@ 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-gfs2 pcp-pmda-mailq pcp-pmda-mounts
Requires: pcp-pmda-nvidia-gpu pcp-pmda-roomtemp pcp-pmda-sendmail pcp-pmda-shping pcp-pmda-smart Requires: pcp-pmda-nvidia-gpu pcp-pmda-roomtemp pcp-pmda-sendmail pcp-pmda-shping pcp-pmda-smart
Requires: pcp-pmda-hacluster pcp-pmda-lustrecomm pcp-pmda-logger pcp-pmda-denki pcp-pmda-docker pcp-pmda-bind2 Requires: pcp-pmda-hacluster pcp-pmda-lustrecomm pcp-pmda-logger pcp-pmda-denki pcp-pmda-docker pcp-pmda-bind2
Requires: pcp-pmda-sockets Requires: pcp-pmda-sockets pcp-pmda-podman
%if !%{disable_podman}
Requires: pcp-pmda-podman
%endif
%if !%{disable_statsd} %if !%{disable_statsd}
Requires: pcp-pmda-statsd Requires: pcp-pmda-statsd
%endif %endif
@ -555,7 +552,10 @@ Requires: pcp-pmda-bpftrace
Requires: pcp-pmda-gluster pcp-pmda-zswap pcp-pmda-unbound pcp-pmda-mic Requires: pcp-pmda-gluster pcp-pmda-zswap pcp-pmda-unbound pcp-pmda-mic
Requires: pcp-pmda-libvirt pcp-pmda-lio pcp-pmda-openmetrics pcp-pmda-haproxy Requires: pcp-pmda-libvirt pcp-pmda-lio pcp-pmda-openmetrics pcp-pmda-haproxy
Requires: pcp-pmda-lmsensors pcp-pmda-netcheck pcp-pmda-rabbitmq Requires: pcp-pmda-lmsensors pcp-pmda-netcheck pcp-pmda-rabbitmq
Requires: pcp-pmda-openvswitch pcp-pmda-mongodb Requires: pcp-pmda-openvswitch
%endif
%if !%{disable_mongodb}
Requires: pcp-pmda-mongodb
%endif %endif
%if !%{disable_mssql} %if !%{disable_mssql}
Requires: pcp-pmda-mssql Requires: pcp-pmda-mssql
@ -896,7 +896,6 @@ Performance Co-Pilot (PCP) front-end tools for exporting metric values
to the Zabbix (https://www.zabbix.org/) monitoring software. to the Zabbix (https://www.zabbix.org/) monitoring software.
%endif %endif
%if !%{disable_podman}
# #
# pcp-pmda-podman # pcp-pmda-podman
# #
@ -909,7 +908,6 @@ Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-podman %description pmda-podman
This package contains the PCP Performance Metrics Domain Agent (PMDA) for This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting podman container and pod statistics via the podman REST API. collecting podman container and pod statistics via the podman REST API.
%endif
%if !%{disable_statsd} %if !%{disable_statsd}
# #
@ -1798,7 +1796,9 @@ Requires: %{__python2}-pcp
This package contains the PCP Performance Metrics Domain Agent (PMDA) for This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from simple network checks. collecting metrics from simple network checks.
# end pcp-pmda-netcheck # end pcp-pmda-netcheck
%endif
%if !%{disable_mongodb}
# #
# pcp-pmda-mongodb # pcp-pmda-mongodb
# #
@ -1811,11 +1811,13 @@ Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp Requires: python3-pcp
%if 0%{?rhel} == 0 %if 0%{?rhel} == 0
Requires: python3-pymongo Requires: python3-pymongo
BuildRequires: python3-pymongo
%endif %endif
%else %else
Requires: %{__python2}-pcp Requires: %{__python2}-pcp
%if 0%{?rhel} == 0 %if 0%{?rhel} == 0
Requires: %{__python2}-pymongo Requires: %{__python2}-pymongo
BuildRequires: %{__python2}-pymongo
%endif %endif
%endif %endif
%description pmda-mongodb %description pmda-mongodb
@ -2287,7 +2289,7 @@ updated policy package.
%setup -q %setup -q
%build %build
# the buildsubdir macro gets defined in %setup and is apparently only available in the next step (i.e. the %build step) # the buildsubdir macro gets defined in %%setup and is apparently only available in the next step (i.e. the %%build step)
%global __strip %{_builddir}/%{?buildsubdir}/build/rpm/custom-strip %global __strip %{_builddir}/%{?buildsubdir}/build/rpm/custom-strip
# fix up build version # fix up build version
@ -2297,7 +2299,7 @@ sed -i "/PACKAGE_BUILD/s/=[0-9]*/=$_build/" VERSION.pcp
%if !%{disable_python2} && 0%{?default_python} != 3 %if !%{disable_python2} && 0%{?default_python} != 3
export PYTHON=python%{?default_python} export PYTHON=python%{?default_python}
%endif %endif
%configure %{?_with_initd} %{?_with_doc} %{?_with_dstat} %{?_with_ib} %{?_with_podman} %{?_with_statsd} %{?_with_perfevent} %{?_with_bcc} %{?_with_bpf} %{?_with_bpftrace} %{?_with_json} %{?_with_snmp} %{?_with_nutcracker} %{?_with_python2} %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}
make %{?_smp_mflags} default_pcp make %{?_smp_mflags} default_pcp
%install %install
@ -2420,7 +2422,7 @@ total_manifest() {
awk '{print $NF}' $DIST_MANIFEST awk '{print $NF}' $DIST_MANIFEST
} }
basic_manifest() { basic_manifest() {
total_manifest | cull '/pcp-doc/|/testsuite/|/man/|/examples/' total_manifest | cull '/pcp-doc/|/testsuite/|/man/|pcp/examples/'
} }
# #
@ -2429,16 +2431,16 @@ basic_manifest() {
# Likewise, for the pcp-pmda and pcp-testsuite subpackages. # Likewise, for the pcp-pmda and pcp-testsuite subpackages.
# #
total_manifest | keep 'tutorials|/html/|pcp-doc|man.*\.[1-9].*' | cull 'out' >pcp-doc-files total_manifest | keep 'tutorials|/html/|pcp-doc|man.*\.[1-9].*' | cull 'out' >pcp-doc-files
total_manifest | keep 'testsuite|etc/systemd/system|libpcp_fault|pcp/fault.h' >pcp-testsuite-files total_manifest | keep 'testsuite|pcpqa|etc/systemd/system|libpcp_fault|pcp/fault.h' >pcp-testsuite-files
basic_manifest | keep "$PCP_GUI|pcp-gui|applications|pixmaps|hicolor" | cull 'pmtime.h' >pcp-gui-files basic_manifest | keep "$PCP_GUI|pcp-gui|applications|pixmaps|hicolor" | cull 'pmtime.h' >pcp-gui-files
basic_manifest | keep 'selinux' | cull 'tmp|GNUselinuxdefs' >pcp-selinux-files basic_manifest | keep 'selinux' | cull 'tmp|testsuite' >pcp-selinux-files
basic_manifest | keep 'zeroconf|daily[-_]report|/sa$' >pcp-zeroconf-files basic_manifest | keep 'zeroconf|daily[-_]report|/sa$' >pcp-zeroconf-files
basic_manifest | grep -E -e 'pmiostat|pmrep|dstat|htop|pcp2csv' \ basic_manifest | grep -E -e 'pmiostat|pmrep|dstat|htop|pcp2csv' \
-e 'pcp-atop|pcp-dmcache|pcp-dstat|pcp-free|pcp-htop' \ -e 'pcp-atop|pcp-dmcache|pcp-dstat|pcp-free|pcp-htop' \
-e 'pcp-ipcs|pcp-iostat|pcp-lvmcache|pcp-mpstat' \ -e 'pcp-ipcs|pcp-iostat|pcp-lvmcache|pcp-mpstat' \
-e 'pcp-numastat|pcp-pidstat|pcp-shping|pcp-tapestat' \ -e 'pcp-numastat|pcp-pidstat|pcp-shping|pcp-tapestat' \
-e 'pcp-uptime|pcp-verify|pcp-ss' | \ -e 'pcp-uptime|pcp-verify|pcp-ss|pcp-ps' | \
cull 'selinux|pmlogconf|pmieconf|pmrepconf' >pcp-system-tools-files cull 'selinux|pmlogconf|pmieconf|pmrepconf' >pcp-system-tools-files
basic_manifest | keep 'sar2pcp' >pcp-import-sar2pcp-files basic_manifest | keep 'sar2pcp' >pcp-import-sar2pcp-files
@ -2503,7 +2505,7 @@ basic_manifest | keep '(etc/pcp|pmdas)/nginx(/|$)' >pcp-pmda-nginx-files
basic_manifest | keep '(etc/pcp|pmdas)/nutcracker(/|$)' >pcp-pmda-nutcracker-files basic_manifest | keep '(etc/pcp|pmdas)/nutcracker(/|$)' >pcp-pmda-nutcracker-files
basic_manifest | keep '(etc/pcp|pmdas)/nvidia(/|$)' >pcp-pmda-nvidia-files basic_manifest | keep '(etc/pcp|pmdas)/nvidia(/|$)' >pcp-pmda-nvidia-files
basic_manifest | keep '(etc/pcp|pmdas)/openmetrics(/|$)' >pcp-pmda-openmetrics-files basic_manifest | keep '(etc/pcp|pmdas)/openmetrics(/|$)' >pcp-pmda-openmetrics-files
basic_manifest | keep '(etc/pcp|pmdas)/openvswitch(/|$)' >pcp-pmda-openvswitch-files basic_manifest | keep '(etc/pcp|pmdas|pmieconf)/openvswitch(/|$)' >pcp-pmda-openvswitch-files
basic_manifest | keep '(etc/pcp|pmdas)/oracle(/|$)' >pcp-pmda-oracle-files basic_manifest | keep '(etc/pcp|pmdas)/oracle(/|$)' >pcp-pmda-oracle-files
basic_manifest | keep '(etc/pcp|pmdas)/pdns(/|$)' >pcp-pmda-pdns-files basic_manifest | keep '(etc/pcp|pmdas)/pdns(/|$)' >pcp-pmda-pdns-files
basic_manifest | keep '(etc/pcp|pmdas)/perfevent(/|$)' >pcp-pmda-perfevent-files basic_manifest | keep '(etc/pcp|pmdas)/perfevent(/|$)' >pcp-pmda-perfevent-files
@ -2676,19 +2678,34 @@ done
%endif %endif
%pre testsuite %pre testsuite
test -d %{_testsdir} || mkdir -p -m 755 %{_testsdir} %if !%{disable_selinux}
%selinux_relabel_pre -s targeted
%endif
%if 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 -
%else
getent group pcpqa >/dev/null || groupadd -r pcpqa getent group pcpqa >/dev/null || groupadd -r pcpqa
getent passwd pcpqa >/dev/null || \ getent passwd pcpqa >/dev/null || \
useradd -c "PCP Quality Assurance" -g pcpqa -d %{_testsdir} -M -r -s /bin/bash pcpqa 2>/dev/null useradd -c "PCP Quality Assurance" -g pcpqa -d %{_testsdir} -M -r -s /bin/bash pcpqa 2>/dev/null
%endif
test -d %{_testsdir} || mkdir -p -m 755 %{_testsdir}
chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null
exit 0 exit 0
%post testsuite %post testsuite
%if !%{disable_selinux}
PCP_SELINUX_DIR=%{_selinuxdir}
semodule -r pcpqa >/dev/null 2>&1 || true
%selinux_modules_install -s targeted "$PCP_SELINUX_DIR/pcp-testsuite.pp.bz2"
%selinux_relabel_post -s targeted
%endif
chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null
%if 0%{?rhel} %if 0%{?rhel}
%if !%{disable_systemd} %if !%{disable_systemd}
systemctl restart pmcd pmlogger >/dev/null 2>&1 systemctl restart pmcd pmlogger >/dev/null 2>&1
systemctl enable pmcd pmlogger >/dev/null 2>&1 systemctl enable pmcd pmlogger >/dev/null 2>&1
systemctl enable pmlogger_daily_report.timer >/dev/null 2>&1
%else %else
/sbin/chkconfig --add pmcd >/dev/null 2>&1 /sbin/chkconfig --add pmcd >/dev/null 2>&1
/sbin/chkconfig --add pmlogger >/dev/null 2>&1 /sbin/chkconfig --add pmlogger >/dev/null 2>&1
@ -2698,10 +2715,23 @@ chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null
%endif %endif
exit 0 exit 0
%if !%{disable_selinux}
%postun testsuite
if [ $1 -eq 0 ]; then
%selinux_modules_uninstall -s targeted pcp-testsuite
%selinux_relabel_post -s targeted
fi
%endif
%pre %pre
%if 0%{?fedora} >= 32 || 0%{?rhel} >= 9
echo u pcp - \"Performance Co-Pilot\" %{_localstatedir}/lib/pcp | \
systemd-sysusers --replace=/usr/lib/sysusers.d/pcp.conf -
%else
getent group pcp >/dev/null || groupadd -r pcp getent group pcp >/dev/null || groupadd -r pcp
getent passwd pcp >/dev/null || \ getent passwd pcp >/dev/null || \
useradd -c "Performance Co-Pilot" -g pcp -d %{_localstatedir}/lib/pcp -M -r -s /sbin/nologin pcp useradd -c "Performance Co-Pilot" -g pcp -d %{_localstatedir}/lib/pcp -M -r -s /sbin/nologin pcp
%endif
exit 0 exit 0
%if !%{disable_systemd} %if !%{disable_systemd}
@ -2719,10 +2749,8 @@ exit 0
%{pmda_remove "$1" "perfevent"} %{pmda_remove "$1" "perfevent"}
%endif %endif
%if !%{disable_podman}
%preun pmda-podman %preun pmda-podman
%{pmda_remove "$1" "podman"} %{pmda_remove "$1" "podman"}
%endif
%if !%{disable_statsd} %if !%{disable_statsd}
%preun pmda-statsd %preun pmda-statsd
@ -2880,8 +2908,10 @@ exit 0
%preun pmda-lmsensors %preun pmda-lmsensors
%{pmda_remove "$1" "lmsensors"} %{pmda_remove "$1" "lmsensors"}
%if !%{disable_mongodb}
%preun pmda-mongodb %preun pmda-mongodb
%{pmda_remove "$1" "mongodb"} %{pmda_remove "$1" "mongodb"}
%endif
%if !%{disable_mssql} %if !%{disable_mssql}
%preun pmda-mssql %preun pmda-mssql
@ -2984,6 +3014,7 @@ fi
PCP_PMDAS_DIR=%{_pmdasdir} PCP_PMDAS_DIR=%{_pmdasdir}
PCP_SYSCONFIG_DIR=%{_sysconfdir}/sysconfig PCP_SYSCONFIG_DIR=%{_sysconfdir}/sysconfig
PCP_PMCDCONF_PATH=%{_confdir}/pmcd/pmcd.conf PCP_PMCDCONF_PATH=%{_confdir}/pmcd/pmcd.conf
PCP_PMIECONFIG_DIR=%{_ieconfigdir}
# auto-install important PMDAs for RH Support (if not present already) # auto-install important PMDAs for RH Support (if not present already)
for PMDA in dm nfsclient openmetrics ; do for PMDA in dm nfsclient openmetrics ; do
if ! grep -q "$PMDA/pmda$PMDA" "$PCP_PMCDCONF_PATH" if ! grep -q "$PMDA/pmda$PMDA" "$PCP_PMCDCONF_PATH"
@ -2992,7 +3023,7 @@ for PMDA in dm nfsclient openmetrics ; do
fi fi
done done
# auto-enable these usually optional pmie rules # auto-enable these usually optional pmie rules
pmieconf -c enable dmthin %{run_pmieconf "$PCP_PMIECONFIG_DIR" dmthin}
%if 0%{?rhel} %if 0%{?rhel}
%if !%{disable_systemd} %if !%{disable_systemd}
systemctl restart pmcd pmlogger pmie >/dev/null 2>&1 systemctl restart pmcd pmlogger pmie >/dev/null 2>&1
@ -3007,17 +3038,6 @@ pmieconf -c enable dmthin
%endif %endif
%endif %endif
%if !%{disable_selinux}
%post selinux
%{selinux_handle_policy "$1" "pcpupstream"}
%triggerin selinux -- docker-selinux
%{selinux_handle_policy "$1" "pcpupstream-docker"}
%triggerin selinux -- container-selinux
%{selinux_handle_policy "$1" "pcpupstream-container"}
%endif
%post %post
PCP_PMNS_DIR=%{_pmnsdir} PCP_PMNS_DIR=%{_pmnsdir}
PCP_LOG_DIR=%{_logsdir} PCP_LOG_DIR=%{_logsdir}
@ -3056,14 +3076,22 @@ PCP_LOG_DIR=%{_logsdir}
%endif %endif
%if !%{disable_selinux} %if !%{disable_selinux}
%preun selinux %pre selinux
%{selinux_handle_policy "$1" "pcpupstream"} %selinux_relabel_pre -s targeted
%triggerun selinux -- docker-selinux %post selinux
%{selinux_handle_policy "$1" "pcpupstream-docker"} PCP_SELINUX_DIR=%{_selinuxdir}
semodule -r pcpupstream-container >/dev/null 2>&1 || true
semodule -r pcpupstream-docker >/dev/null 2>&1 || true
semodule -r pcpupstream >/dev/null 2>&1 || true
%selinux_modules_install -s targeted "$PCP_SELINUX_DIR/pcp.pp.bz2"
%selinux_relabel_post -s targeted
%triggerun selinux -- container-selinux %postun selinux
%{selinux_handle_policy "$1" "pcpupstream-container"} if [ $1 -eq 0 ]; then
%selinux_modules_uninstall -s targeted pcp
%selinux_relabel_post -s targeted
fi
%endif %endif
%files -f pcp-files.rpm %files -f pcp-files.rpm
@ -3082,6 +3110,7 @@ PCP_LOG_DIR=%{_logsdir}
%if !%{disable_selinux} %if !%{disable_selinux}
%files selinux -f pcp-selinux-files.rpm %files selinux -f pcp-selinux-files.rpm
%ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/targeted/active/modules/200/pcp
%endif %endif
%if !%{disable_qt} %if !%{disable_qt}
@ -3094,9 +3123,7 @@ PCP_LOG_DIR=%{_logsdir}
%files pmda-infiniband -f pcp-pmda-infiniband-files.rpm %files pmda-infiniband -f pcp-pmda-infiniband-files.rpm
%endif %endif
%if !%{disable_podman}
%files pmda-podman -f pcp-pmda-podman-files.rpm %files pmda-podman -f pcp-pmda-podman-files.rpm
%endif
%if !%{disable_statsd} %if !%{disable_statsd}
%files pmda-statsd -f pcp-pmda-statsd-files.rpm %files pmda-statsd -f pcp-pmda-statsd-files.rpm
@ -3213,7 +3240,9 @@ PCP_LOG_DIR=%{_logsdir}
%files pmda-lmsensors -f pcp-pmda-lmsensors-files.rpm %files pmda-lmsensors -f pcp-pmda-lmsensors-files.rpm
%if !%{disable_mongodb}
%files pmda-mongodb -f pcp-pmda-mongodb-files.rpm %files pmda-mongodb -f pcp-pmda-mongodb-files.rpm
%endif
%if !%{disable_mssql} %if !%{disable_mssql}
%files pmda-mssql -f pcp-pmda-mssql-files.rpm %files pmda-mssql -f pcp-pmda-mssql-files.rpm
@ -3342,6 +3371,34 @@ PCP_LOG_DIR=%{_logsdir}
%files zeroconf -f pcp-zeroconf-files.rpm %files zeroconf -f pcp-zeroconf-files.rpm
%changelog %changelog
* Fri Nov 11 2022 Nathan Scott <nathans@redhat.com> - 6.0.1-2
- Resolve an issue with installing sysusers entries
- Fix RPM spec file scriptlet relating to pmieconf (BZ 2139720)
* Thu Oct 27 2022 Nathan Scott <nathans@redhat.com> - 6.0.1-1
- Resolve a BPF module related build failure (BZ 2132998)
- Update to latest PCP sources.
* Wed Aug 31 2022 Nathan Scott <nathans@redhat.com> - 6.0.0-1
- Add libpcp/postgresql-pgpool-II-devel conflict (BZ 2100185)
- Remove an invalid path from pmie unit file (BZ 2079793)
- Update to latest PCP sources.
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.7-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 20 2022 Python Maint <python-maint@redhat.com> - 5.3.7-5
- Rebuilt for Python 3.11
* Fri Jun 17 2022 Nathan Scott <nathans@redhat.com> - 5.3.7-4
- Fix invalid path in pmie.service unit file (BZ 2079793)
* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 5.3.7-3
- Rebuilt for Python 3.11
* Wed Jun 01 2022 Jitka Plesnikova <jplesnik@redhat.com> - 5.3.7-2
- Perl 5.36 rebuild
* Tue Apr 05 2022 Nathan Scott <nathans@redhat.com> - 5.3.7-1 * Tue Apr 05 2022 Nathan Scott <nathans@redhat.com> - 5.3.7-1
- Add disk.wwid aggregated multipath metrics (BZ 1293444) - Add disk.wwid aggregated multipath metrics (BZ 1293444)
- Update to latest PCP sources. - Update to latest PCP sources.

View File

@ -0,0 +1,20 @@
commit d2dff63a0f4d4eacafa16c561b4b9e32c59f248c
Author: Nathan Scott <nathans@redhat.com>
Date: Fri Apr 8 08:19:32 2022 +1000
build: fix translation of PCP_SYSCONFIG_DIR in pmie unit file
Resolves Red Hat BZ #2072971
diff --git a/src/pmie/GNUmakefile b/src/pmie/GNUmakefile
index e0525d49e8..dc182e444a 100644
--- a/src/pmie/GNUmakefile
+++ b/src/pmie/GNUmakefile
@@ -80,6 +80,7 @@ pmie.service : pmie.service.in
$(SED) <$< >$@ \
-e 's;@PCP_RC_DIR@;'$(PCP_RC_DIR)';' \
-e 's;@PCP_RUN_DIR@;'$(PCP_RUN_DIR)';' \
+ -e 's;@PCP_SYSCONFIG_DIR@;'$(PCP_SYSCONFIG_DIR)';' \
# END
pmie_farm.service : pmie_farm.service.in

View File

@ -1 +1 @@
SHA512 (pcp-5.3.7.src.tar.gz) = 04f494a7f161dea414fca14433ffa883272a9b68fb32c2954632f6e9a94d9a292714264db6860e1c670743023b90831eb787e757a29e3affeb196aa6a8918086 SHA512 (pcp-6.0.1.src.tar.gz) = 922b787a2f28aab6355cb701500890ae83ee93b55047b65f142f9767619b2fbf91abe555106f9aa3f52f851fdb0413a92582dcf8f4dbb49894c2a557e80da5fd

View File

@ -9,5 +9,8 @@ recommend:
- pcp - pcp
- pcp-testsuite - pcp-testsuite
duration: 15m duration: 15m
adjust:
- enabled: false
continue: false
extra-summary: /CoreOS/pcp/Library/pcpcommon extra-summary: /CoreOS/pcp/Library/pcpcommon
extra-task: /CoreOS/pcp/Library/pcpcommon extra-task: /CoreOS/pcp/Library/pcpcommon