Accepting request 78620 from Base:System

- Update to pcp-3.5.8.
  + Rework rsyslog PMDA to remove Switch use, very odd behaviour
    observed on RHEL5.2 (mysteriously failing to compile).
  + Add in Kens scripting defenses against dodgey toolchains.

- Update to pcp-3.5.7.
  + Fix build issue on SLES11 SP1 IA64 systems.
  + Improved rsyslog PMDA handling of queue metrics.
  + Add open file-descriptor count metric to the Linux PMDA.
  + Implement logger PMDA line-oriented event mode.
  + Add regular expression based event filtering in logger PMDA.
  + The default pmcd.conf now has an access control section, and
    all remote store operations are blocked by default.

- Update to pcp-3.5.6.
  + Fix warning from pmie_daily with some /bin/pwd versions.
  + Numerous Debian packaging updates for lintian cleanliness.
  + Fixed typos in several man pages.
  + Added ElasticSearch PMDA.
  + Fix build on RHEL4 with older sys/queue.h variant.

- Update to pcp-3.5.5.
  + Resolve Debian packaging issues preventing new uploads.
  + Fix warnings from pmie_check with some /bin/pwd versions.
- Update to pcp-3.5.4.
  + Fix warnings from pmlogger_check with some /bin/pwd versions.
- Update to pcp-3.5.3.
  + Remove reliance on a cpp binary being installed locally.
  + Ensure compressed pmie log files are also cleaned up daily.
  + Extend the event store mechanism to be more generally useful. (forwarded request 78537 from dmdiss)

