diff --git a/.gitignore b/.gitignore index 0346e72..07e973d 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ pcp-3.3.3-1.src.tar.gz /pcp-3.10.4.src.tar.gz /pcp-3.10.5-0.20150601git9478ca0.tar.gz /pcp-3.10.5.src.tar.gz +/pcp-3.10.6.src.tar.gz diff --git a/pcp.spec b/pcp.spec index 11d3bdd..d5d6c24 100644 --- a/pcp.spec +++ b/pcp.spec @@ -1,14 +1,13 @@ Summary: System-level performance monitoring and performance management Name: pcp -Version: 3.10.5 +Version: 3.10.6 %global buildversion 1 Release: %{buildversion}%{?dist} License: GPLv2+ and LGPLv2.1+ and CC-BY URL: http://www.pcp.io Group: Applications/System -Source0: ftp://ftp.pcp.io/projects/pcp/download/%{name}-%{version}.src.tar.gz -# From: git://sourceware.org/git/pcpfans.git --branch=webjs +Source0: pcp-%{version}.src.tar.gz Source1: pcp-webjs.src.tar.gz # Compat check for distros that already have single install pmda's @@ -43,7 +42,7 @@ Source1: pcp-webjs.src.tar.gz %if 0%{?rhel} == 5 %global default_python 26 %endif -# No python3 development environment before el7 +# No python3 development environment before el8 %if 0%{?rhel} == 0 || 0%{?rhel} > 7 %global disable_python3 0 # Do we wish to mandate python3 use in pcp? (f22+ and el8+) @@ -54,6 +53,24 @@ Source1: pcp-webjs.src.tar.gz %global disable_python3 1 %endif +# support for pmdajson +%if 0%{?rhel} == 0 || 0%{?rhel} > 6 +%if !%{disable_python2} || !%{disable_python3} +%global disable_json 0 +%else +%global disable_json 1 +%endif +%else +%global disable_json 1 +%endif + +# support for pmdarpm +%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%global disable_rpm 0 +%else +%global disable_rpm 1 +%endif + # Qt development and runtime environment missing components before el6 %if 0%{?rhel} == 0 || 0%{?rhel} > 5 %global disable_qt 0 @@ -61,6 +78,31 @@ Source1: pcp-webjs.src.tar.gz %global disable_qt 1 %endif +# systemd services and pmdasystemd +%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7 +%global disable_systemd 0 +%else +%global disable_systemd 1 +%endif + +# systemtap static probing, missing before el6 and on some architectures +%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%ifnarch ppc ppc64 +%global disable_sdt 0 +%else +%global disable_sdt 1 +%endif +%else +%global disable_sdt 1 +%endif + +# rpm producing "noarch" packages +%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%global disable_noarch 0 +%else +%global disable_noarch 1 +%endif + # prevent conflicting binary and man page install for pcp(1) Conflicts: librapi @@ -94,16 +136,12 @@ BuildRequires: libmicrohttpd-devel %if !%{disable_cairo} BuildRequires: cairo-devel %endif -%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%if !%{disable_sdt} BuildRequires: systemtap-sdt-devel -%else -%ifnarch ppc ppc64 -BuildRequires: systemtap-sdt-devel -%endif %endif BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: initscripts man -%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 +%if !%{disable_systemd} BuildRequires: systemd-devel %endif %if !%{disable_qt} @@ -123,6 +161,12 @@ Requires: python-pcp = %{version}-%{release} Obsoletes: pcp-gui-debuginfo Obsoletes: pcp-pmda-nvidia +%if %{with_compat} +Requires: pcp-compat +%endif +Requires: pcp-libs = %{version}-%{release} +Obsoletes: pcp-gui-debuginfo + %global tapsetdir %{_datadir}/systemtap/tapset %global _confdir %{_sysconfdir}/pcp @@ -137,13 +181,11 @@ Obsoletes: pcp-pmda-nvidia %if 0%{?fedora} >= 20 || 0%{?rhel} >= 8 %global _with_doc --with-docdir=%{_docdir}/%{name} %endif -%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7 + +%if !%{disable_systemd} %global _initddir %{_datadir}/pcp/lib -%global disable_systemd 0 %else %global _initddir %{_sysconfdir}/rc.d/init.d -%global _with_initd --with-rcdir=%{_initddir} -%global disable_systemd 1 %endif # we never want Infiniband on s390 platforms @@ -170,6 +212,12 @@ Obsoletes: pcp-pmda-nvidia %global _with_perfevent --with-perfevent=yes %endif +%if %{disable_json} +%global _with_json --with-pmdajson=no +%else +%global _with_json --with-pmdajson=yes +%endif + %description Performance Co-Pilot (PCP) provides a framework and services to support system-level performance monitoring and performance management. @@ -178,12 +226,6 @@ 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. -%if %{with_compat} -Requires: pcp-compat -%endif -Requires: pcp-libs = @package_version@ -Obsoletes: pcp-gui-debuginfo - # # pcp-conf # @@ -283,7 +325,7 @@ HTTP (PMWEBAPI) protocol. %package webjs License: ASL2.0 and MIT and CC-BY Group: Applications/Internet -%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%if !%{disable_noarch} BuildArch: noarch %endif Requires: pcp-webapp-graphite pcp-webapp-grafana pcp-webapp-vector @@ -297,7 +339,7 @@ web service. %package webapp-vector License: ASL2.0 Group: Applications/Internet -%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%if !%{disable_noarch} BuildArch: noarch %endif Summary: Vector web application for Performance Co-Pilot (PCP) @@ -310,7 +352,7 @@ Vector web application for the Performance Co-Pilot (PCP). License: ASL2.0 Group: Applications/Internet Conflicts: pcp-webjs < 3.10.4 -%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%if !%{disable_noarch} BuildArch: noarch %endif Summary: Grafana web application for Performance Co-Pilot (PCP) @@ -330,7 +372,7 @@ server via png (less interactive, faster). License: ASL2.0 Group: Applications/Internet Conflicts: pcp-webjs < 3.10.4 -%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%if !%{disable_noarch} BuildArch: noarch %endif Summary: Graphite web application for Performance Co-Pilot (PCP) @@ -573,8 +615,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-activemq This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the ActiveMQ message broker. The PMDA is written -in Perl. +collecting metrics about the ActiveMQ message broker. #end pcp-pmda-activemq # @@ -589,9 +630,7 @@ 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. The PMDA is written -in Perl. - +collecting metrics about bonded network interfaces. #end pcp-pmda-bonding # @@ -607,8 +646,6 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-dbping This package contains the PCP Performance Metrics Domain Agent (PMDA) for collecting metrics about the Database response times and Availablility. -The PMDA is written in Perl. - #end pcp-pmda-dbping # @@ -623,9 +660,7 @@ 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. The PMDA is written -in Perl. - +collecting metrics about a 389 Directory Server. #end pcp-pmda-ds389 # @@ -640,9 +675,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-ds389log This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about a 389 Directory Server Logger. The PMDA is written -in Perl. - +collecting metrics from a 389 Directory Server log. #end pcp-pmda-ds389log # @@ -657,9 +690,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-elasticsearch This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about Elasticsearch. The PMDA is written -in Perl. - +collecting metrics about Elasticsearch. #end pcp-pmda-elasticsearch # @@ -674,9 +705,7 @@ 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. The PMDA is written -in Perl. - +collecting metrics about the GPFS filesystem. #end pcp-pmda-gpfs # @@ -691,9 +720,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-gpsd This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about a GPS Daemon. The PMDA is written -in Perl. - +collecting metrics about a GPS Daemon. #end pcp-pmda-gpsd # @@ -708,9 +735,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-kvm This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Kernel based Virtual Machine. The PMDA is written -in Perl. - +collecting metrics about the Kernel based Virtual Machine. #end pcp-pmda-kvm # @@ -725,9 +750,7 @@ 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. The PMDA is written -in Perl. - +collecting metrics about the Lustre Filesystem. #end pcp-pmda-lustre # @@ -738,12 +761,12 @@ License: GPLv2+ Group: Applications/System Summary: Performance Co-Pilot (PCP) metrics for the Lustre Filesytem Comms URL: http://www.pcp.io +Requires: pcp = %{version}-%{release} +Requires: 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. The PMDA is written -in C. - +collecting metrics about the Lustre Filesystem Comms. #end pcp-pmda-lustrecomm # @@ -758,9 +781,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-memcache This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about Memcached. The PMDA is written -in Perl. - +collecting metrics about Memcached. #end pcp-pmda-memcache # @@ -775,9 +796,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-mysql This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the MySQL database. The PMDA is written -in Perl. - +collecting metrics about the MySQL database. #end pcp-pmda-mysql # @@ -792,9 +811,7 @@ 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. The PMDA is written -in Perl. - +collecting metrics about the Named nameserver. #end pcp-pmda-named # pcp-pmda-netfilter @@ -808,9 +825,7 @@ 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. The -PMDA is written in Perl. - +collecting metrics about the Netfilter packet filtering framework. #end pcp-pmda-netfilter # @@ -825,9 +840,7 @@ 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. The PMDA is written -in Perl. - +collecting metrics about Usenet News. #end pcp-pmda-news # @@ -842,9 +855,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-nginx This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Nginx Webserver. The PMDA is written -in Perl. - +collecting metrics about the Nginx Webserver. #end pcp-pmda-nginx # @@ -859,8 +870,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-nfsclient This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics for NFS Clients. The PMDA is written in Perl. - +collecting metrics for NFS Clients. #end pcp-pmda-nfsclient # @@ -875,8 +885,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-pdns This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the PowerDNS. The PMDA is written in Perl. - +collecting metrics about the PowerDNS. #end pcp-pmda-pdns # @@ -900,9 +909,7 @@ Requires: postfix-doc %description pmda-postfix This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Postfix (MTA). The PMDA is written -in Perl. - +collecting metrics about the Postfix (MTA). #end pcp-pmda-postfix # @@ -917,9 +924,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-postgresql This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the PostgreSQL database. The PMDA is written -in Perl. - +collecting metrics about the PostgreSQL database. #end pcp-pmda-postgresql # @@ -934,9 +939,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-rsyslog This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about Rsyslog. The PMDA is written -in Perl. - +collecting metrics about Rsyslog. #end pcp-pmda-rsyslog # @@ -951,8 +954,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-samba This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about Samba. The PMDA is written in Perl. - +collecting metrics about Samba. #end pcp-pmda-samba # @@ -967,8 +969,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-snmp This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about SNMP. The PMDA is written in Perl. - +collecting metrics about SNMP. #end pcp-pmda-snmp # @@ -983,9 +984,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-vmware This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics for VMware. The PMDA is written -in Perl. - +collecting metrics for VMware. #end pcp-pmda-vmware # @@ -1000,8 +999,7 @@ Requires: perl-PCP-PMDA = %{version}-%{release} %description pmda-zimbra This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about Zimra. The PMDA is written -in Perl. +collecting metrics about Zimbra. #end pcp-pmda-zimbra # @@ -1015,8 +1013,7 @@ URL: http://www.pcp.io Requires: pcp-libs = %{version}-%{release} %description pmda-dm This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Device Mapper Cache and Thin Client. The PMDA -is written in Python. +collecting metrics about the Device Mapper Cache and Thin Client. # end pcp-pmda-dm @@ -1036,8 +1033,7 @@ Requires: python-pcp %endif %description pmda-gluster This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the gluster filesystem. The PMDA is written -in Python. +collecting metrics about the gluster filesystem. # end pcp-pmda-gluster # @@ -1055,8 +1051,7 @@ Requires: python-pcp %endif %description pmda-zswap This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about compressed swap. The PMDA is written -in Python. +collecting metrics about compressed swap. # end pcp-pmda-zswap # @@ -1074,10 +1069,12 @@ Requires: python-pcp %endif %description pmda-unbound This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Unbound DNS Resolver. The PMDA is written -in Python. +collecting metrics about the Unbound DNS Resolver. # end pcp-pmda-unbound +%endif # !%{disable_python2} || !%{disable_python3} + +%if !%{disable_json} # # pcp-pmda-json # @@ -1090,21 +1087,16 @@ URL: http://www.pcp.io Requires: python3-pcp Requires: python3-jsonpointer Requires: python3-six -BuildRequires: python3-jsonpointer -BuildRequires: python3-six %else Requires: python-pcp Requires: python-jsonpointer Requires: python-six -BuildRequires: python-jsonpointer -BuildRequires: python-six %endif %description pmda-json This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics output in JSON. The PMDA is written in Python. +collecting metrics output in JSON. # end pcp-pmda-json - -%endif # !%{disable_python2} || !%{disable_python3} +%endif # !%{disable_json} # # C pmdas @@ -1118,8 +1110,7 @@ URL: http://www.pcp.io Requires: pcp-libs = %{version}-%{release} %description pmda-apache This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Apache webserver. The PMDA is written -in C. +collecting metrics about the Apache webserver. # end pcp-pmda-apache # @@ -1133,7 +1124,7 @@ URL: http://www.pcp.io Requires: pcp-libs = %{version}-%{release} %description pmda-bash This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Bash shell. The PMDA is written in C. +collecting metrics about the Bash shell. # end pcp-pmda-bash # @@ -1147,7 +1138,7 @@ URL: http://www.pcp.io Requires: 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. The PMDA is written in C. +collecting metrics about the Common Internet Filesytem. # end pcp-pmda-cifs # @@ -1161,7 +1152,7 @@ URL: http://www.pcp.io Requires: pcp-libs = %{version}-%{release} %description pmda-cisco This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about Cisco routers. The PMDA is written in C. +collecting metrics about Cisco routers. # end pcp-pmda-cisco # @@ -1175,7 +1166,7 @@ URL: http://www.pcp.io Requires: 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. The PMDA is written in C. +collecting metrics about the Global Filesystem v2. # end pcp-pmda-gfs2 # @@ -1189,8 +1180,7 @@ URL: http://www.pcp.io Requires: pcp-libs = %{version}-%{release} %description pmda-lmsensors This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Linux hardware monitoring sensors. The PMDA -is written in C. +collecting metrics about the Linux hardware monitoring sensors. # end pcp-pmda-lmsensors # @@ -1205,7 +1195,7 @@ Requires: 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 -is written in C, and supports both sampled and event-style metrics. +supports both sampled and event-style metrics. # end pcp-pmda-logger # @@ -1219,8 +1209,7 @@ URL: http://www.pcp.io Requires: 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. The PMDA is -written in C. +collecting metrics about email queues managed by sendmail. # end pcp-pmda-mailq # @@ -1234,7 +1223,7 @@ URL: http://www.pcp.io Requires: pcp-libs = %{version}-%{release} %description pmda-mounts This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about filesystem mounts. The PMDA is written in C. +collecting metrics about filesystem mounts. # end pcp-pmda-mounts # @@ -1248,7 +1237,7 @@ URL: http://www.pcp.io Requires: pcp-libs = %{version}-%{release} %description pmda-nvidia-gpu This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Nvidia gpu metrics. The PMDA is written in C. +collecting metrics about the Nvidia gpu metrics. # end pcp-pmda-nvidia-gpu # @@ -1260,11 +1249,13 @@ Group: Applications/System Summary: Performance Co-Pilot (PCP) metrics for the Roomtemp shell URL: http://www.pcp.io Requires: pcp = %{version}-%{release} +Requires: pcp-libs = %{version}-%{release} %description pmda-roomtemp This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Room temperature metrics. The PMDA is written in C. +collecting metrics about the Room temperature metrics. # end pcp-pmda-roomtemp +%if !%{disable_rpm} # # pcp-pmda-rpm # @@ -1274,11 +1265,12 @@ Group: Applications/System Summary: Performance Co-Pilot (PCP) metrics for the Rpm shell URL: http://www.pcp.io Requires: pcp = %{version}-%{release} +Requires: pcp-libs = %{version}-%{release} %description pmda-rpm This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the rpms. The PMDA is written in C. +collecting metrics about the rpms. # end pcp-pmda-rpm - +%endif # # pcp-pmda-sendmail @@ -1289,9 +1281,10 @@ Group: Applications/System Summary: Performance Co-Pilot (PCP) metrics for the Sendmail shell URL: http://www.pcp.io Requires: pcp = %{version}-%{release} +Requires: pcp-libs = %{version}-%{release} %description pmda-sendmail This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about Sendmail traffic metrics. The PMDA is written in C. +collecting metrics about Sendmail traffic metrics. # end pcp-pmda-sendmail # @@ -1306,7 +1299,7 @@ Requires: 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. The PMDA is written in C. +arbitrary shell commands. # end pcp-pmda-shping # @@ -1318,12 +1311,13 @@ Group: Applications/System Summary: Performance Co-Pilot (PCP) metrics for the Summary shell URL: http://www.pcp.io Requires: pcp = %{version}-%{release} +Requires: pcp-libs = %{version}-%{release} %description pmda-summary This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about other installed pmdas. The PMDA is written in C. +collecting metrics about other installed pmdas. # end pcp-pmda-summary -### %if "@pmda_systemd@" == "true" +%if !%{disable_systemd} # # pcp-pmda-systemd # @@ -1335,9 +1329,9 @@ URL: http://www.pcp.io Requires: pcp-libs = %{version}-%{release} %description pmda-systemd This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about the Systemd shell. The PMDA is written in C. +collecting metrics about the Systemd shell. # end pcp-pmda-systemd -### %endif +%endif # # pcp-pmda-trace @@ -1351,7 +1345,6 @@ Requires: pcp-libs = %{version}-%{release} %description pmda-trace This package contains the PCP Performance Metrics Domain Agent (PMDA) for collecting metrics about transaction performance metrics from applications. -The PMDA is written in C. # end pcp-pmda-trace # @@ -1363,9 +1356,10 @@ Group: Applications/System Summary: Performance Co-Pilot (PCP) metrics for the Weblog shell URL: http://www.pcp.io Requires: pcp = %{version}-%{release} +Requires: pcp-libs = %{version}-%{release} %description pmda-weblog This package contains the PCP Performance Metrics Domain Agent (PMDA) for -collecting metrics about web server logs. The PMDA is written in C. +collecting metrics about web server logs. # end pcp-pmda-weblog # end C pmdas @@ -1387,10 +1381,15 @@ Requires: pcp-pmda-bash pcp-pmda-cisco pcp-pmda-gfs2 pcp-pmda-lmsensors pcp-pmda Requires: pcp-pmda-nvidia-gpu pcp-pmda-roomtemp pcp-pmda-sendmail pcp-pmda-shping pcp-pmda-logger Requires: pcp-pmda-lustrecomm %if !%{disable_python2} || !%{disable_python3} -Requires: pcp-pmda-gluster pcp-pmda-zswap pcp-pmda-unbound pcp-pmda-json +Requires: pcp-pmda-gluster pcp-pmda-zswap pcp-pmda-unbound Requires: pcp-system-tools pcp-export-pcp2graphite %endif +%if !%{disable_json} +Requires: pcp-pmda-json +%endif +%if !%{disable_rpm} Requires: pcp-pmda-rpm +%endif Requires: pcp-pmda-summary pcp-pmda-trace pcp-pmda-weblog Requires: pcp-doc %description compat @@ -1415,13 +1414,20 @@ Requires: pcp-pmda-bash pcp-pmda-cisco pcp-pmda-gfs2 pcp-pmda-lmsensors pcp-pmda Requires: pcp-pmda-nvidia-gpu pcp-pmda-roomtemp pcp-pmda-sendmail pcp-pmda-shping Requires: pcp-pmda-lustrecomm pcp-pmda-logger %if !%{disable_python2} || !%{disable_python3} -Requires: pcp-pmda-gluster pcp-pmda-zswap pcp-pmda-unbound pcp-pmda-json +Requires: pcp-pmda-gluster pcp-pmda-zswap pcp-pmda-unbound %endif +%if !%{disable_json} +Requires: pcp-pmda-json +%endif +%if !%{disable_rpm} Requires: pcp-pmda-rpm +%endif Requires: pcp-pmda-summary pcp-pmda-trace pcp-pmda-weblog %description collector -This package contains the PCP metric collection dependencies. This includes -all possible packages used to collect PCP metrics. +This meta-package installs the PCP metric collection dependencies. This +includes the vast majority of packages used to collect PCP metrics. The +pcp-collector package also automatically enables and starts the pmcd and +pmlogger services. # collector # pcp-monitor metapackage @@ -1440,8 +1446,8 @@ Requires: pcp-system-tools Requires: pcp-gui %endif %description monitor -This package contains the PCP metric monitoring dependencies. This includes all possible packages used -to monitor PCP metrics in various ways. +This meta-package contains the PCP performance monitoring dependencies. This +includes a large number of packages for analysing PCP metrics in various ways. # monitor %if !%{disable_python2} @@ -1489,9 +1495,11 @@ Summary: Performance Co-Pilot (PCP) System and Monitoring Tools URL: http://www.pcp.io %if !%{disable_python3} Requires: python3-pcp = %{version}-%{release} -%else +%endif +%if !%{disable_python2} Requires: python-pcp = %{version}-%{release} %endif +Requires: pcp-libs = %{version}-%{release} %description -n pcp-system-tools This PCP module contains additional system monitoring tools written in python. @@ -1521,11 +1529,15 @@ monitoring systems using live and archived Performance Co-Pilot %package -n pcp-doc License: GPLv2+ and CC-BY Group: Documentation -%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%if !%{disable_noarch} BuildArch: noarch %endif Summary: Documentation and tutorial for the Performance Co-Pilot URL: http://www.pcp.io +# http://fedoraproject.org/wiki/Packaging:Conflicts "Splitting Packages" +# (all man pages migrated to pcp-doc during great package split of '15) +Conflicts: pcp-pmda-pmda < 3.10.5 +Conflicts: pcp-pmda-infiniband < 3.10.5 %description -n pcp-doc Documentation and tutorial for the Performance Co-Pilot @@ -1549,7 +1561,7 @@ rm -Rf $RPM_BUILD_ROOT %if !%{disable_python2} && 0%{?default_python} != 3 export PYTHON=python%{?default_python} %endif -%configure %{?_with_initd} %{?_with_doc} %{?_with_ib} %{?_with_papi} %{?_with_perfevent} +%configure %{?_with_initd} %{?_with_doc} %{?_with_ib} %{?_with_papi} %{?_with_perfevent} %{?_with_json} make %{?_smp_mflags} default_pcp %install @@ -1580,7 +1592,6 @@ rmdir pcp-webjs %if %{disable_infiniband} # remove pmdainfiniband on platforms lacking IB devel packages. rm -f $RPM_BUILD_ROOT/%{_pmdasdir}/ib -rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/pmdaib.1* rm -fr $RPM_BUILD_ROOT/%{_pmdasdir}/infiniband %endif @@ -1603,91 +1614,75 @@ for f in $RPM_BUILD_ROOT/%{_initddir}/{pcp,pmcd,pmlogger,pmie,pmwebd,pmmgr,pmpro sed -i -e '/^# chkconfig/s/:.*$/: - 95 05/' -e '/^# Default-Start:/s/:.*$/:/' $f done -%if 0%{?default_python} != 0 -# defaulting to explicit python version requires /usr/bin/pythonN hashbang -# lines (for either python3 or python26 on epel5), make it so: -for f in `find $RPM_BUILD_ROOT -type f -print` -do - sed -i -e "1 s|^#!/usr/bin/python\b|#!/usr/bin/python%{default_python}|" $f -done -%endif - # list of PMDAs in the base pkg ls -1 $RPM_BUILD_ROOT/%{_pmdasdir} |\ - grep -E -v 'simple|sample|trivial|txmon' |\ - grep -E -v 'perfevent|perfalloc.1' |\ - grep -E -v '^ib$|infiniband' |\ - grep -E -v 'papi' |\ - grep -E -v 'activemq' |\ - grep -E -v 'bonding' |\ - grep -E -v 'dbping' |\ - grep -E -v 'ds389log'|\ - grep -E -v 'ds389' |\ - grep -E -v 'elasticsearch' |\ - grep -E -v 'gpfs' |\ - grep -E -v 'gpsd' |\ - grep -E -v 'kvm' |\ - 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 'pdns' |\ - grep -E -v 'postfix' |\ - grep -E -v 'postgresql' |\ - grep -E -v 'rsyslog' |\ - grep -E -v 'samba' |\ - 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 'lmsensors' |\ - grep -E -v 'logger' |\ - grep -E -v 'mailq' |\ - grep -E -v 'mounts' |\ - grep -E -v 'nvidia' |\ - grep -E -v 'roomtemp' |\ - grep -E -v 'rpm' |\ - grep -E -v 'sendmail' |\ - grep -E -v 'shping' |\ - grep -E -v 'summary' |\ - grep -E -v 'trace' |\ - grep -E -v 'weblog' |\ - -%if !%{disable_python2} || !%{disable_python3} - grep -E -v 'gluster' |\ - grep -E -v 'zswap' |\ - grep -E -v 'unbound' |\ - grep -E -v 'json' |\ -%endif - + grep -E -v '^simple|sample|trivial|txmon' |\ + grep -E -v '^perfevent|perfalloc.1' |\ + grep -E -v '^ib$|^infiniband' |\ + grep -E -v '^papi' |\ + grep -E -v '^activemq' |\ + grep -E -v '^bonding' |\ + grep -E -v '^dbping' |\ + grep -E -v '^ds389log'|\ + grep -E -v '^ds389' |\ + grep -E -v '^elasticsearch' |\ + grep -E -v '^gpfs' |\ + grep -E -v '^gpsd' |\ + grep -E -v '^kvm' |\ + 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 '^pdns' |\ + grep -E -v '^postfix' |\ + grep -E -v '^postgresql' |\ + grep -E -v '^rsyslog' |\ + grep -E -v '^samba' |\ + 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 '^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 '^summary' |\ + grep -E -v '^trace' |\ + grep -E -v '^weblog' |\ + grep -E -v '^rpm' |\ + grep -E -v '^json' |\ + grep -E -v '^gluster' |\ + grep -E -v '^zswap' |\ + grep -E -v '^unbound' |\ sed -e 's#^#'%{_pmdasdir}'\/#' >base_pmdas.list # all base pcp package files except those split out into sub packages ls -1 $RPM_BUILD_ROOT/%{_bindir} |\ - grep -E -v 'pmiostat|pmatop|pcp2graphite' |\ + grep -E -v 'pmiostat|pmcollectl|pmatop|pcp2graphite' |\ sed -e 's#^#'%{_bindir}'\/#' >base_bin.list # -# Seperate the pcp-system-tools package files. +# Separate the pcp-system-tools package files. # -# pmatop and pmiostat (and other python client tools) are symlinks to the -# pcp-foo variant, and so should also be in pcp-system-tools +# pmatop, pmcollectl and pmiostat are back-compat symlinks to their +# pcp(1) sub-command variants so must also be in pcp-system-tools. %if !%{disable_python2} || !%{disable_python3} ls -1 $RPM_BUILD_ROOT/%{_bindir} |\ - grep -E 'pmiostat|pmatop' |\ + grep -E 'pmiostat|pmcollectl|pmatop' |\ sed -e 's#^#'%{_bindir}'\/#' >pcp_system_tools.list -%endif - -%if !%{disable_python2} || !%{disable_python3} ls -1 $RPM_BUILD_ROOT/%{_libexecdir}/pcp/bin |\ grep -E 'atop|collectl|dmcache|free|iostat|numastat|verify|uptime|shping' |\ sed -e 's#^#'%{_libexecdir}/pcp/bin'\/#' >>pcp_system_tools.list @@ -1868,6 +1863,21 @@ chown -R pcp:pcp %{_logsdir}/pmmgr 2>/dev/null /sbin/service pmmgr condrestart %endif +%post collector +%if 0%{?rhel} +%if !%{disable_systemd} + 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 +%else + /sbin/chkconfig --add pmcd >/dev/null 2>&1 + /sbin/chkconfig --add pmlogger >/dev/null 2>&1 + /sbin/service pmcd condrestart + /sbin/service pmlogger condrestart +%endif +%endif + %post PCP_LOG_DIR=%{_logsdir} PCP_PMNS_DIR=%{_pmnsdir} @@ -1998,14 +2008,8 @@ cd %{_localstatedir}/lib/pcp/config/pmlogrewrite %dir %attr(0775,pcp,pcp) %{_localstatedir}/lib/pcp/config/pmda -%if 0%{?rhel} == 0 || 0%{?rhel} > 5 +%if !%{disable_sdt} %{tapsetdir}/pmcd.stp -%else # rhel5 -%ifarch ppc ppc64 -# no systemtap-sdt-devel -%else # ! ppc -%{tapsetdir}/pmcd.stp -%endif # ppc %endif %if %{with_compat} @@ -2226,14 +2230,15 @@ cd %files pmda-unbound %{_pmdasdir}/unbound -%files pmda-json -%{_pmdasdir}/json - %files export-pcp2graphite %{_bindir}/pcp2graphite - %endif # !%{disable_python2} || !%{disable_python3} +%if !%{disable_json} +%files pmda-json +%{_pmdasdir}/json +%endif + %files pmda-apache %{_pmdasdir}/apache @@ -2267,8 +2272,10 @@ cd %files pmda-roomtemp %{_pmdasdir}/roomtemp +%if !%{disable_rpm} %files pmda-rpm %{_pmdasdir}/rpm +%endif %files pmda-sendmail %{_pmdasdir}/sendmail @@ -2279,8 +2286,10 @@ cd %files pmda-summary %{_pmdasdir}/summary +%if !%{disable_systemd} %files pmda-systemd %{_pmdasdir}/systemd +%endif %files pmda-trace %{_pmdasdir}/trace @@ -2322,6 +2331,12 @@ cd %endif %changelog +* Tue Aug 04 2015 Nathan Scott - 3.10.6-1 +- Fix pcp2graphite write method invocation failure (BZ 1243123) +- Reduce diagnostics in pmdaproc unknown state case (BZ 1224431) +- Derived metrics via multiple files, directory expansion (BZ 1235556) +- Update to latest PCP sources. + * Mon Jun 15 2015 Mark Goodwin - 3.10.5-1 - Provide and use non-exit(1)ing pmGetConfig(3) variant (BZ 1187588) - Resolve a pmdaproc.sh pmlogger restart regression (BZ 1229458) diff --git a/sources b/sources index e12035e..6ca8cee 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -9fc23f68769de375d35e629b8a879f10 pcp-3.10.5.src.tar.gz +5282d9183a57a813da58b38f9bb76067 pcp-3.10.6.src.tar.gz 628bb0764c2ee9647a79ed50136ed12f pcp-webjs.src.tar.gz