Update to latest community sources

This commit is contained in:
Nathan Scott 2014-02-20 13:36:48 +11:00
parent 3eada05741
commit 5956ddae9b
3 changed files with 142 additions and 32 deletions

1
.gitignore vendored
View File

@ -25,3 +25,4 @@ pcp-3.3.3-1.src.tar.gz
/pcp-3.8.10.src.tar.gz /pcp-3.8.10.src.tar.gz
/pcp-3.8.11.src.tar.gz /pcp-3.8.11.src.tar.gz
/pcp-3.8.12.src.tar.gz /pcp-3.8.12.src.tar.gz
/pcp-3.9.0.src.tar.gz

171
pcp.spec
View File

@ -1,6 +1,6 @@
Summary: System-level performance monitoring and performance management Summary: System-level performance monitoring and performance management
Name: pcp Name: pcp
Version: 3.8.12 Version: 3.9.0
%define buildversion 1 %define buildversion 1
Release: %{buildversion}%{?dist} Release: %{buildversion}%{?dist}
@ -19,7 +19,9 @@ BuildRequires: ncurses-devel
BuildRequires: readline-devel BuildRequires: readline-devel
BuildRequires: cyrus-sasl-devel BuildRequires: cyrus-sasl-devel
BuildRequires: libmicrohttpd-devel BuildRequires: libmicrohttpd-devel
%ifnarch ppc ppc64
BuildRequires: systemtap-sdt-devel BuildRequires: systemtap-sdt-devel
%endif
BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: initscripts man BuildRequires: initscripts man
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
@ -76,6 +78,21 @@ The PCP open source release provides a unifying abstraction for all of
the interesting performance data in a system, and allows client the interesting performance data in a system, and allows client
applications to easily retrieve and process any subset of that data. applications to easily retrieve and process any subset of that data.
#
# pcp-conf
#
%package conf
License: LGPLv2+
Group: Development/Libraries
Summary: Performance Co-Pilot run-time configuration
URL: http://oss.sgi.com/projects/pcp/
# http://fedoraproject.org/wiki/Packaging:Conflicts "Splitting Packages"
Conflicts: pcp-libs < 3.9
%description conf
Performance Co-Pilot (PCP) run-time configuration
# #
# pcp-libs # pcp-libs
# #
@ -85,6 +102,8 @@ Group: Development/Libraries
Summary: Performance Co-Pilot run-time libraries Summary: Performance Co-Pilot run-time libraries
URL: http://oss.sgi.com/projects/pcp/ URL: http://oss.sgi.com/projects/pcp/
Requires: pcp-conf = %{version}-%{release}
%description libs %description libs
Performance Co-Pilot (PCP) run-time libraries Performance Co-Pilot (PCP) run-time libraries
@ -116,6 +135,47 @@ Requires: pcp-libs-devel = %{version}-%{release}
%description testsuite %description testsuite
Quality assurance test suite for Performance Co-Pilot (PCP). Quality assurance test suite for Performance Co-Pilot (PCP).
#
# pcp-manager
#
%package manager
License: GPLv2+
Group: Applications/System
Summary: Performance Co-Pilot (PCP) manager daemon
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp = %{version}-%{release}
Requires: pcp-libs = %{version}-%{release}
%description manager
An optional daemon (pmmgr) that manages a collection of pmlogger and
pmie daemons, for a set of discovered local and remote hosts running
the performance metrics collection daemon (pmcd). It ensures these
daemons are running when appropriate, and manages their log rotation
needs (which are particularly complex in the case of pmlogger).
The base PCP package provides comparable functionality through cron
scripts which predate this daemon but do still provide effective and
efficient log management services.
The pcp-manager package aims to aggressively enable new PCP features
and as a result may not be suited to all production environments.
#
# pcp-webapi
#
%package webapi
License: GPLv2+
Group: Applications/System
Summary: Performance Co-Pilot (PCP) web API service
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp = %{version}-%{release}
Requires: pcp-libs = %{version}-%{release}
%description webapi
Provides a daemon (pmwebd) that binds a large subset of the Performance
Co-Pilot (PCP) client API (PMAPI) to RESTful web applications using the
HTTP (PMWEBAPI) protocol.
# #
# perl-PCP-PMDA. This is the PCP agent perl binding. # perl-PCP-PMDA. This is the PCP agent perl binding.
# #
@ -300,6 +360,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/pcp
# remove sheet2pcp until BZ 830923 and BZ 754678 are resolved. # remove sheet2pcp until BZ 830923 and BZ 754678 are resolved.
rm -f $RPM_BUILD_ROOT/%{_bindir}/sheet2pcp $RPM_BUILD_ROOT/%{_mandir}/man1/sheet2pcp.1.gz rm -f $RPM_BUILD_ROOT/%{_bindir}/sheet2pcp $RPM_BUILD_ROOT/%{_mandir}/man1/sheet2pcp.1.gz
# remove configsz.h as this is not multilib friendly.
rm -f $RPM_BUILD_ROOT/%{_includedir}/pcp/configsz.h
%if %{disable_infiniband} %if %{disable_infiniband}
# remove pmdainfiniband on platforms lacking IB devel packages. # remove pmdainfiniband on platforms lacking IB devel packages.
rm -f $RPM_BUILD_ROOT/%{_pmdasdir}/ib $RPM_BUILD_ROOT/man1/pmdaib.1.gz rm -f $RPM_BUILD_ROOT/%{_pmdasdir}/ib $RPM_BUILD_ROOT/man1/pmdaib.1.gz
@ -317,19 +380,27 @@ egrep -v 'simple|sample|trivial|txmon' |\
egrep -v '^ib$|infiniband' |\ egrep -v '^ib$|infiniband' |\
sed -e 's#^#'%{_pmdasdir}'\/#' >base_pmdas.list sed -e 's#^#'%{_pmdasdir}'\/#' >base_pmdas.list
# bin and man1 files except those split out into sub packages # all base pcp package files except those split out into sub packages
ls -1 $RPM_BUILD_ROOT/%{_bindir} | egrep -v '2pcp' |\ ls -1 $RPM_BUILD_ROOT/%{_bindir} |\
sed -e 's#^#'%{_bindir}'\/#' >base_binfiles.list sed -e 's#^#'%{_bindir}'\/#' >base_bin.list
ls -1 $RPM_BUILD_ROOT/%{_mandir}/man1 | egrep -v '2pcp|pmdaib' |\ ls -1 $RPM_BUILD_ROOT/%{_libexecdir}/pcp/bin |\
sed -e 's#^#'%{_mandir}'\/man1\/#' >base_man1files.list sed -e 's#^#'%{_libexecdir}/pcp/bin'\/#' >base_exec.list
ls -1 $RPM_BUILD_ROOT/%{_mandir}/man1 |\
sed -e 's#^#'%{_mandir}'\/man1\/#' >base_man.list
cat base_pmdas.list base_bin.list base_conf.list base_exec.list base_man.list |\
egrep -v 'pmdaib|pmmgr|pmweb|2pcp' |\
egrep -v %{_confdir} | egrep -v %{_logsdir} > base.list
cat base_pmdas.list base_binfiles.list base_man1files.list > base_specialfiles.list # all devel pcp package files except those split out into sub packages
ls -1 $RPM_BUILD_ROOT/%{_mandir}/man3 |\
sed -e 's#^#'%{_mandir}'\/man3\/#' | egrep -v '3pm|PMWEBAPI' >devel.list
%pre testsuite %pre testsuite
test -d %{_testsdir} || mkdir -p -m 755 %{_testsdir} test -d %{_testsdir} || mkdir -p -m 755 %{_testsdir}
getent group pcpqa >/dev/null || groupadd -r pcpqa getent group pcpqa >/dev/null || groupadd -r pcpqa
getent passwd pcpqa >/dev/null || \ getent passwd pcpqa >/dev/null || \
useradd -c "PCP Quality Assurance" -g pcpqa -d %{_testsdir} -m -r -s /bin/bash pcpqa 2>/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 exit 0
%post testsuite %post testsuite
@ -378,13 +449,27 @@ save_configs_script()
# migrate and clean configs if we have had a previous in-use installation # migrate and clean configs if we have had a previous in-use installation
[ -d "$PCP_LOG_DIR" ] || exit 0 # no configuration file upgrades required [ -d "$PCP_LOG_DIR" ] || exit 0 # no configuration file upgrades required
rm -f "$PCP_LOG_DIR/configs.sh" rm -f "$PCP_LOG_DIR/configs.sh"
for daemon in pmcd pmie pmlogger pmwebd pmproxy for daemon in pmcd pmie pmlogger pmproxy
do do
save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_SYSCONF_DIR/$daemon" \ save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_SYSCONF_DIR/$daemon" \
/var/lib/pcp/config/$daemon /etc/$daemon /etc/pcp/$daemon /etc/sysconfig/$daemon /var/lib/pcp/config/$daemon /etc/$daemon /etc/pcp/$daemon /etc/sysconfig/$daemon
done done
exit 0 exit 0
%preun webapi
if [ "$1" -eq 0 ]
then
/sbin/service pmwebd stop >/dev/null 2>&1
/sbin/chkconfig --del pmwebd >/dev/null 2>&1
fi
%preun manager
if [ "$1" -eq 0 ]
then
/sbin/service pmmgr stop >/dev/null 2>&1
/sbin/chkconfig --del pmmgr >/dev/null 2>&1
fi
%preun %preun
if [ "$1" -eq 0 ] if [ "$1" -eq 0 ]
then then
@ -392,16 +477,12 @@ then
/sbin/service pmlogger stop >/dev/null 2>&1 /sbin/service pmlogger stop >/dev/null 2>&1
/sbin/service pmie stop >/dev/null 2>&1 /sbin/service pmie stop >/dev/null 2>&1
/sbin/service pmproxy stop >/dev/null 2>&1 /sbin/service pmproxy stop >/dev/null 2>&1
/sbin/service pmwebd stop >/dev/null 2>&1
/sbin/service pmmgr stop >/dev/null 2>&1
/sbin/service pmcd stop >/dev/null 2>&1 /sbin/service pmcd stop >/dev/null 2>&1
/sbin/chkconfig --del pcp >/dev/null 2>&1 /sbin/chkconfig --del pcp >/dev/null 2>&1
/sbin/chkconfig --del pmcd >/dev/null 2>&1 /sbin/chkconfig --del pmcd >/dev/null 2>&1
/sbin/chkconfig --del pmlogger >/dev/null 2>&1 /sbin/chkconfig --del pmlogger >/dev/null 2>&1
/sbin/chkconfig --del pmie >/dev/null 2>&1 /sbin/chkconfig --del pmie >/dev/null 2>&1
/sbin/chkconfig --del pmmgr >/dev/null 2>&1
/sbin/chkconfig --del pmwebd >/dev/null 2>&1
/sbin/chkconfig --del pmproxy >/dev/null 2>&1 /sbin/chkconfig --del pmproxy >/dev/null 2>&1
# cleanup namespace state/flag, may still exist # cleanup namespace state/flag, may still exist
@ -409,6 +490,16 @@ then
rm -f "$PCP_PMNS_DIR/.NeedRebuild" >/dev/null 2>&1 rm -f "$PCP_PMNS_DIR/.NeedRebuild" >/dev/null 2>&1
fi fi
%post webapi
chown -R pcp:pcp %{_logsdir}/pmwebd 2>/dev/null
/sbin/chkconfig --add pmwebd >/dev/null 2>&1
/sbin/service pmwebd condrestart
%post manager
chown -R pcp:pcp %{_logsdir}/pmmgr 2>/dev/null
/sbin/chkconfig --add pmmgr >/dev/null 2>&1
/sbin/service pmmgr condrestart
%post %post
PCP_LOG_DIR=%{_logsdir} PCP_LOG_DIR=%{_logsdir}
PCP_PMNS_DIR=%{_pmnsdir} PCP_PMNS_DIR=%{_pmnsdir}
@ -443,8 +534,6 @@ done
chown -R pcp:pcp %{_logsdir}/pmcd 2>/dev/null chown -R pcp:pcp %{_logsdir}/pmcd 2>/dev/null
chown -R pcp:pcp %{_logsdir}/pmlogger 2>/dev/null chown -R pcp:pcp %{_logsdir}/pmlogger 2>/dev/null
chown -R pcp:pcp %{_logsdir}/pmie 2>/dev/null chown -R pcp:pcp %{_logsdir}/pmie 2>/dev/null
chown -R pcp:pcp %{_logsdir}/pmmgr 2>/dev/null
chown -R pcp:pcp %{_logsdir}/pmwebd 2>/dev/null
chown -R pcp:pcp %{_logsdir}/pmproxy 2>/dev/null chown -R pcp:pcp %{_logsdir}/pmproxy 2>/dev/null
touch "$PCP_PMNS_DIR/.NeedRebuild" touch "$PCP_PMNS_DIR/.NeedRebuild"
chmod 644 "$PCP_PMNS_DIR/.NeedRebuild" chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
@ -454,17 +543,13 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
/sbin/service pmlogger condrestart /sbin/service pmlogger condrestart
/sbin/chkconfig --add pmie >/dev/null 2>&1 /sbin/chkconfig --add pmie >/dev/null 2>&1
/sbin/service pmie condrestart /sbin/service pmie condrestart
/sbin/chkconfig --add pmmgr >/dev/null 2>&1
/sbin/service pmmgr condrestart
/sbin/chkconfig --add pmwebd >/dev/null 2>&1
/sbin/service pmwebd condrestart
/sbin/chkconfig --add pmproxy >/dev/null 2>&1 /sbin/chkconfig --add pmproxy >/dev/null 2>&1
/sbin/service pmproxy condrestart /sbin/service pmproxy condrestart
%post libs -p /sbin/ldconfig %post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig
%files -f base_specialfiles.list %files -f base.list
# #
# Note: there are some headers (e.g. domain.h) and in a few cases some # Note: there are some headers (e.g. domain.h) and in a few cases some
# C source files that rpmlint complains about. These are not devel files, # C source files that rpmlint complains about. These are not devel files,
@ -473,6 +558,7 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
%defattr(-,root,root) %defattr(-,root,root)
%doc CHANGELOG COPYING INSTALL README VERSION.pcp pcp.lsm %doc CHANGELOG COPYING INSTALL README VERSION.pcp pcp.lsm
%dir %{_confdir}
%dir %{_pmdasdir} %dir %{_pmdasdir}
%dir %{_datadir}/pcp %dir %{_datadir}/pcp
%dir %attr(0775,pcp,pcp) %{_localstatedir}/run/pcp %dir %attr(0775,pcp,pcp) %{_localstatedir}/run/pcp
@ -482,22 +568,18 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
%dir %attr(0775,pcp,pcp) %{_tempsdir} %dir %attr(0775,pcp,pcp) %{_tempsdir}
%dir %attr(0775,pcp,pcp) %{_tempsdir}/pmie %dir %attr(0775,pcp,pcp) %{_tempsdir}/pmie
%dir %attr(0775,pcp,pcp) %{_tempsdir}/pmlogger %dir %attr(0775,pcp,pcp) %{_tempsdir}/pmlogger
%dir %attr(0775,pcp,pcp) %{_logsdir}
%{_libexecdir}/pcp
%{_datadir}/pcp/lib %{_datadir}/pcp/lib
%attr(0775,pcp,pcp) %{_logsdir}
%attr(0775,pcp,pcp) %{_logsdir}/pmcd %attr(0775,pcp,pcp) %{_logsdir}/pmcd
%attr(0775,pcp,pcp) %{_logsdir}/pmlogger %attr(0775,pcp,pcp) %{_logsdir}/pmlogger
%attr(0775,pcp,pcp) %{_logsdir}/pmie %attr(0775,pcp,pcp) %{_logsdir}/pmie
%attr(0775,pcp,pcp) %{_logsdir}/pmwebd
%attr(0775,pcp,pcp) %{_logsdir}/pmproxy %attr(0775,pcp,pcp) %{_logsdir}/pmproxy
%{_localstatedir}/lib/pcp/pmns %{_localstatedir}/lib/pcp/pmns
%{_initddir}/pcp %{_initddir}/pcp
%{_initddir}/pmcd %{_initddir}/pmcd
%{_initddir}/pmlogger %{_initddir}/pmlogger
%{_initddir}/pmie %{_initddir}/pmie
%{_initddir}/pmmgr
%{_initddir}/pmwebd
%{_initddir}/pmproxy %{_initddir}/pmproxy
%{_mandir}/man5/* %{_mandir}/man5/*
%config(noreplace) %{_sysconfdir}/sasl2/pmcd.conf %config(noreplace) %{_sysconfdir}/sasl2/pmcd.conf
@ -506,12 +588,11 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
%config %{_sysconfdir}/bash_completion.d/pcp %config %{_sysconfdir}/bash_completion.d/pcp
%config %{_sysconfdir}/pcp.env %config %{_sysconfdir}/pcp.env
%{_sysconfdir}/pcp.sh %{_sysconfdir}/pcp.sh
%{_sysconfdir}/pcp %dir %{_confdir}/pmcd
%config(noreplace) %{_confdir}/pmcd/pmcd.conf %config(noreplace) %{_confdir}/pmcd/pmcd.conf
%config(noreplace) %{_confdir}/pmcd/pmcd.options %config(noreplace) %{_confdir}/pmcd/pmcd.options
%config(noreplace) %{_confdir}/pmcd/rc.local %config(noreplace) %{_confdir}/pmcd/rc.local
%config(noreplace) %{_confdir}/pmmgr/pmmgr.options %dir %{_confdir}/pmproxy
%config(noreplace) %{_confdir}/pmwebd/pmwebd.options
%config(noreplace) %{_confdir}/pmproxy/pmproxy.options %config(noreplace) %{_confdir}/pmproxy/pmproxy.options
%dir %attr(0775,pcp,pcp) %{_confdir}/pmie %dir %attr(0775,pcp,pcp) %{_confdir}/pmie
%attr(0664,pcp,pcp) %config(noreplace) %{_confdir}/pmie/control %attr(0664,pcp,pcp) %config(noreplace) %{_confdir}/pmie/control
@ -529,13 +610,17 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
%endif # ppc %endif # ppc
%endif %endif
%files libs %files conf
%defattr(-,root,root) %defattr(-,root,root)
%dir %{_includedir}/pcp %dir %{_includedir}/pcp
%{_includedir}/pcp/builddefs %{_includedir}/pcp/builddefs
%{_includedir}/pcp/buildrules %{_includedir}/pcp/buildrules
%config %{_sysconfdir}/pcp.conf %config %{_sysconfdir}/pcp.conf
%files libs
%defattr(-,root,root)
%{_libdir}/libpcp.so.3 %{_libdir}/libpcp.so.3
%{_libdir}/libpcp_gui.so.2 %{_libdir}/libpcp_gui.so.2
%{_libdir}/libpcp_mmv.so.1 %{_libdir}/libpcp_mmv.so.1
@ -543,7 +628,7 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
%{_libdir}/libpcp_trace.so.2 %{_libdir}/libpcp_trace.so.2
%{_libdir}/libpcp_import.so.1 %{_libdir}/libpcp_import.so.1
%files libs-devel %files libs-devel -f devel.list
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libpcp.so %{_libdir}/libpcp.so
@ -556,7 +641,6 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
%{_libdir}/libpcp_trace.so %{_libdir}/libpcp_trace.so
%{_libdir}/libpcp_import.so %{_libdir}/libpcp_import.so
%{_includedir}/pcp/*.h %{_includedir}/pcp/*.h
%{_mandir}/man3/*.3.gz
%{_datadir}/pcp/demos %{_datadir}/pcp/demos
%{_datadir}/pcp/examples %{_datadir}/pcp/examples
@ -571,6 +655,25 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
%defattr(-,pcpqa,pcpqa) %defattr(-,pcpqa,pcpqa)
%{_testsdir} %{_testsdir}
%files webapi
%defattr(-,root,root)
%{_initddir}/pmwebd
%{_libexecdir}/pcp/bin/pmwebd
%attr(0775,pcp,pcp) %{_logsdir}/pmwebd
%{_confdir}/pmwebd
%config(noreplace) %{_confdir}/pmwebd/pmwebd.options
%{_mandir}/man1/pmwebd.1.gz
%{_mandir}/man3/PMWEBAPI.3.gz
%files manager
%defattr(-,root,root)
%{_initddir}/pmmgr
%{_libexecdir}/pcp/bin/pmmgr
%attr(0775,pcp,pcp) %{_logsdir}/pmmgr
%{_confdir}/pmmgr
%config(noreplace) %{_confdir}/pmmgr/pmmgr.options
%{_mandir}/man1/pmmgr.1.gz
%files import-sar2pcp %files import-sar2pcp
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/sar2pcp %{_bindir}/sar2pcp
@ -615,6 +718,12 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
%defattr(-,root,root) %defattr(-,root,root)
%changelog %changelog
* Wed Feb 19 2014 Nathan Scott <nathans@redhat.com> - 3.9.0-1
- Create new sub-packages for pcp-webapi and pcp-manager
- Split configuration from pcp-libs into pcp-conf (multilib)
- Fix pmdagluster to handle more volumes, fileops (BZ 1066544)
- Update to latest PCP sources.
* Wed Jan 29 2014 Nathan Scott <nathans@redhat.com> - 3.8.12-1 * Wed Jan 29 2014 Nathan Scott <nathans@redhat.com> - 3.8.12-1
- Resolves SNMP procfs file ICMP line parse issue (BZ 1055818) - Resolves SNMP procfs file ICMP line parse issue (BZ 1055818)
- Update to latest PCP sources. - Update to latest PCP sources.

View File

@ -1 +1 @@
36cce7354c2aa3439de1f6a97f3cf590 pcp-3.8.12.src.tar.gz ff418ff346f4110fb056330ff8f266ce pcp-3.9.0.src.tar.gz