OBS-URL: https://build.opensuse.org/request/show/78620
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pcp?expand=0&rev=17
This commit is contained in:
Sascha Peilicke 2011-08-15 13:03:00 +00:00 committed by Git OBS Bridge
parent bc3d9302a7
commit 251dce2883
14 changed files with 994 additions and 5416 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,92 +0,0 @@
diff -ur pcp-2.5.0/configure.in pcp-2.5.0.SuSE/configure.in
--- pcp-2.5.0/configure.in 2005-11-29 02:39:26.000000000 +0100
+++ pcp-2.5.0.SuSE/configure.in 2006-01-16 16:22:45.462489138 +0100
@@ -1215,11 +1215,6 @@
break
fi
done
- if test -x /usr/lib/rpm/brp-compress
- then
- have_gzipped_manpages=true
- have_bzip2ed_manpages=false
- fi
fi
else
pcp_man_dir=`eval echo $mandir`
@@ -1229,6 +1224,11 @@
echo "FATAL ERROR: could not find find pcp_man_dir directory."
exit 1
fi
+if test -x /usr/lib/rpm/brp-compress
+then
+ have_gzipped_manpages=true
+ have_bzip2ed_manpages=false
+fi
AC_SUBST(pcp_man_dir)
AC_SUBST(have_gzipped_manpages)
AC_SUBST(have_bzip2ed_manpages)
@@ -1324,6 +1324,9 @@
if test $target_os = irix
then
pcp_doc_dir=/usr/pcp/doc
+ elif test -x /sbin/SuSEconfig
+ then
+ pcp_doc_dir=/usr/share/doc/packages/pcp
else
if test -d /usr/share/doc/packages
then
@@ -1349,6 +1352,9 @@
if test $target_os = irix
then
pcp_demos_dir=/var/pcp/demos
+ elif test -x /sbin/SuSEconfig
+ then
+ pcp_demos_dir=/var/lib/pcp/demos
else
if test -d /usr/share/demos
then
diff -ur pcp-2.5.0/src/pmdas/cisco/GNUmakefile pcp-2.5.0.SuSE/src/pmdas/cisco/GNUmakefile
--- pcp-2.5.0/src/pmdas/cisco/GNUmakefile 2005-11-29 02:52:32.000000000 +0100
+++ pcp-2.5.0.SuSE/src/pmdas/cisco/GNUmakefile 2006-01-16 12:46:38.444340290 +0100
@@ -49,6 +49,7 @@
install: default
$(INSTALL) -m 755 -d $(PMDADIR)
+ $(INSTALL) -m 755 -d $(PMIE)
$(INSTALL) -m 755 $(IAM) $(PMDADIR)/pmda$(IAM)
$(INSTALL) -m 755 probe parse Install Remove $(PMDADIR)
$(INSTALL) -m 644 $(DFILES) root help pmns domain.h $(PMDADIR)
diff -ur pcp-2.5.0/src/pmdas/shping/GNUmakefile pcp-2.5.0.SuSE/src/pmdas/shping/GNUmakefile
--- pcp-2.5.0/src/pmdas/shping/GNUmakefile 2005-11-29 02:53:55.000000000 +0100
+++ pcp-2.5.0.SuSE/src/pmdas/shping/GNUmakefile 2006-01-16 12:47:12.428062067 +0100
@@ -49,6 +49,7 @@
install: default
$(INSTALL) -m 755 -d $(PMDADIR)
+ $(INSTALL) -m 755 -d $(PMIE)
$(INSTALL) -m 755 $(IAM) $(PMDADIR)/pmda$(IAM)
$(INSTALL) -m 755 Install Remove $(PMDADIR)
$(INSTALL) -m 644 GNUmakefile.install $(PMDADIR)/Makefile
diff -ur pcp-2.5.0/src/pmpost/GNUmakefile pcp-2.5.0.SuSE/src/pmpost/GNUmakefile
--- pcp-2.5.0/src/pmpost/GNUmakefile 2005-11-29 02:47:22.000000000 +0100
+++ pcp-2.5.0.SuSE/src/pmpost/GNUmakefile 2006-01-13 13:55:30.200846770 +0100
@@ -34,7 +34,7 @@
include $(BUILDRULES)
install: default
- $(INSTALL) -m 4755 -o root $(CMDTARGET) $(PCP_BINADM_DIR)/$(CMDTARGET)
+ $(INSTALL) -m 4750 -o root -g trusted $(CMDTARGET) $(PCP_BINADM_DIR)/$(CMDTARGET)
default_pcp: default
--- pcp-2.5.0-51/src/libpcp/src/connect.c 2005-11-29 02:40:20.000000000 +0100
+++ pcp-2.5.0/src/libpcp/src/connect.c 2007-07-12 15:42:43.000000000 +0200
@@ -253,7 +253,7 @@
__pmConnectPMCD(const char *hostname)
{
__pmIPC ipcinfo = { UNKNOWN_VERSION, NULL };
- int sts;
+ int sts = -1;
int fd; /* Fd for socket connection to pmcd */
int port;
int i;

View File

@ -1,11 +0,0 @@
--- src/pmdas/linux/proc_pid.c
+++ src/pmdas/linux/proc_pid.c 2008/10/07 14:37:46
@@ -153,7 +153,7 @@
sprintf(buf, "/proc/%d/cmdline", pidlist[i]);
if ((fd = open(buf, O_RDONLY)) >= 0) {
sprintf(buf, "%06d ", pidlist[i]);
- if ((k = read(fd, buf+7, sizeof(buf))) > 0) {
+ if ((k = read(fd, buf+7, sizeof(buf)-7)) > 0) {
/* Remove NULL terminators from cmdline string array */
/* Added by Mike Mason <mmlnx@us.ibm.com> */
for (n = 7; n < k + 6; n++) {

View File

@ -1,42 +0,0 @@
===========================================================================
Index: src/include/impl.h
===========================================================================
--- a/src/include/impl.h 2006-05-25 12:27:12.000000000 +1000
+++ b/src/include/impl.h 2006-05-25 12:27:12.000000000 +1000
@@ -16,7 +16,7 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
-#if defined(HAVE_NDBM_H)
+#if (defined __sgi) && (defined mips) && (defined HAVE_NDBM_H)
#include <ndbm.h>
#endif
#include <time.h>
@@ -654,7 +654,7 @@
bozo - unknown size of long !!!
#endif
-#ifdef HAVE_NDBM_H
+#if (defined __sgi) && (defined mips) && (defined HAVE_NDBM_H)
/*
* If you use help files created via "newhelp -v1" and ndbm(3B), then
* this is the key you should use, i.e. dptr -> __pmHelpKey and
@@ -664,6 +664,8 @@
int ident; /* PMID or InDom */
int type;
} __pmHelpKey;
+
+extern char *__pmGetText(DBM *, int, int);
#endif
/*
@@ -676,8 +678,6 @@
#define PM_TEXT_PMID 4
#define PM_TEXT_INDOM 8
-extern char *__pmGetText(DBM *, int, int);
-
/*
* Quick-and-dirty pool memory allocator ...
*/

View File

@ -1,12 +0,0 @@
diff -ur pcp-2.5.0-51/src/pmns/GNUmakefile pcp-2.5.0/src/pmns/GNUmakefile
--- pcp-2.5.0-51/src/pmns/GNUmakefile 2005-11-29 02:41:56.000000000 +0100
+++ pcp-2.5.0/src/pmns/GNUmakefile 2007-07-12 14:35:11.000000000 +0200
@@ -70,7 +70,7 @@
install: default
$(INSTALL) -m 755 $(TARGETS) $(SCRIPTS) $(PMNS_BIN_DIR)
$(INSTALL) -m 755 $(LOCKERS) $(PMNS_LIB_DIR)
- $(INSTALL) -m 755 GNUmakefile.install $(PMNS_VAR_DIR)/Makefile
+ $(INSTALL) -m 644 GNUmakefile.install $(PMNS_VAR_DIR)/Makefile
$(INSTALL) -m 755 Rebuild4linux $(PMNS_VAR_DIR)/Rebuild
$(INSTALL) -m 755 Make.stdpmid $(PMNS_VAR_DIR)/Make.stdpmid
$(INSTALL) -m 644 $(STDPMIDS) $(PMNS_VAR_DIR)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eff19fdca0fbf57e0c60049a3ba57210b96770fe44e5ab81a8189e423f4017b8
size 1396887

3
pcp-3.5.8-1.src.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:28808981cd3505da5ac723e1f7a6ad25ce47ae50012ada7624fa6f1eb91061c7
size 2440119

File diff suppressed because it is too large Load Diff

View File

@ -1,39 +0,0 @@
--- src/pmcd/rc_pcp
+++ src/pmcd/rc_pcp
@@ -31,8 +31,8 @@
# e.g. SuSE, where chkconfig is a perl script.
### BEGIN INIT INFO
# Provides: pcp
-# Required-Start: $network
-# Required-Stop:
+# Required-Start: $network $remote_fs
+# Required-Stop: $network $remote_fs
# Default-Start: 2 3 5
# Default-Stop:
# Description: Configure the Performance Co-Pilot and starts logging.
--- src/pmie/etc_init.d_pmie
+++ src/pmie/etc_init.d_pmie
@@ -30,8 +30,8 @@
# e.g. SuSE, where chkconfig is a perl script.
### BEGIN INIT INFO
# Provides: pmie
-# Required-Start: $network
-# Required-Stop:
+# Required-Start: $network $remote_fs
+# Required-Stop: $network $remote_fs
# Default-Start: 2 3 5
# Default-Stop:
# Description: pmie is a performance monitoring inference engine
--- src/pmproxy/rc_pmproxy
+++ src/pmproxy/rc_pmproxy
@@ -31,8 +31,8 @@
# e.g. SuSE, where chkconfig is a perl script.
### BEGIN INIT INFO
# Provides: pmproxy
-# Required-Start: $network
-# Required-Stop:
+# Required-Start: $network $remote_fs
+# Required-Stop: $network $remote_fs
# Default-Start: 2 3 5
# Default-Stop:
# Description: Control pmproxy for PCP

View File

@ -1,73 +0,0 @@
---
src/include/builddefs.in | 2 +-
src/include/buildrules | 2 +-
src/pmdas/simple/GNUmakefile.install | 2 +-
src/pmdas/trace/GNUmakefile.stub | 2 +-
src/pmdas/trivial/GNUmakefile.install | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
Index: pcp-2.5.0/src/include/builddefs.in
===================================================================
--- pcp-2.5.0.orig/src/include/builddefs.in
+++ pcp-2.5.0/src/include/builddefs.in
@@ -56,7 +56,7 @@ PTHREAD_LIB=@ac_cv_pthread_lib@
PCP_LIBS = -L$(TOPDIR)/src/libpcp/src -L$(TOPDIR)/src/libpcp_pmda/src
# platform-specific CFLAGS, LDLIBS, and shared library extension
-PCFLAGS = -fpic -fno-strict-aliasing
+PCFLAGS = -fPIC -fno-strict-aliasing
DSOSUFFIX = so
EXECSUFFIX =
PLDFLAGS =
Index: pcp-2.5.0/src/include/buildrules
===================================================================
--- pcp-2.5.0.orig/src/include/buildrules
+++ pcp-2.5.0/src/include/buildrules
@@ -41,7 +41,7 @@ ifeq ($(TARGET_OS), linux)
_SHAREDOPTS = -shared -Wl,-soname,$(LIBTARGET)
endif
ifeq ($(TARGET_OS), solaris)
-_SHAREDOPTS = -shared -fpic
+_SHAREDOPTS = -shared -fPIC
endif
ifeq ($(TARGET_OS), darwin)
# libtool doesnt understand -dynamiclib so we need both
Index: pcp-2.5.0/src/pmdas/simple/GNUmakefile.install
===================================================================
--- pcp-2.5.0.orig/src/pmdas/simple/GNUmakefile.install
+++ pcp-2.5.0/src/pmdas/simple/GNUmakefile.install
@@ -44,7 +44,7 @@ LDOPTS =
LDLIBS = -lpcp_pmda -lpcp
ifeq "$(PCP_PLATFORM)" "solaris"
-DSOOPTS = -fpic -shared
+DSOOPTS = -fPIC -shared
else
DSOOPTS = -shared -Wl,-soname,$(LIBTARGET)
endif
Index: pcp-2.5.0/src/pmdas/trace/GNUmakefile.stub
===================================================================
--- pcp-2.5.0.orig/src/pmdas/trace/GNUmakefile.stub
+++ pcp-2.5.0/src/pmdas/trace/GNUmakefile.stub
@@ -28,7 +28,7 @@ CFILES = stub.c
CFLAGS += -DPMTRACE_DEBUG
HAVE_64 = $(shell test `uname -m` = "ia64" && echo 1 || echo 0)
ifeq ($(HAVE_64), 1)
-CFLAGS += -fpic -fno-strict-aliasing
+CFLAGS += -fPIC -fno-strict-aliasing
endif
LDIRT = lib lib32 lib64
Index: pcp-2.5.0/src/pmdas/trivial/GNUmakefile.install
===================================================================
--- pcp-2.5.0.orig/src/pmdas/trivial/GNUmakefile.install
+++ pcp-2.5.0/src/pmdas/trivial/GNUmakefile.install
@@ -44,7 +44,7 @@ LDOPTS =
LDLIBS = -lpcp_pmda -lpcp
ifeq "$(PCP_PLATFORM)" "solaris"
-DSOOPTS = -fpic -shared
+DSOOPTS = -fPIC -shared
else
DSOOPTS = -shared -Wl,-soname,$(LIBTARGET)
endif

View File

@ -1,10 +1,12 @@
--- configure.in
Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -425,6 +425,7 @@
@@ -545,6 +545,7 @@ NR == 1 { if ($1 != "UID" && $1 != "US
# Unix variants
$2 == 1 && / init/ { print "OK"; exit }
$2 == 1 && / \/etc\/init/ { print "OK"; exit }
+$2 == 1 && / \/bin\/bash/ { print "OK"; exit }
# Interix (aka SFU)
$2 == 0 && /IdleProcess/{ print "OK"; exit }
# Cygwin
# Fedora 9
$2 == 1 && / \/sbin\/init/ { print "OK"; exit }
# Fedora 15

View File

@ -1,3 +1,536 @@
-------------------------------------------------------------------
Wed Aug 10 12:39:05 CEST 2011 - ddiss@suse.de
- Update to pcp-3.5.8.
+ Rework rsyslog PMDA to remove Switch use, very odd behaviour
observed on RHEL5.2 (mysteriously failing to compile).
+ Add in Kens scripting defenses against dodgey toolchains.
-------------------------------------------------------------------
Tue Aug 9 10:56:34 CEST 2011 - ddiss@suse.de
- Update to pcp-3.5.7.
+ Fix build issue on SLES11 SP1 IA64 systems.
+ Improved rsyslog PMDA handling of queue metrics.
+ Add open file-descriptor count metric to the Linux PMDA.
+ Implement logger PMDA line-oriented event mode.
+ Add regular expression based event filtering in logger PMDA.
+ The default pmcd.conf now has an access control section, and
all remote store operations are blocked by default.
-------------------------------------------------------------------
Mon Aug 1 18:50:18 CEST 2011 - ddiss@suse.de
- Update to pcp-3.5.6.
+ Fix warning from pmie_daily with some /bin/pwd versions.
+ Numerous Debian packaging updates for lintian cleanliness.
+ Fixed typos in several man pages.
+ Added ElasticSearch PMDA.
+ Fix build on RHEL4 with older sys/queue.h variant.
-------------------------------------------------------------------
Thu Jul 7 12:17:17 CEST 2011 - ddiss@suse.de
- Update to pcp-3.5.5.
+ Resolve Debian packaging issues preventing new uploads.
+ Fix warnings from pmie_check with some /bin/pwd versions.
- Update to pcp-3.5.4.
+ Fix warnings from pmlogger_check with some /bin/pwd versions.
- Update to pcp-3.5.3.
+ Remove reliance on a cpp binary being installed locally.
+ Ensure compressed pmie log files are also cleaned up daily.
+ Extend the event store mechanism to be more generally useful.
+ Add memory limiting functionality to pmdalogger.
+ Add SQLServer metric for user settable queries.
+ Fix potential sigsegv in pmprobe fetching multiple live values.
+ Perl changes for Solaris.
+ Fix Fedora15 build relating to handling of systemd.
+ Solaris pmda zpool_vdev_name() api change.
+ Update sar2pcp for sysstat version 9.1.7.
+ Resolve realloc issue in event metric handling in libpcp_pmda.
- Update to pcp-3.5.2.
+ pmlogreduce - fix 2 problems (memory leak, additional mark records)
+ Initial version of pmdalogger, from David Smith, a log monitoring
PMDA exporting event metrics.
+ Make Windows drive instance domain code less chatty.
+ RC scripts and pmie_check - Mac OS X porting
+ pmlogger_check - symbolic link issue fixed
+ Add in the rsyslog PMDA (http://www.rsyslog.com)
+ Extend PCP::PMDA so that the log tail mode can be used on named papes.
+ Numerous updates to the Perl packaging infrastructure
+ Fix build when $HOME is not set.
+ pmlogconf - another non-posix awk issue fixed
+ Darwin pmda - filesys.maxfiles metric
+ pmie_daily - assorted minor fixups
+ Unix domain socket issue found on Mac OS X
+ pmcd config parsing error handling cleanup
+ Quieten pmevent output in the absence of new events.
+ Pass process ID out on success of __pmProcessCreate.
+ pmdaproc.sh - add PMDA_INTERFACE_5 support
+ pcp_completion.sh - add pmevent for bash metic completion
+ pmevent - add instance domain support
+ Bugfix: fetching hinv.cpu.* aborts if cpu indom is not initialized
+ Rearrange the per-CPU intr metrics on Linux to use dynamic namespace
+ Add perl modules into Mac OS X installations
+ Additional vmstat metrics added to Linux kernel PMDA
+ Fix pmieconf after syscall metrics went away on Linux
+ pmevent - new util to report event records, with instance domain support
+ sample PMDA - instance domain for event records metric
+ pmval, pminfo - man page typo corrections
+ pmval - fix typo in error message
+ pmlogextract, pmlogreduce - auto volume switch at 2^31 bytes
+ pmnscomp - defaults to Version 2 of the compiled PMNS
+ Remove unconditional diagnostic in MMV agent, log spam
+ Rework the code that uncompresses archives for Win32
+ Updates to Win32 makefiles to get a clean package build
+ Enable compressed log processing for Windows as well
+ Sample event consumer code for Windows ETW
+ Update PDH Win32 headers to use those from current mingw-m64 tree
+ Win32 socket error messages are reporting correctly
+ Great strides in getting error reporting correct on Windows
+ Add Win32 pthread wrapper for threading work on Windows
+ Add PowerDNS recursor stats to the pdns PMDA
- Update to pcp-3.5.0.
+ Infrastucture support for doing distributed event tracing with PCP.
This includes a new metric type (PM_TYPE_EVENT), cunning mechanisms
for encoding event records in pmResults, and providing PMDAs with
per-client context connection information allowing agents to track
which clients have seen which parts of a trace stream so far. Some
reference uses of these extensions can be seen in pmdasample and in
the pmcd PMDA as well.
+ Transparent support for archive de-compression by clients.
+ Manual page formatting errors corrected.
+ Fix a pmDupContext memory corruption issue seen with derived metrics.
+ Added a one-trip optimisation/guard to pcp.env
+ Improved pmdaFetch and pmdaFetchCallback man pages with respect to
return codes and value memory allocation models.
+ Fix for Windows unintentionally allowing multiple pmcd processes
to startup and bind to the same port, with "undefined" results.
+ Fix Windows services interaction, preventing pmcd service stop.
+ Fix Mac OS X scandir memory leak on empty directories.
+ Fix Mac OS X mem.util.wired metric, was exporting the wrong value.
+ Correct the handling of SLES11 distro identification (lsb-release
file not used again, on SuSE Linux distributions).
+ Fix postfix PMDA log file path handling for Redhat Linux distros.
+ Extend Perl PMDA interfaces to allow additional metrics to be
added at runtime (now makes use of dynamic namespace support).
+ Set KEEPALIVE option on pmproxy client sockets, mirroring pmcd
behaviour and reducing open file descriptor pressure.
+ Improvements to the native Windows version of pmlogger, preventing
it from exiting prematurely thanks to a socket read race condition.
+ Fix /proc/interrupts parser in Linux PMDA, thanks to Arthur Kepner.
-------------------------------------------------------------------
Mon Jan 24 15:00:50 CET 2011 - ddiss@suse.de
- Update to pcp-3.4.0.
+ Add new libpcp_import C API library to pcp-libs.
+ Add perl-PCP-LogImport RPM sub-package for libpcp_import perl binding.
+ Add pcp-import-* RPM sub-packages containing front-end tools for
importing data from sar, iostat, generic speadsheets and mrtg.
+ Major Solaris PMDA updates: CPUs, vnode ops, disk stats and disk queue
stats, switch to using pmid clusters, internal timers, ZFS Adjustable
Replacement Cache stats, new help text, memory metrics, fsflush stats.
+ Use Solaris devinfo to get information about pretty disk names.
+ Fix a memory leak in Perl PMDA wrapper string handling.
+ Use correct structure to extrace zpool write counters in Solaris PMDA.
+ pmafm now supports multiple -a arguments.
+ Fix pmie multiple -a options bug.
+ Fix pmdaInit() callback handling where it did not handle all the
interface versions correctly.
+ Quote filenames reported by pmwtf, else awk can get confused.
+ Fix pmdawindows missing metrics help text.
+ Add network interface speed metrics into pmdawindows.
+ Fix pmdalinux handling of long network interface names.
+ Updated pmdaapache to use cross-platform http library.
+ Updated pmdaapache install process to allow port selection.
- Update to pcp-3.3.3.
+ Fix two off-by-one errors in NUMA metrics in Linux PMDA.
+ Rework timezone environment variable handling to be able to
coexist more peacefully with Perl.
+ Remove Fedora specfile now that this is in Fedora CVS.
- Update to pcp-3.3.2.
+ Fix FreeBSD build and packaging issues affecting Debian.
+ Move PCP::Glider Perl code into core PCP with other Perl modules.
+ Avoid a mingw64-compiler-runtime bug in gettimeofday.
+ Fix spec file issue in Fedora/RHEL builds.
+ Add in the gpsd PMDA.
- Update to pcp-3.3.1.
+ Fix a sigsegv in pmdalinux in the kernel.pernode.cpu metrics.
+ Don't kill dbpmda if namespace cannot be loaded.
+ Resolve a Windows build error under latest toolchain.
+ Some minor pmieconf and pmimport related cleanups.
- Update to pcp-3.3.0.
+ Rework pmlogconf utility - version 2.0 ondisk format.
+ Initial support for Linux kernel cgroup subsystem, using dynamic
metrics (cpu sets, cpu sched, cpu acct, memory, ...)
+ Fix per-process I/O (proc.io.*) metric values.
+ Fix potential SEGV in derived metrics when pmcd connection lost.
+ Fix to allow pmlogger to log derived metrics.
+ Fix open file descriptor leak in Linux disk scheduler code.
+ Postfix PMDA updated to report aggregate stats from mail.log parsing.
+ Add per-node CPU metrics to Linux kernel agent.
+ Integrate pmieconf into the build, modernisation and porting work.
+ Add install-sh to the set of pcp-internal programs for external code.
+ Improved checking of PMDA domain numbers.
+ Allow use of SunStudio compiler on Solaris.
+ Add load average metrics to Solaris kernel agent.
+ Windows 7 porting work.
+ Make Win32 build work with more recent versions of gcc and Perl.
+ Fix pmie [no]match_inst botch, tweak sleepTight reporting.
+ Allow \$ for pmie regular expressions.
+ Ensure pmlogger doesn't write extended pmcd host syntax as hostname.
+ Switch over to not using local context for bash completion.
+ Improve Lustre agent metric help text.
+ Added a readonly filesystems metric into Linux kernel agent.
+ Ensure xfs.buffer metrics are always properly refreshed.
+ Add Linux kernel statistics related to XFS btree operations.
- Update to pcp-3.2.1.
+ Export information about ZFS snapshots
+ Correct accounting of PMNS size in a libpcp_pmda helper routine.
- Update to pcp-3.2.0.
+ Change how PM_CONTEXT_LOCAL determines available PMDAs:
rework local context code to retire $PMDA_LOCAL_*, build DSO table
from pmcd.conf at run-time, new __pmLocalPMDA and __pmSpecLocalPMDA
routines in libpcp, -K options for pminfo, pmval and pmprobe.
+ Make some pmda dynamic name operations take (const char *) args.
+ Fix bash completion so dynamic names expanded, and stderr culled
(culling DSO agent initialisation messages).
+ Improve pmlogger handling of alias names (same PMID, different names).
+ Honour the -T command line option in pmlogreduce.
+ Resolve an MMV issue evident in the Mac OS X installer, which resulted
in failed dmg (binary) installation attempts.
+ Solaris startup script improvements.
+ Add details of the extended hostname syntax to pcpintro(1).
+ Fix a memory leak in pmdawindows help text handling.
+ Fix a memory leak in pmdammv help text handling.
+ Add anonymous huge page Linux memory utilisation metric.
+ Fix local context reporting of help text.
+ Solaris man page build changes.
+ Clean up diagnostic messages in pmlogextract.
+ Teach pmdaproc about Solaris' ping.
+ If pmstat fails to connect to local pmcd, fallback to local context.
+ Mark as const the final (requested units) pmConvScale argument
+ Clean out SGI-isms from build related files (no longer used by SGI).
+ Fix mem.numa.util.NFS_Unstable metric.
+ Removed pmdajstat, this has long been superceded by the capabilities
of the Parfait package for instrumenting Java applications with PCP.
- Update to pcp-3.1.2.
+ Add indom save and restore logic into Windows PMDA.
+ Fix a typo in the Postfix PMDA.
+ Update and extend /proc/meminfo stats on Linux.
+ Improve handling of monitored process in pmdammv, especially
when the monitored process exits (pmns not cleaned up before).
- Update to pcp-3.1.1.
+ Use a better MMV generation number, using all bits available.
+ Fix a metric count calculation error in pmdammv.
+ Add precision argument (-p) to pmwtf.
+ Added an open socket sockname command to dbpmda.
+ Remove use of grep -q, unavailable on OpenSolaris.
+ Couple of trivial build fixes for the Win32 platform.
- Update to pcp-3.1.0.
+ Derived metric support.
+ Fix a memory leak in the Solaris kernel PMDA.
+ Extract information about network links on Solaris.
+ MMV PMDA (DSO) is now installed and enabled by default.
+ Reintroduced MMV support for cross-(mmap-)file instances.
+ Bug fix in pmdammv which was capable of causing SIGSEGV.
+ Add dbpmda readline support (and packaging dependencies).
+ Add in -Z option to pmwtf, to pass through to pmlogsummary.
+ Export NUMA memory statistics from the linux kernel.
+ Make pmie_check work on Solaris.
+ Make perdisk stats part of the zpool hierarchy.
+ dbpmda fix for name lookup and dynamic metrics.
+ Add a new PMDA exporting the Postfix queue lengths.
+ BuildRequires initscripts for %{_vendor} == redhat.
- Update to pcp-3.0.2.
+ Improvements and fixes to PCP::PMDA perl module.
+ Added the SQL Server dtsrun log file parser PMDA.
+ Switch MMV PMDA to use dynamic namespace interfaces, which resolves
long-standing spurious EAGAIN error on reconfiguration.
+ Separate out the Infiniband and cluster PMDAs into their own
package - removing dependencies and configure complexities from
pcp into specialised, layered packages.
+ Configure packaging to use libexecdir for private pcp binaries,
if supported on the platform (also honour --libexecdir configure flag)
+ Add sysfs.kernel metrics cluster to Linux PMDA.
- Update to pcp-3.0.1.
+ Reverted rc scripts default start/stop settings back to how
it was in 2.9.3-1, for Debian bug #544350. On Red Hat platforms,
the RPM spec overrides this to be chkconfig off by default.
+ Lexical analyser tweaks (various tools) to work on Windows.
+ pmlogextract change timezone selection algorithm, add -f for old behaviour
+ configure.in clean up more thoroughly on Mac OS X
+ Get pcp building on Debian GNU/kFreeBSD port.
+ Add missing return statement causing incorrect mem.util on Win32.
+ Improved support for Slackware distro makepkg packaging
+ Solaris fixes: pass information about compiler into Perl PMDA makefiles,
don't change pointer types of pmCtime's arguments, deal with default lex
+ Move Infiniband and Cluster PMDAs to a stand-alone packages
+ Trim the set of RPM files marked as %config to just those
that are actually likely to be edited (rpm -qlcv pcp pcp-libs).
- Update to pcp-3.0.0.
+ PMDA_INTERFACE_4 and the support of dynamic subtrees of the PMNS
where the PMDA (not PMCD) maintains knowledge of the PMNS.
+ RPM packaging split into pcp, pcp-libs and pcp-libs-devel
pcp-libs is common - it's required by pcp and by pcp-libs-devel but
pcp and pcp-libs-devel can be installed with or without each other.
+ Added separate specific licenses for the new subpackages,
particularly pcp-libs, which is LGPL.
+ Added ldconfig %post and %postun scriptlets for -libs
+ Don't explicitly require Infiniband libs, since they're libs and RPM
figures it out
+ No need to explicitly BuildRequire gcc-c++ libstdc++-devel
+ Add BuildRequires on perl-ExtUtils-MakeMaker
+ Remove explicit ia64 Requires: libunwind
+ Preserve generated gram.tab.c in several places since debuginfo needs it
+ Create %{_localstatedir}/run/pcp and ship it (so it'll be removed)
+ Use %doc in spec for CHANGELOG COPYING INSTALL README VERSION.pcp pcp.lsm
+ Tweak configure to move PCP_BINADM_DIR out of /usr/share, into /usr/lib.
Arch dependent binaries should not be installed below /usr/share.
+ Delete unneeded "explicit script interpreter" in several places
to keep rpmlint happy
+ Remove setuid from pmpost, not needed (and not in debian either)
+ Nuke the migrate_pcp_var_dir, script and it's %post scriptlet
+ Default "chkconfig off" for all PCP services (retain settings on upgrade)
+ Clean-up and simplify the %post scriptlets (rather dramatically)
+ Don't ship static libraries in Fedora, we have the debug package for that
+ Install .NeedRebuild, add to %files and remove crud from %post scriptlets
+ Added %changelog in RPM spec and moved %files to end before %changelog
+ Move demos, examples and demo PMDAS to the libs-devel package since they
are not used for production (but are useful for devel and needed for QA).
+ Don't install trace demo binaries since src is installed anyway
+ Reconciled build/rpm/pcp.spec.in with build/rpm/pcp_fedora.spec
+ Integrated RPM packaging support for perl-PCP-PMDA and perl-PCP-MMV
(but perl-PCP-Logsummary is not currently shipped in RPM packages)
+ RPM build requires perl(ExtUtils::MakeMaker) rather than
perl-extutils-makemaker (this is the standard notation)
+ For easier upgrades, the perl PMDAs only really require pcp >= package
version (until we change or extend an API).
+ ReplacePmnsSubtree fix bad signal handling botch (affecting MMV PMDA)
+ Fix pmcd.timezone metric such that value updates on daylight savings
(or other timezone) changes.
+ Initial packaging work for Slackware Linux, thanks to Roman Revyakin.
- Update to pcp-2.9.3.
+ configure.in fix for Windows iptypes.h header.
+ Fixup Windows SQL Server metrics on 64 bit platforms.
- Update to pcp-2.9.2.
+ Final iteration on pmval sample count changes.
+ Build fallout on Mac/Win32 in MMV client library.
+ Tidy configure.in sys/stat time field/types handling for Alpha builds.
- Update to pcp-2.9.1.
+ Fix a long-standing pmval sample count miscalculation.
+ Add missing runlevels and dependencies in start scripts.
+ Fix a segv observed in the Windows PMDA accessing SQL Server metrics.
+ Fix logic error causing wrong Windows version to be reported sometimes.
+ Add kernel.all.uptime to the Windows kernel agent.
+ Initial version of the (perl-based) Samba PMDA.
+ Fixes to pmdasimple.pl so it functions correctly on all platforms.
+ Add PCP::PMDA helper routines for determining native long sizes.
+ Extend MMV to allow teardown of MMV file, and set errno on failure.
+ Initial stable (1.00) version of MMV Perl interface.
+ Correct the metric units for several Windows per-process memory metrics.
+ Add network metrics to Solaris PMDA
+ Report ZFS statistics from Solaris PMDA
+ Export zpool stats from Solaris PMDA
+ Generate packages for Solaris
+ Allow user to choose her compiler (proper use of AC_PROG_CC)
- Update to pcp-2.9.0.
+ Fix Linux PMDA issue with -fstack-protector gcc option.
+ Get socket daemon PMDAs working with Win32 pmcd.
+ Bind 9.4 PMDA.
+ PowerDNS PMDA.
+ Fix atexit handling in the Perl PMDA module.
+ Fix a duplicate PMID in the MySQL PMDA.
+ Infiniband PMDA improvements and man page.
+ Minor packaging tweaks for rpm and deb formats.
- Update to pcp-2.8.12.
+ Bug fixes in Zimbra and MySQL PMDAs.
+ Fix memory leaks in the Perl PMDA interface.
+ Fix the Mac OS X pmdadarwin metric table direct mapping.
- Update to pcp-2.8.11.
+ Rework namespace file generation for Perl PMDAs.
- Update to pcp-2.8.10.
+ RPM packaging fixes for Perl modules.
- Update to pcp-2.8.9.
+ Remove Cygwin support, we're now committed to native Win32
port - first production install yesterday, hooray!
+ Further Win32 work - wrapper batch files for shell scripts
run as commands, moved daemon configs into $PCP_DIR/etc,
bug fixes to process creation code.
+ Significant work on the MMV PMDA, including revamped API,
Perl API, updated on-disk support with string values and
help text support, amongst other changes.
+ Fix build of Perl PMDA module when PCP not installed.
+ Fix Zimbra PMDA status metrics.
- Update to pcp-2.8.8.
+ Added a Zimbra Collaboration Suite PMDA.
+ Build fixes for OpenSolaris.
+ Perl PMDA fixes in tail mode.
+ Correct physical memory reporting in Windows PMDA on 32 bit
machines.
+ Other small tweaks and improvements to Windows PMDA also.
- Update to pcp-2.8.7.
+ Windows PMDA major rework to improve memory footprint.
+ Yet another Mac OS X build issue resolution.
- Update to pcp-2.8.6.
+ Fix build on Mac OS X after lex warning cleanups.
+ Fix pmdate build when PCP headers not in the root.
+ A single PMNS domain number file now used in-tree.
+ Added tmpfs filesystem metrics to Linux PMDA.
- Update to pcp-2.8.5.
+ Packaging tweaks for Debian (builddefs/rules moved).
+ Make timezone manipulation in Windows work (mimic MSYS).
+ Numerous warnings fixed.
+ Several changes to tempfile handling for Vista.
+ Make setting pcp_rc_dir in configure.in more robust.
+ Further pathname separator auditing for Windows.
+ Fixed a libpcp_gui linker issue on Mac OS X.
- Update to pcp-2.8.4.
+ Descend into src/bashrc. D'oh!
- Update to pcp-2.8.3.
+ Bash auto-completion of metric names.
+ Fix a memory leak in xfs project quotas metrics.
+ Several Win32 fixes for Windows Server 2008.
+ Add Linux per-CPU and aggregate "guest" CPU utilisation metrics.
+ Add a pmlogsummary option to report a "header" line (-H).
+ Add optional pmstat support for time control via pmtime.
+ Add pmcd.client.* metrics for identifying connected clients.
- Update to pcp-2.8.2.
+ Fix pmie bug in the handling of && and || operators.
+ Improve daily pmie/pmlogger script behaviour.
- Update to pcp-2.8.1.
+ Fix build issue with libpcp_mmv - would not build-from-source
if <pcp/pmapi.h> was not in the root filesystem.
+ Finer control of pmie2col(1) reporting precision.
- Update to pcp-2.8.0.
+ Linux netfilter (IP connection tracking) PMDA included
+ Memory Mapped Value (MMV) PMDA and client library included
+ Linux bonding (bonded network interface) PMDA included
+ Lustre PMDA included
+ Added pcp_gui library as pcpmon replacement, supporting the
new (open source) version of pmtime for console tools.
+ Perl PCP::LogSummary module included.
+ KVM (Linux Kernel Virtualisation layer) PMDA
+ Infiniband PMDA included
+ VMware PMDA included
+ Perl PCP::PMDA module completed, stabilised and incorporated.
+ Default pmcd and pmproxy ports changed to IANA registered ones.
( The old behaviour - i.e. both original and IANA ports - is
still available using PMCD_PORTS and PMPROXY_PORTS variables ).
- Update to pcp-2.7.7.
+ Infiniband metric enhancements
+ Handle missing "which" binary during rpm installation
+ Added new quota metrics (XFS project quota)
+ Aggregate and per-CPU hypervisor "steal" time metrics added
+ NFS v4 metrics
+ commitLimit meminfo metric added
+ Namespace locking fix in pmdaproc.sh
+ Additional Windows memory metrics
+ Several pmie fixes from Ken
+ Kens pmlogreduce archive corruption fix
+ Kens pmproxy PDU size fix
+ Nathan's pmlogsummary sum calulation fix
+ Added a (cheap) runnable processes metric.
- Update to pcp-2.7.4.
+ MaxOSX and Debian/Ubuntu build/package fixes
+ Add sqlserver active_transactions metrics to the Windows PMDA.
+ Fix a pmie_check typo causing mis-identification of pmie processes.
+ Allow pmie and/or operators to function with some data missing.
+ Resolve path naming issues with more recent versions of autoconf.
+ pmlogsummary report sum option
+ pmval kmtime support
+ Additional Linux SNMP metrics
+ Fix Linux vmstat nr_slab metrics
+ Make pcp status command report build version
+ Windows split_io metrics
+ Fix pmdapmcd empty pmie instance
+ pmdamailq filename regex
+ Windows TCP metrics
+ pmie log file rotation
+ Changed the default compression program to be bzip2(1)
- Update to pcp-2.7.3.
+ add network.ib.control to timeout infiniband stats workthread
+ add mem.util.anonpages
- Update to pcp-2.7.2.
+ pcp doc updates
+ pmdalinux death from open file descriptors: pclose needed in network.ib
+ network.ib stats updated to cope with OFED 1.2 changes
+ some numa.link fixes for shub2 & NL4
+ Improve start/stop times of pmcd,pmlogger,pmie
+ create portable pmsleep (subsecond sleep) exe
- Update to pcp-2.7.0.
This log has been allowed to lapse for some time. Blanket catch-up..
the following PVs describe changes made in that time:
+ 947510 - UNIX95 patches break pcp tools
+ 948548 - [SUSE#182852] Buffer overflow in linux proc_pmda
+ 948551 - Update pcp configure and build infrastructure
+ 948799 - Move telnet-probe to oss part of pcp
+ 948958 - *nodeid conversions have inconsistent naming
+ 952623 - possible use-after-free of pmProfile objects used by pmda
+ 952932 - pcp-open RPM requires libpcp.so.2 but doesn't provide it
+ 953015 - Promote libpcp_pmc to DSO
+ 953301 - Update irix pcp bits
+ 953876 - Use swap.pagesin/pagesout instead of swap.in/.out in pmstat
+ 954035 - Update macosx build infrastructure
+ 954165 - pmdumptext reports wrong time with sub-second intervals
+ 954173 - pmReceiveNamesOfChildren returns bogus value
+ 954203 - pmnscomp generates bogus binary pmns files
+ 954342 - Add support for FreeBSD
+ 954343 - Update windows pmda
+ 954432 - Use a pidfile to stop pcp
+ 954652 - telnet-probe ate my arguments
+ 954842 - Update qa on sles10 for pcp 2.5 and 2.6
+ 956190 - add IB traffic stats to linux PMDA
+ 956199 - pmlogsummary double free causes graph failures
+ 957598 - add debuginfo to pcp-open build in mangrove
+ 957758 - valgrind finds "invalid read of size 8" etc in __pmStuffValue
+ 957884 - need network.ib.status for per-port IB status and description
+ 958273 - If OFED is installed but no ports are found, return PM_ERR_VALUE from refresh_ib
+ 958379 - IB PMDA broken (port num appearing twice in perfquery calls)
+ 958476 - path to pmie_check binary incorrect in pmie crontab config file
- Update to pcp-2.5.0-2.
+ 947602 - pmdas/aix/common.h is missing from the tarball
-------------------------------------------------------------------
Thu Feb 11 00:44:51 UTC 2010 - jengelh@medozas.de

537
pcp.spec
View File

@ -1,7 +1,7 @@
#
# spec file for package pcp (Version 2.5.0)
# spec file for package pcp
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,252 +17,367 @@
# norootforbuild
Name: pcp
Version: 3.5.8
%define pcp_release 1
Release: %{pcp_release}
Summary: System-level performance monitoring and performance management
License: GPLv2
URL: http://oss.sgi.com/projects/pcp
Group: System/Monitoring
Source: %{name}-%{version}-%{pcp_release}.src.tar.gz
Distribution: suse
Requires: pcp-libs = %{version}
Requires: bash gawk sed grep fileutils findutils
%if "%{_vendor}" == "suse"
Requires: sysconfig cpp
%else
Requires: initscripts
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-build
BuildRequires: procps autoconf bison flex ncurses-devel readline-devel
BuildRequires: perl(ExtUtils::MakeMaker)
Patch6: pcp-xenbuild.patch
Patch9: static_lib_perms.diff
Name: pcp
BuildRequires: bison flex gcc-c++ ncurses-devel procps
Version: 2.5.0
Release: 130
Summary: Performance Co-Pilot (system-level performance monitoring)
License: GPLv2+
Url: http://oss.sgi.com/projects/pcp
Group: System/Monitoring
Source: pcp-%{version}.src.tar.gz
Patch0: pcp-%{version}-SuSE.diff
Patch1: pcp-%{version}-ndbm.diff
Patch2: pcp-%{version}-rpmlint.diff
Patch3: pcp-gcc43.patch
Patch4: pcp-init.patch
Patch5: pcp-2.5.0-buffer-overflow.diff
Patch6: pcp-xenbuild.patch
Patch7: pcp-2.5.0-GCC44.patch
Patch8: pcp-pic.diff
PreReq: %insserv_prereq %fillup_prereq permissions
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Performance Co-Pilot (PCP) is a framework and services to support
system-level performance monitoring and performance management.
Authors:
--------
SGI OSS <owner-pcp@oss.sgi.com>
%description
Performance Co-Pilot (PCP) provides a framework and services to support
system-level performance monitoring and performance management.
%package devel
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/C and C++
License: GPLv2+
Requires: %{name} = %{version}
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.
%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
#
# pcp-libs
#
%package libs
License: LGPLv2+
Group: System/Libraries
Summary: Performance Co-Pilot run-time libraries
URL: http://oss.sgi.com/projects/pcp/
Obsoletes: pcp < 3.0
%description libs
Performance Co-Pilot (PCP) run-time libraries
#
# pcp-libs-dvel
#
%package libs-devel
License: GPLv2
Group: Development/Libraries/Other
Summary: Performance Co-Pilot (PCP) development headers and documentation
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp-libs = %{version}
Authors:
--------
SGI OSS <owner-pcp@oss.sgi.com>
%description libs-devel
Performance Co-Pilot (PCP) headers, documentation and tools for development.
#
# perl-PCP-PMDA. This is the PCP agent perl binding.
#
%package -n perl-PCP-PMDA
License: GPLv2
Group: System/Monitoring
Summary: Performance Co-Pilot (PCP) Perl bindings and documentation
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp >= %{version} perl-base
%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
License: GPLv2
Group: System/Monitoring
Summary: Performance Co-Pilot (PCP) Perl bindings for PCP Memory Mapped Values
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp >= %{version} perl-base
%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.
#
# perl-PCP-LogImport
#
%package -n perl-PCP-LogImport
License: GPLv2
Group: System/Monitoring
Summary: Performance Co-Pilot Perl bindings for importing external data
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp >= %{version} perl-base
%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.
#
# perl-PCP-LogSummary
#
%package -n perl-PCP-LogSummary
License: GPLv2
Group: System/Monitoring
Summary: Performance Co-Pilot Perl bindings for processing pmlogsummary output
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp >= %{version} perl-base
%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).
#
# pcp-import-sar2pcp
#
%package import-sar2pcp
License: LGPLv2+
Group: System/Monitoring
Summary: Performance Co-Pilot tools for importing sar data into PCP archive logs
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp-libs >= %{version} perl-PCP-LogImport >= %{version} sysstat
%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: System/Monitoring
Summary: Performance Co-Pilot tools for importing iostat data into PCP archive logs
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp-libs >= %{version} perl-PCP-LogImport >= %{version} sysstat
%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-sheet2pcp
#
%package import-sheet2pcp
License: LGPLv2+
Group: System/Monitoring
Summary: Performance Co-Pilot tools for importing spreadsheet data into PCP archive logs
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp-libs >= %{version} perl-PCP-LogImport >= %{version} sysstat
%description import-sheet2pcp
Performance Co-Pilot (PCP) front-end tools for importing spreadsheet data
into standard PCP archive logs for replay with any PCP monitoring tool.
#
# pcp-import-mrtg2pcp
#
%package import-mrtg2pcp
License: LGPLv2+
Group: System/Monitoring
Summary: Performance Co-Pilot tools for importing MTRG data into PCP archive logs
URL: http://oss.sgi.com/projects/pcp/
Requires: pcp-libs >= %{version} perl-PCP-LogImport >= %{version}
%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.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3
%patch4
%patch5
%patch6
%patch7 -p1
%patch -P 8 -p1
%patch9
autoconf
./configure --bindir=%{_bindir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} && touch config.done
%clean
[ ! -z "$DIST_ROOT" ] && rm -rf $DIST_ROOT
rm -Rf $RPM_BUILD_ROOT
%build
%{suse_update_config -f}
autoconf
YACC="yacc" ./configure \
--bindir=%{_bindir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--datadir=%{_datadir}/pcp \
--sysconfdir=/etc/pcp \
--sbindir=/usr/lib/pcp \
--localstatedir=/var/lib/pcp
export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-fomit-frame-pointer/}
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
/usr/bin/gmake default_pcp
%install
BACKDIR=`pwd`;
DIST_ROOT=$RPM_BUILD_ROOT
DIST_MANIFEST=`pwd`/install.manifest
export DIST_ROOT DIST_MANIFEST
rm -f $DIST_MANIFEST
/usr/bin/gmake install_pcp
# local setting
install -d $RPM_BUILD_ROOT/usr/sbin
./install-sh -S ../../etc/init.d/pcp /usr/sbin/rcpcp
./install-sh -S ../../etc/init.d/pmie /usr/sbin/rcpmie
./install-sh -S ../../etc/init.d/pmproxy /usr/sbin/rcpmproxy
set +x
PCP_CONF=src/include/pcp.conf
PCP_CONF=$BACKDIR/src/include/pcp.conf
export PCP_CONF
. src/include/pcp.env
sort $DIST_MANIFEST | uniq | $PCP_AWK_PROG '
$1 == "d" { printf ("%%%%dir %%%%attr(%%s,root,root) %%s\n", $2, $5); }
$1 == "f" { if ( match ($6, "'$PCP_VAR_DIR'/config") ||
match ($6, "'$PCP_SYSCONFIG_DIR'") ) {
printf ("%%%%config ");
. $BACKDIR/src/include/pcp.env
LIBFILELIST=`ls -1 $BACKDIR/debian/*.{install,dirs} | fgrep -v -- -dev. | fgrep -v -- -import`
DEVFILELIST=`ls -1 $BACKDIR/debian/*-dev.{install,dirs}`
#
# Package split: pcp, pcp-libs, pcp-libs-devel, pcp-import-*
# -libs gets first pick, then libs-devel, then pcp-import-*
# The base package catches-all remaining.
#
sed -e 's/^/\//' $LIBFILELIST >libs_files
sed -e 's/^/\//' $DEVFILELIST >devel_files
%ifarch ia64 x86_64 ppc64
sed -i -e 's/usr\/lib\//usr\/lib64\//' libs_files
sed -i -e 's/usr\/lib\//usr\/lib64\//' devel_files
%endif
#
# some special cases for devel
awk '{print $NF}' $DIST_MANIFEST |\
egrep 'pcp\/(examples|demos)|pmdas\/(sample|simple|trivial|txmon)' >>devel_files
#
# Patterns for files to be marked \%config(noreplace).
# Note: /etc/pcp.conf is \%config, but not noreplace
# and is treated specially below.
cat >conf_files <<EOFEOF
etc/pcp.env
pmcd/pmcd.conf
pmcd/pmcd.options
pmcd/rc.local
pmie/config.default
pmie/control
pmie/crontab
pmlogger/config.default
pmlogger/control
pmlogger/crontab
pmproxy/pmproxy.options
bash_completion.d/pcp
EOFEOF
#
# Files for the pcp-import subpackages. We use these sub-packages
# to isolate the (somwhat exotic) dependencies for these tools
awk '{print $NF}' $DIST_MANIFEST | egrep 'sar2pcp' >import_sar2pcp_files
awk '{print $NF}' $DIST_MANIFEST | egrep 'iostat2pcp' >import_iostat2pcp_files
awk '{print $NF}' $DIST_MANIFEST | egrep 'sheet2pcp' >import_sheet2pcp_files
awk '{print $NF}' $DIST_MANIFEST | egrep 'mrtg2pcp' >import_mrtg2pcp_files
rm -f devel_files.rpm libs_files.rpm base_files.rpm import_*_files.rpm
sort -u $DIST_MANIFEST | $PCP_AWK_PROG '
BEGIN {
while( getline < "libs_files") lib[$0]=1;
while( getline < "devel_files") dev[$0]=1;
while( getline < "import_sar2pcp_files") import_sar2pcp[$0]=1;
while( getline < "import_iostat2pcp_files") import_iostat2pcp[$0]=1;
while( getline < "import_sheet2pcp_files") import_sheet2pcp[$0]=1;
while( getline < "import_mrtg2pcp_files") import_mrtg2pcp[$0]=1;
while( getline < "conf_files") conf[nconf++]=$0;
}
{
if (lib[$NF]) f="libs_files.rpm";
else if (dev[$NF]) f="devel_files.rpm";
else if (import_sar2pcp[$NF]) f="import_sar2pcp_files.rpm";
else if (import_iostat2pcp[$NF]) f="import_iostat2pcp_files.rpm";
else if (import_sheet2pcp[$NF]) f="import_sheet2pcp_files.rpm";
else if (import_mrtg2pcp[$NF]) f="import_mrtg2pcp_files.rpm";
else f="base_files.rpm"
}
$1 == "d" { printf ("%%%%dir %%%%attr(%s,root,root) %s\n", $2, $5) >> f }
$1 == "f" && $6 ~ "etc/pcp.conf" { printf ("%%%%config ") >> f; }
$1 == "f" {
for (i=0; i < nconf; i++) {
if ($6 ~ conf[i]) {
printf ("%%%%config(noreplace) ") >> f;
break;
}
}
if (match ($6, "'$PCP_MAN_DIR'") || match ($6, "'$PCP_DOC_DIR'")) {
printf ("%%%%doc ");
printf ("%%%%doc ") >> f;
}
g = $4;
if (g == "trusted") {
printf ("%%%%verify(not mode group) ");
} else if (g == "bin") {
g = "root";
}
printf ("%%%%attr(%%s,root,%%s) %s\n", $2, g, $6); }
$1 == "l" { printf "%%%%attr(-,root,root) %%s\n", $3; }
' | tee files-all.rpm |
perl -e '
open(N, "> files.rpm") || die;
open(D, "> files-devel.rpm") || die;
while ( <> ) {
if ( m{(include|man3|/var/lib/pcp/(pmdas|demos))} || m{\.(c|h|so)$} ) {
print D;
} else {
print N;
}
}'
printf ("%%%%attr(%s,root,root) %s\n", $2, $6) >> f }
$1 == "l" { print "%attr(0777,root,root)", $3 >> f }'
# add /etc/init.d/X symlinks at /usr/sbin/rcX
%__install -d -m 0755 ${RPM_BUILD_ROOT}/%{_sbindir}
for script in pcp pmie pmproxy; do
ln -s "%{_sysconfdir}/init.d/${script}" "${RPM_BUILD_ROOT}/%{_sbindir}/rc${script}"
echo "%{_sbindir}/rc${script}" >> base_files.rpm
done
set -x
%clean
[ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ] || rm -rf $RPM_BUILD_ROOT
%verifyscript
%verify_permissions -e /usr/lib/pcp/pmpost
%files -f files.rpm
%files -f files-devel.rpm devel
%post
/sbin/ldconfig
%preun
if [ "$1" -eq 0 ]
then
#
# Stop daemons before erasing the package
#
if [ -f /etc/pcp.env ] ; then
. /etc/pcp.env
$PCP_RC_DIR/pcp stop >/dev/null 2>&1
$PCP_RC_DIR/pmie stop >/dev/null 2>&1
[ -x $PCP_RC_DIR/pmproxy ] && $PCP_RC_DIR/pmproxy stop >/dev/null 2>&1
rm -f $PCP_VAR_DIR/pmns/.NeedRebuild
fi
fi
exit 0
%{?stop_on_removal:%{stop_on_removal pcp pmproxy pmie}}
%postun
%insserv_cleanup
exit 0
/sbin/ldconfig
%{?restart_on_update:%{restart_on_update pcp pmproxy pmie}}
%{?insserv_cleanup:%{insserv_cleanup}}
%post
%run_permissions
if [ -f /etc/pcp.env ] ; then
. /etc/pcp.env
. $PCP_SHARE_DIR/lib/rc-proc.sh
touch $PCP_VAR_DIR/pmns/.NeedRebuild
chmod 644 $PCP_VAR_DIR/pmns/.NeedRebuild
if [ ! -f $PCP_VAR_DIR/pmns/root ]
then
if [ -f $PCP_VAR_DIR/pmns/root.saved ]
then
# restore the previous pmns after upgrade
mv $PCP_VAR_DIR/pmns/root.saved $PCP_VAR_DIR/pmns/root
else
# empty initial name space (prior to Rebuild)
echo "root {" >$PCP_VAR_DIR/pmns/root
echo "}" >>$PCP_VAR_DIR/pmns/root
fi
chmod 644 $PCP_VAR_DIR/pmns/root
else
# root pmns already exists, so we need to restore
# pmcd.conf and pmcd.options if they were saved.
for f in $PCP_PMCDCONF_PATH $PCP_PMCDOPTIONS_PATH
do
if [ -f $f -a -f $f.rpmsave ]
then
mv $f $f.rpmnew
mv $f.rpmsave $f
fi
done
fi
#
# delete *.rpmorig turds that are the same as their new version
find $PCP_VAR_DIR/config -name \*.rpmorig -print \
| while read f
do
if diff $f `basename $f .rpmorig` >/dev/null 2>&1
then
rm -f $f
fi
done
x=$PCP_SHARE_DIR/lib/.migrate_pcp_var_dir
[ -x $x ] && $x
fi
%{fillup_and_insserv pcp}
exit 0
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%triggerpostun -- pcp < 2.1.9
#
# Fix for bug where pcp-2.1.6 %postun script would chkconfig pcp off
# and remove the .NeedRebuild and .NeedUpdate files. This was done
# *after* the %post script of the new version, causing upgrade havoc.
#
if [ "$1" -gt 0 ]
then
. /etc/pcp.env
. $PCP_SHARE_DIR/lib/rc-proc.sh
touch $PCP_VAR_DIR/pmns/.NeedRebuild
chmod 644 $PCP_VAR_DIR/pmns/.NeedRebuild
fi
exit 0
%files -f base_files.rpm
%defattr(-,root,root)
%dir /usr/lib*/pcp
%dir /var/lib/pcp/config/pmlogconf
%triggerun -- pcp < 2.2.0-18
#
# first half of fix for bug #825229 where upgrade
# clobbers $PCP_VAR_DIR/pmns/root
#
if [ "$1" -gt 0 ]
then
. /etc/pcp.env
if [ -f $PCP_VAR_DIR/pmns/root ]
then
cp $PCP_VAR_DIR/pmns/root $PCP_VAR_DIR/pmns/root.saved
fi
fi
exit 0
%files libs -f libs_files.rpm
%defattr(-,root,root)
%triggerpostun -- pcp < 2.2.0-18
#
# second half of the fix for bug #825229
#
if [ "$1" -gt 0 ]
then
. /etc/pcp.env
if [ ! -f $PCP_VAR_DIR/pmns/root ]
then
if [ -f $PCP_VAR_DIR/pmns/root.saved ]
then
mv $PCP_VAR_DIR/pmns/root.saved $PCP_VAR_DIR/pmns/root
else
# empty initial name space (prior to Rebuild)
echo "root {" >$PCP_VAR_DIR/pmns/root
echo "}" >>$PCP_VAR_DIR/pmns/root
fi
chmod 644 $PCP_VAR_DIR/pmns/root
fi
fi
exit 0
%files libs-devel -f devel_files.rpm
%defattr(-,root,root)
%files import-sar2pcp -f import_sar2pcp_files.rpm
%defattr(-,root,root)
%files import-iostat2pcp -f import_iostat2pcp_files.rpm
%defattr(-,root,root)
%files import-sheet2pcp -f import_sheet2pcp_files.rpm
%defattr(-,root,root)
%files import-mrtg2pcp -f import_mrtg2pcp_files.rpm
%defattr(-,root,root)
%files -n perl-PCP-PMDA -f perl-pcp-pmda.list
%defattr(-,root,root)
%dir /usr/lib/perl5/vendor_perl/*/*-linux-thread-multi/PCP
%dir /usr/lib/perl5/vendor_perl/*/*-linux-thread-multi/auto/PCP
%dir /usr/lib/perl5/vendor_perl/*/*-linux-thread-multi/auto/PCP/PMDA
%files -n perl-PCP-MMV -f perl-pcp-mmv.list
%defattr(-,root,root)
%dir /usr/lib/perl5/vendor_perl/*/*-linux-thread-multi/PCP
%dir /usr/lib/perl5/vendor_perl/*/*-linux-thread-multi/auto/PCP
%dir /usr/lib/perl5/vendor_perl/*/*-linux-thread-multi/auto/PCP/MMV
%files -n perl-PCP-LogImport -f perl-pcp-logimport.list
%defattr(-,root,root)
%dir /usr/lib/perl5/vendor_perl/*/*-linux-thread-multi/PCP
%dir /usr/lib/perl5/vendor_perl/*/*-linux-thread-multi/auto/PCP
%dir /usr/lib/perl5/vendor_perl/*/*-linux-thread-multi/auto/PCP/LogImport
%files -n perl-PCP-LogSummary -f perl-pcp-logsummary.list
%defattr(-,root,root)
%dir /usr/lib/perl5/vendor_perl/*/PCP
%changelog

125
static_lib_perms.diff Normal file
View File

@ -0,0 +1,125 @@
Index: src/libpcp_pmda/src/GNUmakefile
===================================================================
--- src/libpcp_pmda/src/GNUmakefile
+++ src/libpcp_pmda/src/GNUmakefile
@@ -65,7 +65,7 @@ $(LIBTARGET_V2): $(LIBTARGET_V3)
include $(BUILDRULES)
install : default
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
ifneq "$(LIBTARGET_V1)" ""
$(INSTALL) -S $(LIBTARGET_V3) $(PCP_LIB_DIR)/$(LIBTARGET_V1)
endif
@@ -73,7 +73,7 @@ ifneq "$(LIBTARGET_V2)" ""
$(INSTALL) -S $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET_V2)
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp : default
Index: src/libpcp_trace/src/GNUmakefile
===================================================================
--- src/libpcp_trace/src/GNUmakefile
+++ src/libpcp_trace/src/GNUmakefile
@@ -54,12 +54,12 @@ endif
include $(BUILDRULES)
install : default
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
ifneq "$(SYMTARGET)" ""
$(INSTALL) -S $(LIBTARGET) $(PCP_LIB_DIR)/$(SYMTARGET)
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp : default
Index: src/libpcp_gui/src/GNUmakefile
===================================================================
--- src/libpcp_gui/src/GNUmakefile
+++ src/libpcp_gui/src/GNUmakefile
@@ -52,14 +52,14 @@ endif
include $(BUILDRULES)
install: default
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
ifneq "$(SYMTARGET)" ""
for tt in $(SYMTARGET); do \
$(INSTALL) -S $(LIBTARGET) $(PCP_LIB_DIR)/$$tt || exit 1; \
done
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp: default
Index: src/libpcp_import/src/GNUmakefile
===================================================================
--- src/libpcp_import/src/GNUmakefile
+++ src/libpcp_import/src/GNUmakefile
@@ -45,14 +45,14 @@ $(OBJECTS): $(HFILES)
include $(BUILDRULES)
install: default
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
ifneq "$(SYMTARGET)" ""
for tt in $(SYMTARGET); do \
$(INSTALL) -S $(LIBTARGET) $(PCP_LIB_DIR)/$$tt || exit 1; \
done
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp: default
Index: src/libpcp_mmv/src/GNUmakefile
===================================================================
--- src/libpcp_mmv/src/GNUmakefile
+++ src/libpcp_mmv/src/GNUmakefile
@@ -40,14 +40,14 @@ default: pcp $(LIBTARGET) $(SYMTARGET) $
include $(BUILDRULES)
install: default
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
ifneq "$(SYMTARGET)" ""
for tt in $(SYMTARGET); do \
$(INSTALL) -S $(LIBTARGET) $(PCP_LIB_DIR)/$$tt || exit 1; \
done
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp: default
Index: src/libpcp/src/GNUmakefile
===================================================================
--- src/libpcp/src/GNUmakefile
+++ src/libpcp/src/GNUmakefile
@@ -93,14 +93,14 @@ kernel_pmda_dso = $(TARGET_OS)
endif
install : default
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
ifneq "$(SYMTARGET)" ""
for tt in $(SYMTARGET); do \
$(INSTALL) -S $(LIBTARGET) $(PCP_LIB_DIR)/$$tt || exit 1; \
done
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp : default