代码拉取完成,页面将自动刷新
同步操作将从 OpenCloudOS Stream/pcp 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
%global _confdir %{_sysconfdir}/pcp
%global _logsdir %{_localstatedir}/log/pcp
%global _pmnsdir %{_localstatedir}/lib/pcp/pmns
%global _pmnsexecdir %{_libexecdir}/pcp/pmns
%global _tempsdir %{_localstatedir}/lib/pcp/tmp
%global _pmdasdir %{_localstatedir}/lib/pcp/pmdas
%global _pmdasexecdir %{_libexecdir}/pcp/pmdas
%global _testsdir %{_localstatedir}/lib/pcp/testsuite
%global _selinuxdir %{_localstatedir}/lib/pcp/selinux
%global _logconfdir %{_localstatedir}/lib/pcp/config/pmlogconf
%global _ieconfdir %{_localstatedir}/lib/pcp/config/pmieconf
%global _tapsetdir %{_datadir}/systemtap/tapset
%global _bashcompdir %{_datadir}/bash-completion/completions
%global _pixmapdir %{_datadir}/pcp-gui/pixmaps
%global _hicolordir %{_datadir}/icons/hicolor
%global _booksdir %{_datadir}/doc/pcp-doc
%global _initddir %{_libexecdir}/pcp/lib
%global _hostname_executable /usr/bin/hostname
%global __strip %{_builddir}/%{?buildsubdir}/build/rpm/custom-strip
%undefine _package_note_flags
%bcond_without nutcracker
%global disable_arrow 1
%ifarch x86_64
%bcond_without mssql
%else
%bcond_with mssql
%endif
Summary: System-level performance monitoring and performance management
Name: pcp
Version: 6.2.2
Release: 5%{?dist}
License: GPLv2+ and LGPLv2+ and CC-BY
URL: https://pcp.io
Source0: https://github.com/performancecopilot/pcp/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.src.tar.gz
Patch3000: 0001-pcp-6.2.2-fix-softlink-error-on-loongarch64.patch
#CVE-2024-45769
Patch3001: redhat-issues-RHEL-57796-pmcd-pmstore-corruption.patch
#CVE-2024-45769
Patch3002: redhat-issues-RHEL-57799-pmpost-symlink-handling.patch
BuildRequires: make gcc gcc-c++ procps autoconf bison flex nss-devel avahi-devel xz-devel zlib-devel
BuildRequires: python3-devel python3-setuptools ncurses-devel readline-devel cyrus-sasl-devel
BuildRequires: chan-devel HdrHistogram_c-devel libpfm-devel systemtap-sdt-devel libuv-devel
BuildRequires: openssl-devel perl-generators perl-devel perl(strict) perl(Time::HiRes)
BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent) perl(JSON) perl(Digest::MD5)
BuildRequires: perl(XML::LibXML) perl(File::Slurp) man %{_hostname_executable}
BuildRequires: systemd-devel systemd-rpm-macros desktop-file-utils qt5-qtbase-devel qt5-qtsvg-devel
# use for patch
BuildRequires: git
Requires: bash xz gawk sed grep findutils which %{_hostname_executable}
Requires: pcp-libs = %{version}-%{release}
Requires: pcp-selinux = %{version}-%{release}
Provides: pcp-pmda-kvm = %{version}-%{release}
Provides: pcp-webapi = %{version}-%{release}
%description
Performance Co-Pilot (PCP) provides a framework and services to support system-level performance
monitoring and performance management.
The PCP open source release provides a unifying abstraction for all of the interesting performance
data in a system, and allows client applications to easily retrieve and process any subset of that
data.
%package conf
Summary: Performance Co-Pilot run-time configuration
License: LGPLv2+
URL: https://pcp.io
%description conf
Performance Co-Pilot (PCP) run-time configuration
%package libs
Summary: Performance Co-Pilot run-time libraries
License: LGPLv2+
URL: https://pcp.io
Requires: pcp-conf = %{version}-%{release}
%description libs
Performance Co-Pilot (PCP) run-time libraries
%package libs-devel
Summary: Performance Co-Pilot (PCP) development headers
License: GPLv2+ and LGPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description libs-devel
Performance Co-Pilot (PCP) headers for development.
%package devel
Summary: Performance Co-Pilot (PCP) development tools and documentation
License: GPLv2+ and LGPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release}
Requires: pcp-libs = %{version}-%{release}
Requires: pcp-libs-devel = %{version}-%{release}
%description devel
Performance Co-Pilot (PCP) documentation and tools for development.
%package testsuite
Summary: Performance Co-Pilot (PCP) test suite
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release}
Requires: pcp-libs = %{version}-%{release}
Requires: pcp-libs-devel = %{version}-%{release}
Requires: pcp-devel = %{version}-%{release}
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
Requires: pcp-pmda-samba pcp-pmda-slurm pcp-pmda-zimbra pcp-pmda-oracle
Requires: pcp-pmda-dm pcp-pmda-apache pcp-pmda-bind2 pcp-pmda-sockets pcp-pmda-podman
Requires: pcp-pmda-bash pcp-pmda-cisco pcp-pmda-gfs2 pcp-pmda-mailq pcp-pmda-mounts
Requires: pcp-pmda-nvidia-gpu pcp-pmda-roomtemp pcp-pmda-sendmail pcp-pmda-shping pcp-pmda-smart
Requires: pcp-pmda-hacluster pcp-pmda-lustrecomm pcp-pmda-logger pcp-pmda-denki pcp-pmda-docker
Requires: pcp-pmda-statsd pcp-pmda-bcc pcp-pmda-bpf pcp-pmda-bpftrace
Requires: pcp-pmda-gluster pcp-pmda-zswap pcp-pmda-unbound pcp-pmda-mic
Requires: pcp-pmda-libvirt pcp-pmda-lio pcp-pmda-openmetrics pcp-pmda-haproxy
Requires: pcp-pmda-lmsensors pcp-pmda-netcheck pcp-pmda-rabbitmq
Requires: pcp-pmda-openvswitch pcp-pmda-mongodb pcp-pmda-snmp pcp-pmda-json
Requires: pcp-pmda-summary pcp-pmda-trace pcp-pmda-weblog setools-console
Requires: pcp-system-tools pcp-gui bc gcc gzip bzip2 selinux-policy-devel selinux-policy-targeted pcp-pmda-uwsgi
%if %{with nutcracker}
Requires: pcp-pmda-nutcracker
%endif
%if %{with mssql}
Requires: pcp-pmda-mssql
%endif
%description testsuite
Quality assurance test suite for Performance Co-Pilot (PCP).
%package -n perl-PCP-PMDA
Summary: Performance Co-Pilot (PCP) Perl bindings and documentation
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: perl-interpreter
%description -n perl-PCP-PMDA
The PCP::PMDA Perl module contains the language bindings for building Performance Metric Domain
Agents (PMDAs) using Perl. Each PMDA exports performance data for one specific domain, for example
the operating system kernel, Cisco routers, a database, an application, etc.
%package -n perl-PCP-MMV
Summary: Performance Co-Pilot (PCP) Perl bindings for PCP Memory Mapped Values
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: perl-interpreter
%description -n perl-PCP-MMV
The PCP::MMV module contains the Perl language bindings for building scripts instrumented with the
Performance Co-Pilot (PCP) Memory Mapped Value (MMV) mechanism. This mechanism allows arbitrary
values to be exported from an instrumented script into the PCP infrastructure for monitoring and
analysis with pmchart, pmie, pmlogger and other PCP tools.
%package -n perl-PCP-LogImport
Summary: Performance Co-Pilot (PCP) Perl bindings for importing external data into PCP archives
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: perl-interpreter
%description -n perl-PCP-LogImport
The PCP::LogImport module contains the Perl language bindings for importing data in various 3rd
party formats into PCP archives so they can be replayed with standard PCP monitoring tools.
%package -n perl-PCP-LogSummary
Summary: Performance Co-Pilot (PCP) Perl bindings for post-processing output of pmlogsummary
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: perl-interpreter
%description -n perl-PCP-LogSummary
The PCP::LogSummary module provides a Perl module for using the statistical summary data produced by
the Performance Co-Pilot pmlogsummary utility. This utility produces various averages, minima,
maxima, and other calculations based on the performance data stored in a PCP archive. The Perl
interface is ideal for exporting this data into third-party tools (e.g. spreadsheets).
%package import-sar2pcp
Summary: Performance Co-Pilot tools for importing sar data into PCP archive logs
License: LGPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: perl-PCP-LogImport = %{version}-%{release}
Requires: perl(XML::TokeParser)
%description import-sar2pcp
Performance Co-Pilot (PCP) front-end tools for importing sar data into standard PCP archive logs for
replay with any PCP monitoring tool.
%package import-iostat2pcp
Summary: Performance Co-Pilot tools for importing iostat data into PCP archive logs
License: LGPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: perl-PCP-LogImport = %{version}-%{release}
%description import-iostat2pcp
Performance Co-Pilot (PCP) front-end tools for importing iostat data into standard PCP archive logs
for replay with any PCP monitoring tool.
%package import-mrtg2pcp
Summary: Performance Co-Pilot tools for importing MTRG data into PCP archive logs
License: LGPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: perl-PCP-LogImport = %{version}-%{release}
%description import-mrtg2pcp
Performance Co-Pilot (PCP) front-end tools for importing MTRG data into standard PCP archive logs
for replay with any PCP monitoring tool.
%package import-ganglia2pcp
Summary: Performance Co-Pilot tools for importing ganglia data into PCP archive logs
License: LGPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: perl-PCP-LogImport = %{version}-%{release}
%description import-ganglia2pcp
Performance Co-Pilot (PCP) front-end tools for importing ganglia data
into standard PCP archive logs for replay with any PCP monitoring tool.
%package import-collectl2pcp
Summary: Performance Co-Pilot tools for importing collectl log files into PCP archive logs
License: LGPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
%description import-collectl2pcp
Performance Co-Pilot (PCP) front-end tools for importing collectl data
into standard PCP archive logs for replay with any PCP monitoring tool.
%package export-zabbix-agent
Summary: Module for exporting PCP metrics to Zabbix agent
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
%description export-zabbix-agent
Performance Co-Pilot (PCP) module for exporting metrics from PCP to
Zabbix via the Zabbix agent - see zbxpcp(3) for further details.
%package export-pcp2elasticsearch
Summary: Performance Co-Pilot tools for exporting PCP metrics to ElasticSearch
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
Requires: python3-requests
BuildRequires: python3-requests
%description export-pcp2elasticsearch
Performance Co-Pilot (PCP) front-end tools for exporting metric values to Elasticsearch - a
distributed, RESTful search and analytics engine. See https://www.elastic.co/community for further
details.
%package export-pcp2graphite
Summary: Performance Co-Pilot tools for exporting PCP metrics to Graphite
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
%description export-pcp2graphite
Performance Co-Pilot (PCP) front-end tools for exporting metric values to graphite
(http://graphite.readthedocs.org).
%package export-pcp2influxdb
Summary: Performance Co-Pilot tools for exporting PCP metrics to InfluxDB
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
Requires: python3-requests
%description export-pcp2influxdb
Performance Co-Pilot (PCP) front-end tools for exporting metric values
to InfluxDB (https://influxdata.com/time-series-platform/influxdb).
%package export-pcp2json
Summary: Performance Co-Pilot tools for exporting PCP metrics in JSON format
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
%description export-pcp2json
Performance Co-Pilot (PCP) front-end tools for exporting metric values
in JSON format.
%package export-pcp2openmetrics
License: GPL-2.0-or-later
Summary: Performance Co-Pilot tools for exporting PCP metrics in OpenMetrics format
URL: https://pcp.io
Requires: pcp-libs >= %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
%description export-pcp2openmetrics
Performance Co-Pilot (PCP) front-end tools for exporting metric values
in OpenMetrics (https://openmetrics.io/) format.
%package export-pcp2spark
Summary: Performance Co-Pilot tools for exporting PCP metrics to Apache Spark
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
%description export-pcp2spark
Performance Co-Pilot (PCP) front-end tools for exporting metric values
in JSON format to Apache Spark. See https://spark.apache.org/ for
further details on Apache Spark.
%if !%{disable_arrow}
%package export-pcp2arrow
License: GPL-2.0-or-later
Summary: Performance Co-Pilot tools for exporting PCP metrics to Apache Arrow
URL: https://pcp.io
Requires: pcp-libs >= %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
Requires: python3-pyarrow
BuildRequires: python3-pyarrow
%description export-pcp2arrow
Performance Co-Pilot (PCP) front-end tool for exporting metric values
to Apache Arrow, which supports the columnar parquet data format.
%endif
%package export-pcp2xml
Summary: Performance Co-Pilot tools for exporting PCP metrics in XML format
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
%description export-pcp2xml
Performance Co-Pilot (PCP) front-end tools for exporting metric values
in XML format.
%package export-pcp2zabbix
Summary: Performance Co-Pilot tools for exporting PCP metrics to Zabbix
License: GPLv2+
URL: https://pcp.io
Requires: pcp-libs = %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
%description export-pcp2zabbix
Performance Co-Pilot (PCP) front-end tools for exporting metric values
to the Zabbix (https://www.zabbix.org/) monitoring software.
%package pmda-podman
Summary: Performance Co-Pilot (PCP) metrics for podman containers
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-podman
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting podman container and pod statistics via the podman REST API.
%package pmda-statsd
Summary: Performance Co-Pilot (PCP) metrics from statsd
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: chan HdrHistogram_c
%description pmda-statsd
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting statistics from the statsd daemon.
%package pmda-perfevent
Summary: Performance Co-Pilot (PCP) metrics for hardware counters
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: libpfm
BuildRequires: libpfm-devel
%description pmda-perfevent
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting hardware counters statistics through libpfm.
%package pmda-infiniband
Summary: Performance Co-Pilot (PCP) metrics for Infiniband HCAs and switches
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: libibmad libibumad
BuildRequires: libibmad-devel libibumad-devel
%description pmda-infiniband
This package contains the PCP Performance Metrics Domain Agent (PMDA) for collecting 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: Performance Co-Pilot (PCP) metrics for ActiveMQ
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl(LWP::UserAgent)
%description pmda-activemq
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the ActiveMQ message broker.
%package pmda-bind2
Summary: Performance Co-Pilot (PCP) metrics for BIND servers
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl(LWP::UserAgent)
Requires: perl(XML::LibXML)
Requires: perl(File::Slurp)
Requires: perl-autodie
Requires: perl-Time-HiRes
%description pmda-bind2
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from BIND (Berkeley Internet Name Domain).
%package pmda-redis
Summary: Performance Co-Pilot (PCP) metrics for Redis
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl-autodie
Requires: perl-Time-HiRes
Requires: perl-Data-Dumper
%description pmda-redis
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from Redis servers (redis.io).
%if %{with nutcracker}
%package pmda-nutcracker
Summary: Performance Co-Pilot (PCP) metrics for NutCracker (TwemCache)
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl(YAML::XS::LibYAML)
Requires: perl(JSON)
%description pmda-nutcracker
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from NutCracker (TwemCache).
%endif
%package pmda-bonding
Summary: Performance Co-Pilot (PCP) metrics for Bonded network interfaces
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-bonding
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about bonded network interfaces.
%package pmda-dbping
Summary: Performance Co-Pilot (PCP) metrics for Database response times and Availablility
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl-DBI
%description pmda-dbping
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Database response times and Availablility.
%package pmda-ds389
Summary: Performance Co-Pilot (PCP) metrics for 389 Directory Servers
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-ds389
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about a 389 Directory Server.
%package pmda-ds389log
Summary: Performance Co-Pilot (PCP) metrics for 389 Directory Server Loggers
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl-Date-Manip
%description pmda-ds389log
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from a 389 Directory Server log.
%package pmda-gpfs
Summary: Performance Co-Pilot (PCP) metrics for GPFS Filesystem
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-gpfs
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the GPFS filesystem.
%package pmda-gpsd
Summary: Performance Co-Pilot (PCP) metrics for a GPS Daemon
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl-Time-HiRes
Requires: perl-JSON
%description pmda-gpsd
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about a GPS Daemon.
%package pmda-denki
Summary: Performance Co-Pilot (PCP) metrics dealing with electrical power
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-denki
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics related to the electrical power consumed by and inside
the system.
%package pmda-docker
Summary: Performance Co-Pilot (PCP) metrics from the Docker daemon
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-docker
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics using the Docker daemon REST API.
%package pmda-lustre
Summary: Performance Co-Pilot (PCP) metrics for the Lustre Filesytem
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-lustre
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Lustre Filesystem.
%package pmda-lustrecomm
Summary: Performance Co-Pilot (PCP) metrics for the Lustre Filesytem Comms
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-lustrecomm
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Lustre Filesystem Comms.
%package pmda-memcache
Summary: Performance Co-Pilot (PCP) metrics for Memcached
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-memcache
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Memcached.
%package pmda-mysql
Summary: Performance Co-Pilot (PCP) metrics for MySQL
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl(DBI) perl(DBD::mysql)
BuildRequires: perl(DBI) perl(DBD::mysql)
%description pmda-mysql
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the MySQL database.
%package pmda-named
Summary: Performance Co-Pilot (PCP) metrics for Named
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-named
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Named nameserver.
%package pmda-netfilter
Summary: Performance Co-Pilot (PCP) metrics for Netfilter framework
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-netfilter
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Netfilter packet filtering framework.
%package pmda-news
Summary: Performance Co-Pilot (PCP) metrics for Usenet News
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-news
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Usenet News.
%package pmda-nginx
Summary: Performance Co-Pilot (PCP) metrics for the Nginx Webserver
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl(LWP::UserAgent)
BuildRequires: perl(LWP::UserAgent)
%description pmda-nginx
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Nginx Webserver.
%package pmda-oracle
Summary: Performance Co-Pilot (PCP) metrics for the Oracle database
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl(DBI)
BuildRequires: perl(DBI)
%description pmda-oracle
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Oracle database.
%package pmda-pdns
Summary: Performance Co-Pilot (PCP) metrics for PowerDNS
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl-Time-HiRes
%description pmda-pdns
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the PowerDNS.
%package pmda-postfix
Summary: Performance Co-Pilot (PCP) metrics for the Postfix (MTA)
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
Requires: perl-Time-HiRes
Requires: postfix-perl-scripts
BuildRequires: postfix-perl-scripts
%description pmda-postfix
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Postfix (MTA).
%package pmda-rsyslog
Summary: Performance Co-Pilot (PCP) metrics for Rsyslog
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-rsyslog
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Rsyslog.
%package pmda-samba
Summary: Performance Co-Pilot (PCP) metrics for Samba
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-samba
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Samba.
%package pmda-slurm
Summary: Performance Co-Pilot (PCP) metrics for the SLURM Workload Manager
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-slurm
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from the SLURM Workload Manager.
%package pmda-snmp
Summary: Performance Co-Pilot (PCP) metrics for Simple Network Management Protocol
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-snmp
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about SNMP.
%package pmda-zimbra
Summary: Performance Co-Pilot (PCP) metrics for Zimbra
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
%description pmda-zimbra
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Zimbra.
%package pmda-dm
Summary: Performance Co-Pilot (PCP) metrics for the Device Mapper Cache and Thin Client
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
BuildRequires: device-mapper-devel
%description pmda-dm
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Device Mapper Cache and Thin Client.
%package pmda-bcc
Summary: Performance Co-Pilot (PCP) metrics from eBPF/BCC modules
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-bcc
Requires: python3-pcp
%description pmda-bcc
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
extracting performance metrics from eBPF/BCC Python modules.
%package pmda-bpf
Summary: Performance Co-Pilot (PCP) metrics from eBPF ELF modules
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: libbpf
BuildRequires: libbpf-devel clang llvm bpftool
%description pmda-bpf
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
extracting performance metrics from eBPF ELF modules.
%package pmda-bpftrace
Summary: Performance Co-Pilot (PCP) metrics from bpftrace scripts
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: bpftrace
Requires: python3-pcp
Requires: python3
%description pmda-bpftrace
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
extracting performance metrics from bpftrace scripts.
%package pmda-gluster
Summary: Performance Co-Pilot (PCP) metrics for the Gluster filesystem
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-gluster
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the gluster filesystem.
%package pmda-nfsclient
Summary: Performance Co-Pilot (PCP) metrics for NFS Clients
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-nfsclient
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics for NFS Clients.
%package pmda-postgresql
Summary: Performance Co-Pilot (PCP) metrics for PostgreSQL
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
Requires: python3-psycopg2
BuildRequires: python3-psycopg2
%description pmda-postgresql
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the PostgreSQL database.
%package pmda-zswap
Summary: Performance Co-Pilot (PCP) metrics for compressed swap
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-zswap
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about compressed swap.
%package pmda-unbound
Summary: Performance Co-Pilot (PCP) metrics for the Unbound DNS Resolver
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-unbound
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Unbound DNS Resolver.
%package pmda-mic
Summary: Performance Co-Pilot (PCP) metrics for Intel MIC cards
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-mic
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Intel MIC cards.
%package pmda-haproxy
Summary: Performance Co-Pilot (PCP) metrics for HAProxy
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-haproxy
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
extracting performance metrics from HAProxy over the HAProxy stats socket.
%package pmda-libvirt
Summary: Performance Co-Pilot (PCP) metrics from virtual machines
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
Requires: libvirt-python3 python3-lxml
BuildRequires: libvirt-python3 python3-lxml
%description pmda-libvirt
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
extracting virtualisation statistics from libvirt about behaviour of guest
and hypervisor machines.
%package pmda-elasticsearch
Summary: Performance Co-Pilot (PCP) metrics for Elasticsearch
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-elasticsearch
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Elasticsearch.
%package pmda-openvswitch
Summary: Performance Co-Pilot (PCP) metrics for Open vSwitch
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-openvswitch
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from Open vSwitch.
%package pmda-rabbitmq
Summary: Performance Co-Pilot (PCP) metrics for RabbitMQ queues
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-rabbitmq
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about RabbitMQ message queues.
%package pmda-uwsgi
License: GPL-2.0-or-later
Summary: Performance Co-Pilot (PCP) metrics from uWSGI servers
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-uwsgi
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from uWSGI servers.
%package pmda-lio
Summary: Performance Co-Pilot (PCP) metrics for the LIO subsystem
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
Requires: 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-openmetrics
Summary: Performance Co-Pilot (PCP) metrics from OpenMetrics endpoints
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
Requires: python3-requests
BuildRequires: python3-requests
Provides: pcp-pmda-prometheus < 5.0.0
%description pmda-openmetrics
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
extracting metrics from OpenMetrics (https://openmetrics.io/) endpoints.
%package pmda-lmsensors
Summary: Performance Co-Pilot (PCP) metrics for hardware sensors
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: lm_sensors
Requires: python3-pcp
%description pmda-lmsensors
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Linux hardware monitoring sensors.
%package pmda-netcheck
Summary: Performance Co-Pilot (PCP) metrics for simple network checks
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-netcheck
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from simple network checks.
%package pmda-mongodb
Summary: Performance Co-Pilot (PCP) metrics for MongoDB
License: GPLv2+
URL: https://pcp.io
BuildRequires: python3-pymongo
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-mongodb
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from MongoDB.
%if %{with mssql}
%package pmda-mssql
Summary: Performance Co-Pilot (PCP) metrics for Microsoft SQL Server
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
Requires: python3-pyodbc
BuildRequires: python3-pyodbc
%description pmda-mssql
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from Microsoft SQL Server.
%endif
%package pmda-json
Summary: Performance Co-Pilot (PCP) metrics for JSON data
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
Requires: python3-jsonpointer python3-six
BuildRequires: python3-jsonpointer python3-six
%description pmda-json
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics output in JSON.
%package pmda-apache
Summary: Performance Co-Pilot (PCP) metrics for the Apache webserver
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-apache
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Apache webserver.
%package pmda-bash
Summary: Performance Co-Pilot (PCP) metrics for the Bash shell
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-bash
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Bash shell.
%package pmda-cifs
Summary: Performance Co-Pilot (PCP) metrics for the CIFS protocol
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-cifs
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Common Internet Filesytem.
%package pmda-cisco
Summary: Performance Co-Pilot (PCP) metrics for Cisco routers
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-cisco
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Cisco routers.
%package pmda-gfs2
Summary: Performance Co-Pilot (PCP) metrics for the GFS2 filesystem
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-gfs2
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the Global Filesystem v2.
%package pmda-logger
Summary: Performance Co-Pilot (PCP) metrics from arbitrary log files
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-logger
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from a specified set of log files (or pipes). The PMDA
supports both sampled and event-style metrics.
%package pmda-mailq
Summary: Performance Co-Pilot (PCP) metrics for the sendmail queue
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-mailq
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about email queues managed by sendmail.
%package pmda-mounts
Summary: Performance Co-Pilot (PCP) metrics for filesystem mounts
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-mounts
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about filesystem mounts.
%package pmda-nvidia-gpu
Summary: Performance Co-Pilot (PCP) metrics for the Nvidia GPU
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-nvidia-gpu
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Nvidia GPUs.
%package pmda-roomtemp
Summary: Performance Co-Pilot (PCP) metrics for the room temperature
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-roomtemp
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about the room temperature.
%package pmda-sendmail
Summary: Performance Co-Pilot (PCP) metrics for Sendmail
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-sendmail
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about Sendmail traffic.
%package pmda-shping
Summary: Performance Co-Pilot (PCP) metrics for shell command responses
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-shping
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about quality of service and response time measurements of
arbitrary shell commands.
%package pmda-smart
Summary: Performance Co-Pilot (PCP) metrics for S.M.A.R.T values
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: smartmontools
%description pmda-smart
This package contains the PCP Performance Metric Domain Agent (PMDA) for
collecting metrics of disk S.M.A.R.T values making use of data from the
smartmontools package.
%package pmda-sockets
Summary: Performance Co-Pilot (PCP) per-socket metrics
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: iproute
%description pmda-sockets
This package contains the PCP Performance Metric Domain Agent (PMDA) for
collecting per-socket statistics, making use of utilities such as 'ss'.
%package pmda-hacluster
Summary: Performance Co-Pilot (PCP) metrics for High Availability Clusters
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-hacluster
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about linux High Availability (HA) Clusters.
%package pmda-summary
Summary: Performance Co-Pilot (PCP) summary metrics from pmie
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-summary
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about other installed PMDAs.
%package pmda-systemd
Summary: Performance Co-Pilot (PCP) metrics from the Systemd journal
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-systemd
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics from the Systemd journal.
%package pmda-trace
Summary: Performance Co-Pilot (PCP) metrics for application tracing
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-trace
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about trace performance data in applications.
%package pmda-weblog
Summary: Performance Co-Pilot (PCP) metrics from web server logs
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
%description pmda-weblog
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting metrics about web server logs.
%package zeroconf
Summary: Performance Co-Pilot (PCP) Zeroconf Package
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: pcp-system-tools = %{version}-%{release}
Requires: pcp-doc = %{version}-%{release}
Requires: pcp-pmda-dm = %{version}-%{release}
Requires: pcp-pmda-nfsclient = %{version}-%{release}
Requires: pcp-pmda-openmetrics = %{version}-%{release}
%description zeroconf
This package contains configuration tweaks and files to increase metrics
gathering frequency, several extended pmlogger configurations, as well as
automated pmie diagnosis, alerting and self-healing for the localhost.
%package -n python3-pcp
Summary: Performance Co-Pilot (PCP) Python3 bindings and documentation
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3
%description -n python3-pcp
This python PCP module contains the language bindings for
Performance Metric API (PMAPI) monitor tools and Performance
Metric Domain Agent (PMDA) collector tools written in Python3.
%package system-tools
Summary: Performance Co-Pilot (PCP) System and Monitoring Tools
License: GPLv2+
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp = %{version}-%{release}
Provides: dstat = %{version}-%{release}
Provides: /usr/bin/dstat
%description system-tools
This PCP module contains additional system monitoring tools written
in the Python language.
%package gui
Summary: Visualization tools for the Performance Co-Pilot toolkit
License: GPLv2+ AND LGPLv2+ AND LGPLv2+ with exceptions
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: liberation-sans-fonts
BuildRequires: hicolor-icon-theme
%description gui
Visualization tools for the Performance Co-Pilot toolkit. The pcp-gui package primarily includes
visualization tools for monitoring systems using live and archived Performance Co-Pilot (PCP)
sources.
%package doc
BuildArch: noarch
License: GPLv2+ and CC-BY
Summary: Documentation and tutorial for the Performance Co-Pilot
URL: https://pcp.io
Conflicts: pcp-pmda-infiniband < 3.10.5
%description doc
Documentation and tutorial for the Performance Co-Pilot Performance Co-Pilot (PCP) provides a
framework and services to support system-level performance monitoring and performance management.
The pcp-doc package provides useful information on using and configuring the Performance Co-Pilot
(PCP) toolkit for system level performance management. It includes tutorials, HOWTOs, and other
detailed documentation about the internals of core PCP utilities and daemons, and the PCP graphical
tools.
%package selinux
Summary: Selinux policy package
License: GPLv2+ and CC-BY
URL: https://pcp.io
BuildRequires: selinux-policy-devel
BuildRequires: selinux-policy-targeted
BuildRequires: setools-console
Requires: policycoreutils selinux-policy-targeted
%description selinux
This package contains SELinux support for PCP. The package contains interface rules, type
enforcement and file context adjustments for an updated policy package.
%prep
%autosetup -n %{name}-%{version} -S git
%build
_build=`echo %{release} | sed -e 's/\..*$//'`
sed -i "/PACKAGE_BUILD/s/=[0-9]*/=$_build/" VERSION.pcp
%configure \
--with-docdir=%{_docdir}/%{name} \
--with-dstat-symlink=yes \
--with-infiniband=yes \
--with-pmdastatsd=yes \
--with-perfevent=yes \
--with-pmdabcc=yes \
--with-pmdabpf=yes \
--with-pmdabpftrace=yes \
--with-pmdajson=yes \
--with-pmdasnmp=yes \
--with-python=no \
--with-podman=yes \
%if %{with nutcracker}
--with-pmdanutcracker=yes \
%else
--with-pmdanutcracker=no \
%endif
%{nil}
# don't use %%make_build
make %{?_smp_mflags} default_pcp
%install
rm -Rf %{buildroot}
BACKDIR=`pwd`
NO_CHOWN=true
DIST_ROOT=%{buildroot}
DIST_TMPFILES=$BACKDIR/install.tmpfiles
DIST_MANIFEST=$BACKDIR/install.manifest
export NO_CHOWN DIST_ROOT DIST_MANIFEST DIST_TMPFILES
rm -f $DIST_MANIFEST $DIST_TMPFILES
make install_pcp
rm -f %{buildroot}/%{_libdir}/*.a
sed -i -e '/\.a$/d' $DIST_MANIFEST
rm -f %{buildroot}/%{_bindir}/sheet2pcp %{buildroot}/%{_mandir}/man1/sheet2pcp.1*
sed -i -e '/sheet2pcp/d' $DIST_MANIFEST
rm -f %{buildroot}/%{_includedir}/pcp/configsz.h
sed -i -e '/configsz.h/d' $DIST_MANIFEST
rm -f %{buildroot}/%{_includedir}/pcp/platformsz.h
sed -i -e '/platformsz.h/d' $DIST_MANIFEST
%if %{without mssql}
rm -fr %{buildroot}/%{_confdir}/mssql
rm -fr %{buildroot}/%{_confdir}/pmieconf/mssql
rm -fr %{buildroot}/%{_ieconfdir}/mssql
rm -fr %{buildroot}/%{_pmdasdir}/mssql
rm -fr %{buildroot}/%{_pmdasexecdir}/mssql
%endif
desktop-file-validate %{buildroot}/%{_datadir}/applications/pmchart.desktop
sed -i -e '/^# .*_LOCAL=1/s/^# //' %{buildroot}/%{_sysconfdir}/sysconfig/{pmcd,pmlogger}
for f in %{buildroot}/%{_initddir}/{pcp,pmcd,pmlogger,pmie,pmproxy}; do
test -f "$f" || continue
sed -i -e '/^# chkconfig/s/:.*$/: - 95 05/' -e '/^# Default-Start:/s/:.*$/:/' $f
done
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}`
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 loongarch64
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
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
cat >confpath.list <<EOF
etc/zabbix/zabbix_agentd.d/
etc/sysconfig/
etc/cron.d/
etc/sasl2/
etc/pcp/
EOF
keep() {
grep -E $@ || return 0
}
cull() {
grep -E -v $@ || return 0
}
total_manifest() {
awk '{print $NF}' $DIST_MANIFEST
}
basic_manifest() {
total_manifest | cull '/pcp-doc/|/testsuite/|/man/|/examples/'
}
total_manifest | keep 'tutorials|/html/|pcp-doc|man.*\.[1-9].*' | cull 'out' >pcp-doc-files
total_manifest | keep 'testsuite|etc/systemd/system|libpcp_fault|pcp/fault.h|pmcheck/pmda-sample' >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$' | cull 'pmcheck' >pcp-zeroconf-files
basic_manifest | grep -E -e 'pmiostat|pmrep|dstat|htop|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|pcp-ss' | \
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 'pcp2openmetrics' >pcp-export-pcp2openmetrics-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)/bpf(/|$)' >pcp-pmda-bpf-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)/denki(/|$)' >pcp-pmda-denki-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)/mongodb(/|$)' >pcp-pmda-mongodb-files
basic_manifest | keep '(etc/pcp|pmdas|pmieconf)/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)/uwsgi(/|$)' >pcp-pmda-uwsgi-files
basic_manifest | keep '(etc/pcp|pmdas)/weblog(/|$)' >pcp-pmda-weblog-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 bpf bpftrace \
cifs cisco \
dbping denki docker dm ds389 ds389log \
elasticsearch \
gfs2 gluster gpfs gpsd \
hacluster haproxy \
infiniband \
json \
libvirt lio lmsensors logger lustre lustrecomm \
mailq memcache mic mounts mongodb 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 uwsgi\
trace \
weblog \
zimbra zswap ;
do
pmda_packages="$pmda_packages pcp-pmda-$pmda_package";
done
for import_package in \
collectl2pcp iostat2pcp ganglia2pcp mrtg2pcp sar2pcp sheet2pcp ;
do
import_packages="$import_packages pcp-import-$import_package";
done
for export_package in \
pcp2arrow pcp2elasticsearch pcp2graphite pcp2influxdb pcp2json \
pcp2openmetrics 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;
}
if (match ($5, "'$PCP_VAR_DIR'/testsuite")) {
$3 = $4 = "pcpqa";
}
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_VAR_DIR'/testsuite")) {
$3 = $4 = "pcpqa";
}
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 (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;
}
}
print $3 >> f;
}'
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 %{without mssql}
rm -f pcp-pmda-mssql.conf
%endif
for tmpfile in *.conf ; \
do \
mv $tmpfile $DIST_ROOT/$PCP_SYSTEMDTMPFILES_DIR/$tmpfile; \
done
%pre testsuite
test -d %{_testsdir} || mkdir -p -m 755 %{_testsdir}
getent group pcpqa >/dev/null || groupadd -r pcpqa
getent passwd pcpqa >/dev/null || \
useradd -c "PCP Quality Assurance" -g pcpqa -d %{_testsdir} -M -r -s /bin/bash pcpqa 2>/dev/null
chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null
exit 0
%post testsuite
chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null
systemctl restart pcp-reboot-init pmcd pmlogger >/dev/null 2>&1
systemctl enable pcp-reboot-init pmcd pmlogger >/dev/null 2>&1
exit 0
%pre
getent group pcp >/dev/null || groupadd -r pcp
getent passwd pcp >/dev/null || \
useradd -c "Performance Co-Pilot" -g pcp -d %{_localstatedir}/lib/pcp -M -r -s /sbin/nologin pcp
exit 0
%global pmda_remove() %{expand:
if [ %1 -eq 0 ]
then
PCP_PMDAS_DIR=%{_pmdasdir}
PCP_PMCDCONF_PATH=%{_confdir}/pmcd/pmcd.conf
if [ -f "$PCP_PMCDCONF_PATH" -a -f "$PCP_PMDAS_DIR/%2/domain.h" ]
then
(cd "$PCP_PMDAS_DIR/%2/" && ./Remove >/dev/null 2>&1)
fi
fi
}
%preun pmda-systemd
%{pmda_remove "$1" "systemd"}
%preun pmda-infiniband
%{pmda_remove "$1" "infiniband"}
%preun pmda-perfevent
%{pmda_remove "$1" "perfevent"}
%preun pmda-podman
%{pmda_remove "$1" "podman"}
%preun pmda-statsd
%{pmda_remove "$1" "statsd"}
%preun pmda-json
%{pmda_remove "$1" "json"}
%preun pmda-nginx
%{pmda_remove "$1" "nginx"}
%preun pmda-oracle
%{pmda_remove "$1" "oracle"}
%preun pmda-postgresql
%{pmda_remove "$1" "postgresql"}
%preun pmda-postfix
%{pmda_remove "$1" "postfix"}
%preun pmda-elasticsearch
%{pmda_remove "$1" "elasticsearch"}
%preun pmda-openvswitch
%{pmda_remove "$1" "openvswitch"}
%preun pmda-rabbitmq
%{pmda_remove "$1" "rabbitmq"}
%preun pmda-uwsgi
%{pmda_remove "$1" "uwsgi"}
%preun pmda-snmp
%{pmda_remove "$1" "snmp"}
%preun pmda-mysql
%{pmda_remove "$1" "mysql"}
%preun pmda-activemq
%{pmda_remove "$1" "activemq"}
%preun pmda-bind2
%{pmda_remove "$1" "bind2"}
%preun pmda-bonding
%{pmda_remove "$1" "bonding"}
%preun pmda-dbping
%{pmda_remove "$1" "dbping"}
%preun pmda-denki
%{pmda_remove "$1" "denki"}
%preun pmda-docker
%{pmda_remove "$1" "docker"}
%preun pmda-ds389
%{pmda_remove "$1" "ds389"}
%preun pmda-ds389log
%{pmda_remove "$1" "ds389log"}
%preun pmda-gpfs
%{pmda_remove "$1" "gpfs"}
%preun pmda-gpsd
%{pmda_remove "$1" "gpsd"}
%preun pmda-lio
%{pmda_remove "$1" "lio"}
%preun pmda-openmetrics
%{pmda_remove "$1" "openmetrics"}
%preun pmda-lustre
%{pmda_remove "$1" "lustre"}
%preun pmda-lustrecomm
%{pmda_remove "$1" "lustrecomm"}
%preun pmda-memcache
%{pmda_remove "$1" "memcache"}
%preun pmda-named
%{pmda_remove "$1" "named"}
%preun pmda-netfilter
%{pmda_remove "$1" "netfilter"}
%preun pmda-news
%{pmda_remove "$1" "news"}
%preun pmda-nfsclient
%{pmda_remove "$1" "nfsclient"}
%if %{with nutcracker}
%preun pmda-nutcracker
%{pmda_remove "$1" "nutcracker"}
%endif
%preun pmda-pdns
%{pmda_remove "$1" "pdns"}
%preun pmda-rsyslog
%{pmda_remove "$1" "rsyslog"}
%preun pmda-redis
%{pmda_remove "$1" "redis"}
%preun pmda-samba
%{pmda_remove "$1" "samba"}
%preun pmda-zimbra
%{pmda_remove "$1" "zimbra"}
%preun pmda-dm
%{pmda_remove "$1" "dm"}
%preun pmda-bcc
%{pmda_remove "$1" "bcc"}
%preun pmda-bpf
%{pmda_remove "$1" "bpf"}
%preun pmda-bpftrace
%{pmda_remove "$1" "bpftrace"}
%preun pmda-gluster
%{pmda_remove "$1" "gluster"}
%preun pmda-zswap
%{pmda_remove "$1" "zswap"}
%preun pmda-unbound
%{pmda_remove "$1" "unbound"}
%preun pmda-mic
%{pmda_remove "$1" "mic"}
%preun pmda-haproxy
%{pmda_remove "$1" "haproxy"}
%preun pmda-libvirt
%{pmda_remove "$1" "libvirt"}
%preun pmda-lmsensors
%{pmda_remove "$1" "lmsensors"}
%preun pmda-mongodb
%{pmda_remove "$1" "mongodb"}
%if %{with mssql}
%preun pmda-mssql
%{pmda_remove "$1" "mssql"}
%endif
%preun pmda-netcheck
%{pmda_remove "$1" "netcheck"}
%preun pmda-apache
%{pmda_remove "$1" "apache"}
%preun pmda-bash
%{pmda_remove "$1" "bash"}
%preun pmda-cifs
%{pmda_remove "$1" "cifs"}
%preun pmda-cisco
%{pmda_remove "$1" "cisco"}
%preun pmda-gfs2
%{pmda_remove "$1" "gfs2"}
%preun pmda-logger
%{pmda_remove "$1" "logger"}
%preun pmda-mailq
%{pmda_remove "$1" "mailq"}
%preun pmda-mounts
%{pmda_remove "$1" "mounts"}
%preun pmda-nvidia-gpu
%{pmda_remove "$1" "nvidia"}
%preun pmda-roomtemp
%{pmda_remove "$1" "roomtemp"}
%preun pmda-sendmail
%{pmda_remove "$1" "sendmail"}
%preun pmda-shping
%{pmda_remove "$1" "shping"}
%preun pmda-smart
%{pmda_remove "$1" "smart"}
%preun pmda-sockets
%{pmda_remove "$1" "sockets"}
%preun pmda-hacluster
%{pmda_remove "$1" "hacluster"}
%preun pmda-summary
%{pmda_remove "$1" "summary"}
%preun pmda-trace
%{pmda_remove "$1" "trace"}
%preun pmda-weblog
%{pmda_remove "$1" "weblog"}
%preun zeroconf
if [ "$1" -eq 0 ]
then
%systemd_preun pmlogger_daily_report.timer pmlogger_daily_report.service
fi
%preun
if [ "$1" -eq 0 ]
then
%systemd_preun pmlogger_check.timer pmlogger_daily.timer pmlogger_farm_check.timer pmlogger_farm_check.service pmlogger_farm.service pmlogger.service pmie_check.timer pmie_daily.timer pmie_farm_check.timer pmie_farm_check.service pmie_farm.service pmie.service pmproxy.service pmfind.service pmcd.service pcp-reboot-init.service
systemctl stop pmlogger.service pmie.service pmproxy.service pmfind.service pmcd.service pcp-reboot-init.service >/dev/null 2>&1
PCP_PMNS_DIR=%{_pmnsdir}
rm -f "$PCP_PMNS_DIR/.NeedRebuild" >/dev/null 2>&1
fi
%global install_file() %{expand:
if [ -w "%1" ]
then
(cd "%1" && touch "%2" && chmod 644 "%2")
else
echo "WARNING: Cannot write to %1, skipping %2 creation." >&2
fi
}
%post zeroconf
PCP_PMDAS_DIR=%{_pmdasdir}
PCP_SYSCONFIG_DIR=%{_sysconfdir}/sysconfig
PCP_PMCDCONF_PATH=%{_confdir}/pmcd/pmcd.conf
for PMDA in dm nfsclient openmetrics ; do
if ! grep -q "$PMDA/pmda$PMDA" "$PCP_PMCDCONF_PATH"
then
%{install_file "$PCP_PMDAS_DIR/$PMDA" .NeedInstall}
fi
done
pmieconf -c enable dmthin
systemctl restart pcp-reboot-init pmcd pmlogger pmie >/dev/null 2>&1
systemctl enable pcp-reboot-init pmcd pmlogger pmie >/dev/null 2>&1
%global rebuild_pmns() %{expand:
if [ -w "%1" ]
then
(cd "%1" && ./Rebuild -s && rm -f "%2")
else
echo "WARNING: Cannot write to %1, skipping namespace rebuild." >&2
fi
}
%post
PCP_PMNS_DIR=%{_pmnsdir}
PCP_LOG_DIR=%{_logsdir}
%{install_file "$PCP_PMNS_DIR" .NeedRebuild}
%{install_file "$PCP_LOG_DIR/pmlogger" .NeedRewrite}
rm -f %{_sysconfdir}/systemd/system/pm*.requires/pm*-poll.* >/dev/null 2>&1 || true
%systemd_postun_with_restart pmcd.service
%systemd_post pmcd.service
%systemd_postun_with_restart pmlogger.service
%systemd_post pmlogger.service
%systemd_postun_with_restart pmie.service
%systemd_post pmie.service
%systemd_postun_with_restart pmproxy.service
%systemd_post pmproxy.service
%systemd_post pmfind.service
%{rebuild_pmns "$PCP_PMNS_DIR" .NeedRebuild}
%pre selinux
%selinux_relabel_pre -s targeted
%post selinux
PCP_SELINUX_DIR=%{_selinuxdir}
semodule -r pcpupstream-container >/dev/null 2>&1 || true
semodule -r pcpupstream-docker >/dev/null 2>&1 || true
semodule -r pcpupstream >/dev/null 2>&1 || true
%selinux_modules_install -s targeted "$PCP_SELINUX_DIR/pcp.pp.bz2"
%selinux_relabel_post -s targeted
%postun selinux
if [ $1 -eq 0 ]; then
%selinux_modules_uninstall -s targeted pcp
%selinux_relabel_post -s targeted
fi
%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
%files conf -f pcp-conf-files.rpm
%files libs -f pcp-libs-files.rpm
%files libs-devel -f pcp-libs-devel-files.rpm
%files devel -f pcp-devel-files.rpm
%files doc -f pcp-doc-files.rpm
%files selinux -f pcp-selinux-files.rpm
%files gui -f pcp-gui-files.rpm
%files testsuite -f pcp-testsuite-files.rpm
%files pmda-infiniband -f pcp-pmda-infiniband-files.rpm
%files pmda-podman -f pcp-pmda-podman-files.rpm
%files pmda-statsd -f pcp-pmda-statsd-files.rpm
%files pmda-perfevent -f pcp-pmda-perfevent-files.rpm
%files pmda-activemq -f pcp-pmda-activemq-files.rpm
%files pmda-bind2 -f pcp-pmda-bind2-files.rpm
%if %{with nutcracker}
%files pmda-nutcracker -f pcp-pmda-nutcracker-files.rpm
%endif
%files pmda-elasticsearch -f pcp-pmda-elasticsearch-files.rpm
%files pmda-redis -f pcp-pmda-redis-files.rpm
%files pmda-bonding -f pcp-pmda-bonding-files.rpm
%files pmda-dbping -f pcp-pmda-dbping-files.rpm
%files pmda-ds389log -f pcp-pmda-ds389log-files.rpm
%files pmda-ds389 -f pcp-pmda-ds389-files.rpm
%files pmda-gpfs -f pcp-pmda-gpfs-files.rpm
%files pmda-gpsd -f pcp-pmda-gpsd-files.rpm
%files pmda-lustre -f pcp-pmda-lustre-files.rpm
%files pmda-memcache -f pcp-pmda-memcache-files.rpm
%files pmda-named -f pcp-pmda-named-files.rpm
%files pmda-netfilter -f pcp-pmda-netfilter-files.rpm
%files pmda-news -f pcp-pmda-news-files.rpm
%files pmda-pdns -f pcp-pmda-pdns-files.rpm
%files pmda-rsyslog -f pcp-pmda-rsyslog-files.rpm
%files pmda-samba -f pcp-pmda-samba-files.rpm
%files pmda-slurm -f pcp-pmda-slurm-files.rpm
%files pmda-zimbra -f pcp-pmda-zimbra-files.rpm
%files pmda-denki -f pcp-pmda-denki-files.rpm
%files pmda-docker -f pcp-pmda-docker-files.rpm
%files pmda-lustrecomm -f pcp-pmda-lustrecomm-files.rpm
%files pmda-mysql -f pcp-pmda-mysql-files.rpm
%files pmda-nginx -f pcp-pmda-nginx-files.rpm
%files pmda-postfix -f pcp-pmda-postfix-files.rpm
%files pmda-postgresql -f pcp-pmda-postgresql-files.rpm
%files pmda-oracle -f pcp-pmda-oracle-files.rpm
%files pmda-snmp -f pcp-pmda-snmp-files.rpm
%files pmda-dm -f pcp-pmda-dm-files.rpm
%files pmda-bcc -f pcp-pmda-bcc-files.rpm
%files pmda-bpf -f pcp-pmda-bpf-files.rpm
%files pmda-bpftrace -f pcp-pmda-bpftrace-files.rpm
%files pmda-gluster -f pcp-pmda-gluster-files.rpm
%files pmda-zswap -f pcp-pmda-zswap-files.rpm
%files pmda-unbound -f pcp-pmda-unbound-files.rpm
%files pmda-mic -f pcp-pmda-mic-files.rpm
%files pmda-haproxy -f pcp-pmda-haproxy-files.rpm
%files pmda-lmsensors -f pcp-pmda-lmsensors-files.rpm
%files pmda-mongodb -f pcp-pmda-mongodb-files.rpm
%if %{with mssql}
%files pmda-mssql -f pcp-pmda-mssql-files.rpm
%endif
%files pmda-netcheck -f pcp-pmda-netcheck-files.rpm
%files pmda-nfsclient -f pcp-pmda-nfsclient-files.rpm
%files pmda-openvswitch -f pcp-pmda-openvswitch-files.rpm
%files pmda-rabbitmq -f pcp-pmda-rabbitmq-files.rpm
%files pmda-uwsgi -f pcp-pmda-uwsgi-files.rpm
%files export-pcp2graphite -f pcp-export-pcp2graphite-files.rpm
%files export-pcp2json -f pcp-export-pcp2json-files.rpm
%files export-pcp2openmetrics -f pcp-export-pcp2openmetrics-files.rpm
%files export-pcp2spark -f pcp-export-pcp2spark-files.rpm
%files export-pcp2xml -f pcp-export-pcp2xml-files.rpm
%files export-pcp2zabbix -f pcp-export-pcp2zabbix-files.rpm
%files export-pcp2elasticsearch -f pcp-export-pcp2elasticsearch-files.rpm
%files export-pcp2influxdb -f pcp-export-pcp2influxdb-files.rpm
%if !%{disable_arrow}
%files export-pcp2arrow -f pcp-export-pcp2arrow-files.rpm
%endif
%files export-zabbix-agent -f pcp-export-zabbix-agent-files.rpm
%files pmda-json -f pcp-pmda-json-files.rpm
%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
%files pmda-apache -f pcp-pmda-apache-files.rpm
%files pmda-bash -f pcp-pmda-bash-files.rpm
%files pmda-cifs -f pcp-pmda-cifs-files.rpm
%files pmda-cisco -f pcp-pmda-cisco-files.rpm
%files pmda-gfs2 -f pcp-pmda-gfs2-files.rpm
%files pmda-logger -f pcp-pmda-logger-files.rpm
%files pmda-mailq -f pcp-pmda-mailq-files.rpm
%files pmda-mounts -f pcp-pmda-mounts-files.rpm
%files pmda-nvidia-gpu -f pcp-pmda-nvidia-files.rpm
%files pmda-roomtemp -f pcp-pmda-roomtemp-files.rpm
%files pmda-sendmail -f pcp-pmda-sendmail-files.rpm
%files pmda-shping -f pcp-pmda-shping-files.rpm
%files pmda-smart -f pcp-pmda-smart-files.rpm
%files pmda-sockets -f pcp-pmda-sockets-files.rpm
%files pmda-hacluster -f pcp-pmda-hacluster-files.rpm
%files pmda-summary -f pcp-pmda-summary-files.rpm
%files pmda-systemd -f pcp-pmda-systemd-files.rpm
%files pmda-trace -f pcp-pmda-trace-files.rpm
%files pmda-weblog -f pcp-pmda-weblog-files.rpm
%files import-sar2pcp -f pcp-import-sar2pcp-files.rpm
%files import-iostat2pcp -f pcp-import-iostat2pcp-files.rpm
%files import-mrtg2pcp -f pcp-import-mrtg2pcp-files.rpm
%files import-ganglia2pcp -f pcp-import-ganglia2pcp-files.rpm
%files import-collectl2pcp -f pcp-import-collectl2pcp-files.rpm
%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 python3-pcp -f python3-pcp.list.rpm
%files system-tools -f pcp-system-tools-files.rpm
%files zeroconf -f pcp-zeroconf-files.rpm
%changelog
* Tue Oct 29 2024 Chunsheng Luo <luffyluo@tencent.com> - 6.2.2-5
- Fix CVE-2024-45769 pcp: pmcd heap corruption through metric pmstore operations
- Fix CVE-2024-45770 pcp: pmpost symlink attack allows escalating pcp to root user
* Thu Sep 26 2024 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 6.2.2-4
- Rebuilt for clarifying the packages requirement in BaseOS and AppStream
* Fri Aug 16 2024 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 6.2.2-3
- Rebuilt for loongarch release
* Tue Jul 16 2024 Huang Yang <huangyang@loongson.cn> - 6.2.2-2
- [Type] other
- [DESC] pcp fix softlink error on loongarch64
* Thu Jun 20 2024 Upgrade Robot <upbot@opencloudos.tech> - 6.2.2-1
- Fix CVE-2023-6917
- Upgrade to version 6.2.2
* Fri Apr 19 2024 Chunsheng Luo <luffyluo@tencent.cn> - 6.0.5-8
- fix CVE-2024-3019
* Tue Mar 19 2024 Huang Yang <huangyang@loongson.cn> - 6.0.5-7
- fix build error in loongarch64
* Wed Jan 17 2024 Rebuild Robot <rebot@opencloudos.org> - 6.0.5-6
- Rebuilt for elfutils
* Tue Dec 26 2023 Rebuild Robot <rebot@opencloudos.org> - 6.0.5-5
- Rebuilt for HdrHistogram_c
* Mon Dec 25 2023 luffyluo <luffyluo@tencent.com> - 6.0.5-4
- Rebuilt for llvm 17.0.6
* Tue Sep 19 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 6.0.5-3
- Rebuilt for python 3.11
* Fri Sep 08 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 6.0.5-2
- Rebuilt for OpenCloudOS Stream 23.09
* Thu Jul 13 2023 cunshunxia <cunshunxia@tencent.com> - 6.0.5-1
- upgrade to 6.0.5
* Fri Apr 28 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 5.3.6-3
- Rebuilt for OpenCloudOS Stream 23.05
* Fri Mar 31 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 5.3.6-2
- Rebuilt for OpenCloudOS Stream 23
* Wed Mar 1 2023 Shuo Wang <abushwang@tencent.com> - 5.3.6-1
- initial build
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。