diff --git a/_constraints b/_constraints
new file mode 100644
index 0000000..e8415de
--- /dev/null
+++ b/_constraints
@@ -0,0 +1,6 @@
+
+
+ 4.0
+
+
+
diff --git a/pcp-4.1.3.tar.gz b/pcp-4.1.3.tar.gz
new file mode 100644
index 0000000..f3afa0c
Binary files /dev/null and b/pcp-4.1.3.tar.gz differ
diff --git a/pcp-webapp-blinkenlights-1.0.1.tar.gz b/pcp-webapp-blinkenlights-1.0.1.tar.gz
new file mode 100644
index 0000000..6964a88
Binary files /dev/null and b/pcp-webapp-blinkenlights-1.0.1.tar.gz differ
diff --git a/pcp-webapp-grafana-1.9.1-2.tar.gz b/pcp-webapp-grafana-1.9.1-2.tar.gz
new file mode 100644
index 0000000..37b1b35
Binary files /dev/null and b/pcp-webapp-grafana-1.9.1-2.tar.gz differ
diff --git a/pcp-webapp-graphite-0.9.10.tar.gz b/pcp-webapp-graphite-0.9.10.tar.gz
new file mode 100644
index 0000000..be6f209
Binary files /dev/null and b/pcp-webapp-graphite-0.9.10.tar.gz differ
diff --git a/pcp-webapp-vector-1.3.1-1.tar.gz b/pcp-webapp-vector-1.3.1-1.tar.gz
new file mode 100644
index 0000000..c5e7f83
Binary files /dev/null and b/pcp-webapp-vector-1.3.1-1.tar.gz differ
diff --git a/pcp.spec b/pcp.spec
new file mode 100644
index 0000000..9028df2
--- /dev/null
+++ b/pcp.spec
@@ -0,0 +1,2212 @@
+%ifarch aarch64
+%global disable_bcc 1
+%global _with_bcc --with-pmdabcc=no
+%else
+%global disable_bcc 0
+%global _with_bcc --with-pmdabcc=yes
+%endif
+
+Name: pcp
+Version: 4.1.3
+Summary: System-level performance monitoring and performance management
+Release: 3
+License: GPLv2+ and LGPLv2.1+ and CC-BY
+URL: https://pcp.io
+Source0: https://dl.bintray.com/pcp/source/pcp-4.1.3.tar.gz
+Source1: https://github.com/performancecopilot/pcp-webapp-vector/archive/1.3.1-1/pcp-webapp-vector-1.3.1-1.tar.gz
+Source2: https://github.com/performancecopilot/pcp-webapp-grafana/archive/1.9.1-2/pcp-webapp-grafana-1.9.1-2.tar.gz
+Source3: https://github.com/performancecopilot/pcp-webapp-graphite/archive/0.9.10/pcp-webapp-graphite-0.9.10.tar.gz
+Source4: https://github.com/performancecopilot/pcp-webapp-blinkenlights/archive/1.0.1/pcp-webapp-blinkenlights-1.0.1.tar.gz
+BuildRequires: gcc gcc-c++ procps autoconf bison flex nss-devel rpm-devel avahi-devel xz-devel zlib-devel
+BuildRequires: python2-devel python3-devel ncurses-devel readline-devel cyrus-sasl-devel papi-devel libpfm-devel >= 4
+BuildRequires: libmicrohttpd-devel cairo-devel systemtap-sdt-devel boost-devel perl-generators perl-devel perl(strict)
+BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent) perl(JSON) perl(LWP::UserAgent) perl(Time::HiRes) perl(Digest::MD5)
+BuildRequires: man systemd-devel desktop-file-utils qt5-qtbase-devel qt5-qtsvg-devel
+Requires: bash bc bzip2 gawk gcc sed grep findutils which pcp-selinux = %{version}-%{release}
+Requires: pcp-conf = %{version}-%{release}
+Provides: pcp-pmda-kvm pcp-libs = %{version}-%{release}
+Obsoletes: pcp-pmda-kvm pcp-libs < %{version}-%{release}
+Obsoletes: pcp-pmda-nvidia pcp-compat
+Conflicts: librapi
+%description
+PCP provides a range of services that may be used to monitor and manage system performance.
+These services are distributed and scalable to accommodate the most complex system configurations and performance problems.
+
+%package conf
+Summary: PCP run-time configuration
+License: LGPLv2.1+
+Conflicts: pcp-libs < 3.9
+%description conf
+PCP run-time configuration files
+
+%package devel
+Summary: PCP development tools
+License: GPLv2+ and LGPLv2.1+
+Requires: pcp = %{version}-%{release}
+Provides: pcp-libs-devel = %{version}-%{release} pcp-testsuite = %{version}-%{release}
+Obsoletes: pcp-libs-devel < %{version}-%{release} pcp-testsuite < %{version}-%{release} pcp-gui-testsuite
+%description devel
+PCP tools for development that contains headers, test and libs abort PCP.
+
+%package help
+Summary: Documents for %{name}
+Buildarch: noarch
+Requires: man info
+Provides: pcp-doc = %{version}-%{release}
+Obsoletes: pcp-doc < %{version}-%{release}
+%description help
+Man pages and other related documents for %{name}.
+
+
+%package manager
+Summary: PCP manager daemon
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description manager
+PCP optional daemon manages a set of pmlogger and pmie daemons.
+
+%package webapi
+Summary: Web API service for PCP
+License: GPLv2+
+Requires: pcp = %{version}-%{release} liberation-sans-fonts
+%description webapi
+This package provides a daemon (pmwebd) that uses the HTTP (PMWEBAPI) protocol to bind a larger subset of
+the Performance Co-Pilot Client API (PMAPI) to a RESTful web application.
+
+%package webjs
+Summary: PCP web applications
+License: ASL 2.0 and MIT and CC-BY and GPLv3
+Conflicts: pcp-webjs < 3.11.9
+BuildArch: noarch
+Requires: pcp-webapp-vector pcp-webapp-blinkenlights pcp-webapp-graphite pcp-webapp-grafana
+
+%description webjs
+Javascript web application content for the PCP web service.
+
+%package webapp-vector
+Summary: PCP's Vector Web Application
+License: ASL 2.0
+BuildArch: noarch
+URL: https://github.com/Netflix/vector
+%description webapp-vector
+PCP's Vector Web Application
+
+%package webapp-grafana
+Summary: Grafana web application for PCP
+License: ASL 2.0
+URL: https://grafana.org
+Conflicts: pcp-webjs < 3.10.4
+BuildArch: noarch
+%description webapp-grafana
+Grafana is an open source, feature-rich indicator dashboard and graphical editor. The package
+provides a Grafana, which uses Performance Co-Pilot as a data repository. No other Grafana backends
+are used.Grafana can render time series dashboards in the browser via float.js (interactive, slower,
+for powerful browsers), or via png on the server (less interactive, faster).
+
+%package webapp-graphite
+Summary: Graphite web application for PCP
+License: ASL 2.0 and GPLv3
+URL: http://graphite.readthedocs.org
+Conflicts: pcp-webjs < 3.10.4
+BuildArch: noarch
+
+%description webapp-graphite
+Graphite is a highly scalable real-time graphics system. The package provides a graphite version
+that uses PCP as its data repository and presents it in the Graphites Web interface. Carbon and
+whispering subsystems that do not include or use graphite.
+
+%package webapp-blinkenlights
+License: ASL 2.0
+Summary: This is the blinking light web application for PCP
+BuildArch: noarch
+%description webapp-blinkenlights
+Demonstrate a web application that displays traffic lights that can change color based on regular
+evaluation of performance indicator expressions.
+
+%package -n perl-PCP-PMDA
+Summary: PCP Perl bindings and documentation
+License: GPLv2+
+Requires: pcp = %{version}-%{release} perl-interpreter
+%description -n perl-PCP-PMDA
+The PCP::PMDA Perl module contains the language bindings that can be used to build
+Performance Metric Domain Agents (PMDA) using Perl.
+Each PMDA exports performance data for a specific domain, such as the operating system
+kernel, databases,applications,Cisco routers etc.
+
+%package -n perl-PCP-MMV
+Summary: PCP Perl bindings for PCP Memory Mapped Values
+License: GPLv2+
+Requires: pcp = %{version}-%{release} perl-interpreter
+%description -n perl-PCP-MMV
+The PCP :: MMV module contains Perl language bindings that can be used to build scripts that are
+detected using the PCP memory mapped value (MMV) mechanism.This mechanism can export arbitrary
+values from the detection script to the PCP infrastructure, making it easy to monitor and analyze
+using pmchart, pmie, pmlogger and other PCP tools.
+
+%package -n perl-PCP-LogImport
+Summary: PCP Perl bindings for importing external archive data into PCP archives
+License: GPLv2+
+Requires: pcp = %{version}-%{release} perl-interpreter
+%description -n perl-PCP-LogImport
+The PCP::LogImport module contains Perl language bindings, which can import data from a variety of
+third-party formats into PCP archives, making it easy to replay them using standard PCP monitoring
+tools.
+
+%package -n perl-PCP-LogSummary
+Summary: PCP Perl bindings for post-processing output of pmlogsummary
+License: GPLv2+
+Requires: pcp = %{version}-%{release} perl-interpreter
+
+%description -n perl-PCP-LogSummary
+The PCP :: LogSummary module provides a Perl module that can be used to generate statistical
+summary data using the PCP pmlogsummary utility.This utility generates various averages, minimums,
+maximums and other calculations based on performance data stored in the PCP archive.The Perl
+interface is ideal for exporting data to third-party tools such as spreadsheets.
+
+%package import-sar2pcp
+Summary: PCP tools that can importing sar data into PCP archive logs
+License: LGPLv2+
+Requires: pcp = %{version}-%{release} perl-PCP-LogImport = %{version}-%{release} perl(XML::TokeParser)
+%description import-sar2pcp
+PCP front-end tool that can import sar data into standard PCP archive logs for replay with
+any PCP monitoring tool.
+
+%package import-iostat2pcp
+Summary: PCP tools that can import iostat data into PCP archive logs
+License: LGPLv2+
+Requires: pcp = %{version}-%{release} perl-PCP-LogImport = %{version}-%{release}
+%description import-iostat2pcp
+PCP front-end tool, which can import sar data into standard PCP archive logs, and can be replayed
+with any PCP monitoring tool.
+
+%package import-mrtg2pcp
+Summary: PCP tool that can import MTRG data into PCP archive logs
+License: LGPLv2+
+Requires: pcp = %{version}-%{release} perl-PCP-LogImport = %{version}-%{release}
+%description import-mrtg2pcp
+PCP front-end tool that can import MTRG data into standard PCP archive logs, and can be replay with
+any PCP monitoring tool.
+
+%package import-ganglia2pcp
+Summary: Import ganglion data into PCP archive log using PCP tool
+License: LGPLv2+
+Requires: pcp = %{version}-%{release} perl-PCP-LogImport = %{version}-%{release}
+
+%description import-ganglia2pcp
+Use PCP front-end tools to import ganglion data into standard PCP archive logs, and can be replay with
+any PCP monitoring tool.
+
+%package import-collectl2pcp
+Summary: Use PCP tools to import collected log files into PCP archive logs
+License: LGPLv2+
+Requires: pcp = %{version}-%{release}
+
+%description import-collectl2pcp
+PCP front-end tools that can importing collectl data into standard PCP archive logs, and can be replay
+with any PCP monitoring tool.
+
+%package export-zabbix-agent
+Summary: Module that can export PCP indicators to Zabbix agent
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+
+%description export-zabbix-agent
+Module that can export PCP indicators from PCP to Zabbix via the Zabbix agent
+- see zbxpcp(3) for further details.
+
+%package export-pcp2graphite
+Summary: PCP tools for exporting PCP metrics to Graphite
+License: GPLv2+
+Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release}
+%description export-pcp2graphite
+PCP front-end tools for exporting metric values to graphite (http://graphite.readthedocs.org).
+
+%package export-pcp2influxdb
+Summary: PCP tools for exporting PCP metrics to InfluxDB
+License: GPLv2+
+Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release} python3-requests
+%description export-pcp2influxdb
+PCP front-end tools for exporting metric values
+to InfluxDB (https://influxdata.com/time-series-platform/influxdb).
+
+%package export-pcp2json
+Summary: Use PCP tools to export PCP indicators in JSON format
+License: GPLv2+
+Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release}
+
+%description export-pcp2json
+PCP tools for exporting PCP metrics in JSON format.
+
+%package export-pcp2spark
+Summary: Export PCP metrics to Apache Spark using PCP tools
+License: GPLv2+
+Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release}
+
+%description export-pcp2spark
+Use the PCP front-end tool to export JSON-formatted indicator values to Apache Spark.
+See https://spark.apache.org/ for further details on Apache Spark.
+
+%package export-pcp2xml
+Summary: PCP front-end tools for exporting PCP metrics in XML format
+License: GPLv2+
+Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release}
+
+%description export-pcp2xml
+Use PCP front-end tools to export metric values in XML format.
+
+%package export-pcp2zabbix
+Summary: PCP tool that can export PCP indicators to Zabbix
+License: GPLv2+
+Requires: python3-pcp = %{version}-%{release} pcp >= %{version}-%{release}
+
+%description export-pcp2zabbix
+PCP front-end tools for exporting metric values to the Zabbix
+(https://www.zabbix.org/) monitoring software.
+
+%package pmda-papi
+Summary: PCP metrics for hardware counters and Performance API
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+BuildRequires: papi-devel
+
+%description pmda-papi
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering hardware counters statistics through PAPI (Performance API).
+
+%package pmda-perfevent
+Summary: Hardware counters PCP metrics
+License: GPLv2+
+Requires: pcp = %{version}-%{release} libpfm >= 4
+BuildRequires: libpfm-devel >= 4
+%description pmda-perfevent
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering hardware counters statistics through libpfm.
+
+%package pmda-infiniband
+Summary: PCP metrics for Infiniband HCAs and switches
+License: GPLv2+
+Requires: pcp = %{version}-%{release} libibmad >= 1.3.7 libibumad >= 1.3.7
+BuildRequires: libibmad-devel >= 1.3.7 libibumad-devel >= 1.3.7
+%description pmda-infiniband
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering Infiniband statistics. By default, it monitors the local HCAs
+but can also be configured to monitor remote GUIDs such as IB switches.
+
+%package pmda-activemq
+Summary: ActiveMQ PCP metrics
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent)
+%description pmda-activemq
+This package provides the PCP Performance Metrics Domain Agent-PMDA which is used for
+gathering metrics about the ActiveMQ message broker.
+
+%package pmda-bind2
+Summary: PCP metrics for BIND servers
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent) perl(XML::LibXML) perl(File::Slurp)
+%description pmda-bind2
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics from BIND (Berkeley Internet Name Domain).
+
+%package pmda-redis
+Summary: Redis PCP metrics
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-redis
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics from Redis servers (redis.io).
+
+%package pmda-bonding
+Summary: PCP metrics for Bonded network interfaces
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-bonding
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about bonded network interfaces.
+
+%package pmda-dbping
+Summary: PCP metrics for Database response times and Availablility
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-dbping
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Database response times and Availablility.
+
+%package pmda-ds389
+Summary: PCP metrics for 389 Directory Servers
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-ds389
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about a 389 Directory Server.
+
+%package pmda-ds389log
+Summary: PCP metrics for 389 Directory Server Loggers
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release} perl-Date-Manip
+%description pmda-ds389log
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics from a 389 Directory Server log.
+
+%package pmda-elasticsearch
+Summary: PCP metrics for Elasticsearch
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent)
+BuildRequires: perl(LWP::UserAgent)
+%description pmda-elasticsearch
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about Elasticsearch.
+
+%package pmda-gpfs
+Summary: PCP metrics for GPFS Filesystem
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-gpfs
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the GPFS filesystem.
+
+%package pmda-gpsd
+Summary: PCP metrics for a GPS Daemon
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-gpsd
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about a GPS Daemon.
+
+%package pmda-docker
+Summary: PCP metrics from the Docker daemon
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-docker
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics using the Docker daemon REST API.
+
+%package pmda-lustre
+Summary: PCP metrics for the Lustre Filesytem
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-lustre
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Lustre Filesystem.
+
+%package pmda-lustrecomm
+Summary: PCP metrics for the Lustre Filesytem Comms
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-lustrecomm
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Lustre Filesystem Comms.
+
+%package pmda-memcache
+Summary: PCP metrics for Memcached
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-memcache
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about Memcached.
+
+%package pmda-mysql
+Summary: PCP metrics for MySQL
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release} perl(DBI) perl(DBD::mysql)
+BuildRequires: perl(DBI) perl(DBD::mysql)
+%description pmda-mysql
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the MySQL database.
+
+%package pmda-named
+Summary: PCP metrics for Named
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-named
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Named nameserver.
+
+%package pmda-netfilter
+Summary: PCP metrics for Netfilter framework
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-netfilter
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Netfilter packet filtering framework.
+
+%package pmda-news
+Summary: PCP metrics for Usenet News
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-news
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about Usenet News.
+
+%package pmda-nginx
+Summary: PCP metrics for the Nginx Webserver
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent)
+BuildRequires: perl(LWP::UserAgent)
+%description pmda-nginx
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Nginx Webserver.
+
+%package pmda-nfsclient
+Summary: PCP metrics for NFS Clients
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-nfsclient
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics for NFS Clients.
+
+%package pmda-oracle
+Summary: PCP metrics for the Oracle database
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release} perl(DBI)
+BuildRequires: perl(DBI)
+%description pmda-oracle
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Oracle database.
+
+%package pmda-pdns
+Summary: PCP metrics for PowerDNS
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-pdns
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the PowerDNS.
+
+%package pmda-postfix
+Summary: PCP metrics for the Postfix (MTA)
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release} postfix-perl-scripts
+BuildRequires: postfix-perl-scripts
+%description pmda-postfix
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Postfix (MTA).
+
+%package pmda-postgresql
+Summary: PCP metrics for PostgreSQL
+License: GPLv2+
+Requires: python3-pcp python3-psycopg2
+BuildRequires: python3-psycopg2
+%description pmda-postgresql
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the PostgreSQL database.
+
+%package pmda-rsyslog
+Summary: PCP metrics for Rsyslog
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-rsyslog
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about Rsyslog.
+
+%package pmda-samba
+Summary: PCP metrics for Samba
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-samba
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about Samba.
+
+%package pmda-slurm
+Summary: PCP metrics for the SLURM Workload Manager
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-slurm
+This package collects metrics from the SLURM Workload Manager.
+
+%package pmda-snmp
+Summary: PCP Simple Network Management Protocol metrics
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-snmp
+This package collects metrics about SNMP.
+
+%package pmda-vmware
+Summary: VMware PCP metrics
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-vmware
+This package collects metrics for VMware.
+
+%package pmda-zimbra
+Summary: Zimbra PCP metrics
+License: GPLv2+
+Requires: perl-PCP-PMDA = %{version}-%{release}
+%description pmda-zimbra
+This package collects metrics about Zimbra.
+
+%package pmda-dm
+Summary: PCP metrics for the Device Mapper Cache and Thin Client
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-dm
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Device Mapper Cache and Thin Client.
+
+%if !%{disable_bcc}
+%package pmda-bcc
+Summary: Performance Co-Pilot (PCP) metrics from eBPF/BCC modules
+License: ASL 2.0 and GPLv2+
+Requires: python3-bcc python3-pcp
+%description pmda-bcc
+This package collects metrics about eBPF/BCC Python modules.
+%endif
+
+%package pmda-gluster
+Summary: PCP metrics for the Gluster filesystem
+License: GPLv2+
+Requires: python3-pcp
+%description pmda-gluster
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the gluster filesystem.
+
+%package pmda-zswap
+Summary: compressed swap PCP metrics
+License: GPLv2+
+Requires: python3-pcp
+%description pmda-zswap
+This package collects metrics about compressed swap.
+
+%package pmda-unbound
+Summary: Unbound DNS Resolver PCP metrics
+License: GPLv2+
+Requires: python3-pcp
+%description pmda-unbound
+This package collects metrics about the Unbound DNS Resolver.
+
+%package pmda-mic
+Summary: PCP metrics for Intel MIC cards
+License: GPLv2+
+Requires: python3-pcp
+%description pmda-mic
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about Intel MIC cards.
+
+%package pmda-haproxy
+Summary: PCP metrics for HAProxy
+License: GPLv2+
+Requires: python3-pcp
+%description pmda-haproxy
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+extracting performance metrics from HAProxy over the HAProxy stats socket.
+
+%package pmda-libvirt
+Summary: PCP metrics for virtual machines
+License: GPLv2+
+Requires: python3-pcp libvirt-python3 python3-lxml
+BuildRequires: libvirt-python3 python3-lxml
+%description pmda-libvirt
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+extracting virtualisation statistics from libvirt about behaviour of guest
+and hypervisor machines.
+
+%package pmda-lio
+Summary: PCP metrics for the LIO subsystem
+License: GPLv2+
+Requires: python3-pcp python3-rtslib
+BuildRequires: python3-rtslib
+%description pmda-lio
+This package provides a PMDA to gather performance metrics from the kernels
+iSCSI target interface (LIO). The metrics are stored by LIO within the Linux
+kernels configfs filesystem. The PMDA provides per LUN level stats, and a
+summary instance per iSCSI target, which aggregates all LUN metrics within the
+target.
+
+%package pmda-prometheus
+Summary: PCP metrics from Prometheus endpoints
+License: GPLv2+
+Requires: pcp = %{version}-%{release} python3-pcp python3-requests
+BuildRequires: python3-requests
+%description pmda-prometheus
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+extracting statistics from programs instrumented as Prometheus endpoints.
+
+%package pmda-json
+Summary: PCP metrics for JSON data
+License: GPLv2+
+Requires: python3-pcp python3-jsonpointer python3-six
+BuildRequires: python3-jsonpointer python3-six
+%description pmda-json
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics output in JSON.
+
+%package pmda-apache
+Summary: PCP metrics for the Apache webserver
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-apache
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Apache webserver.
+
+%package pmda-bash
+Summary: PCP metrics for the Bash shell
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-bash
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Bash shell.
+
+%package pmda-cifs
+Summary: PCP metrics for the CIFS protocol
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-cifs
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Common Internet Filesytem.
+
+%package pmda-cisco
+Summary: PCP metrics for Cisco routers
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-cisco
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about Cisco routers.
+
+%package pmda-gfs2
+Summary: PCP metrics for the GFS2 filesystem
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-gfs2
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Global Filesystem v2.
+
+%package pmda-lmsensors
+Summary: PCP metrics for hardware sensors
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-lmsensors
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the Linux hardware monitoring sensors.
+
+%package pmda-logger
+Summary: PCP metrics from arbitrary log files
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-logger
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics from a specified set of log files (or pipes). The PMDA
+supports both sampled and event-style metrics.
+
+%package pmda-mailq
+Summary: PCP metrics for the sendmail queue
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-mailq
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about email queues managed by sendmail.
+
+%package pmda-mounts
+Summary: PCP metrics for filesystem mounts
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-mounts
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about filesystem mounts.
+
+%package pmda-nvidia-gpu
+Summary: PCP metrics for the Nvidia GPU
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-nvidia-gpu
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about Nvidia GPUs.
+
+%package pmda-roomtemp
+Summary: PCP metrics for the room temperature
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-roomtemp
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the room temperature.
+
+%package pmda-rpm
+Summary: PCP metrics for the RPM package manager
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-rpm
+This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for
+gathering metrics about the installed RPM packages.
+
+%package pmda-sendmail
+Summary: PCP Sendmail metrics
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-sendmail
+This package collects metrics about Sendmail traffic.
+
+%package pmda-shping
+Summary: PCP shell command responses metrics
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-shping
+This package collects metrics about response time of shell commands.
+
+%package pmda-smart
+Summary: PCP metrics for S.M.A.R.T values
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-smart
+This package collects metrics of disk S.M.A.R.T values.
+
+%package pmda-summary
+Summary: PCP summary metrics from pmie
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-summary
+This package collects metrics about other installed pmdas.
+
+%package pmda-systemd
+Summary: PCP metrics from the Systemd journal
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-systemd
+This package collects metrics from the Systemd journal.
+
+%package pmda-trace
+Summary: application tracing PCP metrics
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-trace
+This package collects metrics about trace performance data in applications.
+
+%package pmda-weblog
+Summary: web server logs PCP metrics
+License: GPLv2+
+Requires: pcp = %{version}-%{release}
+%description pmda-weblog
+This package collects metrics about web server logs.
+
+%package collector
+Summary: PCP Collection meta Package
+License: GPLv2+
+Requires: pcp-pmda-activemq pcp-pmda-bonding pcp-pmda-dbping pcp-pmda-ds389 pcp-pmda-ds389log
+Requires: pcp-pmda-elasticsearch pcp-pmda-gpfs pcp-pmda-gpsd pcp-pmda-lustre
+Requires: pcp-pmda-memcache pcp-pmda-mysql pcp-pmda-named pcp-pmda-netfilter pcp-pmda-news
+Requires: pcp-pmda-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-vmware pcp-pmda-zimbra pcp-pmda-dm pcp-pmda-apache
+Requires: pcp-pmda-bash pcp-pmda-cisco pcp-pmda-gfs2 pcp-pmda-lmsensors 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-lustrecomm pcp-pmda-logger pcp-pmda-docker pcp-pmda-bind2 pcp-pmda-gluster pcp-pmda-zswap
+Requires: pcp-pmda-libvirt pcp-pmda-lio pcp-pmda-prometheus pcp-pmda-haproxy pcp-pmda-snmp pcp-pmda-json
+Requires: pcp-pmda-rpm pcp-pmda-summary pcp-pmda-trace pcp-pmda-weblog pcp-pmda-unbound pcp-pmda-mic
+%if !%{disable_bcc}
+Requires: pcp-pmda-bcc
+%endif
+%description collector
+This package will install the PCP metric collection dependencies used to collect PCP metrics.
+
+%package monitor
+Summary: PCP Monitoring meta Package
+License: GPLv2+
+Requires: pcp-webapi pcp-system-tools pcp-gui
+%description monitor
+This meta-package contains the PCP performance monitoring dependencies. This
+includes a large number of packages for analysing PCP metrics in various ways.
+
+%package zeroconf
+Summary: PCP Zeroconf Package
+License: GPLv2+
+Requires: pcp pcp-doc pcp-system-tools pcp-pmda-dm pcp-pmda-nfsclient
+%description zeroconf
+This package installs configuration files to tweak indexes for PCP metrics.
+
+%package -n python2-pcp
+Summary: PCP Python2 bindings and documentation
+License: GPLv2+
+Requires: pcp = %{version}-%{release} python2
+Obsoletes: python-pcp
+%description -n python2-pcp
+This package contains language bindings for the Performance Metric API (PMAPI) monitoring
+tool and Performance Metric Domain Agent (PMDA) collector tool written in Python2.
+
+%package -n python3-pcp
+Summary: PCP Python3 bindings and documentation
+License: GPLv2+
+Requires: pcp = %{version}-%{release} python3
+%description -n python3-pcp
+This package contains language bindings for the Performance Metric API (PMAPI) monitoring
+tool and Performance Metric Domain Agent (PMDA) collector tool written in Python3.
+
+%package system-tools
+Summary: PCP System and Monitoring Tools
+License: GPLv2+
+Requires: python3-pcp = %{version}-%{release} pcp = %{version}-%{release}
+Obsoletes: dstat
+Provides: /usr/bin/dstat
+%description system-tools
+This package contains some Python system monitoring tools.
+
+%package gui
+Summary: PCP toolkit visual tools
+License: GPLv2+ and LGPLv2+ and LGPLv2+ with exceptions
+BuildRequires: hicolor-icon-theme
+Requires: pcp = %{version}-%{release} liberation-sans-fonts
+%description gui
+Visualization tools for the PCP toolkit.
+
+%package selinux
+Summary: PCP selinux policy
+License: GPLv2+ and CC-BY
+BuildRequires: selinux-policy-devel selinux-policy-targeted setools-console
+Requires: policycoreutils
+%description selinux
+This package installs selinux support files for PCP.
+
+%prep
+%setup -q -T -D -a 1 -c -n vector
+%setup -q -T -D -a 2 -c -n grafana
+%setup -q -T -D -a 3 -c -n graphite
+%setup -q -T -D -a 4 -c -n blinkenlights
+%setup -q
+
+%build
+
+%configure --with-docdir=/usr/share/doc/pcp \
+--with-dstat-symlink=yes \
+--with-infiniband=yes \
+--with-papi=yes \
+--with-perfevent=yes \
+%{?_with_bcc} \
+--with-pmdajson=yes \
+--with-pmdasnmp=yes \
+--with-pmdanutcracker=no \
+--with-webapps=yes
+
+%make_build default_pcp
+
+%install
+export NO_CHOWN=true DIST_ROOT=$RPM_BUILD_ROOT
+make install_pcp
+PCP_GUI='pmchart|pmconfirm|pmdumptext|pmmessage|pmquery|pmsnap|pmtime'
+rm -f $RPM_BUILD_ROOT/usr/lib64/*.a
+rm -f $RPM_BUILD_ROOT/usr/bin/sheet2pcp $RPM_BUILD_ROOT/usr/share/man/man1/sheet2pcp.1*
+rm -f $RPM_BUILD_ROOT/usr/include/pcp/configsz.h
+rm -f $RPM_BUILD_ROOT/usr/include/pcp/platformsz.h
+for app in vector grafana graphite blinkenlights; do
+ webapp=`find ../$app -mindepth 1 -maxdepth 1`
+ cp -r -f $webapp $RPM_BUILD_ROOT/usr/share/pcp/webapps/$app
+done
+rm -rf $RPM_BUILD_ROOT/usr/share/doc/pcp-gui
+desktop-file-validate $RPM_BUILD_ROOT/usr/share/applications/pmchart.desktop
+for f in $RPM_BUILD_ROOT/usr/share/pcp/lib/{pcp,pmcd,pmlogger,pmie,pmwebd,pmmgr,pmproxy}; do
+ test -f "$f" || continue
+ sed -i -e '/^# chkconfig/s/:.*$/: - 95 05/' -e '/^# Default-Start:/s/:.*$/:/' $f
+done
+if [ "$1" -eq 1 ]
+then
+PCP_SYSCONFIG_DIR=/etc/sysconfig
+sed -i 's/^\#\ PMLOGGER_LOCAL.*/PMLOGGER_LOCAL=1/g' "$RPM_BUILD_ROOT/$PCP_SYSCONFIG_DIR/pmlogger"
+sed -i 's/^\#\ PMCD_LOCAL.*/PMCD_LOCAL=1/g' "$RPM_BUILD_ROOT/$PCP_SYSCONFIG_DIR/pmcd"
+fi
+ls -1 $RPM_BUILD_ROOT/var/lib/pcp/pmdas |\
+ grep -E -v '^simple|sample|trivial|txmon' | grep -E -v '^perfevent|perfalloc.1' |\
+ grep -E -v '^ib$|^infiniband' | grep -E -v '^activemq' | grep -E -v '^bonding' |\
+ grep -E -v '^bind2' | grep -E -v '^dbping' | grep -E -v '^docker' |\
+ grep -E -v '^ds389log'| grep -E -v '^ds389' | grep -E -v '^elasticsearch' |\
+ grep -E -v '^gpfs' | grep -E -v '^gpsd' | grep -E -v '^lio' |\
+ grep -E -v '^lustre' | grep -E -v '^lustrecomm' | grep -E -v '^memcache' |\
+ grep -E -v '^mysql' | grep -E -v '^named' | grep -E -v '^netfilter' |\
+ grep -E -v '^news' | grep -E -v '^nfsclient' | grep -E -v '^nginx' |\
+ grep -E -v '^nutcracker' | grep -E -v '^oracle' | grep -E -v '^papi' |\
+ grep -E -v '^pdns' | grep -E -v '^postfix' | grep -E -v '^postgresql' |\
+ grep -E -v '^redis' | grep -E -v '^rsyslog' | grep -E -v '^samba' |\
+ grep -E -v '^slurm' | grep -E -v '^snmp' | grep -E -v '^vmware' |\
+ grep -E -v '^zimbra' | grep -E -v '^dm' | grep -E -v '^apache' |\
+ grep -E -v '^bash' | grep -E -v '^cifs' | grep -E -v '^cisco' |\
+ grep -E -v '^gfs2' | grep -E -v '^libvirt' | grep -E -v '^lmsensors' |\
+ grep -E -v '^logger' | grep -E -v '^mailq' | grep -E -v '^mounts' |\
+ grep -E -v '^nvidia' | grep -E -v '^roomtemp' | grep -E -v '^sendmail' |\
+ grep -E -v '^shping' | grep -E -v '^smart' | grep -E -v '^summary' |\
+ grep -E -v '^trace' | grep -E -v '^weblog' | grep -E -v '^rpm' |\
+ grep -E -v '^json' | grep -E -v '^mic' | grep -E -v '^bcc' |\
+ grep -E -v '^gluster' | grep -E -v '^zswap' | grep -E -v '^unbound' |\
+ grep -E -v '^haproxy' | sed -e 's#^#'/var/lib/pcp/pmdas'\/#' >base_pmdas.list
+ls -1 $RPM_BUILD_ROOT/usr/bin |\
+ grep -E -v 'pmiostat|pmcollectl|zabbix|zbxpcp|dstat' |\
+ grep -E -v 'pmrep|pcp2graphite|pcp2influxdb|pcp2zabbix' |\
+ grep -E -v 'pcp2elasticsearch|pcp2json|pcp2xlsx|pcp2xml' |\
+ grep -E -v 'pcp2spark' |\
+ grep -E -v 'pmdbg|pmclient|pmerr|genpmda' |\
+sed -e 's#^#'/usr/bin'\/#' >base_bin.list
+ls -1 $RPM_BUILD_ROOT/usr/bin |\
+ egrep -e 'pmiostat|pmcollectl|pmrep|dstat' |\
+ sed -e 's#^#'/usr/bin'\/#' >pcp-system-tools.list
+ls -1 $RPM_BUILD_ROOT/usr/libexec/pcp/bin |\
+ egrep -e 'atop|collectl|dmcache|dstat|free|iostat|ipcs|lvmcache|mpstat' \
+ -e 'numastat|pidstat|shping|tapestat|uptime|verify' |\
+ sed -e 's#^#'/usr/libexec/pcp/bin'\/#' >>pcp-system-tools.list
+ls -1 $RPM_BUILD_ROOT/var/lib/pcp/selinux |\
+ sed -e 's#^#'/var/lib/pcp/selinux'\/#' > pcp-selinux.list
+ls -1 $RPM_BUILD_ROOT/usr/libexec/pcp/bin |\
+ grep -E 'selinux-setup' |\
+ sed -e 's#^#'/usr/libexec/pcp/bin'\/#' >> pcp-selinux.list
+ls -1 $RPM_BUILD_ROOT/usr/libexec/pcp/bin |\
+ grep -E -v 'atop|collectl|dmcache|dstat|free|iostat|mpstat|numastat' |\
+ grep -E -v 'shping|tapestat|uptime|verify|selinux-setup' |\
+ sed -e 's#^#'/usr/libexec/pcp/bin'\/#' >base_exec.list
+ls -1 $RPM_BUILD_ROOT/usr/share/doc/pcp-doc |\
+ sed -e 's#^#'/usr/share/doc/pcp-doc'\/#' > pcp-doc.list
+ls -1 $RPM_BUILD_ROOT/usr/share/man/man1 |\
+ sed -e 's#^#'/usr/share/man'\/man1\/#' >>pcp-doc.list
+ls -1 $RPM_BUILD_ROOT/usr/share/man/man5 |\
+ sed -e 's#^#'/usr/share/man'\/man5\/#' >>pcp-doc.list
+ls -1 $RPM_BUILD_ROOT/usr/share/pcp/demos/tutorials |\
+ sed -e 's#^#'/usr/share/pcp/demos/tutorials'\/#' >>pcp-doc.list
+ls -1 $RPM_BUILD_ROOT/usr/share/pcp-gui/pixmaps |\
+ sed -e 's#^#'/usr/share/pcp-gui/pixmaps'\/#' > pcp-gui.list
+ls -1 $RPM_BUILD_ROOT/usr/share/icons/hicolor |\
+ sed -e 's#^#'/usr/share/icons/hicolor'\/#' >> pcp-gui.list
+cat base_bin.list base_exec.list |\
+ grep -E "$PCP_GUI" >> pcp-gui.list
+ls -1 $RPM_BUILD_ROOT/var/lib/pcp/config/pmlogconf/ |\
+ sed -e 's#^#'/var/lib/pcp/config/pmlogconf'\/#' |\
+ grep -E -v 'zeroconf' >pcp-logconf.list
+cat base_pmdas.list base_bin.list base_exec.list pcp-logconf.list |\
+ grep -E -v 'pmdaib|pmmgr|pmweb|pmsnap|2pcp|pmdas/systemd' |\
+ grep -E -v "$PCP_GUI|pixmaps|hicolor|pcp-doc|tutorials|selinux" |\
+ grep -E -v /etc/pcp | grep -E -v /var/log/pcp > base.list
+ls -1 $RPM_BUILD_ROOT/usr/share/man/man3 |\
+sed -e 's#^#'/usr/share/man'\/man3\/#' | grep -v '3pm' >>pcp-doc.list
+ls -1 $RPM_BUILD_ROOT/usr/share/pcp/demos |\
+sed -e 's#^#'/usr/share'\/pcp\/demos\/#' | grep -E -v tutorials >> devel.list
+ls -1 $RPM_BUILD_ROOT/usr/bin |\
+grep -E 'pmdbg|pmclient|pmerr|genpmda' |\
+sed -e 's#^#'/usr/bin'\/#' >>devel.list
+
+%pre devel
+test -d /var/lib/pcp/testsuite || mkdir -p -m 755 /var/lib/pcp/testsuite
+getent group pcpqa >/dev/null || groupadd -r pcpqa
+getent passwd pcpqa >/dev/null || \
+ useradd -c "PCP Quality Assurance" -g pcpqa -d /var/lib/pcp/testsuite -M -r -s /bin/bash pcpqa 2>/dev/null
+chown -R pcpqa:pcpqa /var/lib/pcp/testsuite 2>/dev/null
+exit 0
+
+%post devel
+chown -R pcpqa:pcpqa /var/lib/pcp/testsuite 2>/dev/null
+exit 0
+
+%pre
+getent group pcp >/dev/null || groupadd -r pcp
+getent passwd pcp >/dev/null || \
+ useradd -c "PCP" -g pcp -d /var/lib/pcp -M -r -s /sbin/nologin pcp
+PCP_CONFIG_DIR=/var/lib/pcp/config
+PCP_SYSCONF_DIR=/etc/pcp
+PCP_LOG_DIR=/var/log/pcp
+PCP_ETC_DIR=/etc
+for crontab in pmlogger pmie
+do
+ test -f "$PCP_ETC_DIR/cron.d/$crontab" || continue
+ mv -f "$PCP_ETC_DIR/cron.d/$crontab" "$PCP_ETC_DIR/cron.d/pcp-$crontab"
+done
+save_configs_script()
+{
+ _new="$1"
+ shift
+ for _dir
+ do
+ [ "$_dir" = "$_new" ] && continue
+ if [ -d "$_dir" ]
+ then
+ ( cd "$_dir" ; find . -maxdepth 1 -type f ) | sed -e 's/^\.\///' \
+ | while read _file
+ do
+ [ "$_file" = "control" ] && continue
+ _want=true
+ if [ -f "$_new/$_file" ]
+ then
+ _try=`find "$_dir/$_file" -newer "$_new/$_file" -print`
+ [ -n "$_try" ] || _want=false
+ fi
+ $_want && echo cp -p "$_dir/$_file" "$_new/$_file"
+ done
+ fi
+ done
+}
+[ -d "$PCP_LOG_DIR" ] || exit 0
+rm -f "$PCP_LOG_DIR/configs.sh"
+for daemon in pmie pmlogger
+do
+ save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_CONFIG_DIR/$daemon" \
+ "$PCP_SYSCONF_DIR/$daemon"
+done
+for daemon in pmcd pmproxy
+do
+ save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_SYSCONF_DIR/$daemon"\
+ "$PCP_CONFIG_DIR/$daemon" /etc/$daemon
+done
+exit 0
+
+%preun webapi
+if [ "$1" -eq 0 ]
+then
+ systemctl --no-reload disable pmwebd.service >/dev/null 2>&1
+ systemctl stop pmwebd.service >/dev/null 2>&1
+fi
+
+%preun manager
+if [ "$1" -eq 0 ]
+then
+ systemctl --no-reload disable pmmgr.service >/dev/null 2>&1
+ systemctl stop pmmgr.service >/dev/null 2>&1
+fi
+
+%preun pmda-rpm
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"rpm"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"rpm"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-papi
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"papi"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"papi"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-systemd
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"systemd"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"systemd"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-infiniband
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"infiniband"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"infiniband"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-perfevent
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"perfevent"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"perfevent"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-json
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"json"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"json"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-nginx
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"nginx"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"nginx"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-oracle
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"oracle"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"oracle"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-postgresql
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"postgresql"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"postgresql"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-postfix
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"postfix"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"postfix"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-elasticsearch
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"elasticsearch"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"elasticsearch"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-snmp
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"snmp"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"snmp"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-mysql
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"mysql"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"mysql"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-activemq
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"activemq"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"activemq"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-bind2
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"bind2"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"bind2"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-bonding
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"bonding"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"bonding"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-dbping
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"dbping"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"dbping"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-docker
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"docker"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"docker"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-ds389
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"ds389"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"ds389"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-ds389log
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"ds389log"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"ds389log"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-gpfs
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"gpfs"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"gpfs"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-gpsd
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"gpsd"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"gpsd"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-lio
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"lio"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"lio"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-prometheus
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"prometheus"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"prometheus"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-lustre
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"lustre"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"lustre"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-lustrecomm
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"lustrecomm"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"lustrecomm"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-memcache
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"memcache"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"memcache"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-named
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"named"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"named"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-netfilter
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"netfilter"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"netfilter"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-news
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"news"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"news"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-nfsclient
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"nfsclient"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"nfsclient"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-pdns
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"pdns"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"pdns"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-rsyslog
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"rsyslog"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"rsyslog"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-redis
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"redis"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"redis"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-samba
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"samba"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"samba"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-vmware
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"vmware"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"vmware"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-zimbra
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"zimbra"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"zimbra"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-dm
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"dm"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"dm"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+%if !%{disable_bcc}
+%preun pmda-bcc
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"bcc"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"bcc"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+%endif
+
+%preun pmda-gluster
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"gluster"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"gluster"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-zswap
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"zswap"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"zswap"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-unbound
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"unbound"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"unbound"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-mic
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"mic"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"mic"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-haproxy
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"haproxy"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"haproxy"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-libvirt
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"libvirt"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"libvirt"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-apache
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"apache"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"apache"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-bash
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"bash"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"bash"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-cifs
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"cifs"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"cifs"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-cisco
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"cisco"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"cisco"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-gfs2
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"gfs2"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"gfs2"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-lmsensors
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"lmsensors"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"lmsensors"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-logger
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"logger"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"logger"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-mailq
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"mailq"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"mailq"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-mounts
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"mounts"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"mounts"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-nvidia-gpu
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"nvidia"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"nvidia"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-roomtemp
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"roomtemp"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"roomtemp"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-sendmail
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"sendmail"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"sendmail"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-shping
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"shping"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"shping"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-smart
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"smart"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"smart"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-summary
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"summary"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"summary"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-trace
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"trace"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"trace"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun pmda-weblog
+if [ "$1" -eq 0 ]
+then
+ if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"weblog"/domain.h" ]
+ then
+ (cd /var/lib/pcp/pmdas/"weblog"/ && ./Remove >/dev/null 2>&1)
+ fi
+fi
+
+%preun
+if [ "$1" -eq 0 ]
+then
+
+
+if [ $1 -eq 0 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl --no-reload disable --now pmlogger.service || :
+fi
+
+
+if [ $1 -eq 0 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl --no-reload disable --now pmie.service || :
+fi
+
+
+if [ $1 -eq 0 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl --no-reload disable --now pmproxy.service || :
+fi
+
+
+if [ $1 -eq 0 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl --no-reload disable --now pmcd.service || :
+fi
+systemctl stop pmlogger.service >/dev/null 2>&1
+systemctl stop pmie.service >/dev/null 2>&1
+systemctl stop pmproxy.service >/dev/null 2>&1
+systemctl stop pmcd.service >/dev/null 2>&1
+PCP_PMNS_DIR=/var/lib/pcp/pmns
+rm -f "$PCP_PMNS_DIR/.NeedRebuild" >/dev/null 2>&1
+fi
+
+%post webapi
+chown -R pcp:pcp /var/log/pcp/pmwebd 2>/dev/null
+systemctl condrestart pmwebd.service >/dev/null 2>&1
+
+%post manager
+chown -R pcp:pcp /var/log/pcp/pmmgr 2>/dev/null
+systemctl condrestart pmmgr.service >/dev/null 2>&1
+
+%post collector
+systemctl restart pmcd >/dev/null 2>&1
+systemctl restart pmlogger >/dev/null 2>&1
+systemctl enable pmcd >/dev/null 2>&1
+systemctl enable pmlogger >/dev/null 2>&1
+
+%post zeroconf
+PCP_PMDAS_DIR=/var/lib/pcp/pmdas
+PCP_SYSCONFIG_DIR=/etc/sysconfig
+for PMDA in dm nfsclient ; do
+ touch "$PCP_PMDAS_DIR/$PMDA/.NeedInstall"
+done
+sed -i 's/^\#\ PMLOGGER_INTERVAL.*/PMLOGGER_INTERVAL=10/g' "$PCP_SYSCONFIG_DIR/pmlogger"
+pmieconf -c enable dmthin
+systemctl restart pmcd >/dev/null 2>&1
+systemctl restart pmlogger >/dev/null 2>&1
+systemctl restart pmie >/dev/null 2>&1
+systemctl enable pmcd >/dev/null 2>&1
+systemctl enable pmlogger >/dev/null 2>&1
+systemctl enable pmie >/dev/null 2>&1
+
+%post selinux
+if [ "$1" -ge 1 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream"
+elif [ "$1" -eq 0 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream"
+fi
+%triggerin selinux -- docker-selinux
+if [ "$1" -ge 1 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream-docker"
+elif [ "$1" -eq 0 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream-docker"
+fi
+%triggerin selinux -- container-selinux
+if [ "$1" -ge 1 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream-container"
+elif [ "$1" -eq 0 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream-container"
+fi
+
+%if !%{disable_bcc}
+%post pmda-bcc
+if grep -q ^"bcc" "/etc/pcp/pmcd/pmcd.conf" 2>/dev/null
+then
+ touch /var/lib/pcp/pmdas/"bcc"/.NeedInstall
+fi
+%endif
+
+%post pmda-prometheus
+if grep -q ^"prometheus" "/etc/pcp/pmcd/pmcd.conf" 2>/dev/null
+then
+ touch /var/lib/pcp/pmdas/"prometheus"/.NeedInstall
+fi
+
+%post
+PCP_LOG_DIR=/var/log/pcp
+PCP_PMNS_DIR=/var/lib/pcp/pmns
+test -s "$PCP_LOG_DIR/configs.sh" && source "$PCP_LOG_DIR/configs.sh"
+rm -f $PCP_LOG_DIR/configs.sh
+chown -R pcp:pcp /var/log/pcp/pmcd 2>/dev/null
+chown -R pcp:pcp /var/log/pcp/pmlogger 2>/dev/null
+chown -R pcp:pcp /var/log/pcp/sa 2>/dev/null
+chown -R pcp:pcp /var/log/pcp/pmie 2>/dev/null
+chown -R pcp:pcp /var/log/pcp/pmproxy 2>/dev/null
+touch "$PCP_PMNS_DIR/.NeedRebuild"
+chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
+
+
+if [ $1 -ge 1 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl try-restart pmcd.service || :
+fi
+
+
+if [ $1 -eq 1 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl --no-reload preset pmcd.service || :
+fi
+
+
+if [ $1 -ge 1 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl try-restart pmlogger.service || :
+fi
+
+
+if [ $1 -eq 1 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl --no-reload preset pmlogger.service || :
+fi
+
+
+if [ $1 -ge 1 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl try-restart pmie.service || :
+fi
+
+
+if [ $1 -eq 1 ] && [ -x /usr/bin/systemctl ] ; then
+ /usr/bin/systemctl --no-reload preset pmie.service || :
+fi
+ systemctl condrestart pmproxy.service >/dev/null 2>&1
+cd $PCP_PMNS_DIR && ./Rebuild -s && rm -f .NeedRebuild
+cd
+/sbin/ldconfig
+%postun
+/sbin/ldconfig
+
+
+%preun selinux
+if [ "$1" -ge 1 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream"
+elif [ "$1" -eq 0 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream"
+fi
+%triggerun selinux -- docker-selinux
+if [ "$1" -ge 1 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream-docker"
+elif [ "$1" -eq 0 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream-docker"
+fi
+%triggerun selinux -- container-selinux
+if [ "$1" -ge 1 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream-container"
+elif [ "$1" -eq 0 ]
+then
+ /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream-container"
+fi
+
+%files -f base.list
+%doc CHANGELOG INSTALL.md README.md VERSION.pcp pcp.lsm COPYING
+%dir /etc/pcp
+%dir /var/lib/pcp/pmdas
+%dir /usr/share/pcp
+%dir /var/lib/pcp
+%dir /var/lib/pcp/config
+%dir %attr(0775,pcp,pcp) /var/lib/pcp/tmp
+%dir %attr(0775,pcp,pcp) /var/lib/pcp/tmp/pmie
+%dir %attr(0775,pcp,pcp) /var/lib/pcp/tmp/pmlogger
+%dir %attr(0700,root,root) /var/lib/pcp/tmp/pmcd
+%dir /usr/share/pcp/lib
+/usr/share/pcp/lib/ReplacePmnsSubtree
+/usr/share/pcp/lib/bashproc.sh
+/usr/share/pcp/lib/lockpmns
+/usr/share/pcp/lib/pmdaproc.sh
+/usr/share/pcp/lib/utilproc.sh
+/usr/share/pcp/lib/rc-proc.sh
+/usr/share/pcp/lib/rc-proc.sh.minimal
+/usr/share/pcp/lib/unlockpmns
+%dir %attr(0775,pcp,pcp) /var/log/pcp
+%attr(0775,pcp,pcp) /var/log/pcp/pmcd
+%attr(0775,pcp,pcp) /var/log/pcp/pmlogger
+%attr(0775,pcp,pcp) /var/log/pcp/pmie
+%attr(0775,pcp,pcp) /var/log/pcp/pmproxy
+/var/lib/pcp/pmns
+/usr/share/pcp/lib/pcp
+/usr/share/pcp/lib/pmcd
+/usr/share/pcp/lib/pmlogger
+/usr/share/pcp/lib/pmie
+/usr/share/pcp/lib/pmproxy
+/usr/lib/systemd/system/pmcd.service
+/usr/lib/systemd/system/pmlogger.service
+/usr/lib/systemd/system/pmie.service
+/usr/lib/systemd/system/pmproxy.service
+%config(noreplace) /etc/sasl2/pmcd.conf
+%config(noreplace) /etc/cron.d/pcp-pmlogger
+%config(noreplace) /etc/cron.d/pcp-pmie
+%config(noreplace) /etc/sysconfig/pmlogger
+%config(noreplace) /etc/sysconfig/pmproxy
+%config(noreplace) /etc/sysconfig/pmcd
+%config /etc/pcp.env
+%dir /etc/pcp/labels
+%dir /etc/pcp/pmcd
+%config(noreplace) /etc/pcp/pmcd/pmcd.conf
+%config(noreplace) /etc/pcp/pmcd/pmcd.options
+%config(noreplace) /etc/pcp/pmcd/rc.local
+%dir /etc/pcp/pmproxy
+%config(noreplace) /etc/pcp/pmproxy/pmproxy.options
+%dir /etc/pcp/pmie
+%dir /etc/pcp/pmie/control.d
+%config(noreplace) /etc/pcp/pmie/control
+%config(noreplace) /etc/pcp/pmie/control.d/local
+%dir /etc/pcp/pmlogger
+%dir /etc/pcp/pmlogger/control.d
+%config(noreplace) /etc/pcp/pmlogger/control
+%config(noreplace) /etc/pcp/pmlogger/control.d/local
+%dir %attr(0775,pcp,pcp) /etc/pcp/nssdb
+%dir /etc/pcp/discover
+%config(noreplace) /etc/pcp/discover/pcp-kube-pods.conf
+%ghost %dir %attr(0775,pcp,pcp) /var/run/pcp
+/var/lib/pcp/config/pmafm
+%dir %attr(0775,pcp,pcp) /var/lib/pcp/config/pmie
+/var/lib/pcp/config/pmie
+/var/lib/pcp/config/pmieconf
+%dir %attr(0775,pcp,pcp) /var/lib/pcp/config/pmlogger
+/var/lib/pcp/config/pmlogger/*
+/var/lib/pcp/config/pmlogrewrite
+%dir %attr(0775,pcp,pcp) /var/lib/pcp/config/pmda
+/usr/share/bash-completion/completions/*
+/usr/share/zsh/site-functions/_pcp
+/usr/share/systemtap/tapset/pmcd.stp
+/usr/lib64/libpcp.so.3
+/usr/lib64/libpcp_gui.so.2
+/usr/lib64/libpcp_mmv.so.1
+/usr/lib64/libpcp_pmda.so.3
+/usr/lib64/libpcp_trace.so.2
+/usr/lib64/libpcp_import.so.1
+/usr/lib64/libpcp_web.so.1
+
+%files monitor
+
+%files collector
+
+%files zeroconf
+/usr/libexec/pcp/bin/pmlogger_daily_report
+%config(noreplace) /etc/cron.d/pcp-pmlogger-daily-report
+/var/lib/pcp/config/pmlogconf/zeroconf
+
+%files conf
+%dir /usr/include/pcp
+/usr/include/pcp/builddefs
+/usr/include/pcp/buildrules
+%config /etc/pcp.conf
+%dir /var/lib/pcp/config/derived
+%config /var/lib/pcp/config/derived/*
+
+
+
+%files devel -f devel.list
+/usr/share/pcp/examples
+/var/lib/pcp/pmdas/simple
+/var/lib/pcp/pmdas/sample
+/var/lib/pcp/pmdas/trivial
+/var/lib/pcp/pmdas/txmon
+/usr/lib64/libpcp.so
+/usr/lib64/libpcp_gui.so
+/usr/lib64/libpcp_mmv.so
+/usr/lib64/libpcp_pmda.so
+/usr/lib64/libpcp_trace.so
+/usr/lib64/libpcp_import.so
+/usr/lib64/libpcp_web.so
+/usr/lib64/pkgconfig/libpcp.pc
+/usr/lib64/pkgconfig/libpcp_pmda.pc
+/usr/lib64/pkgconfig/libpcp_import.pc
+/usr/include/pcp/*.h
+%defattr(-,pcpqa,pcpqa)
+/var/lib/pcp/testsuite
+
+%files webapi
+/usr/share/pcp/lib/pmwebd
+/usr/lib/systemd/system/pmwebd.service
+/usr/libexec/pcp/bin/pmwebd
+%attr(0775,pcp,pcp) /var/log/pcp/pmwebd
+/etc/pcp/pmwebd
+%config(noreplace) /etc/pcp/pmwebd/pmwebd.options
+%dir /usr/share/pcp
+%dir /usr/share/pcp/webapps
+
+%files webjs
+%dir /usr/share/pcp
+%dir /usr/share/pcp/webapps
+/usr/share/pcp/webapps/*.png
+/usr/share/pcp/webapps/*.ico
+/usr/share/pcp/webapps/*.html
+
+%files webapp-blinkenlights
+%dir /usr/share/pcp
+%dir /usr/share/pcp/webapps
+/usr/share/pcp/webapps/blinkenlights
+
+%files webapp-grafana
+%dir /usr/share/pcp
+%dir /usr/share/pcp/webapps
+/usr/share/pcp/webapps/grafana
+
+%files webapp-graphite
+%dir /usr/share/pcp
+%dir /usr/share/pcp/webapps
+/usr/share/pcp/webapps/graphite
+
+%files webapp-vector
+%dir /usr/share/pcp
+%dir /usr/share/pcp/webapps
+/usr/share/pcp/webapps/vector
+
+%files manager
+/usr/share/pcp/lib/pmmgr
+/usr/lib/systemd/system/pmmgr.service
+/usr/libexec/pcp/bin/pmmgr
+%attr(0775,pcp,pcp) /var/log/pcp/pmmgr
+%config(missingok,noreplace) /etc/pcp/pmmgr
+%config(noreplace) /etc/pcp/pmmgr/pmmgr.options
+
+%files import-sar2pcp
+/usr/bin/sar2pcp
+
+%files import-iostat2pcp
+/usr/bin/iostat2pcp
+
+%files import-mrtg2pcp
+/usr/bin/mrtg2pcp
+
+%files import-ganglia2pcp
+/usr/bin/ganglia2pcp
+
+%files import-collectl2pcp
+/usr/bin/collectl2pcp
+
+%files pmda-papi
+/var/lib/pcp/pmdas/papi
+
+%files pmda-perfevent
+/var/lib/pcp/pmdas/perfevent
+%config(noreplace) /var/lib/pcp/pmdas/perfevent/perfevent.conf
+
+%files pmda-infiniband
+/var/lib/pcp/pmdas/ib
+/var/lib/pcp/pmdas/infiniband
+
+%files pmda-activemq
+/var/lib/pcp/pmdas/activemq
+
+%files pmda-bonding
+/var/lib/pcp/pmdas/bonding
+
+%files pmda-bind2
+/var/lib/pcp/pmdas/bind2
+
+%files pmda-dbping
+/var/lib/pcp/pmdas/dbping
+
+%files pmda-ds389log
+/var/lib/pcp/pmdas/ds389log
+
+%files pmda-ds389
+/var/lib/pcp/pmdas/ds389
+
+%files pmda-elasticsearch
+/var/lib/pcp/pmdas/elasticsearch
+
+%files pmda-gpfs
+/var/lib/pcp/pmdas/gpfs
+
+%files pmda-gpsd
+/var/lib/pcp/pmdas/gpsd
+
+%files pmda-docker
+/var/lib/pcp/pmdas/docker
+
+%files pmda-lio
+/var/lib/pcp/pmdas/lio
+
+%files pmda-prometheus
+/var/lib/pcp/pmdas/prometheus
+
+%files pmda-lustre
+/var/lib/pcp/pmdas/lustre
+
+%files pmda-lustrecomm
+/var/lib/pcp/pmdas/lustrecomm
+
+%files pmda-memcache
+/var/lib/pcp/pmdas/memcache
+
+%files pmda-mysql
+/var/lib/pcp/pmdas/mysql
+
+%files pmda-named
+/var/lib/pcp/pmdas/named
+
+%files pmda-netfilter
+/var/lib/pcp/pmdas/netfilter
+
+%files pmda-news
+/var/lib/pcp/pmdas/news
+
+%files pmda-nginx
+/var/lib/pcp/pmdas/nginx
+
+%files pmda-nfsclient
+/var/lib/pcp/pmdas/nfsclient
+
+%files pmda-oracle
+/var/lib/pcp/pmdas/oracle
+
+%files pmda-pdns
+/var/lib/pcp/pmdas/pdns
+
+%files pmda-postfix
+/var/lib/pcp/pmdas/postfix
+
+%files pmda-postgresql
+/var/lib/pcp/pmdas/postgresql
+
+%files pmda-redis
+/var/lib/pcp/pmdas/redis
+
+%files pmda-rsyslog
+/var/lib/pcp/pmdas/rsyslog
+
+%files pmda-samba
+/var/lib/pcp/pmdas/samba
+
+%files pmda-snmp
+/var/lib/pcp/pmdas/snmp
+
+%files pmda-slurm
+/var/lib/pcp/pmdas/slurm
+
+%files pmda-vmware
+/var/lib/pcp/pmdas/vmware
+
+%files pmda-zimbra
+/var/lib/pcp/pmdas/zimbra
+
+%files pmda-dm
+/var/lib/pcp/pmdas/dm
+
+%if !%{disable_bcc}
+%files pmda-bcc
+/var/lib/pcp/pmdas/bcc
+%endif
+
+%files pmda-gluster
+/var/lib/pcp/pmdas/gluster
+
+%files pmda-zswap
+/var/lib/pcp/pmdas/zswap
+
+%files pmda-unbound
+/var/lib/pcp/pmdas/unbound
+
+%files pmda-mic
+/var/lib/pcp/pmdas/mic
+
+%files pmda-haproxy
+/var/lib/pcp/pmdas/haproxy
+
+%files pmda-libvirt
+/var/lib/pcp/pmdas/libvirt
+
+%files export-pcp2graphite
+/usr/bin/pcp2graphite
+
+%files export-pcp2influxdb
+/usr/bin/pcp2influxdb
+
+%files export-pcp2json
+/usr/bin/pcp2json
+
+%files export-pcp2spark
+/usr/bin/pcp2spark
+
+
+%files export-pcp2xml
+/usr/bin/pcp2xml
+
+%files export-pcp2zabbix
+/usr/bin/pcp2zabbix
+
+%files export-zabbix-agent
+/usr/lib64/zabbix
+/etc/zabbix/zabbix_agentd.d/zbxpcp.conf
+
+%files pmda-json
+/var/lib/pcp/pmdas/json
+
+%files pmda-apache
+/var/lib/pcp/pmdas/apache
+
+%files pmda-bash
+/var/lib/pcp/pmdas/bash
+
+%files pmda-cifs
+/var/lib/pcp/pmdas/cifs
+
+%files pmda-cisco
+/var/lib/pcp/pmdas/cisco
+
+%files pmda-gfs2
+/var/lib/pcp/pmdas/gfs2
+
+%files pmda-lmsensors
+/var/lib/pcp/pmdas/lmsensors
+
+%files pmda-logger
+/var/lib/pcp/pmdas/logger
+
+%files pmda-mailq
+/var/lib/pcp/pmdas/mailq
+
+%files pmda-mounts
+/var/lib/pcp/pmdas/mounts
+
+%files pmda-nvidia-gpu
+/var/lib/pcp/pmdas/nvidia
+
+%files pmda-roomtemp
+/var/lib/pcp/pmdas/roomtemp
+
+%files pmda-rpm
+/var/lib/pcp/pmdas/rpm
+
+%files pmda-sendmail
+/var/lib/pcp/pmdas/sendmail
+
+%files pmda-shping
+/var/lib/pcp/pmdas/shping
+
+%files pmda-smart
+/var/lib/pcp/pmdas/smart
+
+%files pmda-summary
+/var/lib/pcp/pmdas/summary
+
+%files pmda-systemd
+/var/lib/pcp/pmdas/systemd
+
+%files pmda-trace
+/var/lib/pcp/pmdas/trace
+
+%files pmda-weblog
+/var/lib/pcp/pmdas/weblog
+
+%files -n perl-PCP-PMDA -f perl-pcp-pmda.list
+
+%files -n perl-PCP-MMV -f perl-pcp-mmv.list
+
+%files -n perl-PCP-LogImport -f perl-pcp-logimport.list
+
+%files -n perl-PCP-LogSummary -f perl-pcp-logsummary.list
+
+%files -n python2-pcp -f python-pcp.list.rpm
+
+%files -n python3-pcp -f python3-pcp.list.rpm
+
+%files gui -f pcp-gui.list
+/etc/pcp/pmsnap
+%config(noreplace) /etc/pcp/pmsnap/control
+/var/lib/pcp/config/pmsnap
+/var/lib/pcp/config/pmchart
+/var/lib/pcp/config/pmafm/pcp-gui
+/usr/share/applications/pmchart.desktop
+
+%files help -f pcp-doc.list
+
+%files selinux -f pcp-selinux.list
+
+%files system-tools -f pcp-system-tools.list
+%dir /etc/pcp/dstat
+%dir /etc/pcp/pmrep
+%config(noreplace) /etc/pcp/dstat/*
+%config(noreplace) /etc/pcp/pmrep/*
+
+%changelog
+* Fri Feb 21 2020 Senlin Xia - 4.1.3-3
+- package init