pcp/pcp.spec

925 lines
28 KiB
RPMSpec
Raw Normal View History

Summary: System-level performance monitoring and performance management
Name: pcp
Version: 3.9.2
2013-10-17 22:54:39 +00:00
%define buildversion 1
2013-07-31 02:40:00 +00:00
Release: %{buildversion}%{?dist}
2013-09-09 11:52:51 +00:00
License: GPLv2+ and LGPLv2.1+
URL: http://www.performancecopilot.org
Group: Applications/System
2012-09-14 11:53:58 +00:00
Source0: pcp-%{version}.src.tar.gz
2011-12-12 07:58:13 +00:00
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
2012-09-14 11:53:58 +00:00
BuildRequires: procps autoconf bison flex
2013-05-14 06:38:03 +00:00
BuildRequires: nss-devel
2014-01-15 00:01:11 +00:00
BuildRequires: rpm-devel
BuildRequires: avahi-devel
2012-09-14 11:53:58 +00:00
BuildRequires: python-devel
BuildRequires: ncurses-devel
BuildRequires: readline-devel
2013-05-14 06:38:03 +00:00
BuildRequires: cyrus-sasl-devel
BuildRequires: libmicrohttpd-devel
2014-02-20 02:36:48 +00:00
%ifnarch ppc ppc64
2013-09-09 11:52:51 +00:00
BuildRequires: systemtap-sdt-devel
2014-02-20 02:36:48 +00:00
%endif
BuildRequires: perl(ExtUtils::MakeMaker)
2013-10-17 22:54:39 +00:00
BuildRequires: initscripts man
2013-03-11 02:00:00 +00:00
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
BuildRequires: systemd-devel
%endif
2012-11-19 04:29:37 +00:00
Requires: bash gawk sed grep fileutils findutils initscripts perl
2013-06-19 03:43:45 +00:00
Requires: python
2013-07-31 02:40:00 +00:00
%if 0%{?rhel} <= 5
Requires: python-ctypes
%endif
2012-08-28 10:54:33 +00:00
2012-09-14 11:53:58 +00:00
Requires: pcp-libs = %{version}-%{release}
Requires: python-pcp = %{version}-%{release}
Requires: perl-PCP-PMDA = %{version}-%{release}
2013-09-09 11:52:51 +00:00
%global tapsetdir %{_datadir}/systemtap/tapset
2013-03-20 03:40:51 +00:00
%define _confdir %{_sysconfdir}/pcp
%define _initddir %{_sysconfdir}/rc.d/init.d
2013-04-19 07:08:20 +00:00
%define _logsdir %{_localstatedir}/log/pcp
%define _pmnsdir %{_localstatedir}/lib/pcp/pmns
%define _tempsdir %{_localstatedir}/lib/pcp/tmp
%define _pmdasdir %{_localstatedir}/lib/pcp/pmdas
2012-08-28 10:54:33 +00:00
%define _testsdir %{_localstatedir}/lib/pcp/testsuite
2013-10-17 22:54:39 +00:00
2013-07-31 02:40:00 +00:00
%if 0%{?fedora} >= 20
%define _with_doc --with-docdir=%{_docdir}/%{name}
2013-10-17 22:54:39 +00:00
%endif
# we never want Infiniband on s390 platforms
%ifarch s390 s390x
%define disable_infiniband 1
2013-07-31 04:04:12 +00:00
%else
2013-10-17 22:54:39 +00:00
# we never want Infiniband on RHEL5 or earlier
%if 0%{?rhel} != 0 && 0%{?rhel} < 6
%define disable_infiniband 1
%else
%define disable_infiniband 0
%endif
%endif
%if %{disable_infiniband}
%define _with_ib --with-infiniband=no
2013-07-31 02:40:00 +00:00
%endif
%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.
2014-02-20 02:36:48 +00:00
#
# pcp-conf
#
%package conf
License: LGPLv2+
Group: Development/Libraries
Summary: Performance Co-Pilot run-time configuration
URL: http://www.performancecopilot.org
2014-02-20 02:36:48 +00:00
# http://fedoraproject.org/wiki/Packaging:Conflicts "Splitting Packages"
Conflicts: pcp-libs < 3.9
%description conf
Performance Co-Pilot (PCP) run-time configuration
#
# pcp-libs
#
%package libs
2013-09-15 07:52:20 +00:00
License: LGPLv2+
2012-08-28 10:54:33 +00:00
Group: Development/Libraries
Summary: Performance Co-Pilot run-time libraries
URL: http://www.performancecopilot.org
2014-02-20 02:36:48 +00:00
Requires: pcp-conf = %{version}-%{release}
%description libs
Performance Co-Pilot (PCP) run-time libraries
#
# pcp-libs-devel
#
%package libs-devel
2013-09-15 07:52:20 +00:00
License: GPLv2+ and LGPLv2.1+
2012-08-28 10:54:33 +00:00
Group: Development/Libraries
Summary: Performance Co-Pilot (PCP) development headers and documentation
URL: http://www.performancecopilot.org
2012-09-14 11:53:58 +00:00
Requires: pcp-libs = %{version}-%{release}
%description libs-devel
Performance Co-Pilot (PCP) headers, documentation and tools for development.
2012-08-28 10:54:33 +00:00
#
# pcp-testsuite
#
%package testsuite
2013-09-15 07:52:20 +00:00
License: GPLv2+
2012-08-28 10:54:33 +00:00
Group: Development/Libraries
Summary: Performance Co-Pilot (PCP) test suite
URL: http://www.performancecopilot.org
2012-09-14 11:53:58 +00:00
Requires: pcp = %{version}-%{release}
2014-01-29 01:50:12 +00:00
Requires: pcp-libs = %{version}-%{release}
2012-09-14 11:53:58 +00:00
Requires: pcp-libs-devel = %{version}-%{release}
2012-08-28 10:54:33 +00:00
%description testsuite
Quality assurance test suite for Performance Co-Pilot (PCP).
2014-02-20 02:36:48 +00:00
#
# pcp-manager
#
%package manager
License: GPLv2+
Group: Applications/System
Summary: Performance Co-Pilot (PCP) manager daemon
URL: http://www.performancecopilot.org
2014-02-20 02:36:48 +00:00
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://www.performancecopilot.org
2014-02-20 02:36:48 +00:00
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.
#
%package -n perl-PCP-PMDA
2013-09-15 07:52:20 +00:00
License: GPLv2+
2012-08-28 10:54:33 +00:00
Group: Development/Libraries
Summary: Performance Co-Pilot (PCP) Perl bindings and documentation
URL: http://www.performancecopilot.org
2012-09-14 11:53:58 +00:00
Requires: pcp-libs = %{version}-%{release}
%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.
#
# perl-PCP-MMV
#
%package -n perl-PCP-MMV
2013-09-15 07:52:20 +00:00
License: GPLv2+
2012-08-28 10:54:33 +00:00
Group: Development/Libraries
Summary: Performance Co-Pilot (PCP) Perl bindings for PCP Memory Mapped Values
URL: http://www.performancecopilot.org
2013-10-17 22:54:39 +00:00
Requires: pcp-libs = %{version}-%{release}
%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.
2011-02-02 02:51:56 +00:00
#
# perl-PCP-LogImport
#
%package -n perl-PCP-LogImport
2013-09-15 07:52:20 +00:00
License: GPLv2+
2012-08-28 10:54:33 +00:00
Group: Development/Libraries
2011-02-02 02:51:56 +00:00
Summary: Performance Co-Pilot (PCP) Perl bindings for importing external data into PCP archives
URL: http://www.performancecopilot.org
2013-10-17 22:54:39 +00:00
Requires: pcp-libs = %{version}-%{release}
2011-02-02 02:51:56 +00:00
%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.
2011-12-12 07:58:13 +00:00
#
# perl-PCP-LogSummary
#
%package -n perl-PCP-LogSummary
2013-09-15 07:52:20 +00:00
License: GPLv2+
2012-08-28 10:54:33 +00:00
Group: Development/Libraries
2011-12-12 07:58:13 +00:00
Summary: Performance Co-Pilot (PCP) Perl bindings for post-processing output of pmlogsummary
URL: http://www.performancecopilot.org
2013-10-17 22:54:39 +00:00
Requires: pcp-libs = %{version}-%{release}
2011-12-12 07:58:13 +00:00
%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).
2011-02-02 02:51:56 +00:00
#
# pcp-import-sar2pcp
#
%package import-sar2pcp
License: LGPLv2+
Group: Applications/System
Summary: Performance Co-Pilot tools for importing sar data into PCP archive logs
URL: http://www.performancecopilot.org
2013-10-17 22:54:39 +00:00
Requires: pcp-libs = %{version}-%{release}
Requires: perl-PCP-LogImport = %{version}-%{release}
2012-09-14 11:53:58 +00:00
Requires: sysstat
2011-02-02 02:51:56 +00:00
%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.
#
# pcp-import-iostat2pcp
#
%package import-iostat2pcp
License: LGPLv2+
Group: Applications/System
Summary: Performance Co-Pilot tools for importing iostat data into PCP archive logs
URL: http://www.performancecopilot.org
2013-10-17 22:54:39 +00:00
Requires: pcp-libs = %{version}-%{release}
Requires: perl-PCP-LogImport = %{version}-%{release}
2012-09-14 11:53:58 +00:00
Requires: sysstat
2011-02-02 02:51:56 +00:00
%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.
#
# pcp-import-mrtg2pcp
#
%package import-mrtg2pcp
License: LGPLv2+
Group: Applications/System
Summary: Performance Co-Pilot tools for importing MTRG data into PCP archive logs
URL: http://www.performancecopilot.org
2013-10-17 22:54:39 +00:00
Requires: pcp-libs = %{version}-%{release}
Requires: perl-PCP-LogImport = %{version}-%{release}
2011-02-02 02:51:56 +00:00
%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.
2013-06-19 03:43:45 +00:00
#
# pcp-import-collectl2pcp
#
%package import-collectl2pcp
License: LGPLv2+
Group: Applications/System
Summary: Performance Co-Pilot tools for importing collectl log files into PCP archive logs
URL: http://www.performancecopilot.org
2013-10-17 22:54:39 +00:00
Requires: pcp-libs = %{version}-%{release}
2013-06-19 03:43:45 +00:00
%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.
2013-10-17 22:54:39 +00:00
%if !%{disable_infiniband}
2013-09-09 11:52:51 +00:00
#
# pcp-pmda-infiniband
#
%package pmda-infiniband
2013-09-15 07:52:20 +00:00
License: GPLv2+
2013-09-09 11:52:51 +00:00
Group: Applications/System
Summary: Performance Co-Pilot (PCP) metrics for Infiniband HCAs and switches
URL: http://www.performancecopilot.org
2013-10-17 22:54:39 +00:00
Requires: pcp-libs = %{version}-%{release}
Requires: libibmad >= 1.3.7 libibumad >= 1.3.7
BuildRequires: libibmad-devel >= 1.3.7 libibumad-devel >= 1.3.7
2013-09-09 11:52:51 +00:00
%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.
%endif
2013-09-09 11:52:51 +00:00
2012-08-28 10:54:33 +00:00
#
# python-pcp. This is the PCP library bindings for python.
#
%package -n python-pcp
2013-09-15 07:52:20 +00:00
License: GPLv2+
2012-08-28 10:54:33 +00:00
Group: Development/Libraries
Summary: Performance Co-Pilot (PCP) Python bindings and documentation
URL: http://www.performancecopilot.org
2012-09-14 11:53:58 +00:00
Requires: pcp-libs = %{version}-%{release}
2012-08-28 10:54:33 +00:00
%description -n python-pcp
The python PCP module contains the language bindings for
building Performance Metric API (PMAPI) tools using Python.
%prep
%setup -q
2011-12-12 07:58:13 +00:00
%clean
rm -Rf $RPM_BUILD_ROOT
%build
2013-12-12 05:05:57 +00:00
%configure --with-rcdir=%{_initddir} %{?_with_doc} %{?_with_ib}
make default_pcp
%install
2011-12-12 07:58:13 +00:00
rm -Rf $RPM_BUILD_ROOT
2013-09-09 11:52:51 +00:00
export NO_CHOWN=true DIST_ROOT=$RPM_BUILD_ROOT
make install_pcp
# Fix stuff we do/don't want to ship
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/pcp
# 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
2014-02-20 02:36:48 +00:00
# remove configsz.h as this is not multilib friendly.
rm -f $RPM_BUILD_ROOT/%{_includedir}/pcp/configsz.h
2013-10-17 22:54:39 +00:00
%if %{disable_infiniband}
# remove pmdainfiniband on platforms lacking IB devel packages.
rm -f $RPM_BUILD_ROOT/%{_pmdasdir}/ib $RPM_BUILD_ROOT/man1/pmdaib.1.gz
rm -fr $RPM_BUILD_ROOT/%{_pmdasdir}/infiniband
%endif
# default chkconfig off for Fedora and RHEL
2014-01-15 00:01:11 +00:00
for f in $RPM_BUILD_ROOT/%{_initddir}/{pcp,pmcd,pmlogger,pmie,pmwebd,pmmgr,pmproxy}; do
sed -i -e '/^# chkconfig/s/:.*$/: - 95 05/' -e '/^# Default-Start:/s/:.*$/:/' $f
done
# list of PMDAs in the base pkg
2013-10-17 22:54:39 +00:00
ls -1 $RPM_BUILD_ROOT/%{_pmdasdir} |\
egrep -v 'simple|sample|trivial|txmon' |\
egrep -v '^ib$|infiniband' |\
sed -e 's#^#'%{_pmdasdir}'\/#' >base_pmdas.list
2014-02-20 02:36:48 +00:00
# all base pcp package files except those split out into sub packages
ls -1 $RPM_BUILD_ROOT/%{_bindir} |\
sed -e 's#^#'%{_bindir}'\/#' >base_bin.list
ls -1 $RPM_BUILD_ROOT/%{_libexecdir}/pcp/bin |\
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
# 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
2011-02-02 02:51:56 +00:00
2012-08-28 10:54:33 +00:00
%pre testsuite
2013-12-12 05:05:57 +00:00
test -d %{_testsdir} || mkdir -p -m 755 %{_testsdir}
2012-08-28 10:54:33 +00:00
getent group pcpqa >/dev/null || groupadd -r pcpqa
getent passwd pcpqa >/dev/null || \
2014-02-20 02:36:48 +00:00
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
2012-08-28 10:54:33 +00:00
exit 0
2012-11-19 04:29:37 +00:00
%post testsuite
chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null
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
2013-03-20 03:40:51 +00:00
PCP_SYSCONF_DIR=%{_confdir}
PCP_LOG_DIR=%{_logsdir}
2013-10-17 22:54:39 +00:00
PCP_ETC_DIR=%{_sysconfdir}
# rename crontab files to align with current Fedora packaging guidelines
for crontab in pmlogger pmie
do
test -f "$PCP_ETC_DIR/cron.d/$crontab" || continue
mv -f "$PCP_ETC_DIR/cron.d/$crontab" "$PCP_ETC_DIR/cron.d/pcp-$crontab"
done
2013-03-11 02:00:00 +00:00
# produce a script to run post-install to move configs to their new homes
save_configs_script()
{
_new="$1"
shift
for _dir
do
[ "$_dir" = "$_new" ] && continue
if [ -d "$_dir" ]
then
( cd "$_dir" ; find . -type f -print ) | sed -e 's/^\.\///' \
| while read _file
do
_want=true
if [ -f "$_new/$_file" ]
then
# file exists in both directories, pick the more
# recently modified one
_try=`find "$_dir/$_file" -newer "$_new/$_file" -print`
[ -n "$_try" ] || _want=false
fi
$_want && echo cp -p "$_dir/$_file" "$_new/$_file"
done
fi
done
}
2013-03-20 03:40:51 +00:00
# migrate and clean configs if we have had a previous in-use installation
[ -d "$PCP_LOG_DIR" ] || exit 0 # no configuration file upgrades required
2013-03-11 02:00:00 +00:00
rm -f "$PCP_LOG_DIR/configs.sh"
2014-02-20 02:36:48 +00:00
for daemon in pmcd pmie pmlogger pmproxy
2013-03-11 02:00:00 +00:00
do
2013-03-20 03:40:51 +00:00
save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_SYSCONF_DIR/$daemon" \
2013-03-11 02:00:00 +00:00
/var/lib/pcp/config/$daemon /etc/$daemon /etc/pcp/$daemon /etc/sysconfig/$daemon
done
2012-11-19 04:29:37 +00:00
exit 0
2014-02-20 02:36:48 +00:00
%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
if [ "$1" -eq 0 ]
then
2014-01-15 00:01:11 +00:00
# stop daemons before erasing the package
2012-05-02 12:11:27 +00:00
/sbin/service pmlogger stop >/dev/null 2>&1
/sbin/service pmie stop >/dev/null 2>&1
/sbin/service pmproxy stop >/dev/null 2>&1
2012-05-02 12:11:27 +00:00
/sbin/service pmcd stop >/dev/null 2>&1
/sbin/chkconfig --del pcp >/dev/null 2>&1
2012-05-02 12:11:27 +00:00
/sbin/chkconfig --del pmcd >/dev/null 2>&1
/sbin/chkconfig --del pmlogger >/dev/null 2>&1
/sbin/chkconfig --del pmie >/dev/null 2>&1
/sbin/chkconfig --del pmproxy >/dev/null 2>&1
2014-01-15 00:01:11 +00:00
# cleanup namespace state/flag, may still exist
PCP_PMNS_DIR=%{_pmnsdir}
rm -f "$PCP_PMNS_DIR/.NeedRebuild" >/dev/null 2>&1
fi
2014-02-20 02:36:48 +00:00
%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
2013-03-20 03:40:51 +00:00
PCP_LOG_DIR=%{_logsdir}
2013-04-19 07:08:20 +00:00
PCP_PMNS_DIR=%{_pmnsdir}
2013-03-11 02:00:00 +00:00
# restore saved configs, if any
test -s "$PCP_LOG_DIR/configs.sh" && source "$PCP_LOG_DIR/configs.sh"
rm -f $PCP_LOG_DIR/configs.sh
2013-03-20 03:40:51 +00:00
# migrate old to new temp dir locations (within the same filesystem)
migrate_tempdirs()
{
_sub="$1"
_new_tmp_dir=%{_tempsdir}
_old_tmp_dir=%{_localstatedir}/tmp
for d in "$_old_tmp_dir/$_sub" ; do
test -d "$d" -a -k "$d" || continue
cd "$d" || continue
for f in * ; do
[ "$f" != "*" ] || continue
source="$d/$f"
target="$_new_tmp_dir/$_sub/$f"
[ "$source" != "$target" ] || continue
2013-04-19 07:08:20 +00:00
[ -f "$target" ] || mv -fu "$source" "$target"
2013-03-20 03:40:51 +00:00
done
cd && rmdir "$d" 2>/dev/null
done
}
for daemon in mmv pmdabash pmie pmlogger
do
migrate_tempdirs $daemon
done
chown -R pcp:pcp %{_logsdir}/pmcd 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}/pmproxy 2>/dev/null
2013-12-12 05:05:57 +00:00
touch "$PCP_PMNS_DIR/.NeedRebuild"
chmod 644 "$PCP_PMNS_DIR/.NeedRebuild"
2012-05-02 12:11:27 +00:00
/sbin/chkconfig --add pmcd >/dev/null 2>&1
/sbin/service pmcd condrestart
/sbin/chkconfig --add pmlogger >/dev/null 2>&1
/sbin/service pmlogger condrestart
/sbin/chkconfig --add pmie >/dev/null 2>&1
2011-12-12 07:58:13 +00:00
/sbin/service pmie condrestart
/sbin/chkconfig --add pmproxy >/dev/null 2>&1
2011-12-12 07:58:13 +00:00
/sbin/service pmproxy condrestart
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
2014-02-20 02:36:48 +00:00
%files -f base.list
#
# 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,
# but rather they are (slightly obscure) PMDA config files.
#
%defattr(-,root,root)
%doc CHANGELOG COPYING INSTALL README VERSION.pcp pcp.lsm
2014-02-20 02:36:48 +00:00
%dir %{_confdir}
%dir %{_pmdasdir}
%dir %{_datadir}/pcp
2013-07-31 02:40:00 +00:00
%dir %attr(0775,pcp,pcp) %{_localstatedir}/run/pcp
%dir %{_localstatedir}/lib/pcp
%dir %{_localstatedir}/lib/pcp/config
2013-07-31 02:40:00 +00:00
%dir %attr(0775,pcp,pcp) %{_localstatedir}/lib/pcp/config/pmda
2013-12-12 05:05:57 +00:00
%dir %attr(0775,pcp,pcp) %{_tempsdir}
%dir %attr(0775,pcp,pcp) %{_tempsdir}/pmie
%dir %attr(0775,pcp,pcp) %{_tempsdir}/pmlogger
2014-02-20 02:36:48 +00:00
%dir %attr(0775,pcp,pcp) %{_logsdir}
%{_datadir}/pcp/lib
2013-07-31 02:40:00 +00:00
%attr(0775,pcp,pcp) %{_logsdir}/pmcd
%attr(0775,pcp,pcp) %{_logsdir}/pmlogger
%attr(0775,pcp,pcp) %{_logsdir}/pmie
%attr(0775,pcp,pcp) %{_logsdir}/pmproxy
%{_localstatedir}/lib/pcp/pmns
2013-03-20 03:40:51 +00:00
%{_initddir}/pcp
%{_initddir}/pmcd
%{_initddir}/pmlogger
%{_initddir}/pmie
%{_initddir}/pmproxy
2013-05-14 06:38:03 +00:00
%{_mandir}/man5/*
2013-07-31 02:40:00 +00:00
%config(noreplace) %{_sysconfdir}/sasl2/pmcd.conf
2013-10-17 22:54:39 +00:00
%config(noreplace) %{_sysconfdir}/cron.d/pcp-pmlogger
%config(noreplace) %{_sysconfdir}/cron.d/pcp-pmie
%config %{_sysconfdir}/bash_completion.d/pcp
%config %{_sysconfdir}/pcp.env
%{_sysconfdir}/pcp.sh
2014-02-20 02:36:48 +00:00
%dir %{_confdir}/pmcd
2013-03-20 03:40:51 +00:00
%config(noreplace) %{_confdir}/pmcd/pmcd.conf
%config(noreplace) %{_confdir}/pmcd/pmcd.options
%config(noreplace) %{_confdir}/pmcd/rc.local
2014-02-20 02:36:48 +00:00
%dir %{_confdir}/pmproxy
2013-03-20 03:40:51 +00:00
%config(noreplace) %{_confdir}/pmproxy/pmproxy.options
2013-07-31 02:40:00 +00:00
%dir %attr(0775,pcp,pcp) %{_confdir}/pmie
%attr(0664,pcp,pcp) %config(noreplace) %{_confdir}/pmie/control
%dir %attr(0775,pcp,pcp) %{_confdir}/pmlogger
%attr(0664,pcp,pcp) %config(noreplace) %{_confdir}/pmlogger/control
%{_localstatedir}/lib/pcp/config/*
2013-10-17 22:54:39 +00:00
%if 0%{?rhel} == 0 || 0%{?rhel} > 5
%{tapsetdir}/pmcd.stp
%else # rhel5
%ifarch ppc ppc64
# no systemtap-sdt-devel
%else # ! ppc
2013-09-09 11:52:51 +00:00
%{tapsetdir}/pmcd.stp
2013-10-17 22:54:39 +00:00
%endif # ppc
%endif
2014-02-20 02:36:48 +00:00
%files conf
%defattr(-,root,root)
%dir %{_includedir}/pcp
%{_includedir}/pcp/builddefs
%{_includedir}/pcp/buildrules
%config %{_sysconfdir}/pcp.conf
2014-02-20 02:36:48 +00:00
%files libs
%defattr(-,root,root)
%{_libdir}/libpcp.so.3
%{_libdir}/libpcp_gui.so.2
%{_libdir}/libpcp_mmv.so.1
%{_libdir}/libpcp_pmda.so.3
%{_libdir}/libpcp_trace.so.2
2011-02-02 02:51:56 +00:00
%{_libdir}/libpcp_import.so.1
2014-02-20 02:36:48 +00:00
%files libs-devel -f devel.list
%defattr(-,root,root)
%{_libdir}/libpcp.so
%{_libdir}/libpcp.so.2
%{_libdir}/libpcp_gui.so
%{_libdir}/libpcp_gui.so.1
%{_libdir}/libpcp_mmv.so
%{_libdir}/libpcp_pmda.so
%{_libdir}/libpcp_pmda.so.2
%{_libdir}/libpcp_trace.so
2011-02-02 02:51:56 +00:00
%{_libdir}/libpcp_import.so
%{_includedir}/pcp/*.h
%{_datadir}/pcp/demos
%{_datadir}/pcp/examples
# PMDAs that ship src and are not for production use
# straight out-of-the-box, for devel or QA use only.
2013-09-09 11:52:51 +00:00
%{_pmdasdir}/simple
%{_pmdasdir}/sample
%{_pmdasdir}/trivial
%{_pmdasdir}/txmon
2012-08-28 10:54:33 +00:00
%files testsuite
2012-09-14 11:53:58 +00:00
%defattr(-,pcpqa,pcpqa)
2012-08-28 10:54:33 +00:00
%{_testsdir}
2014-02-20 02:36:48 +00:00
%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
2011-02-02 02:51:56 +00:00
%files import-sar2pcp
%defattr(-,root,root)
%{_bindir}/sar2pcp
%{_mandir}/man1/sar2pcp.1.gz
%files import-iostat2pcp
%defattr(-,root,root)
%{_bindir}/iostat2pcp
%{_mandir}/man1/iostat2pcp.1.gz
%files import-mrtg2pcp
%defattr(-,root,root)
%{_bindir}/mrtg2pcp
%{_mandir}/man1/mrtg2pcp.1.gz
2013-06-19 03:43:45 +00:00
%files import-collectl2pcp
%defattr(-,root,root)
%{_bindir}/collectl2pcp
%{_mandir}/man1/collectl2pcp.1.gz
2013-10-17 22:54:39 +00:00
%if !%{disable_infiniband}
2013-09-09 11:52:51 +00:00
%files pmda-infiniband
%defattr(-,root,root)
%{_pmdasdir}/ib
%{_pmdasdir}/infiniband
%{_mandir}/man1/pmdaib.1.gz
%endif
2013-09-09 11:52:51 +00:00
%files -n perl-PCP-PMDA -f perl-pcp-pmda.list
%defattr(-,root,root)
%files -n perl-PCP-MMV -f perl-pcp-mmv.list
%defattr(-,root,root)
2011-02-02 02:51:56 +00:00
%files -n perl-PCP-LogImport -f perl-pcp-logimport.list
%defattr(-,root,root)
2011-12-12 07:58:13 +00:00
%files -n perl-PCP-LogSummary -f perl-pcp-logsummary.list
%defattr(-,root,root)
2012-08-28 10:54:33 +00:00
%files -n python-pcp -f python-pcp.list.rpm
%defattr(-,root,root)
%changelog
* Tue Apr 15 2014 Dave Brolley <brolley@redhat.com> - 3.9.2-1
- Improve pmdarpm(1) concurrency complications (BZ 1044297)
- Fix pmconfig(1) shell output string quoting (BZ 1085401)
- Update to latest PCP sources.
2014-03-19 22:34:27 +00:00
* Wed Mar 19 2014 Nathan Scott <nathans@redhat.com> - 3.9.1-1
- Update to latest PCP sources.
2014-02-20 02:36:48 +00:00
* 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.
2014-01-29 03:54:51 +00:00
* Wed Jan 29 2014 Nathan Scott <nathans@redhat.com> - 3.8.12-1
2014-01-29 01:50:12 +00:00
- Resolves SNMP procfs file ICMP line parse issue (BZ 1055818)
- Update to latest PCP sources.
2014-01-15 00:01:11 +00:00
* Wed Jan 15 2014 Nathan Scott <nathans@redhat.com> - 3.8.10-1
- Update to latest PCP sources.
2013-12-12 05:05:57 +00:00
* Thu Dec 12 2013 Nathan Scott <nathans@redhat.com> - 3.8.9-1
- Reduce set of exported symbols from DSO PMDAs (BZ 1025694)
- Symbol-versioning for PCP shared libraries (BZ 1037771)
- Fix pmcd/Avahi interaction with multiple ports (BZ 1035513)
- Update to latest PCP sources.
* Sun Nov 03 2013 Nathan Scott <nathans@redhat.com> - 3.8.8-1
- Update to latest PCP sources (simple build fixes only).
2013-11-01 03:24:29 +00:00
* Fri Nov 01 2013 Nathan Scott <nathans@redhat.com> - 3.8.6-1
- Update to latest PCP sources.
- Rework pmpost test which confused virus checkers (BZ 1024850)
- Tackle pmatop reporting issues via alternate metrics (BZ 998735)
2013-10-17 22:54:39 +00:00
* Fri Oct 18 2013 Nathan Scott <nathans@redhat.com> - 3.8.5-1
- Update to latest PCP sources.
- Disable pcp-pmda-infiniband sub-package on RHEL5 (BZ 1016368)
* Mon Sep 16 2013 Nathan Scott <nathans@redhat.com> - 3.8.4-2
- Disable the pcp-pmda-infiniband sub-package on s390 platforms.
2013-09-15 07:52:20 +00:00
* Sun Sep 15 2013 Nathan Scott <nathans@redhat.com> - 3.8.4-1
- Very minor release containing mostly QA related changes.
- Enables many more metrics to be logged for Linux hosts.
2014-01-15 00:01:11 +00:00
* Wed Sep 11 2013 Stan Cox <scox@redhat.com> - 3.8.3-2
- Disable pmcd.stp on el5 ppc.
2013-09-09 11:52:51 +00:00
* Mon Sep 09 2013 Nathan Scott <nathans@redhat.com> - 3.8.3-1
- Default to Unix domain socket (authenticated) local connections.
- Introduces new pcp-pmda-infiniband sub-package.
2014-01-15 00:01:11 +00:00
- Disable systemtap-sdt-devel usage on ppc.
2013-09-09 11:52:51 +00:00
2013-08-03 10:28:11 +00:00
* Sat Aug 03 2013 Petr Pisar <ppisar@redhat.com> - 3.8.2-1.1
- Perl 5.18 rebuild
2013-07-31 02:40:00 +00:00
* Wed Jul 31 2013 Nathan Scott <nathans@redhat.com> - 3.8.2-1
- Update to latest PCP sources.
- Integrate gluster related stats with PCP (BZ 969348)
- Fix for iostat2pcp not parsing iostat output (BZ 981545)
- Start pmlogger with usable config by default (BZ 953759)
- Fix pmatop failing to start, gives stacktrace (BZ 963085)
2013-07-17 09:42:09 +00:00
2013-06-19 03:43:45 +00:00
* Wed Jun 19 2013 Nathan Scott <nathans@redhat.com> - 3.8.1-1
- Update to latest PCP sources.
- Fix log import silently dropping >1024 metrics (BZ 968210)
- Move some commonly used tools on the usual PATH (BZ 967709)
- Improve pmatop handling of missing proc metrics (BZ 963085)
- Stop out-of-order records corrupting import logs (BZ 958745)
2013-05-14 06:38:03 +00:00
* Tue May 14 2013 Nathan Scott <nathans@redhat.com> - 3.8.0-1
- Update to latest PCP sources.
- Validate metric names passed into pmiAddMetric (BZ 958019)
- Install log directories with correct ownership (BZ 960858)
2013-04-19 07:08:20 +00:00
* Fri Apr 19 2013 Nathan Scott <nathans@redhat.com> - 3.7.2-1
- Update to latest PCP sources.
- Ensure root namespace exists at the end of install (BZ 952977)
2013-03-20 03:40:51 +00:00
* Wed Mar 20 2013 Nathan Scott <nathans@redhat.com> - 3.7.1-1
- Update to latest PCP sources.
- Migrate all tempfiles correctly to the new tempdir hierarchy.
2013-03-11 02:00:00 +00:00
* Sun Mar 10 2013 Nathan Scott <nathans@redhat.com> - 3.7.0-1
- Update to latest PCP sources.
- Migrate all configuration files below the /etc/pcp hierarchy.
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6.10-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Nov 28 2012 Nathan Scott <nathans@redhat.com> - 3.6.10-2
2013-09-09 11:52:51 +00:00
- Ensure tmpfile directories created in %%files section.
- Resolve tmpfile create/teardown race conditions.
2012-11-19 04:29:37 +00:00
* Mon Nov 19 2012 Nathan Scott <nathans@redhat.com> - 3.6.10-1
- Update to latest PCP sources.
- Resolve tmpfile security flaws: CVE-2012-5530
- Introduces new "pcp" user account for all daemons to use.
2012-10-14 00:12:29 +00:00
* Fri Oct 12 2012 Nathan Scott <nathans@redhat.com> - 3.6.9-1
- Update to latest PCP sources.
- Fix pmcd sigsegv in NUMA/CPU indom setup (BZ 858384)
- Fix sar2pcp uninitialised perl variable warning (BZ 859117)
- Fix pcp.py and pmcollectl with older python versions (BZ 852234)
2012-09-14 12:25:26 +00:00
* Fri Sep 14 2012 Nathan Scott <nathans@redhat.com> - 3.6.8-1
- Update to latest PCP sources.
* Wed Sep 05 2012 Nathan Scott <nathans@redhat.com> - 3.6.6-1.1
- Move configure step from prep to build section of spec (BZ 854128)
2012-08-28 10:54:33 +00:00
* Tue Aug 28 2012 Mark Goodwin <mgoodwin@redhat.com> - 3.6.6-1
- Update to latest PCP sources, see installed CHANGELOG for details.
- Introduces new python-pcp and pcp-testsuite sub-packages.
* Thu Aug 16 2012 Mark Goodwin <mgoodwin@redhat.com> - 3.6.5-1
- Update to latest PCP sources, see installed CHANGELOG for details.
- Fix security flaws: CVE-2012-3418 CVE-2012-3419 CVE-2012-3420 and CVE-2012-3421 (BZ 848629)
* Thu Jul 19 2012 Mark Goodwin <mgoodwin@redhat.com>
- pmcd and pmlogger services are not supposed to be enabled by default (BZ 840763) - 3.6.3-1.3
* Thu Jun 21 2012 Mark Goodwin <mgoodwin@redhat.com>
- remove pcp-import-sheet2pcp subpackage due to missing deps (BZ 830923) - 3.6.3-1.2
2012-09-14 12:25:26 +00:00
* Fri May 18 2012 Dan Hork <dan[at]danny.cz> - 3.6.3-1.1
2012-05-18 11:23:53 +00:00
- fix build on s390x
2012-05-02 12:11:27 +00:00
* Mon Apr 30 2012 Mark Goodwin - 3.6.3-1
- Update to latest PCP sources
* Thu Apr 26 2012 Mark Goodwin - 3.6.2-1
- Update to latest PCP sources
* Thu Apr 12 2012 Mark Goodwin - 3.6.1-1
- Update to latest PCP sources
* Thu Mar 22 2012 Mark Goodwin - 3.6.0-1
2013-09-09 11:52:51 +00:00
- use %%configure macro for correct libdir logic
2012-05-02 12:11:27 +00:00
- update to latest PCP sources
2011-12-15 04:28:03 +00:00
* Thu Dec 15 2011 Mark Goodwin - 3.5.11-2
- patched configure.in for libdir=/usr/lib64 on ppc64
2011-12-12 07:58:13 +00:00
* Thu Dec 01 2011 Mark Goodwin - 3.5.11-1
- Update to latest PCP sources.
2011-10-11 15:28:33 +00:00
2011-12-12 07:58:13 +00:00
* Fri Nov 04 2011 Mark Goodwin - 3.5.10-1
- Update to latest PCP sources.
* Mon Oct 24 2011 Mark Goodwin - 3.5.9-1
- Update to latest PCP sources.
2013-07-31 02:40:00 +00:00
* Mon Aug 08 2011 Mark Goodwin - 3.5.8-1
2011-12-12 07:58:13 +00:00
- Update to latest PCP sources.
2013-07-31 02:40:00 +00:00
* Fri Aug 05 2011 Mark Goodwin - 3.5.7-1
2011-12-12 07:58:13 +00:00
- Update to latest PCP sources.
* Fri Jul 22 2011 Mark Goodwin - 3.5.6-1
- Update to latest PCP sources.
* Tue Jul 19 2011 Mark Goodwin - 3.5.5-1
- Update to latest PCP sources.
2013-07-31 02:40:00 +00:00
* Thu Feb 03 2011 Mark Goodwin - 3.5.0-1
2011-02-02 02:51:56 +00:00
- Update to latest PCP sources.
* Thu Sep 30 2010 Mark Goodwin - 3.4.0-1
- Update to latest PCP sources.
* Fri Jul 16 2010 Mark Goodwin - 3.3.3-1
- Update to latest PCP sources.
* Sat Jul 10 2010 Mark Goodwin - 3.3.2-1
- Update to latest PCP sources.
* Tue Jun 29 2010 Mark Goodwin - 3.3.1-1
- Update to latest PCP sources.
* Fri Jun 25 2010 Mark Goodwin - 3.3.0-1
- Update to latest PCP sources.
* Thu Mar 18 2010 Mark Goodwin - 3.1.2-1
- Update to latest PCP sources.
* Wed Jan 27 2010 Mark Goodwin - 3.1.0-1
2013-09-09 11:52:51 +00:00
- BuildRequires: initscripts for %%{_vendor} == redhat.
* Thu Dec 10 2009 Mark Goodwin - 3.0.3-1
- BuildRequires: initscripts for FC12.
* Wed Dec 02 2009 Mark Goodwin - 3.0.2-1
- Added sysfs.kernel metrics, rebased to minor community release.
* Mon Oct 19 2009 Martin Hicks <mort@sgi.com> - 3.0.1-2
- Remove IB dependencies. The Infiniband PMDA is being moved to
a stand-alone package.
- Move cluster PMDA to a stand-alone package.
2013-07-31 02:40:00 +00:00
* Fri Oct 09 2009 Mark Goodwin <mgoodwin@redhat.com> - 3.0.0-9
- This is the initial import for Fedora
- See 3.0.0 details in CHANGELOG