Hello community, here is the log from the commit of package pcp for openSUSE:Factory checked in at Mon Aug 15 15:03:09 CEST 2011.
-------- --- pcp/pcp.changes 2010-02-11 01:45:11.000000000 +0100 +++ /mounts/work_src_done/STABLE/pcp/pcp.changes 2011-08-10 13:02:32.000000000 +0200 @@ -1,0 +2,533 @@ +Wed Aug 10 12:39:05 CEST 2011 - [email protected] + +- 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 - [email protected] + +- 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 - [email protected] + +- 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 - [email protected] + +- 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 - [email protected] + +- 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 ++++ 336 more lines (skipped) ++++ between pcp/pcp.changes ++++ and /mounts/work_src_done/STABLE/pcp/pcp.changes calling whatdependson for head-i586 Old: ---- pcp-2.5.0-GCC44.patch pcp-2.5.0-SuSE.diff pcp-2.5.0-buffer-overflow.diff pcp-2.5.0-ndbm.diff pcp-2.5.0-rpmlint.diff pcp-2.5.0.src.tar.gz pcp-gcc43.patch pcp-init.patch pcp-pic.diff New: ---- pcp-3.5.8-1.src.tar.gz static_lib_perms.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pcp.spec ++++++ --- /var/tmp/diff_new_pack.kp1yVD/_old 2011-08-15 14:52:43.000000000 +0200 +++ /var/tmp/diff_new_pack.kp1yVD/_new 2011-08-15 14:52:43.000000000 +0200 @@ -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 @@ -19,250 +19,363 @@ 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+ +Version: 3.5.8 +Release: 1 +%define pcp_release 1 +Summary: System-level performance monitoring and performance management +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 +Source: %{name}-%{version}-%{pcp_release}.src.tar.gz +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}-build +BuildRequires: autoconf bison flex ncurses-devel procps readline-devel +BuildRequires: perl(ExtUtils::MakeMaker) +Patch6: pcp-xenbuild.patch +Patch9: static_lib_perms.diff %description -Performance Co-Pilot (PCP) is a framework and services to support +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. + +# +# 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} + +%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. -Authors: --------- - SGI OSS <[email protected]> +# +# 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. -%package devel -Summary: Include Files and Libraries mandatory for Development -Group: Development/Libraries/C and C++ -License: GPLv2+ -Requires: %{name} = %{version} +# +# 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). -%description devel -This package contains all necessary include files and libraries needed -to develop applications that require these. +# +# 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. -Authors: --------- - SGI OSS <[email protected]> +# +# 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 - -%build -%{suse_update_config -f} +%patch9 autoconf -YACC="yacc" ./configure \ - --bindir=%{_bindir} \ - --mandir=%{_mandir} \ +./configure --bindir=%{_bindir} \ --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" \ + --libexecdir=%{_libexecdir} && touch config.done + +%clean +[ ! -z "$DIST_ROOT" ] && rm -rf $DIST_ROOT +rm -Rf $RPM_BUILD_ROOT + +%build /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 "); - } - if (match ($6, "'$PCP_MAN_DIR'") || match ($6, "'$PCP_DOC_DIR'")) { - printf ("%%%%doc "); +. $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; } - 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; + if (match ($6, "'$PCP_MAN_DIR'") || match ($6, "'$PCP_DOC_DIR'")) { + printf ("%%%%doc ") >> f; } - }' -set -x + printf ("%%%%attr(%s,root,root) %s\n", $2, $6) >> f } +$1 == "l" { print "%attr(0777,root,root)", $3 >> f }' -%clean -[ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ] || rm -rf $RPM_BUILD_ROOT -%verifyscript -%verify_permissions -e /usr/lib/pcp/pmpost +# 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 -%files -f files.rpm +set -x -%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 - -%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 - -%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 - -%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 - -%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 +/sbin/ldconfig +%{?restart_on_update:%{restart_on_update pcp pmproxy pmie}} +%{?insserv_cleanup:%{insserv_cleanup}} + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + +%files -f base_files.rpm +%defattr(-,root,root) +%dir /usr/lib*/pcp +%dir /var/lib/pcp/config/pmlogconf + +%files libs -f libs_files.rpm +%defattr(-,root,root) + +%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 ++++++ pcp-xenbuild.patch ++++++ --- /var/tmp/diff_new_pack.kp1yVD/_old 2011-08-15 14:52:43.000000000 +0200 +++ /var/tmp/diff_new_pack.kp1yVD/_new 2011-08-15 14:52:43.000000000 +0200 @@ -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 ++++++ static_lib_perms.diff ++++++ 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 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
