From 259476bb51b35076c00d1849eee0ac1f9353adfd Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Apr 22 2021 04:12:04 +0000 Subject: import pcp-5.3.0-2.el8 --- diff --git a/.gitignore b/.gitignore index 71e64d4..eede277 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/pcp-5.2.5.src.tar.gz +SOURCES/pcp-5.3.0.src.tar.gz diff --git a/.pcp.metadata b/.pcp.metadata index 642e815..332c7b5 100644 --- a/.pcp.metadata +++ b/.pcp.metadata @@ -1 +1 @@ -d77455b09d679988fae82ead1fb3b4ec65726fa9 SOURCES/pcp-5.2.5.src.tar.gz +4ce5b901a78f414cadeef32d0175d964983612fc SOURCES/pcp-5.3.0.src.tar.gz diff --git a/SOURCES/redhat-bugzilla-1926756.patch b/SOURCES/redhat-bugzilla-1926756.patch deleted file mode 100644 index 779923d..0000000 --- a/SOURCES/redhat-bugzilla-1926756.patch +++ /dev/null @@ -1,205 +0,0 @@ -commit d7679bd7cbb94692250a450bccf9f01cb982467f -Author: Mark Goodwin -Date: Fri Feb 12 10:12:59 2021 +1100 - - selinux, qa: allow pmcd to use netlink_tcpdiag_socket for sockets PMDA - - Add SELinux rules allowing pmcd to create, setopt, bind, getattr and - nlmsg_read to netlink tcpdiag sockets. Needed by pmdasockets. - - Update qa/1622 and 917. - - Resolves: RHBZ#1926756 - -diff --git a/qa/1622 b/qa/1622 -index 83f260d6d..f62b5f89a 100755 ---- a/qa/1622 -+++ b/qa/1622 -@@ -216,6 +216,11 @@ type=AVC msg=audit(XXX.62): avc: denied { getattr open read } for pid=YYYY co - type=AVC msg=audit(XXX.63): avc: denied { connectto } for pid=YYYY comm="pmdaX" name="/" dev="tracefs" ino=1 scontext=system_u:system_r:pcp_pmlogger_t:s0 tcontext=system_u:object_r:saslauthd_t:s0 tclass=unix_stream_socket permissive=0 - type=AVC msg=audit(XXX.66): avc: denied { sys_rawio } for pid=YYYY comm="pmdaX" name="/" dev="tracefs" ino=1 scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:object_r:pcp_pmcd_t:s0 tclass=capability permissive=0 - type=AVC msg=audit(XXX.67): avc: denied { module_request } for pid=YYYY comm="pmdalinux" kmod="netdev-tun0" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=system permissive=0 -+type=AVC msg=audit(XXX.85): avc: denied { create } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 -+type=AVC msg=audit(XXX.86): avc: denied { setopt } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 -+type=AVC msg=audit(XXX.87): avc: denied { bind } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 -+type=AVC msg=audit(XXX.88): avc: denied { getattr } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 -+type=AVC msg=audit(XXX.89): avc: denied { nlmsg_read } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 - EOF - - echo "Silence is golden ... all AVC's are allowed by active policy" -diff --git a/qa/917.out.in b/qa/917.out.in -index 69c3b2d12..ddec57f9c 100644 ---- a/qa/917.out.in -+++ b/qa/917.out.in -@@ -125,6 +125,7 @@ Checking policies. - allow [pcp_pmcd_t] [drbd_exec_t] : [file] { execute execute_no_trans }; - allow [pcp_pmcd_t] self : [netlink_generic_socket] { bind create getattr setopt write read }; - allow [pcp_pmcd_t] [sbd_exec_t] : [file] { execute execute_no_trans }; -+ allow [pcp_pmcd_t] self : [netlink_tcpdiag_socket] { bind create getattr nlmsg_read setopt }; - allow [pcp_pmcd_t] [etc_t] : [dir] { open read search getattr lock ioctl }; - allow [pcp_pmcd_t] [shadow_t] : [file] { getattr ioctl lock open read }; - allow [pcp_pmie_t] [etc_t] : [dir] { open read search getattr lock ioctl }; -diff --git a/src/selinux/GNUlocaldefs b/src/selinux/GNUlocaldefs -index 30b67d907..cbfa34c14 100644 ---- a/src/selinux/GNUlocaldefs -+++ b/src/selinux/GNUlocaldefs -@@ -118,5 +118,7 @@ endif - - ifeq "$(PCP_SELINUX_NETLINK_GENERIC_SOCKET_CLASS)" "true" - PCP_NETLINK_GENERIC_SOCKET_CLASS="class netlink_generic_socket { bind create getattr setopt write read };" -+PCP_NETLINK_TCPDIAG_SOCKET_CLASS="class netlink_tcpdiag_socket { bind create getattr nlmsg_read setopt };" - PCP_NETLINK_GENERIC_SOCKET_RULE="allow pcp_pmcd_t self:netlink_generic_socket { bind create getattr setopt write read };" -+PCP_NETLINK_TCPDIAG_SOCKET_RULE="allow pcp_pmcd_t self:netlink_tcpdiag_socket { bind create getattr nlmsg_read setopt };" - endif -diff --git a/src/selinux/GNUmakefile b/src/selinux/GNUmakefile -index e16859d7e..d04644fcb 100644 ---- a/src/selinux/GNUmakefile -+++ b/src/selinux/GNUmakefile -@@ -80,6 +80,8 @@ $(IAM).te: $(IAM).te.in - -e 's+@PCP_ICMP_SOCKET_RULE@+'$(PCP_ICMP_SOCKET_RULE)'+' \ - -e 's+@PCP_NETLINK_GENERIC_SOCKET_CLASS@+'$(PCP_NETLINK_GENERIC_SOCKET_CLASS)'+' \ - -e 's+@PCP_NETLINK_GENERIC_SOCKET_RULE@+'$(PCP_NETLINK_GENERIC_SOCKET_RULE)'+' \ -+ -e 's+@PCP_NETLINK_TCPDIAG_SOCKET_CLASS@+'$(PCP_NETLINK_TCPDIAG_SOCKET_CLASS)'+' \ -+ -e 's+@PCP_NETLINK_TCPDIAG_SOCKET_RULE@+'$(PCP_NETLINK_TCPDIAG_SOCKET_RULE)'+' \ - -e 's+@PCP_SELINUX_MACRO_RULE@+'$(PCP_SELINUX_MACRO_RULE)'+' \ - -e 's+@PACKAGE_VERSION@+'$(PACKAGE_VERSION)'+' \ - -diff --git a/src/selinux/pcpupstream.te.in b/src/selinux/pcpupstream.te.in -index 36a043be1..d935aee36 100644 ---- a/src/selinux/pcpupstream.te.in -+++ b/src/selinux/pcpupstream.te.in -@@ -90,6 +90,7 @@ require { - @PCP_BPF_CLASS@ - class system { module_request }; - @PCP_NETLINK_GENERIC_SOCKET_CLASS@ -+ @PCP_NETLINK_TCPDIAG_SOCKET_CLASS@ - } - - #============= init_t ============== -@@ -423,3 +424,11 @@ allow pcp_pmcd_t drbd_exec_t:file { execute execute_no_trans }; - # pmda-hacluster requirements for checking sbd - # type=AVC msg=audit(XXX.81): avc: denied { execute_no_trans } for pid=421434 comm="sh" path="/usr/sbin/sbd" dev="vda1" ino=1050019 scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:object_r:sbd_exec_t:s0 tclass=file permissive=1 - @PCP_SBD_EXEC_RULE@ -+ -+#=========== pmda-sockets ============ -+# type=AVC msg=audit(XXX.85): avc: denied { create } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 -+# type=AVC msg=audit(XXX.86): avc: denied { setopt } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 -+# type=AVC msg=audit(XXX.87): avc: denied { bind } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 -+# type=AVC msg=audit(XXX.88): avc: denied { getattr } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 -+# type=AVC msg=audit(XXX.89): avc: denied { nlmsg_read } for pid=YYYY comm="ss" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:pcp_pmcd_t:s0 tclass=netlink_tcpdiag_socket permissive=1 -+@PCP_NETLINK_TCPDIAG_SOCKET_RULE@ - -commit a49772607d80b25b2ae4b8764be709bb27d7e16f -Author: Mark Goodwin -Date: Fri Feb 12 10:09:23 2021 +1100 - - pmdasockets: minor changes to Install and Remove, add -U username - - Specify pmns_name in Install and Remove scripts since the pmda name - differs to the namespace. Add -U username for optional use when run - as a daemon. - -diff --git a/src/pmdas/linux_sockets/GNUmakefile b/src/pmdas/linux_sockets/GNUmakefile -index 34897f2e9..a32987ef7 100644 ---- a/src/pmdas/linux_sockets/GNUmakefile -+++ b/src/pmdas/linux_sockets/GNUmakefile -@@ -31,7 +31,7 @@ HFILES = indom.h cluster.h ss_stats.h - LLDLIBS = $(PCP_PMDALIB) - LCFLAGS = $(INVISIBILITY) - --SCRIPTS = Install Remove -+SCRIPTS = Install Remove Upgrade - VERSION_SCRIPT = exports - LDIRT = domain.h $(VERSION_SCRIPT) $(IAM).log - -diff --git a/src/pmdas/linux_sockets/Install b/src/pmdas/linux_sockets/Install -index 4bc934c96..28d7c7f9e 100755 ---- a/src/pmdas/linux_sockets/Install -+++ b/src/pmdas/linux_sockets/Install -@@ -1,4 +1,4 @@ --#! /bin/sh -+#!/usr/bin/sh - # - # Copyright (c) 2021 Red Hat. - # -@@ -25,6 +25,8 @@ dso_opt=true - pipe_opt=false - daemon_opt=false - -+pmns_name=network.persocket # differs to PMDA name -+ - which ss >/dev/null 2>&1 - if [ $? -ne 0 ] - then -diff --git a/src/pmdas/linux_sockets/Remove b/src/pmdas/linux_sockets/Remove -index 26edc85aa..3fee6a0e6 100755 ---- a/src/pmdas/linux_sockets/Remove -+++ b/src/pmdas/linux_sockets/Remove -@@ -1,4 +1,4 @@ --#! /bin/sh -+#!/usr/bin/sh - # - # Copyright (c) 2021 Red Hat. - # -@@ -19,6 +19,7 @@ - . $PCP_SHARE_DIR/lib/pmdaproc.sh - - iam=sockets -+pmns_name=network.persocket # differs to PMDA name - - pmdaSetup - pmdaRemove -diff --git a/src/pmdas/linux_sockets/pmda.c b/src/pmdas/linux_sockets/pmda.c -index 9bca5d9d0..fab4be290 100644 ---- a/src/pmdas/linux_sockets/pmda.c -+++ b/src/pmdas/linux_sockets/pmda.c -@@ -23,6 +23,7 @@ - #include "ss_stats.h" - - static int _isDSO = 1; /* for local contexts */ -+static char *username; - - /* metrics supported in this PMDA - see metrictab.c */ - extern pmdaMetric metrictable[]; -@@ -200,6 +201,8 @@ sockets_init(pmdaInterface *dp) - pmGetConfig("PCP_PMDAS_DIR"), sep, sep); - pmdaDSO(dp, PMDA_INTERFACE_7, "SOCKETS DSO", helppath); - } -+ else -+ pmSetProcessIdentity(username); - - if (dp->status != 0) - return; -@@ -227,12 +230,13 @@ static pmLongOptions longopts[] = { - PMOPT_DEBUG, - PMDAOPT_DOMAIN, - PMDAOPT_LOGFILE, -+ PMDAOPT_USERNAME, - PMOPT_HELP, - PMDA_OPTIONS_END - }; - - static pmdaOptions opts = { -- .short_options = "D:d:l:?", -+ .short_options = "D:d:l:U:?", - .long_options = longopts, - }; - -@@ -248,6 +252,7 @@ main(int argc, char **argv) - - _isDSO = 0; - pmSetProgname(argv[0]); -+ pmGetUsername(&username); - pmsprintf(helppath, sizeof(helppath), "%s%c" "sockets" "%c" "help", - pmGetConfig("PCP_PMDAS_DIR"), sep, sep); - pmdaDaemon(&dispatch, PMDA_INTERFACE_7, pmGetProgname(), SOCKETS, "sockets.log", helppath); -@@ -257,6 +262,8 @@ main(int argc, char **argv) - pmdaUsageMessage(&opts); - exit(1); - } -+ if (opts.username) -+ username = opts.username; - - pmdaOpenLog(&dispatch); - sockets_init(&dispatch); - diff --git a/SOURCES/redhat-bugzilla-1930284.patch b/SOURCES/redhat-bugzilla-1930284.patch deleted file mode 100644 index 4b08e71..0000000 --- a/SOURCES/redhat-bugzilla-1930284.patch +++ /dev/null @@ -1,24 +0,0 @@ -Revert upstream PCP commit e01ab96c813fa31e685ac864031d145f63162088 - -diff -Naurp pcp-5.2.5.orig/src/pmie/pmie.service.in pcp-5.2.5/src/pmie/pmie.service.in ---- pcp-5.2.5.orig/src/pmie/pmie.service.in 2021-02-03 09:58:14.000000000 +1100 -+++ pcp-5.2.5/src/pmie/pmie.service.in 2021-02-19 10:52:20.786419561 +1100 -@@ -4,6 +4,7 @@ Documentation=man:pmie(1) - After=network-online.target pmcd.service - Before=pmie_check.timer pmie_daily.timer - BindsTo=pmie_check.timer pmie_daily.timer -+Wants=pmcd.service - - [Service] - Type=notify -diff -Naurp pcp-5.2.5.orig/src/pmlogger/pmlogger.service.in pcp-5.2.5/src/pmlogger/pmlogger.service.in ---- pcp-5.2.5.orig/src/pmlogger/pmlogger.service.in 2021-02-03 09:58:14.000000000 +1100 -+++ pcp-5.2.5/src/pmlogger/pmlogger.service.in 2021-02-19 10:52:36.111160100 +1100 -@@ -4,6 +4,7 @@ Documentation=man:pmlogger(1) - After=network-online.target pmcd.service - Before=pmlogger_check.timer pmlogger_daily.timer pmlogger_daily-poll.timer - BindsTo=pmlogger_check.timer pmlogger_daily.timer pmlogger_daily-poll.timer -+Wants=pmcd.service - - [Service] - Type=notify diff --git a/SOURCES/redhat-bugzilla-1950263.patch b/SOURCES/redhat-bugzilla-1950263.patch new file mode 100644 index 0000000..649d8c4 --- /dev/null +++ b/SOURCES/redhat-bugzilla-1950263.patch @@ -0,0 +1,33 @@ +commit 6528e1b09ad948a8bf82e03ad2f10c1a296078af +Author: Nathan Scott +Date: Tue Apr 20 11:02:26 2021 +1000 + + qa: specify PCP libraries only on libpcp_web link lines + + Tweaks the changes from commit c9bd0cc4e9b so that testsuite + sources linking with libpcp_web don't pull in 3rd party libs + (which may not be installed) like uv, ssl, crypto. + + Resolves Red Hat BZ #1950263 + +diff --git a/qa/src/GNUlocaldefs b/qa/src/GNUlocaldefs +index 3b5873c25..13fc09831 100644 +--- a/qa/src/GNUlocaldefs ++++ b/qa/src/GNUlocaldefs +@@ -538,13 +538,13 @@ check_pmiend_fdleak: check_pmiend_fdleak.c + + httpfetch: httpfetch.c + rm -f $@ +- $(CCF) $(CDEFS) -o $@ $@.c $(LDLIBS) $(PCP_WEBLIB) ++ $(CCF) $(CDEFS) -o $@ $@.c $(LDLIBS) -lpcp_pmda -lpcp_web -lpcp_mmv + json_test: json_test.c + rm -f $@ +- $(CCF) $(CDEFS) -o $@ $@.c $(LDLIBS) $(PCP_WEBLIB) ++ $(CCF) $(CDEFS) -o $@ $@.c $(LDLIBS) -lpcp_pmda -lpcp_web -lpcp_mmv + sha1int2ext: sha1int2ext.o + rm -f $@ +- $(CCF) $(CDEFS) -o $@ $@.c $(LDLIBS) $(PCP_WEBLIB) ++ $(CCF) $(CDEFS) -o $@ $@.c $(LDLIBS) -lpcp_pmda -lpcp_web -lpcp_mmv + + # --- need libpcp_fault + # diff --git a/SPECS/pcp.spec b/SPECS/pcp.spec index 9692b78..6820e52 100644 --- a/SPECS/pcp.spec +++ b/SPECS/pcp.spec @@ -1,15 +1,14 @@ Name: pcp -Version: 5.2.5 -Release: 4%{?dist} +Version: 5.3.0 +Release: 2%{?dist} Summary: System-level performance monitoring and performance management License: GPLv2+ and LGPLv2+ and CC-BY URL: https://pcp.io -%global bintray https://bintray.com/artifact/download -Source0: %{bintray}/pcp/source/pcp-%{version}.src.tar.gz +%global artifactory https://performancecopilot.jfrog.io/artifactory +Source0: %{artifactory}/pcp-source-release/pcp-%{version}.src.tar.gz -Patch000: redhat-bugzilla-1926756.patch -Patch001: redhat-bugzilla-1930284.patch +Patch000: redhat-bugzilla-1950263.patch %if 0%{?fedora} >= 26 || 0%{?rhel} > 7 %global __python2 python2 @@ -24,6 +23,8 @@ Patch001: redhat-bugzilla-1930284.patch %global _hostname_executable /bin/hostname %endif +%global disable_perl 0 + %if 0%{?fedora} || 0%{?rhel} > 5 %global disable_selinux 0 %else @@ -198,17 +199,27 @@ Conflicts: librapi < 0.16 # KVM PMDA moved into pcp (no longer using Perl, default on) Obsoletes: pcp-pmda-kvm < 4.1.1 -Provides: pcp-pmda-kvm +Provides: pcp-pmda-kvm = %{version}-%{release} # PCP REST APIs are now provided by pmproxy Obsoletes: pcp-webapi-debuginfo < 5.0.0 Obsoletes: pcp-webapi < 5.0.0 -Provides: pcp-webapi +Provides: pcp-webapi = %{version}-%{release} # PCP discovery service now provided by pmfind Obsoletes: pcp-manager-debuginfo < 5.2.0 Obsoletes: pcp-manager < 5.2.0 +# Some older releases did not update or replace pcp-gui-debuginfo properly +%if 0%{?fedora} < 27 && 0%{?rhel} <= 7 && "%{_vendor}" == "redhat" +Obsoletes: pcp-gui-debuginfo < 4.1.1 +%endif + +Obsoletes: pcp-compat < 4.2.0 +Obsoletes: pcp-monitor < 4.2.0 +Obsoletes: pcp-collector < 4.2.0 +Obsoletes: pcp-pmda-nvidia < 3.10.5 + # https://fedoraproject.org/wiki/Packaging "C and C++" BuildRequires: make BuildRequires: gcc gcc-c++ @@ -259,7 +270,8 @@ BuildRequires: perl-generators %endif BuildRequires: perl-devel perl(strict) BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent) perl(JSON) -BuildRequires: perl(LWP::UserAgent) perl(Time::HiRes) perl(Digest::MD5) +BuildRequires: perl(Time::HiRes) perl(Digest::MD5) +BuildRequires: perl(XML::LibXML) perl(File::Slurp) BuildRequires: man %{_hostname_executable} %if !%{disable_systemd} BuildRequires: systemd-devel systemd-rpm-macros @@ -280,16 +292,6 @@ Requires: pcp-libs = %{version}-%{release} Requires: pcp-selinux = %{version}-%{release} %endif -# Some older releases did not update or replace pcp-gui-debuginfo properly -%if 0%{?fedora} < 27 && 0%{?rhel} <= 7 && "%{_vendor}" == "redhat" -Obsoletes: pcp-gui-debuginfo < 4.1.1 -%endif - -Obsoletes: pcp-compat < 4.2.0 -Obsoletes: pcp-monitor < 4.2.0 -Obsoletes: pcp-collector < 4.2.0 -Obsoletes: pcp-pmda-nvidia < 3.10.5 - Requires: pcp-libs = %{version}-%{release} %global _confdir %{_sysconfdir}/pcp @@ -1602,7 +1604,7 @@ extracting performance metrics from HAProxy over the HAProxy stats socket. # %package pmda-libvirt License: GPLv2+ -Summary: Performance Co-Pilot (PCP) metrics for virtual machines +Summary: Performance Co-Pilot (PCP) metrics from virtual machines URL: https://pcp.io Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release} %if !%{disable_python3} @@ -2248,7 +2250,6 @@ updated policy package. %prep %setup -q %patch000 -p1 -%patch001 -p1 %build # fix up build version @@ -2267,26 +2268,26 @@ BACKDIR=`pwd` NO_CHOWN=true DIST_ROOT=$RPM_BUILD_ROOT DIST_TMPFILES=$BACKDIR/install.tmpfiles -export NO_CHOWN DIST_ROOT DIST_TMPFILES +DIST_MANIFEST=$BACKDIR/install.manifest +export NO_CHOWN DIST_ROOT DIST_MANIFEST DIST_TMPFILES +rm -f $DIST_MANIFEST $DIST_TMPFILES make install_pcp -PCP_GUI='pmchart|pmconfirm|pmdumptext|pmmessage|pmquery|pmsnap|pmtime' +### TODO: remove these by incorporating into the actual build # Fix stuff we do/don't want to ship rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a +sed -i -e '/\.a$/d' $DIST_MANIFEST # remove sheet2pcp until BZ 830923 and BZ 754678 are resolved. rm -f $RPM_BUILD_ROOT/%{_bindir}/sheet2pcp $RPM_BUILD_ROOT/%{_mandir}/man1/sheet2pcp.1* +sed -i -e '/sheet2pcp/d' $DIST_MANIFEST # remove {config,platform}sz.h as these are not multilib friendly. rm -f $RPM_BUILD_ROOT/%{_includedir}/pcp/configsz.h +sed -i -e '/configsz.h/d' $DIST_MANIFEST rm -f $RPM_BUILD_ROOT/%{_includedir}/pcp/platformsz.h - -%if %{disable_infiniband} -# remove pmdainfiniband on platforms lacking IB devel packages. -rm -f $RPM_BUILD_ROOT/%{_pmdasdir}/ib -rm -fr $RPM_BUILD_ROOT/%{_pmdasdir}/infiniband -%endif +sed -i -e '/platformsz.h/d' $DIST_MANIFEST %if %{disable_mssql} # remove pmdamssql on platforms lacking MSODBC driver packages. @@ -2295,32 +2296,10 @@ rm -fr $RPM_BUILD_ROOT/%{_pmdasexecdir}/mssql rm -fr $RPM_BUILD_ROOT/%{_confdir}/mssql %endif -%if %{disable_sdt} -rm -fr $RPM_BUILD_ROOT/%{_tapsetdir} -%endif - -%if %{disable_selinux} -rm -fr $RPM_BUILD_ROOT/%{_selinuxdir} -%endif - -%if %{disable_qt} -rm -fr $RPM_BUILD_ROOT/%{_pixmapdir} -rm -fr $RPM_BUILD_ROOT/%{_hicolordir} -rm -fr $RPM_BUILD_ROOT/%{_confdir}/pmsnap -rm -fr $RPM_BUILD_ROOT/%{_localstatedir}/lib/pcp/config/pmsnap -rm -fr $RPM_BUILD_ROOT/%{_localstatedir}/lib/pcp/config/pmchart -rm -f $RPM_BUILD_ROOT/%{_localstatedir}/lib/pcp/config/pmafm/pcp-gui -rm -f $RPM_BUILD_ROOT/%{_datadir}/applications/pmchart.desktop -rm -f `find $RPM_BUILD_ROOT/%{_mandir}/man1 | grep -E "$PCP_GUI"` -%else -rm -rf $RPM_BUILD_ROOT/usr/share/doc/pcp-gui +%if !%{disable_qt} desktop-file-validate $RPM_BUILD_ROOT/%{_datadir}/applications/pmchart.desktop %endif -%if %{disable_xlsx} -rm -f $RPM_BUILD_ROOT/%{_bashcompdir}/pcp2xlsx -%endif - %if 0%{?rhel} || 0%{?fedora} # Fedora and RHEL default local only access for pmcd and pmlogger sed -i -e '/^# .*_LOCAL=1/s/^# //' $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/{pmcd,pmlogger} @@ -2332,119 +2311,320 @@ for f in $RPM_BUILD_ROOT/%{_initddir}/{pcp,pmcd,pmlogger,pmie,pmproxy}; do sed -i -e '/^# chkconfig/s/:.*$/: - 95 05/' -e '/^# Default-Start:/s/:.*$/:/' $f done -# list of PMDAs in the base pcp package -for pmda in jbd2 kvm linux mmv pipe pmcd proc root xfs zfs; do - for alt in %{_pmdasdir} %{_pmdasexecdir} %{_confdir}; do - [ -d $RPM_BUILD_ROOT/$alt/$pmda ] && echo $alt/$pmda >>base_pmdas.list - done +### end TODO + +PCP_GUI='pmchart|pmconfirm|pmdumptext|pmmessage|pmquery|pmsnap|pmtime' + +PCP_CONF=$BACKDIR/src/include/pcp.conf +export PCP_CONF +. $BACKDIR/src/include/pcp.env +CFGFILELIST=`ls -1 $BACKDIR/debian/pcp-conf.{install,dirs}` +LIBFILELIST=`ls -1 $BACKDIR/debian/lib*.{install,dirs} | grep -F -v -- -dev.` +DEVFILELIST=`ls -1 $BACKDIR/debian/lib*-dev.{install,dirs}` + +# Package split: pcp{-conf,-libs,-libs-devel,-testsuite,-import-*,-export-*}... +# The above list is ordered by file selection; files for each package are +# removed from a global set, then the base package catches all remaining. +sed -e 's/^/\//' $CFGFILELIST >pcp-conf-files +sed -e 's/^/\//' $LIBFILELIST >pcp-libs-files +sed -e 's/^/\//' $DEVFILELIST >pcp-devel-files +grep "\.h$" $DEVFILELIST | cut -f2 -d":" >pcp-libs-devel-files +grep "\.pc$" $DEVFILELIST | cut -f2 -d":" >>pcp-libs-devel-files +grep "\.so$" $DEVFILELIST | cut -f2 -d":" >>pcp-libs-devel-files +grep "\.a$" $DEVFILELIST | cut -f2 -d":" >>pcp-libs-devel-files +sed -i -e 's/^/\//' pcp-libs-devel-files +sed -i '/.h$/d' pcp-devel-files +sed -i '/.pc$/d' pcp-devel-files +sed -i '/.so$/d' pcp-devel-files +sed -i '/.a$/d' pcp-devel-files +sed -i '/\/man\//d' pcp-devel-files +sed -i '/\/include\//d' pcp-devel-files + +%ifarch x86_64 ppc64 ppc64le aarch64 s390x +sed -i -e 's/usr\/lib\//usr\/lib64\//' pcp-libs-files +sed -i -e 's/usr\/lib\//usr\/lib64\//' pcp-devel-files +sed -i -e 's/usr\/lib\//usr\/lib64\//' pcp-libs-devel-files +%endif +%ifarch ia64 +%if "%{_vendor}" != "suse" +sed -i -e 's/usr\/lib\//usr\/lib64\//' pcp-libs-files +sed -i -e 's/usr\/lib\//usr\/lib64\//' pcp-devel-files +sed -i -e 's/usr\/lib\//usr\/lib64\//' pcp-libs-devel-files +%endif +%endif + +# some special cases for devel +awk '{print $NF}' $DIST_MANIFEST |\ +grep -E 'pcp\/(examples|demos)|(etc/pcp|pcp/pmdas)\/(sample|simple|trivial|txmon)|bin/(pmdbg|pmclient|pmerr|genpmda)' | grep -E -v tutorials >>pcp-devel-files + +# Patterns for files to be marked %%config(noreplace). +# Note: /etc/pcp.{conf,env,sh} are %%config but not noreplace +# and are treated specially below. +cat >confpath.list <pcp-doc-files +total_manifest | keep 'testsuite|etc/systemd/system' >pcp-testsuite-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 'zeroconf|daily[-_]report|/sa$' >pcp-zeroconf-files +basic_manifest | grep -E -e 'pmiostat|pmrep|dstat|pcp2csv' \ + -e 'pcp-atop|pcp-dmcache|pcp-dstat|pcp-free|pcp-htop' \ + -e 'pcp-ipcs|pcp-iostat|pcp-lvmcache|pcp-mpstat' \ + -e 'pcp-numastat|pcp-pidstat|pcp-shping|pcp-tapestat' \ + -e 'pcp-uptime|pcp-verify' | \ + cull 'selinux|pmlogconf|pmieconf|pmrepconf' >pcp-system-tools-files + +basic_manifest | keep 'sar2pcp' >pcp-import-sar2pcp-files +basic_manifest | keep 'iostat2pcp' >pcp-import-iostat2pcp-files +basic_manifest | keep 'sheet2pcp' >pcp-import-sheet2pcp-files +basic_manifest | keep 'mrtg2pcp' >pcp-import-mrtg2pcp-files +basic_manifest | keep 'ganglia2pcp' >pcp-import-ganglia2pcp-files +basic_manifest | keep 'collectl2pcp' >pcp-import-collectl2pcp-files +basic_manifest | keep 'pcp2elasticsearch' >pcp-export-pcp2elasticsearch-files +basic_manifest | keep 'pcp2influxdb' >pcp-export-pcp2influxdb-files +basic_manifest | keep 'pcp2xlsx' >pcp-export-pcp2xlsx-files +basic_manifest | keep 'pcp2graphite' >pcp-export-pcp2graphite-files +basic_manifest | keep 'pcp2json' >pcp-export-pcp2json-files +basic_manifest | keep 'pcp2spark' >pcp-export-pcp2spark-files +basic_manifest | keep 'pcp2xml' >pcp-export-pcp2xml-files +basic_manifest | keep 'pcp2zabbix' >pcp-export-pcp2zabbix-files +basic_manifest | keep 'zabbix|zbxpcp' | cull pcp2zabbix >pcp-export-zabbix-agent-files +basic_manifest | keep '(etc/pcp|pmdas)/activemq(/|$)' >pcp-pmda-activemq-files +basic_manifest | keep '(etc/pcp|pmdas)/apache(/|$)' >pcp-pmda-apache-files +basic_manifest | keep '(etc/pcp|pmdas)/bash(/|$)' >pcp-pmda-bash-files +basic_manifest | keep '(etc/pcp|pmdas)/bcc(/|$)' >pcp-pmda-bcc-files +basic_manifest | keep '(etc/pcp|pmdas)/bind2(/|$)' >pcp-pmda-bind2-files +basic_manifest | keep '(etc/pcp|pmdas)/bonding(/|$)' >pcp-pmda-bonding-files +basic_manifest | keep '(etc/pcp|pmdas)/bpftrace(/|$)' >pcp-pmda-bpftrace-files +basic_manifest | keep '(etc/pcp|pmdas)/cifs(/|$)' >pcp-pmda-cifs-files +basic_manifest | keep '(etc/pcp|pmdas)/cisco(/|$)' >pcp-pmda-cisco-files +basic_manifest | keep '(etc/pcp|pmdas)/dbping(/|$)' >pcp-pmda-dbping-files +basic_manifest | keep '(etc/pcp|pmdas|pmieconf)/dm(/|$)' >pcp-pmda-dm-files +basic_manifest | keep '(etc/pcp|pmdas)/docker(/|$)' >pcp-pmda-docker-files +basic_manifest | keep '(etc/pcp|pmdas)/ds389log(/|$)' >pcp-pmda-ds389log-files +basic_manifest | keep '(etc/pcp|pmdas)/ds389(/|$)' >pcp-pmda-ds389-files +basic_manifest | keep '(etc/pcp|pmdas)/elasticsearch(/|$)' >pcp-pmda-elasticsearch-files +basic_manifest | keep '(etc/pcp|pmdas)/gfs2(/|$)' >pcp-pmda-gfs2-files +basic_manifest | keep '(etc/pcp|pmdas)/gluster(/|$)' >pcp-pmda-gluster-files +basic_manifest | keep '(etc/pcp|pmdas)/gpfs(/|$)' >pcp-pmda-gpfs-files +basic_manifest | keep '(etc/pcp|pmdas)/gpsd(/|$)' >pcp-pmda-gpsd-files +basic_manifest | keep '(etc/pcp|pmdas)/hacluster(/|$)' >pcp-pmda-hacluster-files +basic_manifest | keep '(etc/pcp|pmdas)/haproxy(/|$)' >pcp-pmda-haproxy-files +basic_manifest | keep '(etc/pcp|pmdas)/infiniband(/|$)' >pcp-pmda-infiniband-files +basic_manifest | keep '(etc/pcp|pmdas)/json(/|$)' >pcp-pmda-json-files +basic_manifest | keep '(etc/pcp|pmdas)/libvirt(/|$)' >pcp-pmda-libvirt-files +basic_manifest | keep '(etc/pcp|pmdas)/lio(/|$)' >pcp-pmda-lio-files +basic_manifest | keep '(etc/pcp|pmdas)/lmsensors(/|$)' >pcp-pmda-lmsensors-files +basic_manifest | keep '(etc/pcp|pmdas)/logger(/|$)' >pcp-pmda-logger-files +basic_manifest | keep '(etc/pcp|pmdas)/lustre(/|$)' >pcp-pmda-lustre-files +basic_manifest | keep '(etc/pcp|pmdas)/lustrecomm(/|$)' >pcp-pmda-lustrecomm-files +basic_manifest | keep '(etc/pcp|pmdas)/memcache(/|$)' >pcp-pmda-memcache-files +basic_manifest | keep '(etc/pcp|pmdas)/mailq(/|$)' >pcp-pmda-mailq-files +basic_manifest | keep '(etc/pcp|pmdas)/mic(/|$)' >pcp-pmda-mic-files +basic_manifest | keep '(etc/pcp|pmdas)/mounts(/|$)' >pcp-pmda-mounts-files +basic_manifest | keep '(etc/pcp|pmdas)/mssql(/|$)' >pcp-pmda-mssql-files +basic_manifest | keep '(etc/pcp|pmdas)/mysql(/|$)' >pcp-pmda-mysql-files +basic_manifest | keep '(etc/pcp|pmdas)/named(/|$)' >pcp-pmda-named-files +basic_manifest | keep '(etc/pcp|pmdas)/netfilter(/|$)' >pcp-pmda-netfilter-files +basic_manifest | keep '(etc/pcp|pmdas)/netcheck(/|$)' >pcp-pmda-netcheck-files +basic_manifest | keep '(etc/pcp|pmdas)/news(/|$)' >pcp-pmda-news-files +basic_manifest | keep '(etc/pcp|pmdas)/nfsclient(/|$)' >pcp-pmda-nfsclient-files +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)/nvidia(/|$)' >pcp-pmda-nvidia-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)/oracle(/|$)' >pcp-pmda-oracle-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)/podman(/|$)' >pcp-pmda-podman-files +basic_manifest | keep '(etc/pcp|pmdas)/postfix(/|$)' >pcp-pmda-postfix-files +basic_manifest | keep '(etc/pcp|pmdas)/postgresql(/|$)' >pcp-pmda-postgresql-files +basic_manifest | keep '(etc/pcp|pmdas)/rabbitmq(/|$)' >pcp-pmda-rabbitmq-files +basic_manifest | keep '(etc/pcp|pmdas)/redis(/|$)' >pcp-pmda-redis-files +basic_manifest | keep '(etc/pcp|pmdas)/roomtemp(/|$)' >pcp-pmda-roomtemp-files +basic_manifest | keep '(etc/pcp|pmdas)/rpm(/|$)' >pcp-pmda-rpm-files +basic_manifest | keep '(etc/pcp|pmdas)/rsyslog(/|$)' >pcp-pmda-rsyslog-files +basic_manifest | keep '(etc/pcp|pmdas)/samba(/|$)' >pcp-pmda-samba-files +basic_manifest | keep '(etc/pcp|pmdas)/sendmail(/|$)' >pcp-pmda-sendmail-files +basic_manifest | keep '(etc/pcp|pmdas)/shping(/|$)' >pcp-pmda-shping-files +basic_manifest | keep '(etc/pcp|pmdas)/slurm(/|$)' >pcp-pmda-slurm-files +basic_manifest | keep '(etc/pcp|pmdas)/smart(/|$)' >pcp-pmda-smart-files +basic_manifest | keep '(etc/pcp|pmdas)/snmp(/|$)' >pcp-pmda-snmp-files +basic_manifest | keep '(etc/pcp|pmdas)/sockets(/|$)' >pcp-pmda-sockets-files +basic_manifest | keep '(etc/pcp|pmdas)/statsd(/|$)' >pcp-pmda-statsd-files +basic_manifest | keep '(etc/pcp|pmdas)/summary(/|$)' >pcp-pmda-summary-files +basic_manifest | keep '(etc/pcp|pmdas)/systemd(/|$)' >pcp-pmda-systemd-files +basic_manifest | keep '(etc/pcp|pmdas)/trace(/|$)' >pcp-pmda-trace-files +basic_manifest | keep '(etc/pcp|pmdas)/unbound(/|$)' >pcp-pmda-unbound-files +basic_manifest | keep '(etc/pcp|pmdas)/weblog(/|$)' >pcp-pmda-weblog-files +basic_manifest | keep '(etc/pcp|pmdas)/vmware(/|$)' >pcp-pmda-vmware-files +basic_manifest | keep '(etc/pcp|pmdas)/zimbra(/|$)' >pcp-pmda-zimbra-files +basic_manifest | keep '(etc/pcp|pmdas)/zswap(/|$)' >pcp-pmda-zswap-files + +rm -f packages.list +for pmda_package in \ + activemq apache \ + bash bcc bind2 bonding bpftrace \ + cifs cisco \ + dbping docker dm ds389 ds389log \ + elasticsearch \ + gfs2 gluster gpfs gpsd \ + hacluster haproxy \ + infiniband \ + json \ + libvirt lio lmsensors logger lustre lustrecomm \ + mailq memcache mic mounts mssql mysql \ + named netcheck netfilter news nfsclient nginx \ + nutcracker nvidia \ + openmetrics openvswitch oracle \ + pdns perfevent podman postfix postgresql \ + rabbitmq redis roomtemp rpm rsyslog \ + samba sendmail shping slurm smart snmp \ + sockets statsd summary systemd \ + unbound \ + trace \ + vmware \ + weblog \ + zimbra zswap ; \ +do \ + pmda_packages="$pmda_packages pcp-pmda-$pmda_package"; \ done -# list of conf directories in base pcp package -for conf in discover labels nssdb pmafm pmcd pmfind pmie pmieconf pmlogconf \ - proc simple pipe linux pmlogger pmlogrewrite pmproxy pmsearch pmseries; do - for alt in %{_confdir} %{_localstatedir}/lib/pcp/config; do - replace=""; [ "$alt" = "%{_confdir}" ] && replace="%config(noreplace)" - [ -d $RPM_BUILD_ROOT/$alt/$conf ] && echo "$replace $alt/$conf" >>base_conf.list - done +for import_package in \ + collectl2pcp iostat2pcp ganglia2pcp mrtg2pcp sar2pcp sheet2pcp ; \ +do \ + import_packages="$import_packages pcp-import-$import_package"; \ done -# all base binary files except those split out into sub-packages -ls -1 $RPM_BUILD_ROOT/%{_bindir} |\ - grep -E -v 'pmiostat|zabbix|zbxpcp|dstat|pmrep|pcp2csv' |\ - grep -E -v 'pcp2spark|pcp2graphite|pcp2influxdb|pcp2zabbix' |\ - grep -E -v 'pcp2elasticsearch|pcp2json|pcp2xlsx|pcp2xml' |\ - grep -E -v 'pmdbg|pmclient|pmerr|genpmda' |\ -sed -e 's#^#'%{_bindir}'\/#' >base_bin.list - -# all base pmns files -echo %{_pmnsdir} >>base_pmns.list -echo %{_pmnsexecdir} >>base_pmns.list - -ls -1 $RPM_BUILD_ROOT/%{_bashcompdir} |\ - grep -E -v 'pcp2spark|pcp2graphite|pcp2influxdb|pcp2zabbix' |\ - grep -E -v 'pcp2elasticsearch|pcp2json|pcp2xlsx|pcp2xml' |\ - grep -E -v 'pcp2csv|pmrep|pmdumptext' |\ -sed -e 's#^#'%{_bashcompdir}'\/#' >base_bashcomp.list - -# Separate the pcp-system-tools package files. -# pmiostat is a back-compat symlink to its pcp(1) sub-command variant -# so its also in pcp-system-tools. -%if !%{disable_python2} || !%{disable_python3} -ls -1 $RPM_BUILD_ROOT/%{_bindir} |\ - grep -E -e 'pmiostat|pmrep|dstat|pcp2csv' |\ - sed -e 's#^#'%{_bindir}'\/#' >pcp-system-tools.list -ls -1 $RPM_BUILD_ROOT/%{_libexecdir}/pcp/bin |\ - grep -E -e 'atop|dmcache|dstat|free|htop|iostat|ipcs|lvmcache|mpstat' \ - -e 'numastat|pidstat|shping|tapestat|uptime|verify' |\ - sed -e 's#^#'%{_libexecdir}/pcp/bin'\/#' >>pcp-system-tools.list -%endif -# Separate the pcp-selinux package files. -%if !%{disable_selinux} -ls -1 $RPM_BUILD_ROOT/%{_selinuxdir} |\ - sed -e 's#^#'%{_selinuxdir}'\/#' > pcp-selinux.list -ls -1 $RPM_BUILD_ROOT/%{_selinuxexecdir} |\ - sed -e 's#^#'%{_selinuxexecdir}'\/#' >> pcp-selinux.list -ls -1 $RPM_BUILD_ROOT/%{_libexecdir}/pcp/bin |\ - grep -E 'selinux-setup' |\ - sed -e 's#^#'%{_libexecdir}/pcp/bin'\/#' >> pcp-selinux.list +for export_package in \ + pcp2elasticsearch pcp2graphite pcp2influxdb pcp2json \ + pcp2spark pcp2xlsx pcp2xml pcp2zabbix zabbix-agent ; \ +do \ + export_packages="$export_packages pcp-export-$export_package"; \ +done + +for subpackage in \ + pcp-conf pcp-gui pcp-doc pcp-libs pcp-devel pcp-libs-devel \ + pcp-selinux pcp-system-tools pcp-testsuite pcp-zeroconf \ + $pmda_packages $import_packages $export_packages ; \ +do \ + echo $subpackage >> packages.list; \ +done + +rm -f *-files.rpm *-tmpfiles.rpm +sort -u $DIST_MANIFEST | awk ' +function loadfiles(files) { + system ("touch " files"-files"); + filelist=files"-files"; + while (getline < filelist) { + if (length(pkg[$0]) > 0 && pkg[$0] != files) + print "Dup: ", $0, " package: ", pkg[$0], " and ", files; + if (length(pkg[$0]) == 0) + pkg[$0] = files; + } +} +BEGIN { + while (getline < "packages.list") loadfiles($0); + while (getline < "confpath.list") conf[nconf++]=$0; +} +{ + if (pkg[$NF]) p=pkg[$NF]; + else p="pcp"; + f=p"-files.rpm"; +} +$1 == "d" { + if (match ($5, "'$PCP_RUN_DIR'")) { + printf ("%%%%ghost ") >> f; + } + printf ("%%%%dir %%%%attr(%s,%s,%s) %s\n", $2, $3, $4, $5) >> f + } +$1 == "f" && $6 ~ "etc/pcp\\.conf" { printf ("%%%%config ") >> f; } +$1 == "f" && $6 ~ "etc/pcp\\.env" { printf ("%%%%config ") >> f; } +$1 == "f" && $6 ~ "etc/pcp\\.sh" { printf ("%%%%config ") >> f; } +$1 == "f" { + for (i=0; i < nconf; i++) { + if ($6 ~ conf[i]) { + printf ("%%%%config(noreplace) ") >> f; + break; + } + } + if (match ($6, "'$PCP_MAN_DIR'") || match ($6, "'$PCP_DOC_DIR'")) { + printf ("%%%%doc ") >> f; + } + printf ("%%%%attr(%s,%s,%s) %s\n", $2, $3, $4, $6) >> f + } +$1 == "l" { +%if !%{disable_systemd} + if (match ($3, "'$PCP_VAR_DIR'")) { + print $3 >> p"-tmpfiles"; + if (length(tmpfiles[p]) == 0) { + printf ("'$PCP_SYSTEMDTMPFILES_DIR'/%s.conf\n", p) >> f; + tmpfiles[p] = p; + } + } %endif + print $3 >> f; + }' -ls -1 $RPM_BUILD_ROOT/%{_libexecdir}/pcp/bin |\ -%if !%{disable_python2} || !%{disable_python3} - grep -E -v 'atop|dmcache|dstat|free|htop|iostat|ipcs|lvmcache|mpstat' |\ - grep -E -v 'numastat|shping|tapestat|uptime|verify|selinux-setup' |\ -%endif - grep -E -v 'pmlogger_daily_report' |\ - grep -E -v 'pmsnap' |\ - sed -e 's#^#'%{_libexecdir}/pcp/bin'\/#' >base_exec.list -echo %{_libexecdir}/pcp/lib >>base_exec.list - -ls -1 $RPM_BUILD_ROOT/%{_booksdir} |\ - sed -e 's#^#'%{_booksdir}'\/#' > pcp-doc.list -ls -1 $RPM_BUILD_ROOT/%{_mandir}/man1 |\ - sed -e 's#^#'%{_mandir}'\/man1\/#' >>pcp-doc.list -ls -1 $RPM_BUILD_ROOT/%{_mandir}/man5 |\ - sed -e 's#^#'%{_mandir}'\/man5\/#' >>pcp-doc.list -ls -1 $RPM_BUILD_ROOT/%{_datadir}/pcp/demos/tutorials |\ - sed -e 's#^#'%{_datadir}/pcp/demos/tutorials'\/#' >>pcp-doc.list +%if !%{disable_systemd} +mkdir -p $DIST_ROOT/$PCP_SYSTEMDTMPFILES_DIR +sort -u $DIST_TMPFILES | awk ' +function loadtmpfiles(files) { + system ("touch " files"-tmpfiles"); + filelist=files"-tmpfiles"; + while (getline < filelist) { + if (pkg[$0] && pkg[$0] != files) + print "Dup: ", $0, " package: ", pkg[$0], " and ", files; + pkg[$0] = files; + } +} +BEGIN { + while (getline < "packages.list") loadtmpfiles($0); +} +{ + if (pkg[$2]) p=pkg[$2]; + else p="pcp"; + f=p".conf"; + printf ("%s\n", $0) >> f; +}' -%if !%{disable_qt} -ls -1 $RPM_BUILD_ROOT/%{_pixmapdir} |\ - sed -e 's#^#'%{_pixmapdir}'\/#' > pcp-gui.list -ls -1 $RPM_BUILD_ROOT/%{_hicolordir} |\ - sed -e 's#^#'%{_hicolordir}'\/#' >> pcp-gui.list -cat base_bin.list base_exec.list base_bashcomp.list |\ - grep -E "$PCP_GUI" >> pcp-gui.list -echo %{_confdir}/pmchart >>pcp-gui.list -echo %{_libexecdir}/pcp/bin/pmsnap >>pcp-gui.list -%endif - -ls -1 $RPM_BUILD_ROOT/%{_logconfdir}/ |\ - sed -e 's#^#'%{_logconfdir}'\/#' |\ - grep -E -v 'zeroconf' >pcp-logconf.list -ls -1 $RPM_BUILD_ROOT/%{_ieconfdir}/ |\ - sed -e 's#^#'%{_ieconfdir}'\/#' |\ - grep -E -v 'zeroconf' >pcp-ieconf.list - -# generate full base package file list -cat base_pmdas.list base_conf.list base_bin.list base_exec.list base_bashcomp.list \ - pcp-logconf.list pcp-ieconf.list base_pmns.list |\ - grep -E -v 'pmdaib|pmsnap|2pcp|pmdas/systemd|zeroconf' |\ - grep -E -v "$PCP_GUI|pixmaps|hicolor|pcp-doc|tutorials|selinux" |\ - grep -E -v %{_logsdir} > base.list - -# all devel pcp package files except those split out into sub packages -ls -1 $RPM_BUILD_ROOT/%{_mandir}/man3 |\ -sed -e 's#^#'%{_mandir}'\/man3\/#' | grep -v '3pm' >>pcp-doc.list -ls -1 $RPM_BUILD_ROOT/%{_datadir}/pcp/demos |\ -sed -e 's#^#'%{_datadir}'\/pcp\/demos\/#' | grep -E -v tutorials >> devel.list -ls -1 $RPM_BUILD_ROOT/%{_bindir} |\ -grep -E 'pmdbg|pmclient|pmerr|genpmda' |\ -sed -e 's#^#'%{_bindir}'\/#' >>devel.list -for pmda in sample simple trivial txmon; do - echo %{_libexecdir}/pcp/pmdas/$pmda >>devel.list +%if %{disable_mssql} +# TODO: integrate better into the PCP build (via autoconf) +# so that this and other mssql artifacts are not generated. +rm -f pcp-pmda-mssql.conf +%endif + +for tmpfile in *.conf ; \ +do \ + mv $tmpfile $DIST_ROOT/$PCP_SYSTEMDTMPFILES_DIR/$tmpfile; \ done -echo %{_confdir}/simple/simple.conf >>devel.list +%endif %pre testsuite test -d %{_testsdir} || mkdir -p -m 755 %{_testsdir} @@ -2810,11 +2990,6 @@ pmieconf -c enable dmthin %post PCP_PMNS_DIR=%{_pmnsdir} PCP_LOG_DIR=%{_logsdir} -chown -R pcp:pcp %{_logsdir}/pmcd 2>/dev/null -chown -R pcp:pcp %{_logsdir}/pmlogger 2>/dev/null -chown -R pcp:pcp %{_logsdir}/sa 2>/dev/null -chown -R pcp:pcp %{_logsdir}/pmie 2>/dev/null -chown -R pcp:pcp %{_logsdir}/pmproxy 2>/dev/null %{install_file "$PCP_PMNS_DIR" .NeedRebuild} %{install_file "$PCP_LOG_DIR/pmlogger" .NeedRewrite} %if !%{disable_systemd} @@ -2855,592 +3030,258 @@ chown -R pcp:pcp %{_logsdir}/pmproxy 2>/dev/null %{selinux_handle_policy "$1" "pcpupstream-container"} %endif -%files -f base.list -# -# Note: there are some headers (e.g. domain.h) and in a few cases some -# C source files that rpmlint complains about. These are not devel files, -# but rather they are (slightly obscure) PMDA config files. -# +%files -f pcp-files.rpm %doc CHANGELOG COPYING INSTALL.md README.md VERSION.pcp pcp.lsm +%ghost %dir %attr(0775,pcp,pcp) %{_localstatedir}/run/pcp -%dir %{_confdir} -%dir %{_pmdasdir} -%dir %{_datadir}/pcp -%dir %{_libexecdir}/pcp -%dir %{_libexecdir}/pcp/bin -%dir %{_localstatedir}/lib/pcp -%dir %{_localstatedir}/lib/pcp/config -%dir %attr(0775,pcp,pcp) %{_tempsdir} -%dir %attr(0775,pcp,pcp) %{_tempsdir}/bash -%dir %attr(0775,pcp,pcp) %{_tempsdir}/json -%dir %attr(0775,pcp,pcp) %{_tempsdir}/mmv -%dir %attr(0775,pcp,pcp) %{_tempsdir}/pmie -%dir %attr(0775,pcp,pcp) %{_tempsdir}/pmlogger -%dir %attr(0775,pcp,pcp) %{_tempsdir}/pmproxy -%dir %attr(0700,root,root) %{_tempsdir}/pmcd - -%dir %{_datadir}/pcp/lib -%{_datadir}/pcp/lib/ReplacePmnsSubtree -%{_datadir}/pcp/lib/bashproc.sh -%{_datadir}/pcp/lib/lockpmns -%{_datadir}/pcp/lib/pmdaproc.sh -%{_datadir}/pcp/lib/utilproc.sh -%{_datadir}/pcp/lib/rc-proc.sh -%{_datadir}/pcp/lib/rc-proc.sh.minimal -%{_datadir}/pcp/lib/unlockpmns - -%dir %attr(0775,pcp,pcp) %{_logsdir} -%attr(0775,pcp,pcp) %{_logsdir}/pmcd -%attr(0775,pcp,pcp) %{_logsdir}/pmlogger -%attr(0775,pcp,pcp) %{_logsdir}/pmie -%attr(0775,pcp,pcp) %{_logsdir}/pmproxy -%attr(0775,pcp,pcp) %{_logsdir}/pmfind -%{_localstatedir}/lib/pcp/pmns -%{_initddir}/pcp -%{_initddir}/pmcd -%{_initddir}/pmlogger -%{_initddir}/pmie -%{_initddir}/pmproxy -%if !%{disable_systemd} -%{_unitdir}/pmcd.service -%{_unitdir}/pmproxy.service -%{_unitdir}/pmlogger.service -%{_unitdir}/pmfind.service -%{_unitdir}/pmie.service -# services and timers replacing the old cron scripts -%{_unitdir}/pmlogger_check.service -%{_unitdir}/pmlogger_check.timer -%{_unitdir}/pmlogger_daily.service -%{_unitdir}/pmlogger_daily.timer -%{_unitdir}/pmlogger_daily-poll.service -%{_unitdir}/pmlogger_daily-poll.timer -%{_unitdir}/pmie_check.timer -%{_unitdir}/pmie_check.service -%{_unitdir}/pmie_check.timer -%{_unitdir}/pmie_daily.service -%{_unitdir}/pmie_daily.timer -%{_unitdir}/pmfind.timer -%config(noreplace) %{_sysconfdir}/sysconfig/pmie_timers -%config(noreplace) %{_sysconfdir}/sysconfig/pmlogger_timers -%else -# cron scripts -%config(noreplace) %{_sysconfdir}/cron.d/pcp-pmlogger -%config(noreplace) %{_sysconfdir}/cron.d/pcp-pmfind -%config(noreplace) %{_sysconfdir}/cron.d/pcp-pmie -%endif -%config(noreplace) %{_sysconfdir}/sasl2/pmcd.conf -%config(noreplace) %{_sysconfdir}/sysconfig/pmlogger -%config(noreplace) %{_sysconfdir}/sysconfig/pmproxy -%config(noreplace) %{_sysconfdir}/sysconfig/pmfind -%config(noreplace) %{_sysconfdir}/sysconfig/pmcd -%config %{_sysconfdir}/pcp.env -%dir %{_confdir}/labels -%dir %{_confdir}/labels/optional -%config(noreplace) %{_confdir}/labels.conf -%config(noreplace) %{_confdir}/linux/interfaces.conf -%dir %{_confdir}/pipe.conf.d -%dir %{_confdir}/pmcd -%config(noreplace) %{_confdir}/pmcd/pmcd.conf -%config(noreplace) %{_confdir}/pmcd/pmcd.options -%config(noreplace) %{_confdir}/pmcd/rc.local -%dir %{_confdir}/pmproxy -%config(noreplace) %{_confdir}/pmproxy/pmproxy.options -%config(noreplace) %{_confdir}/pmproxy/pmproxy.conf -%dir %{_confdir}/pmie -%dir %{_confdir}/pmie/control.d -%config(noreplace) %{_confdir}/pmie/control -%config(noreplace) %{_confdir}/pmie/control.d/local -%dir %{_confdir}/pmlogger -%dir %{_confdir}/pmlogger/control.d -%config(noreplace) %{_confdir}/pmlogger/control -%config(noreplace) %{_confdir}/pmlogger/control.d/local -%dir %attr(0775,pcp,pcp) %{_confdir}/nssdb -%dir %{_confdir}/discover -%config(noreplace) %{_confdir}/discover/pcp-kube-pods.conf -%if !%{disable_libuv} -%dir %{_confdir}/pmseries -%config(noreplace) %{_confdir}/pmseries/pmseries.conf -%endif +%files conf -f pcp-conf-files.rpm -%ghost %dir %attr(0775,pcp,pcp) %{_localstatedir}/run/pcp -%{_localstatedir}/lib/pcp/config/pmafm -%dir %attr(0775,pcp,pcp) %{_localstatedir}/lib/pcp/config/pmie -%{_localstatedir}/lib/pcp/config/pmieconf -%dir %attr(0775,pcp,pcp) %{_localstatedir}/lib/pcp/config/pmlogger -%{_localstatedir}/lib/pcp/config/pmlogger/* -%{_localstatedir}/lib/pcp/config/pmlogrewrite -%dir %attr(0775,pcp,pcp) %{_localstatedir}/lib/pcp/config/pmda - -%{_datadir}/zsh/site-functions/_pcp -%if !%{disable_sdt} -%{_tapsetdir}/pmcd.stp -%endif +%files libs -f pcp-libs-files.rpm -%files zeroconf -%{_libexecdir}/pcp/bin/pmlogger_daily_report -%if !%{disable_systemd} -# systemd services for pmlogger_daily_report to replace the cron script -%{_unitdir}/pmlogger_daily_report.service -%{_unitdir}/pmlogger_daily_report.timer -%{_unitdir}/pmlogger_daily_report-poll.service -%{_unitdir}/pmlogger_daily_report-poll.timer -%else -%config(noreplace) %{_sysconfdir}/cron.d/pcp-pmlogger-daily-report -%endif -%config(noreplace) %{_ieconfdir}/zeroconf -%config(noreplace) %{_logconfdir}/zeroconf -%config(noreplace) %{_confdir}/pmlogconf/zeroconf -%config(noreplace) %{_confdir}/pmieconf/zeroconf -%dir %attr(0775,pcp,pcp) %{_logsdir}/sa - -#additional pmlogger config files - -%files conf -%dir %{_includedir}/pcp -%{_includedir}/pcp/builddefs -%{_includedir}/pcp/buildrules -%config %{_sysconfdir}/pcp.conf -%dir %{_confdir}/derived -%config %{_confdir}/derived/* -%dir %{_localstatedir}/lib/pcp/config/derived -%config %{_localstatedir}/lib/pcp/config/derived/* - -%files libs -%{_libdir}/libpcp.so.3 -%{_libdir}/libpcp_gui.so.2 -%{_libdir}/libpcp_mmv.so.1 -%{_libdir}/libpcp_pmda.so.3 -%{_libdir}/libpcp_trace.so.2 -%{_libdir}/libpcp_import.so.1 -%{_libdir}/libpcp_web.so.1 - -%files libs-devel -%{_libdir}/libpcp.so -%{_libdir}/libpcp_gui.so -%{_libdir}/libpcp_mmv.so -%{_libdir}/libpcp_pmda.so -%{_libdir}/libpcp_trace.so -%{_libdir}/libpcp_import.so -%{_libdir}/libpcp_web.so -%{_libdir}/pkgconfig/libpcp.pc -%{_libdir}/pkgconfig/libpcp_pmda.pc -%{_libdir}/pkgconfig/libpcp_import.pc -%{_includedir}/pcp/*.h - -%files devel -f devel.list -%{_datadir}/pcp/examples -%dir %{_datadir}/pcp/demos - -# PMDAs that ship src and are not for production use -# straight out-of-the-box, for devel or QA use only. -%{_pmdasdir}/simple -%config(noreplace) %{_confdir}/simple -%{_pmdasdir}/sample -%{_pmdasdir}/trivial -%{_pmdasdir}/txmon - -%files testsuite -%defattr(-,pcpqa,pcpqa) -%{_testsdir} +%files libs-devel -f pcp-libs-devel-files.rpm -%files import-sar2pcp -%{_bindir}/sar2pcp +%files devel -f pcp-devel-files.rpm -%files import-iostat2pcp -%{_bindir}/iostat2pcp +%files doc -f pcp-doc-files.rpm -%files import-mrtg2pcp -%{_bindir}/mrtg2pcp +%if !%{disable_selinux} +%files selinux -f pcp-selinux-files.rpm +%endif -%files import-ganglia2pcp -%{_bindir}/ganglia2pcp +%if !%{disable_qt} +%files gui -f pcp-gui-files.rpm +%endif + +%files testsuite -f pcp-testsuite-files.rpm +%defattr(-,pcpqa,pcpqa) -%files import-collectl2pcp -%{_bindir}/collectl2pcp +%if !%{disable_infiniband} +%files pmda-infiniband -f pcp-pmda-infiniband-files.rpm +%endif %if !%{disable_podman} -%files pmda-podman -%{_pmdasdir}/podman -%{_pmdasexecdir}/podman +%files pmda-podman -f pcp-pmda-podman-files.rpm %endif %if !%{disable_statsd} -%files pmda-statsd -%{_pmdasdir}/statsd -%{_pmdasexecdir}/statsd -%{_confdir}/statsd -%config(noreplace) %{_pmdasdir}/statsd/pmdastatsd.ini +%files pmda-statsd -f pcp-pmda-statsd-files.rpm %endif %if !%{disable_perfevent} -%files pmda-perfevent -%{_pmdasdir}/perfevent -%{_pmdasexecdir}/perfevent -%{_confdir}/perfevent -%config(noreplace) %{_pmdasdir}/perfevent/perfevent.conf +%files pmda-perfevent -f pcp-pmda-perfevent-files.rpm %endif -%if !%{disable_infiniband} -%files pmda-infiniband -%{_pmdasdir}/infiniband -%{_pmdasexecdir}/infiniband +%if !%{disable_perl} +%files pmda-activemq -f pcp-pmda-activemq-files.rpm %endif -%files pmda-activemq -%{_pmdasdir}/activemq -%{_pmdasexecdir}/activemq - -%files pmda-bonding -%{_pmdasdir}/bonding -%{_pmdasexecdir}/bonding - -%files pmda-bind2 -%{_pmdasdir}/bind2 -%{_pmdasexecdir}/bind2 -%{_confdir}/bind2 - -%files pmda-dbping -%{_pmdasdir}/dbping -%{_pmdasexecdir}/dbping +%if !%{disable_perl} +%files pmda-bind2 -f pcp-pmda-bind2-files.rpm +%endif -%files pmda-ds389log -%{_pmdasdir}/ds389log -%{_pmdasexecdir}/ds389log +%if !%{disable_nutcracker} +%files pmda-nutcracker -f pcp-pmda-nutcracker-files.rpm +%endif -%files pmda-ds389 -%{_pmdasdir}/ds389 -%{_pmdasexecdir}/ds389 +%if !%{disable_python2} || !%{disable_python3} +%files pmda-elasticsearch -f pcp-pmda-elasticsearch-files.rpm +%endif -%files pmda-elasticsearch -%{_pmdasdir}/elasticsearch -%{_pmdasexecdir}/elasticsearch -%{_confdir}/elasticsearch +%if !%{disable_perl} +%files pmda-redis -f pcp-pmda-redis-files.rpm -%files pmda-openvswitch -%{_pmdasdir}/openvswitch -%{_pmdasexecdir}/openvswitch +%files pmda-bonding -f pcp-pmda-bonding-files.rpm -%files pmda-rabbitmq -%{_pmdasdir}/rabbitmq -%{_pmdasexecdir}/rabbitmq -%{_confdir}/rabbitmq +%files pmda-dbping -f pcp-pmda-dbping-files.rpm -%files pmda-gpfs -%{_pmdasdir}/gpfs -%{_pmdasexecdir}/gpfs +%files pmda-ds389log -f pcp-pmda-ds389log-files.rpm -%files pmda-gpsd -%{_pmdasdir}/gpsd -%{_pmdasexecdir}/gpsd +%files pmda-ds389 -f pcp-pmda-ds389-files.rpm -%files pmda-docker -%{_pmdasdir}/docker -%{_pmdasexecdir}/docker +%files pmda-gpfs -f pcp-pmda-gpfs-files.rpm -%files pmda-lio -%{_pmdasdir}/lio -%{_pmdasexecdir}/lio +%files pmda-gpsd -f pcp-pmda-gpsd-files.rpm -%files pmda-openmetrics -%{_pmdasdir}/openmetrics -%{_pmdasexecdir}/openmetrics -%config(noreplace) %{_confdir}/openmetrics +%files pmda-lustre -f pcp-pmda-lustre-files.rpm -%files pmda-lustre -%{_pmdasdir}/lustre -%{_pmdasexecdir}/lustre -%config(noreplace) %{_confdir}/lustre +%files pmda-memcache -f pcp-pmda-memcache-files.rpm -%files pmda-lustrecomm -%{_pmdasdir}/lustrecomm -%{_pmdasexecdir}/lustrecomm +%files pmda-named -f pcp-pmda-named-files.rpm -%files pmda-memcache -%{_pmdasdir}/memcache -%{_pmdasexecdir}/memcache +%files pmda-netfilter -f pcp-pmda-netfilter-files.rpm -%files pmda-mysql -%{_pmdasdir}/mysql -%{_pmdasexecdir}/mysql +%files pmda-news -f pcp-pmda-news-files.rpm -%files pmda-named -%{_pmdasdir}/named -%{_pmdasexecdir}/named +%files pmda-pdns -f pcp-pmda-pdns-files.rpm -%files pmda-netfilter -%{_pmdasdir}/netfilter -%{_pmdasexecdir}/netfilter +%files pmda-rsyslog -f pcp-pmda-rsyslog-files.rpm -%files pmda-news -%{_pmdasdir}/news -%{_pmdasexecdir}/news +%files pmda-samba -f pcp-pmda-samba-files.rpm -%files pmda-nginx -%{_pmdasdir}/nginx -%{_pmdasexecdir}/nginx -%config(noreplace) %{_confdir}/nginx +%files pmda-slurm -f pcp-pmda-slurm-files.rpm -%files pmda-nfsclient -%{_pmdasdir}/nfsclient -%{_pmdasexecdir}/nfsclient +%files pmda-vmware -f pcp-pmda-vmware-files.rpm -%if !%{disable_nutcracker} -%files pmda-nutcracker -%{_pmdasdir}/nutcracker -%{_pmdasexecdir}/nutcracker -%config(noreplace) %{_confdir}/nutcracker +%files pmda-zimbra -f pcp-pmda-zimbra-files.rpm %endif -%files pmda-oracle -%{_pmdasdir}/oracle -%{_pmdasexecdir}/oracle -%config(noreplace) %{_confdir}/oracle - -%files pmda-pdns -%{_pmdasdir}/pdns -%{_pmdasexecdir}/pdns - -%files pmda-postfix -%{_pmdasdir}/postfix -%{_pmdasexecdir}/postfix +%files pmda-docker -f pcp-pmda-docker-files.rpm -%files pmda-postgresql -%{_pmdasdir}/postgresql -%{_pmdasexecdir}/postgresql -%dir %{_confdir}/postgresql -%config(noreplace) %{_confdir}/postgresql/pmdapostgresql.conf +%files pmda-lustrecomm -f pcp-pmda-lustrecomm-files.rpm -%files pmda-redis -%{_pmdasdir}/redis -%{_pmdasexecdir}/redis -%{_confdir}/redis - -%files pmda-rsyslog -%{_pmdasdir}/rsyslog -%{_pmdasexecdir}/rsyslog +%if !%{disable_perl} +%files pmda-mysql -f pcp-pmda-mysql-files.rpm +%endif -%files pmda-samba -%{_pmdasdir}/samba -%{_pmdasexecdir}/samba +%files pmda-nginx -f pcp-pmda-nginx-files.rpm -%if !%{disable_snmp} -%files pmda-snmp -%{_pmdasdir}/snmp -%{_pmdasexecdir}/snmp -%{_confdir}/snmp +%if !%{disable_perl} +%files pmda-postfix -f pcp-pmda-postfix-files.rpm %endif -%files pmda-slurm -%{_pmdasdir}/slurm -%{_pmdasexecdir}/slurm +%if !%{disable_python2} || !%{disable_python3} +%files pmda-postgresql -f pcp-pmda-postgresql-files.rpm +%endif -%files pmda-vmware -%{_pmdasdir}/vmware -%{_pmdasexecdir}/vmware +%if !%{disable_perl} +%files pmda-oracle -f pcp-pmda-oracle-files.rpm +%endif -%files pmda-zimbra -%{_pmdasdir}/zimbra -%{_pmdasexecdir}/zimbra +%if !%{disable_perl} +%files pmda-snmp -f pcp-pmda-snmp-files.rpm +%endif -%files pmda-dm -%{_pmdasdir}/dm -%{_pmdasexecdir}/dm -%{_ieconfdir}/dm -%dir %{_confdir}/pmieconf/dm -%config(noreplace) %{_confdir}/pmieconf/dm +%files pmda-dm -f pcp-pmda-dm-files.rpm %if !%{disable_bcc} -%files pmda-bcc -%{_pmdasdir}/bcc -%{_pmdasexecdir}/bcc -%{_confdir}/bcc +%files pmda-bcc -f pcp-pmda-bcc-files.rpm %endif %if !%{disable_bpftrace} -%files pmda-bpftrace -%{_pmdasdir}/bpftrace -%{_pmdasexecdir}/bpftrace -%config(noreplace) %{_confdir}/bpftrace +%files pmda-bpftrace -f pcp-pmda-bpftrace-files.rpm %endif %if !%{disable_python2} || !%{disable_python3} -%files pmda-gluster -%{_pmdasdir}/gluster -%{_pmdasexecdir}/gluster +%files pmda-gluster -f pcp-pmda-gluster-files.rpm -%files pmda-zswap -%{_pmdasdir}/zswap -%{_pmdasexecdir}/zswap +%files pmda-zswap -f pcp-pmda-zswap-files.rpm -%files pmda-unbound -%{_pmdasdir}/unbound -%{_pmdasexecdir}/unbound +%files pmda-unbound -f pcp-pmda-unbound-files.rpm -%files pmda-mic -%{_pmdasdir}/mic -%{_pmdasexecdir}/mic +%files pmda-mic -f pcp-pmda-mic-files.rpm -%files pmda-haproxy -%{_pmdasdir}/haproxy -%{_pmdasexecdir}/haproxy -%{_confdir}/haproxy +%files pmda-haproxy -f pcp-pmda-haproxy-files.rpm -%files pmda-libvirt -%{_pmdasdir}/libvirt -%{_pmdasexecdir}/libvirt -%{_confdir}/libvirt +%files pmda-lmsensors -f pcp-pmda-lmsensors-files.rpm -%files export-pcp2elasticsearch -%{_bindir}/pcp2elasticsearch -%{_bashcompdir}/pcp2elasticsearch +%if !%{disable_mssql} +%files pmda-mssql -f pcp-pmda-mssql-files.rpm +%endif -%files export-pcp2graphite -%{_bindir}/pcp2graphite -%{_bashcompdir}/pcp2graphite +%files pmda-netcheck -f pcp-pmda-netcheck-files.rpm -%files export-pcp2influxdb -%{_bindir}/pcp2influxdb -%{_bashcompdir}/pcp2influxdb +%files pmda-nfsclient -f pcp-pmda-nfsclient-files.rpm -%files export-pcp2json -%{_bindir}/pcp2json -%{_bashcompdir}/pcp2json +%files pmda-openvswitch -f pcp-pmda-openvswitch-files.rpm -%files export-pcp2spark -%{_bindir}/pcp2spark -%{_bashcompdir}/pcp2spark +%files pmda-rabbitmq -f pcp-pmda-rabbitmq-files.rpm -%if !%{disable_xlsx} -%files export-pcp2xlsx -%{_bindir}/pcp2xlsx -%{_bashcompdir}/pcp2xlsx -%endif +%files export-pcp2graphite -f pcp-export-pcp2graphite-files.rpm -%files export-pcp2xml -%{_bindir}/pcp2xml -%{_bashcompdir}/pcp2xml +%files export-pcp2json -f pcp-export-pcp2json-files.rpm -%files export-pcp2zabbix -%{_bindir}/pcp2zabbix -%{_bashcompdir}/pcp2zabbix +%files export-pcp2spark -f pcp-export-pcp2spark-files.rpm -%files pmda-lmsensors -%{_pmdasdir}/lmsensors -%{_pmdasexecdir}/lmsensors +%files export-pcp2xml -f pcp-export-pcp2xml-files.rpm -%files pmda-netcheck -%{_pmdasdir}/netcheck -%{_pmdasexecdir}/netcheck -%{_confdir}/netcheck +%files export-pcp2zabbix -f pcp-export-pcp2zabbix-files.rpm +%endif +%if !%{disable_python2} || !%{disable_python3} +%files export-pcp2elasticsearch -f pcp-export-pcp2elasticsearch-files.rpm %endif -%files export-zabbix-agent -%{_libdir}/zabbix -%dir %{_sysconfdir}/zabbix/zabbix_agentd.d -%config(noreplace) %{_sysconfdir}/zabbix/zabbix_agentd.d/zbxpcp.conf +%if !%{disable_python2} || !%{disable_python3} +%files export-pcp2influxdb -f pcp-export-pcp2influxdb-files.rpm +%endif -%if !%{disable_mssql} -%files pmda-mssql -%{_pmdasdir}/mssql -%{_pmdasexecdir}/mssql -%config(noreplace) %{_confdir}/mssql +%if !%{disable_xlsx} +%files export-pcp2xlsx -f pcp-export-pcp2xlsx-files.rpm %endif +%files export-zabbix-agent -f pcp-export-zabbix-agent-files.rpm + %if !%{disable_json} -%files pmda-json -%{_pmdasdir}/json -%{_pmdasexecdir}/json -%config(noreplace) %{_confdir}/json +%files pmda-json -f pcp-pmda-json-files.rpm +%endif + +%if !%{disable_python2} || !%{disable_python3} +%files pmda-libvirt -f pcp-pmda-libvirt-files.rpm + +%files pmda-lio -f pcp-pmda-lio-files.rpm + +%files pmda-openmetrics -f pcp-pmda-openmetrics-files.rpm %endif -%files pmda-apache -%{_pmdasdir}/apache -%{_pmdasexecdir}/apache +%files pmda-apache -f pcp-pmda-apache-files.rpm -%files pmda-bash -%{_pmdasdir}/bash -%{_pmdasexecdir}/bash +%files pmda-bash -f pcp-pmda-bash-files.rpm -%files pmda-cifs -%{_pmdasdir}/cifs -%{_pmdasexecdir}/cifs +%files pmda-cifs -f pcp-pmda-cifs-files.rpm -%files pmda-cisco -%{_pmdasdir}/cisco -%{_pmdasexecdir}/cisco +%files pmda-cisco -f pcp-pmda-cisco-files.rpm -%files pmda-gfs2 -%{_pmdasdir}/gfs2 -%{_pmdasexecdir}/gfs2 +%files pmda-gfs2 -f pcp-pmda-gfs2-files.rpm -%files pmda-logger -%{_pmdasdir}/logger -%{_pmdasexecdir}/logger +%files pmda-logger -f pcp-pmda-logger-files.rpm -%files pmda-mailq -%{_pmdasdir}/mailq -%{_pmdasexecdir}/mailq +%files pmda-mailq -f pcp-pmda-mailq-files.rpm -%files pmda-mounts -%{_pmdasdir}/mounts -%{_pmdasexecdir}/mounts -%config(noreplace) %{_confdir}/mounts +%files pmda-mounts -f pcp-pmda-mounts-files.rpm -%files pmda-nvidia-gpu -%{_pmdasdir}/nvidia -%{_pmdasexecdir}/nvidia +%files pmda-nvidia-gpu -f pcp-pmda-nvidia-files.rpm -%files pmda-roomtemp -%{_pmdasdir}/roomtemp -%{_pmdasexecdir}/roomtemp +%files pmda-roomtemp -f pcp-pmda-roomtemp-files.rpm %if !%{disable_rpm} -%files pmda-rpm -%{_pmdasdir}/rpm -%{_pmdasexecdir}/rpm +%files pmda-rpm -f pcp-pmda-rpm-files.rpm %endif +%files pmda-sendmail -f pcp-pmda-sendmail-files.rpm -%files pmda-sendmail -%{_pmdasdir}/sendmail -%{_pmdasexecdir}/sendmail +%files pmda-shping -f pcp-pmda-shping-files.rpm -%files pmda-shping -%{_pmdasdir}/shping -%{_pmdasexecdir}/shping -%config(noreplace) %{_confdir}/shping +%files pmda-smart -f pcp-pmda-smart-files.rpm -%files pmda-smart -%{_pmdasdir}/smart -%{_pmdasexecdir}/smart +%files pmda-sockets -f pcp-pmda-sockets-files.rpm -%files pmda-sockets -%{_pmdasdir}/sockets -%{_pmdasexecdir}/sockets +%files pmda-hacluster -f pcp-pmda-hacluster-files.rpm -%files pmda-hacluster -%{_pmdasdir}/hacluster -%{_pmdasexecdir}/hacluster - -%files pmda-summary -%{_pmdasdir}/summary -%{_pmdasexecdir}/summary -%config(noreplace) %{_confdir}/summary +%files pmda-summary -f pcp-pmda-summary-files.rpm %if !%{disable_systemd} -%files pmda-systemd -%{_pmdasdir}/systemd -%{_pmdasexecdir}/systemd +%files pmda-systemd -f pcp-pmda-systemd-files.rpm %endif -%files pmda-trace -%{_pmdasdir}/trace -%{_pmdasexecdir}/trace +%files pmda-trace -f pcp-pmda-trace-files.rpm + +%files pmda-weblog -f pcp-pmda-weblog-files.rpm -%files pmda-weblog -%{_pmdasdir}/weblog -%{_pmdasexecdir}/weblog +%if !%{disable_perl} +%files import-sar2pcp -f pcp-import-sar2pcp-files.rpm +%files import-iostat2pcp -f pcp-import-iostat2pcp-files.rpm + +#TODO: +#%%files import-sheet2pcp -f pcp-import-sheet2pcp-files.rpm + +%files import-mrtg2pcp -f pcp-import-mrtg2pcp-files.rpm + +%files import-ganglia2pcp -f pcp-import-ganglia2pcp-files.rpm +%endif + +%files import-collectl2pcp -f pcp-import-collectl2pcp-files.rpm + +%if !%{disable_perl} %files -n perl-PCP-PMDA -f perl-pcp-pmda.list %files -n perl-PCP-MMV -f perl-pcp-mmv.list @@ -3448,6 +3289,7 @@ chown -R pcp:pcp %{_logsdir}/pmproxy 2>/dev/null %files -n perl-PCP-LogImport -f perl-pcp-logimport.list %files -n perl-PCP-LogSummary -f perl-pcp-logsummary.list +%endif %if !%{disable_python2} %files -n %{__python2}-pcp -f python-pcp.list.rpm @@ -3457,39 +3299,21 @@ chown -R pcp:pcp %{_logsdir}/pmproxy 2>/dev/null %files -n python3-pcp -f python3-pcp.list.rpm %endif -%if !%{disable_qt} -%files gui -f pcp-gui.list - -%{_confdir}/pmsnap -%config(noreplace) %{_confdir}/pmsnap/control -%{_localstatedir}/lib/pcp/config/pmsnap -%{_localstatedir}/lib/pcp/config/pmchart -%{_localstatedir}/lib/pcp/config/pmafm/pcp-gui -%{_datadir}/applications/pmchart.desktop -%dir %{_pixmapdir} -%{_bashcompdir}/pmdumptext +%if !%{disable_python2} || !%{disable_python3} +%files system-tools -f pcp-system-tools-files.rpm %endif -%files doc -f pcp-doc.list -%dir %{_booksdir} -%dir %{_datadir}/pcp/demos/tutorials +%files zeroconf -f pcp-zeroconf-files.rpm -%if !%{disable_selinux} -%files selinux -f pcp-selinux.list -%dir %{_selinuxdir} -%dir %{_selinuxexecdir} -%endif +%changelog +* Tue Apr 20 2021 Nathan Scott - 5.3.0-2 +- Resolve pcp-testsuite linkage problems (BZ 1950263) -%if !%{disable_python2} || !%{disable_python3} -%files system-tools -f pcp-system-tools.list -%dir %{_confdir}/dstat -%dir %{_confdir}/pmrep -%config(noreplace) %{_confdir}/dstat/* -%config(noreplace) %{_confdir}/pmrep/* -%{_bashcompdir}/pmrep -%endif +* Fri Apr 16 2021 Nathan Scott - 5.3.0-1 +- Allow pcp-atop to filter processes on state (BZ 1807046) +- Rebase to a more recent upstream version of PCP (BZ 1922040) +- PCP scalability and memory footprint improvements (BZ 1942292) -%changelog * Fri Feb 19 2021 Nathan Scott - 5.2.5-4 - Revert removal of pmcd unit dependencies (BZs 1929556, 1930284)