diff --git a/.gitignore b/.gitignore index afebd65..6e1b4c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,127 +1,5 @@ -pcp-3.3.3-1.src.tar.gz -/pcp-webjs.src.tar.gz -/pcp-3.5.0-1.src.tar.gz -/pcp-3.5.11-1.src.tar.gz -/pcp-3.5.11-2.src.tar.gz -/pcp-3.6.3-1.src.tar.gz -/pcp-3.6.5-1.src.tar.gz -/pcp-3.6.6-1.src.tar.gz -/pcp-3.6.7.src.tar.gz -/pcp-3.6.8.src.tar.gz -/pcp-3.6.9.src.tar.gz -/pcp-3.6.10.src.tar.gz -/pcp-3.7.0.src.tar.gz -/pcp-3.7.1.src.tar.gz -/pcp-3.7.2.src.tar.gz -/pcp-3.8.0.src.tar.gz -/pcp-3.8.1.src.tar.gz -/pcp-3.8.2.src.tar.gz -/pcp-3.8.3.src.tar.gz -/pcp-3.8.4.src.tar.gz -/pcp-3.8.5.src.tar.gz -/pcp-3.8.6.src.tar.gz -/pcp-3.8.9.src.tar.gz -/pcp-3.8.10.src.tar.gz -/pcp-3.8.11.src.tar.gz -/pcp-3.8.12.src.tar.gz -/pcp-3.9.0.src.tar.gz -/pcp-3.9.1.src.tar.gz -/pcp-3.9.2.src.tar.gz -/pcp-3.9.3.src.tar.gz -/pcp-3.9.4.src.tar.gz -/pcp-3.9.5.src.tar.gz -/pcp-3.9.7.src.tar.gz -/pcp-3.9.9.src.tar.gz -/pcp-3.9.10.src.tar.gz -/pcp-3.10.0.src.tar.gz -/pcp-3.10.1.src.tar.gz -/pcp-3.10.2.src.tar.gz -/pcp-3.10.3.src.tar.gz -/pcp-3.10.4.src.tar.gz -/pcp-3.10.5.src.tar.gz -/pcp-3.10.6.src.tar.gz -/pcp-3.10.7.src.tar.gz -/vector.tar.gz -/pcp-3.10.8-0.20150921gita7c756e.tar.gz -/pcp-3.10.8-0.20150928gitf8ceed0.tar.gz -/pcp-3.10.8-0.20151013git2af7d51.tar.gz -/pcp-3.10.8-0.20151019git5f56d74.tar.gz -/pcp-3.10.8-0.20151026git5f56d74.tar.gz -/pcp-3.10.8.src.tar.gz -/pcp-3.10.9-0.20151104git7a881e7.tar.gz -/pcp-3.10.9-0.20151111git892d4d7.tar.gz -/pcp-webjs-20151111git09da29d.src.tar.gz -/vector-20151111git6805518.tar.gz -/pcp-3.10.9-0.20151117gitf5f20cb.tar.gz -/pcp-webjs-20151117git09da29d.src.tar.gz -/vector-20151117git6805518.tar.gz -/pcp-3.10.9-0.20151123git587e16f.tar.gz -/pcp-webjs-20151123git09da29d.src.tar.gz -/vector-20151123git47fe02d.tar.gz -/pcp-3.10.9-0.20151130gitd63273c.tar.gz -/pcp-webjs-20151130git09da29d.src.tar.gz -/vector-20151130git47fe02d.tar.gz -/pcp-3.10.9-0.20151207gited763bb.tar.gz -/pcp-webjs-20151207git09da29d.src.tar.gz -/vector-20151207git0ec9197.tar.gz -/pcp-3.10.9-0.20151207git44f18ab.tar.gz -/pcp-webjs-20151207git17704ea.src.tar.gz -/vector-20151207gitv1.0.3.tar.gz -/pcp-3.10.9-0.20151214git127bd3f.tar.gz -/pcp-webjs-20151214git17704ea.src.tar.gz -/vector-20151214git117404f.tar.gz -/pcp-3.10.9.src.tar.gz -/pcp-3.11.0-0.20160128giteb5eb32.tar.gz -/pcp-webjs-20160128gitddff69a.src.tar.gz -/vector-20160128git117404f.tar.gz -/pcp-3.11.0.src.tar.gz -/pcp-3.11.1.src.tar.gz -/pcp-3.11.2.src.tar.gz -/vector-1.0.3.tar.gz -/pcp-3.11.3-0.20160606git566cf74.tar.gz -/pcp-webjs-20160606gitpcp-webjs-3.11.2.src.tar.gz -/vector-20160606gitc851eac.tar.gz -/pcp-3.11.3-0.20160606gita7ba4e4.tar.gz -/pcp-3.11.3-0.20160613git62d62f6.tar.gz -/pcp-webjs-20160613gitpcp-webjs-3.11.2.src.tar.gz -/vector-20160613gitc851eac.tar.gz -/pcp-3.11.3.src.tar.gz -/pcp-webjs-3.11.2.tar.gz -/vector-1.1.0.tar.gz -/pcp-3.11.4-0.20160629git25d9bd6.tar.gz -/pcp-webjs-20160629gitcce8001.src.tar.gz -/vector-20160629git6d01399.tar.gz -/pcp-3.11.4-0.20160704git3192207.tar.gz -/pcp-webjs-20160704gitcce8001.src.tar.gz -/vector-20160704git6d01399.tar.gz -/pcp-3.11.4-0.20160711git274b6ca.tar.gz -/pcp-webjs-20160711gitcce8001.src.tar.gz -/vector-20160711git6d01399.tar.gz -/pcp-3.11.4-0.20160711git990fea6.tar.gz -/pcp-3.11.4-0.20160718git94d63b4.tar.gz -/pcp-webjs-20160718gitcce8001.src.tar.gz -/vector-20160718git6d01399.tar.gz -/pcp-3.11.4-0.20160725gitb2db089.tar.gz -/pcp-webjs-20160725gitcce8001.src.tar.gz -/vector-20160725git6d01399.tar.gz -/pcp-3.11.4-0.20160802git6a52104.tar.gz -/pcp-webjs-20160802gitcce8001.src.tar.gz -/vector-20160802git6d01399.tar.gz -/pcp-3.11.4.src.tar.gz -/pcp-3.11.5-0.20160816git27392b1.tar.gz -/pcp-webjs-20160816gitcce8001.src.tar.gz -/vector-20160816gita417ef2.tar.gz -/pcp-3.11.5-0.20160817gita931b56.tar.gz -/pcp-webjs-20160817gitcce8001.src.tar.gz -/vector-20160817gita417ef2.tar.gz -/pcp-3.11.5-0.20160829gitdedbe62.tar.gz -/pcp-webjs-20160829gitcce8001.src.tar.gz -/vector-20160829gita417ef2.tar.gz -/pcp-3.11.5-0.20160912git64f805d.tar.gz -/pcp-webjs-20160912gitcce8001.src.tar.gz -/vector-20160912gitv1.1.1.tar.gz -/pcp-3.11.5.src.tar.gz -/pcp-3.11.6.src.tar.gz -/pcp-3.11.7.src.tar.gz -/pcp-3.11.8.src.tar.gz -/pcp-webjs-3.11.8.src.tar.gz +pcp-*.src.rpm +pcp-*.tar.gz +pcp-webapp-*.tar.gz +pcp-webjs-* +vector-* diff --git a/pcp.spec b/pcp.spec index ba2ed8a..441c875 100644 --- a/pcp.spec +++ b/pcp.spec @@ -1,19 +1,19 @@ +Name: pcp +Version: 3.11.9 +Release: 1%{?dist} Summary: System-level performance monitoring and performance management -Name: pcp -Version: 3.11.8 -%global buildversion 1 - -Release: %{buildversion}%{?dist} License: GPLv2+ and LGPLv2.1+ and CC-BY -URL: http://www.pcp.io -Group: Applications/System -# https://bintray.com/artifact/download/pcp/source/pcp-%{version}.src.tar.gz -Source0: %{name}-%{version}.src.tar.gz -# https://bintray.com/artifact/download/netflixoss/downloads/vector.tar.gz -Source1: vector-1.1.0.tar.gz -# https://github.com/performancecopilot/pcp-webjs/archive/x.y.z.tar.gz -Source2: pcp-webjs-3.11.8.src.tar.gz +URL: http://www.pcp.io +Group: Applications/System + +%global bintray https://bintray.com/artifact/download +%global github https://github.com/performancecopilot +Source0: %{bintray}/download/pcp/source/pcp-%{version}.src.tar.gz +Source1: %{github}/pcp-webapp-vector/archive/1.1.2/pcp-webapp-vector-1.1.2.tar.gz +Source2: %{github}/pcp-webapp-grafana/archive/1.9.1/pcp-webapp-grafana-1.9.1.tar.gz +Source3: %{github}/pcp-webapp-graphite/archive/0.9.10/pcp-webapp-graphite-0.9.10.tar.gz +Source4: %{github}/pcp-webapp-blinkenlights/archive/1.0.0/pcp-webapp-blinkenlights-1.0.0.tar.gz %if 0%{?fedora} || 0%{?rhel} %global disable_selinux 0 @@ -70,6 +70,13 @@ Source2: pcp-webjs-3.11.8.src.tar.gz %global disable_json 1 %endif +# support for pmdanutcracker (perl deps missing on rhel) +%if 0%{?rhel} == 0 +%global disable_nutcracker 0 +%else +%global disable_nutcracker 1 +%endif + # support for pmdarpm %if 0%{?rhel} == 0 || 0%{?rhel} > 5 %global disable_rpm 0 @@ -228,6 +235,12 @@ Obsoletes: pcp-gui-debuginfo %global _with_json --with-pmdajson=yes %endif +%if %{disable_nutcracker} +%global _with_nutcracker --with-pmdanutcracker=no +%else +%global _with_nutcracker --with-pmdanutcracker=yes +%endif + %if %{disable_snmp} %global _with_snmp --with-pmdasnmp=no %else @@ -367,10 +380,12 @@ HTTP (PMWEBAPI) protocol. %package webjs License: ASL2.0 and MIT and CC-BY Group: Applications/Internet +Conflicts: pcp-webjs < 3.11.9 %if !%{disable_noarch} BuildArch: noarch %endif -Requires: pcp-webapp-graphite pcp-webapp-grafana pcp-webapp-vector +Requires: pcp-webapp-vector pcp-webapp-blinkenlights +Requires: pcp-webapp-graphite pcp-webapp-grafana Summary: Performance Co-Pilot (PCP) web applications URL: http://www.pcp.io @@ -426,6 +441,19 @@ provides a graphite version that uses the Performance Co-Pilot (PCP) as the data repository, and Graphites web interface renders it. The Carbon and Whisper subsystems of Graphite are not included nor used. +%package webapp-blinkenlights +License: ASL2.0 +Group: Applications/Internet +%if !%{disable_noarch} +BuildArch: noarch +%endif +Summary: Blinking lights web application for Performance Co-Pilot (PCP) +URL: http://pcp.io + +%description webapp-blinkenlights +Demo web application showing traffic lights that change colour based +on the periodic evaluation of performance metric expressions. + # # perl-PCP-PMDA. This is the PCP agent perl binding. # @@ -730,6 +758,7 @@ This package contains the PCP Performance Metrics Domain Agent (PMDA) for collecting metrics from Redis servers (redis.io). #end pcp-pmda-redis +%if !%{disable_nutcracker} # # pcp-pmda-nutcracker # @@ -746,6 +775,7 @@ Requires: perl(JSON) This package contains the PCP Performance Metrics Domain Agent (PMDA) for collecting metrics from NutCracker (TwemCache). #end pcp-pmda-nutcracker +%endif # # pcp-pmda-bonding @@ -1638,7 +1668,10 @@ Requires: pcp-pmda-samba pcp-pmda-slurm pcp-pmda-vmware pcp-pmda-zimbra Requires: pcp-pmda-dm pcp-pmda-apache Requires: pcp-pmda-bash pcp-pmda-cisco pcp-pmda-gfs2 pcp-pmda-lmsensors pcp-pmda-mailq pcp-pmda-mounts Requires: pcp-pmda-nvidia-gpu pcp-pmda-roomtemp pcp-pmda-sendmail pcp-pmda-shping -Requires: pcp-pmda-lustrecomm pcp-pmda-logger pcp-pmda-docker pcp-pmda-bind2 pcp-pmda-nutcracker +Requires: pcp-pmda-lustrecomm pcp-pmda-logger pcp-pmda-docker pcp-pmda-bind2 +%if !%{disable_nutcracker} +Requires: pcp-pmda-nutcracker +%endif %if !%{disable_python2} || !%{disable_python3} Requires: pcp-pmda-gluster pcp-pmda-zswap pcp-pmda-unbound pcp-pmda-mic pcp-pmda-libvirt pcp-pmda-lio %endif @@ -1796,7 +1829,11 @@ Group: Applications/System Summary: Selinux policy package URL: http://www.pcp.io BuildRequires: selinux-policy-devel +%if 0%{?rhel} == 5 +BuildRequires: setools +%else BuildRequires: setools-console +%endif Requires: policycoreutils Requires: pcp = %{version}-%{release} @@ -1807,9 +1844,11 @@ updated policy package. %endif %prep +%setup -q -T -D -a 1 -c -n vector +%setup -q -T -D -a 2 -c -n grafana +%setup -q -T -D -a 3 -c -n graphite +%setup -q -T -D -a 4 -c -n blinkenlights %setup -q -%setup -q -T -D -a 1 -c -n pcp-%{version}/vector -%setup -q -T -D -a 2 %clean rm -Rf $RPM_BUILD_ROOT @@ -1818,7 +1857,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} %{?_with_json} %{?_with_snmp} +%configure %{?_with_initd} %{?_with_doc} %{?_with_ib} %{?_with_papi} %{?_with_perfevent} %{?_with_json} %{?_with_snmp} %{?_with_nutcracker} make %{?_smp_mflags} default_pcp %install @@ -1844,12 +1883,11 @@ rm -fr $RPM_BUILD_ROOT/%{_initddir}/pmwebd rm -fr $RPM_BUILD_ROOT/%{_unitdir}/pmwebd.service rm -f $RPM_BUILD_ROOT/%{_libexecdir}/pcp/bin/pmwebd %endif -# prefer latest released Netflix version over pcp-webjs copy. -rm -fr pcp-webjs/vector -sed -i -e 's/vector [0-9]\.[0-9]*\.[0-9]*/vector/g' pcp-webjs/index.html -mv pcp-webjs/* $RPM_BUILD_ROOT/%{_datadir}/pcp/webapps -rmdir pcp-webjs -mv vector $RPM_BUILD_ROOT/%{_datadir}/pcp/webapps +for app in vector grafana graphite blinkenlights; do + pwd + webapp=`find ../$app -mindepth 1 -maxdepth 1` + mv $webapp $RPM_BUILD_ROOT/%{_datadir}/pcp/webapps/$app +done %if %{disable_infiniband} # remove pmdainfiniband on platforms lacking IB devel packages. @@ -1961,13 +1999,13 @@ ls -1 $RPM_BUILD_ROOT/%{_bindir} |\ grep -E 'pmiostat|pmcollectl|pmatop|pmrep' |\ sed -e 's#^#'%{_bindir}'\/#' >pcp_system_tools.list ls -1 $RPM_BUILD_ROOT/%{_libexecdir}/pcp/bin |\ - grep -E 'atop|collectl|dmcache|free|iostat|mpstat|numastat|pidstat|verify|uptime|shping' |\ + grep -E 'atop|collectl|dmcache|free|iostat|mpstat|numastat|pidstat|tapestat|verify|uptime|shping' |\ sed -e 's#^#'%{_libexecdir}/pcp/bin'\/#' >>pcp_system_tools.list %endif ls -1 $RPM_BUILD_ROOT/%{_libexecdir}/pcp/bin |\ %if !%{disable_python2} || !%{disable_python3} - grep -E -v 'atop|collectl|dmcache|free|iostat|mpstat|numastat|pidstat|verify|uptime|shping' |\ + grep -E -v 'atop|collectl|dmcache|free|iostat|mpstat|numastat|pidstat|tapestat|verify|uptime|shping' |\ %endif sed -e 's#^#'%{_libexecdir}/pcp/bin'\/#' >base_exec.list ls -1 $RPM_BUILD_ROOT/%{_booksdir} |\ @@ -2203,8 +2241,10 @@ fi %preun pmda-nfsclient %{pmda_remove "$1" "nfsclient"} +%if !%{disable_nutcracker} %preun pmda-nutcracker %{pmda_remove "$1" "nutcracker"} +%endif %preun pmda-pdns %{pmda_remove "$1" "pdns"} @@ -2361,10 +2401,28 @@ chown -R pcp:pcp %{_logsdir}/pmmgr 2>/dev/null %if !%{disable_selinux} %post selinux %if 0%{?fedora} >= 24 || 0%{?rhel} > 6 - semodule -X 400 -i %{localstatedir}/lib/pcp/selinux/pcpupstream.pp + semodule -X 400 -i %{_selinuxdir}/pcpupstream.pp %else - semodule -i %{localstatedir}/lib/pcp/selinux/pcpupstream.pp + semodule -i %{_selinuxdir}/pcpupstream.pp %endif #distro version check +%triggerin selinux -- docker-selinux +if ls %{_selinuxdir} | grep -q docker 2>/dev/null +then +%if 0%{?fedora} >= 24 || 0%{?rhel} > 6 + semodule -X 400 -i %{_selinuxdir}/pcpupstream-docker.pp +%else + semodule -i %{_selinuxdir}/pcpupstream-docker.pp +%endif #distro version check +fi +%triggerin selinux -- container-selinux +if ls %{_selinuxdir} | grep -q container 2>/dev/null +then +%if 0%{?fedora} >= 24 || 0%{?rhel} > 6 + semodule -X 400 -i %{_selinuxdir}/pcpupstream-container.pp +%else + semodule -i %{_selinuxdir}/pcpupstream-container.pp +%endif #distro version check +fi %endif %post @@ -2428,11 +2486,33 @@ cd %if !%{disable_selinux} %preun selinux +if [ `semodule -l | grep pcpupstream` ] +then %if 0%{?fedora} >= 24 || 0%{?rhel} > 6 semodule -X 400 -r pcpupstream >/dev/null %else semodule -r pcpupstream >/dev/null %endif +fi +%triggerun selinux -- docker-selinux +if [ `semodule -l | grep pcpupstream-docker` ] +then +%if 0%{?fedora} >= 24 || 0%{?rhel} > 6 + semodule -X 400 -r pcpupstream-docker +%else +semodule -r pcpupstream-docker +%endif #distro version check +fi + +%triggerun selinux -- container-selinux +if [ `semodule -l | grep pcpupstream-container` ] +then +%if 0%{?fedora} >= 24 || 0%{?rhel} > 6 + semodule -X 400 -r pcpupstream-container +%else + semodule -r pcpupstream-container +%endif #distro version check +fi %endif %files -f base.list # @@ -2589,7 +2669,10 @@ cd %{_datadir}/pcp/webapps/*.png %{_datadir}/pcp/webapps/*.ico %{_datadir}/pcp/webapps/*.html -%{_datadir}/pcp/webapps/*.txt + +%files webapp-blinkenlights +%dir %{_datadir}/pcp +%dir %{_datadir}/pcp/webapps %{_datadir}/pcp/webapps/blinkenlights %files webapp-grafana @@ -2712,8 +2795,10 @@ cd %files pmda-nfsclient %{_pmdasdir}/nfsclient +%if !%{disable_nutcracker} %files pmda-nutcracker %{_pmdasdir}/nutcracker +%endif %files pmda-oracle %{_pmdasdir}/oracle @@ -2882,6 +2967,12 @@ cd %endif %changelog +* Fri Mar 31 2017 Nathan Scott - 3.11.9-1 +- Fix pmchart chart legends toggling behaviour (BZ 1359961) +- Improve multiple local context attr handling (BZ 1430248) +- Fix error during installation of pcp-selinux (BZ 1433271) +- Update to latest PCP Sources. + * Fri Feb 17 2017 Lukas Berk - 3.11.8-1 - Support newer kernels /proc/vmstat file contents (BZ 1396148) - Added pcp-selinux policy (BZs 1214090, 1381127, 1337968, 1398147) diff --git a/sources b/sources index 90167f1..bd876be 100644 --- a/sources +++ b/sources @@ -1,3 +1,5 @@ -SHA512 (pcp-webjs-3.11.8.src.tar.gz) = 8563c18a97d9d840ca167a0591a8e90ed60f7b4cda8429e664c75d32e6009f5d563b6d14317271402d748329d4f7b6a528776dcca743ba901a815ac30a5379de -SHA512 (pcp-3.11.8.src.tar.gz) = 573653271a42c8d96517e751813d59d3ea38934545f56d4817f17afce4a9c78d499cffafa0719e979c7bdfb6ef246d90af9b4d2dd7d2d01634bd2ad8142e2490 -SHA512 (vector-1.1.0.tar.gz) = 1f1a3b74108c199f7ac06ea7b917ce0c0f667c47a27f647fc2be9f2fdf0d2ccb278ab1ef1fe2cb745c41359ff8534b54084977533ee14c8e688a027c8c633378 +SHA512 (pcp-3.11.9.src.tar.gz) = 4b2d00693eaacf72a3d43c3a1b4818d6aab1406d1ba8825804cebda9535a8cebd3e7ad42912e326d241311919a0fe3fc8ca9391e6a8db54fcf68bcf368702de4 +SHA512 (pcp-webapp-blinkenlights-1.0.0.tar.gz) = 505eafd4b8eb2ab97ec6b0fea3b5510ab0b976fa07559f1d163d240c62a8d7419f062eecc180b28b6b240207b45daed6fcc39d8e2930c6d038790d5ac0c695ab +SHA512 (pcp-webapp-grafana-1.9.1.tar.gz) = 844c04b7155d19a294eacfab98e3950e5fefbf423b98a1195b86cb024e5dc6ab98ecb8785fd7ceff7fbcd947dd5c5ce07a2f059a4c432fda984c26a79ab641f3 +SHA512 (pcp-webapp-graphite-0.9.10.tar.gz) = f716e5145e5d39b54be02e39202c51bdd1158d56fa16185a591c0f54fb376a637653f0c13aa9c5ad5700fc62d0c71163e94b9fa689fabe3e6de4ddf19fa827fa +SHA512 (pcp-webapp-vector-1.1.2.tar.gz) = 4460b33e1a411cbed0c3fd2cf87d842101925e31fdef164e9e96a706fc3ae4daa71b48760174d46e62eb1f9f56255de55a8dbc38dc82e1e93e9794f89f8cb1d8