Accepting request 150580 from Base:System

minor update with fix for CVE-2012-5530 (bnc#782967): tmpfile flaws

OBS-URL: https://build.opensuse.org/request/show/150580
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pcp?expand=0&rev=30
This commit is contained in:
Stephan Kulow 2013-02-07 09:45:37 +00:00 committed by Git OBS Bridge
commit 838cf3cdc4
11 changed files with 854 additions and 245 deletions

View File

@ -1,46 +0,0 @@
From 8ae41f7080de22383990ef477d28f148dfa403a7 Mon Sep 17 00:00:00 2001
From: David Disseldorp <ddiss@samba.org>
Date: Tue, 5 Jun 2012 17:01:28 +0200
Subject: [PATCH] build: append pcp sub-directory suffix
With the fix to correctly handle a --Xdir= configure arguments, a number
of PCP specific paths need a pcp/ suffix to match default (no --Xdir=)
paths.
---
configure.in | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/configure.in b/configure.in
index 6b83469..e25a7cc 100644
--- a/configure.in
+++ b/configure.in
@@ -1553,6 +1553,8 @@ then
else
pcp_share_dir=/usr/pcp
fi
+else
+ pcp_share_dir=`eval echo $pcp_share_dir/pcp`
fi
AC_SUBST(pcp_share_dir)
@@ -1598,6 +1600,8 @@ then
else
pcp_var_dir=/usr
fi
+else
+ pcp_var_dir=`eval echo $pcp_var_dir/pcp`
fi
AC_SUBST(pcp_var_dir)
@@ -1852,6 +1856,8 @@ then
else
pcp_inc_dir=/usr/include/pcp
fi
+else
+ pcp_inc_dir=`eval echo $pcp_inc_dir/pcp`
fi
AC_SUBST(pcp_inc_dir)
--
1.7.1

View File

@ -0,0 +1,37 @@
From 05c112bd44b4a5dbb432e9d13e1e51816bd0acf8 Mon Sep 17 00:00:00 2001
From: David Disseldorp <ddiss@suse.de>
Date: Wed, 21 Nov 2012 12:53:25 +0100
Subject: [PATCH] create pmlogger and pmie logdirs during install
---
src/pmie/GNUmakefile | 1 +
src/pmlogger/GNUmakefile | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/pmie/GNUmakefile b/src/pmie/GNUmakefile
index c62b869..e0ec1cd 100644
--- a/src/pmie/GNUmakefile
+++ b/src/pmie/GNUmakefile
@@ -46,6 +46,7 @@ install:: default
$(INSTALL) -m 755 pmie_daily.sh $(PCP_BINADM_DIR)/pmie_daily
$(INSTALL) -m 755 pmie2col $(PCP_BIN_DIR)/pmie2col
$(INSTALL) -m 755 rc_pmie $(PCP_RC_DIR)/pmie
+ $(INSTALL) -m 755 -d $(PCP_LOG_DIR)/pmie
$(INSTALL) -m 1777 -d $(PCP_TMP_DIR)/pmie
include $(BUILDRULES)
diff --git a/src/pmlogger/GNUmakefile b/src/pmlogger/GNUmakefile
index 23c810c..b045bdb 100644
--- a/src/pmlogger/GNUmakefile
+++ b/src/pmlogger/GNUmakefile
@@ -37,6 +37,7 @@ include $(BUILDRULES)
install: $(CMDTARGET) $(OTHERS)
$(INSTALL) -m 755 $(CMDTARGET) $(PCP_BINADM_DIR)/$(CMDTARGET)
$(INSTALL) -m 755 rc_pmlogger $(PCP_RC_DIR)/pmlogger
+ $(INSTALL) -m 755 -d $(PCP_LOG_DIR)/pmlogger
$(INSTALL) -m 1777 -d $(PCP_TMP_DIR)/pmlogger
YFLAGS += -v
--
1.7.10.4

View File

@ -1,85 +0,0 @@
From 70b76abe42aca1c968feb3bfe20b74c61cf05db6 Mon Sep 17 00:00:00 2001
From: David Disseldorp <ddiss@suse.de>
Date: Mon, 21 Nov 2011 18:40:36 +0100
Subject: [PATCH] build: fix configure path tests
This commit fixes pcp_(share|binadm|var|lib|man)_dir configure tests:
if test -z "`echo $pcp_share_dir | sed 's;/.*\$;;'`"
Currently all tests evaluate to true when absolute paths are supplied,
as sed replaces from the leading '/', rather than the end which appears
to be the intended purpose.
---
configure.in | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/configure.in b/configure.in
index 46e3f27..6b83469 100644
--- a/configure.in
+++ b/configure.in
@@ -1539,7 +1539,7 @@ AC_SUBST(pcp_etc_dir)
dnl shared PCP files (shareable for diskless)
pcp_share_dir=`eval echo $datadir`
pcp_share_dir=`eval echo $pcp_share_dir`
-if test -z "`echo $pcp_share_dir | sed 's;/.*\$;;'`"
+if test -z "`echo $pcp_share_dir | sed 's;/\s*\$;;'`"
then
if test $target_os = mingw
then
@@ -1559,7 +1559,7 @@ AC_SUBST(pcp_share_dir)
dnl private PCP executables
pcp_binadm_dir=`eval echo $libexecdir`
pcp_binadm_dir=`eval echo $pcp_binadm_dir`
-if test -z "`echo $pcp_binadm_dir | sed 's;/.*\$;;'`"
+if test -z "`echo $pcp_binadm_dir | sed 's;/\s*\$;;'`"
then
if test $target_distro = debian
then
@@ -1581,7 +1581,7 @@ AC_SUBST(pcp_binadm_dir)
dnl non-shared (i.e. system local) PCP files
pcp_var_dir=`eval echo $localstatedir`
pcp_var_dir=`eval echo $pcp_var_dir`
-if test -z "`echo $pcp_var_dir | sed 's;/.*\$;;'`"
+if test -z "`echo $pcp_var_dir | sed 's;/\s*\$;;'`"
then
if test $target_os = mingw
then
@@ -1654,7 +1654,7 @@ then
else
pcp_lib_dir=`eval echo $libdir`
pcp_lib_dir=`eval echo $pcp_lib_dir`
- if test -z "`echo $pcp_lib_dir | sed 's;/.*\$;;'`"
+ if test -z "`echo $pcp_lib_dir | sed 's;/\s*\$;;'`"
then
if test -d /usr/lib
then
@@ -1716,7 +1716,7 @@ need_old_tbl_header=false
man_header=
pcp_man_dir=`eval echo $mandir`
pcp_man_dir=`eval echo $pcp_man_dir`
-if test -z "`echo $pcp_man_dir | sed 's;/.*\$;;'`"
+if test -z "`echo $pcp_man_dir | sed 's;/\s*\$;;'`"
then
dnl some low risk defaults
if test $target_os = mingw
@@ -1827,7 +1827,7 @@ AC_SUBST(need_old_tbl_header)
dnl public binaries
pcp_bin_dir=`eval echo $bindir`
pcp_bin_dir=`eval echo $pcp_bin_dir`
-if test -z "`echo $pcp_bin_dir | sed 's;/.*\$;;'`"
+if test -z "`echo $pcp_bin_dir | sed 's;/\s*\$;;'`"
then
if test $target_os = mingw
then
@@ -1844,7 +1844,7 @@ AC_SUBST(pcp_bin_dir)
dnl include files
pcp_inc_dir=`eval echo $includedir`
pcp_inc_dir=`eval echo $pcp_inc_dir`
-if test -z "`echo $pcp_inc_dir | sed 's;/.*\$;;'`"
+if test -z "`echo $pcp_inc_dir | sed 's;/\s*\$;;'`"
then
if test $target_os = mingw
then
--
1.7.1

View File

@ -0,0 +1,325 @@
From 26129ab3fc91a77aefa3c2807c2b49dec4631036 Mon Sep 17 00:00:00 2001
From: Nathan Scott <nathans@redhat.com>
Date: Wed, 28 Nov 2012 14:30:31 +1100
Subject: [PATCH] Fix race conditions in pmie and pmlogger startup scripts
Recent changes to tempfile handling has regressed the pmie and
pmlogger startup scripts. Errors of the form:
/etc/rc.d/init.d/pmlogger: line 100: /var/tmp/pcp.5vfQsSHKo/pmcheck: No such file or directory
are now produced.
Because sections of these two scripts are run in parallel with
the original script, we are open to race conditions where the
main script exits and removes the temporary directory before the
co-process has an opportunity to create its temporary file. We
can resolve this using separate temporary dirs and trap handling
which thus no longer race.
Worse still, QA failed to detect the problem. At least one test
that should have found the problem trivially (575) failed to, as
a result of aggressively discarding stderr and stdout instead of
using filtering. This has been rectified and common pmie filter
routines abstracted (from tests 115, 504 and 575) to simplify the
task for all current and future tests.
---
qa/115 | 18 ------------------
qa/115.out | 2 ++
qa/504 | 14 --------------
qa/575 | 18 ++++++++++++------
qa/575.out | 1 +
qa/common.filter | 26 ++++++++++++++++++++++++++
src/pmie/rc_pmie | 30 +++++++++++++++++++++---------
src/pmlogger/rc_pmlogger | 26 +++++++++++++++++---------
8 files changed, 79 insertions(+), 56 deletions(-)
diff --git a/qa/115 b/qa/115
index 8a3f675..4be3323 100755
--- a/qa/115
+++ b/qa/115
@@ -54,24 +54,6 @@ _filter()
-e "s;/private/tmp;/tmp;g"
}
-_filter_pmie_start()
-{
- sed \
- -e '/^Waiting for pmie process(es) to terminate/d' \
- -e "s;$PCP_RC_DIR/pmie:;RC_SCRIPT;" \
- -e '/RC_SCRIPT/d' \
- -e '/(pmie) is disabled/d' \
- -e '/To enable/d' \
- -e '/\/sbin\/chkconfig pmie on/d' \
- -e '/\/usr\/sbin\/sysv-rc-conf pmie on/d' \
- -e '/update-rc.d -f pmie defaults/d' \
- -e '/ln -sf \.\.\/init.d\/pmie \/etc\/rc\.d\//d' \
- -e "s;$PCP_PMIECONTROL_PATH;\$PCP_PMIECONTROL_PATH;" \
- -e '/^\.\.*done$/d' \
- -e '/^\.\.*failed$/d' \
- -e "s;/private/tmp;/tmp;g"
-}
-
_count_pmies()
{
count=0
diff --git a/qa/115.out b/qa/115.out
index 0b8cfe6..7229a9e 100644
--- a/qa/115.out
+++ b/qa/115.out
@@ -5,6 +5,7 @@ pmie count at start of QA testing: 0
pmie count after chkconfig pmie off: 0
=== check for missing control file ===
+$PCP_RC_DIR/pmie:
Error: PCP inference engine control file $PCP_PMIECONTROL_PATH
is missing! Cannot start any Performance Co-Pilot inference engine(s).
pmie count after attempt without control file: 0
@@ -34,3 +35,4 @@ No current pmie process exists for:
Restarting pmie for host "LOCALHOST" ...
+ pmie -b -h LOCALHOST -l /tmp/PID.log0 /tmp/PID.conf
+$PCP_RC_DIR/pmie: PMIE not running
diff --git a/qa/504 b/qa/504
index c65df90..047b859 100755
--- a/qa/504
+++ b/qa/504
@@ -62,20 +62,6 @@ _filter()
-e "s/$lhost/LOCALHOST/g"
}
-
-_filter_pmie_start()
-{
- $PCP_AWK_PROG '
-/^Waiting for pmie process\(es\) to terminate/ { next }
-/^Waiting for PMIE process\(es\) to terminate/ { next }
-/^\/etc.*\/init\.d\/pmie:/ { next }
-/\(pmie\) is disabled/ { next }
-/To enable/ { next }
-/\/sbin\/chkconfig pmie on/ { next }
-
-{ print }'
-}
-
_count_pmies()
{
count=0
diff --git a/qa/575 b/qa/575
index 785c034..41a6266 100755
--- a/qa/575
+++ b/qa/575
@@ -1,7 +1,7 @@
#! /bin/sh
# PCP QA Test No. 575
-# exercise fix for bug #692244
#
+# Copyright (c) 2012 Red Hat.
# Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
#
@@ -13,18 +13,24 @@ echo "QA output created by $seq"
. ./common.filter
. ./common.check
+_cleanup()
+{
+ _change_config pmie off
+ rm -f $tmp.*
+}
+
signal=$PCP_BINADM_DIR/pmsignal
status=1 # failure is the default!
-trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
+trap "_cleanup; exit \$status" 0 1 2 3 15
# real QA test starts here
$sudo $signal -a pmie >/dev/null 2>&1
$sudo rm -fr $PCP_TMP_DIR/pmie
-$sudo $PCP_RC_DIR/pmie stop \
-| _filter_pcp_stop \
-| sed -e "s;$PCP_RC_DIR;\$PCP_RC_DIR;g"
-$sudo $PCP_RC_DIR/pmie start >/dev/null 2>&1
+_change_config pmie on
+$sudo $PCP_RC_DIR/pmie stop | _filter_pmie_stop
+$sudo $PCP_RC_DIR/pmie start | _filter_pmie_start
+
# success, all done
status=0
exit
diff --git a/qa/575.out b/qa/575.out
index 2842d31..3077d2a 100644
--- a/qa/575.out
+++ b/qa/575.out
@@ -1,2 +1,3 @@
QA output created by 575
$PCP_RC_DIR/pmie: PMIE not running
+Performance Co-Pilot starting inference engine(s) ...
diff --git a/qa/common.filter b/qa/common.filter
index fbbdbfd..648e115 100644
--- a/qa/common.filter
+++ b/qa/common.filter
@@ -412,6 +412,32 @@ s/PMCD/pmcd/
| _filter_init_distro
}
+_filter_pmie_start()
+{
+ sed \
+ -e '/^Waiting for pmie process(es) to terminate/d' \
+ -e "s;$PCP_RC_DIR/pmie;\$PCP_RC_DIR/pmie;g" \
+ -e '/(pmie) is disabled/d' \
+ -e '/To enable/d' \
+ -e '/\/sbin\/chkconfig pmie on/d' \
+ -e '/\/usr\/sbin\/sysv-rc-conf pmie on/d' \
+ -e '/update-rc.d -f pmie defaults/d' \
+ -e '/ln -sf \.\.\/init.d\/pmie \/etc\/rc\.d\//d' \
+ -e "s;$PCP_PMIECONTROL_PATH;\$PCP_PMIECONTROL_PATH;" \
+ -e '/^\.\.*done$/d' \
+ -e "s;/private/tmp;/tmp;g" \
+ | _filter_init_distro
+}
+
+_filter_pmie_stop()
+{
+ sed \
+ -e "s;$PCP_RC_DIR/pmie;\$PCP_RC_DIR/pmie;g" \
+ -e '/^Waiting for pmie/s/\.\.\.[. ]*done/.../' \
+ -e '/^Waiting for pmie/s/\.\.\. *$/.../' \
+ | _filter_init_distro
+}
+
_filterall_pcp_start()
{
_filter_pcp_start \
diff --git a/src/pmie/rc_pmie b/src/pmie/rc_pmie
index bcb0ba7..698c45a 100644
--- a/src/pmie/rc_pmie
+++ b/src/pmie/rc_pmie
@@ -1,5 +1,6 @@
#!/bin/sh
#
+# Copyright (c) 2012 Red Hat.
# Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it
@@ -109,37 +110,48 @@ _reboot_setup()
[ ! -d "$LOGDIR" ] && mkdir -p "$LOGDIR" && chown pcp:pcp "$LOGDIR"
}
+# Note: _start_pmie is running in the background, in parallel with
+# the rest of the script. It might complete well after the caller
+# so tmpfile handling is especially problematic. Goal is to speed
+# bootup by starting potentially slow (remote monitoring) processes
+# in the background.
+#
_start_pmie()
{
+ bgstatus=0
+ bgtmp=`mktemp -d /var/tmp/pcp.XXXXXXXXX` || exit 1
+ trap "rm -rf $bgtmp; exit \$bgstatus" 0 1 2 3 15
+
wait_option=''
[ ! -z "$PMCD_WAIT_TIMEOUT" ] && wait_option="-t $PMCD_WAIT_TIMEOUT"
if pmcd_wait $wait_option
then
- pmie_check >$tmp/pmie 2>&1
- if [ -s $tmp/pmie ]
+ pmie_check >$bgtmp/pmie 2>&1
+ bgstatus=$?
+ if [ -s $bgtmp/pmie ]
then
pmpost "pmie_check start failed in $prog, mailing output to root"
if [ ! -z "$MAIL" ]
then
- $MAIL -s "pmie_check start failed in $prog" root <$tmp/pmie >/dev/null 2>&1
+ $MAIL -s "pmie_check start failed in $prog" root <$bgtmp/pmie >/dev/null 2>&1
else
echo "$prog: pmie_check start failed ..."
- cat $tmp/pmie
+ cat $bgtmp/pmie
fi
fi
- rm -f $tmp/pmie
else
- status=$?
- pmpost "pmcd_wait failed in $prog: exit status: $status"
+ bgstatus=$?
+ pmpost "pmcd_wait failed in $prog: exit status: $bgstatus"
if [ ! -z "$MAIL" ]
then
- echo "pmcd_wait: exit status: $status" | $MAIL -s "pmcd_wait failed in $prog" root
+ echo "pmcd_wait: exit status: $bgstatus" | $MAIL -s "pmcd_wait failed in $prog" root
else
echo "$prog: pmcd_wait failed ..."
- echo "pmcd_wait: exit status: $status"
+ echo "pmcd_wait: exit status: $bgstatus"
fi
fi
+ exit $bgstatus # co-process is now complete
}
_shutdown()
diff --git a/src/pmlogger/rc_pmlogger b/src/pmlogger/rc_pmlogger
index 6f9949f..84f3382 100644
--- a/src/pmlogger/rc_pmlogger
+++ b/src/pmlogger/rc_pmlogger
@@ -1,5 +1,6 @@
#!/bin/sh
#
+# Copyright (c) 2012 Red Hat.
# Copyright (c) 2000-2008 Silicon Graphics, Inc. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it
@@ -12,10 +13,6 @@
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
# Start or Stop the Performance Co-Pilot pmlogger processes.
#
# The following is for chkconfig on RedHat based systems
@@ -95,21 +92,32 @@ in
;;
esac
+# Note: _start_pmcheck() runs in the background, in parallel with
+# the rest of the script. It might complete well after the caller
+# so tmpfile handling is especially problematic. Goal is to speed
+# bootup by starting potentially slow (remote monitoring) pmlogger
+# processes in the background.
+#
_start_pmcheck()
{
- pmlogger_check $VFLAG >$tmp/pmcheck 2>&1
- if [ -s $tmp/pmcheck ]
+ bgstatus=0
+ bgtmp=`mktemp -d /var/tmp/pcp.XXXXXXXXX` || exit 1
+ trap "rm -rf $bgtmp; exit \$bgstatus" 0 1 2 3 15
+
+ pmlogger_check $VFLAG >$bgtmp/pmcheck 2>&1
+ bgstatus=$?
+ if [ -s $bgtmp/pmcheck ]
then
pmpost "pmlogger_check failed in $prog, mailing output to root"
if [ ! -z "$MAIL" ]
then
- $MAIL -s "pmlogger_check failed in $prog" root <$tmp/pmcheck
+ $MAIL -s "pmlogger_check failed in $prog" root <$bgtmp/pmcheck
else
echo "$prog: pmlogger_check failed ..."
- cat $tmp/pmcheck
+ cat $bgtmp/pmcheck
fi
fi
- rm -f $tmp/pmcheck
+ exit $bgstatus # co-process is now complete
}
_start_pmlogger()
--
1.7.10.4

3
pcp-3.6.10.src.tar.gz Normal file
View File

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

View File

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

View File

@ -3,3 +3,7 @@
# but rather they are (slightly obscure) PMDA config files.
#
addFilter('E: devel-file-in-non-devel-package')
# A /var/lib/pcp/tmp directory is created for the safe creation of shared
# tmp files. it must be world writeable for PMDAs and client tools, which
# may be run as anyone.
#addFilter('E: permissions-world-writable')

View File

@ -1,3 +1,132 @@
-------------------------------------------------------------------
Thu Jan 3 12:16:56 UTC 2013 - ddiss@suse.com
- Describe xmktime.c and pthread_barrier.h licensing issues. Workaround by
continuing to remove the testsuite; (bnc#796448).
-------------------------------------------------------------------
Tue Dec 4 12:15:41 UTC 2012 - ddiss@suse.com
- Fix race conditions in pmie and pmlogger startup scripts.
+ Add fix_pmie_pmlogger_startup_races.patch
+ Upstream fix for regression caused by CVE-2012-5530 fix.
-------------------------------------------------------------------
Thu Nov 29 16:38:46 UTC 2012 - meissner@suse.com
- use permissions framework for handling the worldwriteable+sticky
bit directories. (bnc#782967)
-------------------------------------------------------------------
Wed Nov 21 13:27:25 UTC 2012 - ddiss@suse.com
- Create pcp user and group during installation.
- Package pre-populated tmp directory. The directory must be world writeable
(with the sticky-bit set), as it may be used by any PMDAs or client tools;
(bnc#782967).
-------------------------------------------------------------------
Mon Nov 19 17:19:01 UTC 2012 - ddiss@suse.com
- Remove fix_configure_path_tests.patch
+ fixed upstream.
- Remove configure_append_pcp_subdir.patch
+ fixed upstream.
- Add create-pmlogger-and-pmie-logdirs-during-install.patch
+ pmcd and pmproxy logdirs are created, pmlogger and pmie were missing.
+ Submitted upstream.
- Update to pcp-3.6.10.
+ Transition daemons to run under an unprivileged account.
+ Fixes for security advisory CVE-2012-5530: tmpfile flaws;
(bnc#782967).
+ Fix pcp(1) command short-form pmlogger reporting.
+ Fix pmdalogger error handling for directory files.
+ Fix pmstat handling of odd corner case in CPU metrics.
+ Correct the python ctype used for pmAtomValue 32bit ints.
+ Add missing RPM spec dependency for python-ctypes.
+ Corrections to pmdamysql metrics units.
+ Add pmdamysql slave status metrics.
+ Improve pmcollectl error messages.
+ Parameterize pmcollectl CPU counts in interrupt subsys.
+ Fix generic RPM packaging for powerpc builds.
+ Fix python API use of reentrant libpcp string routines.
+ Python code backporting for RHEL5 in qa and pmcollectl.
+ Fix edge cases in capturing interrupt error counts.
- Update to pcp-3.6.9.
+ Python wrapper for the pmimport API
+ Make sar2pcp work with the sysstat versions from RHEL5,
RHEL6, and all recent Fedora versions (which is almost
all current versions of sysstat verified).
+ Added a number of additional metrics into the importer
for people starting to use it to analyse sar data from
real customer incidents.
+ Rework use of C99 "restrict" keyword in pmdalogger
(Debian bug: 689552)
+ Alot of work on the PCP QA suite, special thanks to Tomas
Dohnalek for all his efforts there.
+ Win32 build updates
+ Add "raw" disk active metrics so that existing tools like
iostat can be emulated
+ Allow sar2pcp to accept XML input directly (.xml suffix),
allowing it to not have to run on the same platform as the
sadc/sadf that originally generated it.
+ Add PMI error codes into the PCP::LogImport perl module.
+ Fix a typo in pmiUnits man page synopsis section
+ Resolve pmdalinux ordering issue in NUMA/CPU indom setup
(Redhat bug: 858384)
+ Remove unused pmcollectl imports (Redhat bug: 863210)
+ Allow event traces to be used in libpcp interpolate mode
- Update to pcp-3.6.8.
+ Corrects the disk/partition identification for the MMC
driver, which makes disk indom handling correct on the
Raspberry Pi (http://www.raspberrypi.org/)
+ Several minor/basic fixes for pmdaoracle.
+ Improve pmcollectl compatibility.
+ Make a few clarifications to pmcollectl.1.
+ Improve python API test coverage.
+ Numerous updates to the test suite in general.
+ Allow pmda Install scripts to specify own dso name again.
+ Reconcile spec file differences between PCP flavours.
+ Fix handling of multiple contexts with a remote namespace.
+ Core socket interface abstractions to support NSS (later).
+ Fix man page SYNOPSIS section for pmUnpackEventRecords.
+ Add --disable-shared build option for static builds.
- Update to pcp-3.6.6.
+ Added the python PMAPI bindings and an initial python client
in pmcollectl. Separate, new package exists for python libs
for those platforms that split out packages (rpm, deb).
+ Added a pcp-testsuite package for those platforms that might
want this (rpm, deb again, mainly)
+ Re-introduced the pcp/qa subdirectory in pcp and deprecated
the external pcpqa git tree.
+ Fix potential buffer overflow in pmlogger host name handling.
+ Reworked the configure --prefix handling to be more like the
rest of the open source world.
+ Ensure the __pmDecodeText ident parameter is always set
Resolves Red Hat bugzilla bug #841306.
-------------------------------------------------------------------
Tue Nov 13 11:10:58 UTC 2012 - ddiss@suse.com
- Ensure pmlogger and pmie temporary state is always placed under
PCP_TMP_DIR.
-------------------------------------------------------------------
Mon Nov 12 14:14:20 UTC 2012 - ddiss@suse.com
- Specify the PCP temporary file directory at configure time using the
--with-tempdir= argument.
-------------------------------------------------------------------
Fri Nov 9 15:32:28 UTC 2012 - ddiss@suse.com
- Use mktemp for the placement of init script temp files. Place global
temp files under run_dir; (bnc#782967).
-------------------------------------------------------------------
Wed Aug 15 23:57:34 UTC 2012 - ddiss@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package pcp
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 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
@ -21,9 +21,8 @@ License: GPL-2.0
Group: System/Monitoring
Name: pcp
Version: 3.6.5
Version: 3.6.10
Release: 0
%define buildversion 1
%if (0%{?suse_version} > 0)
%define pcp_gr System/Monitoring
@ -51,7 +50,7 @@ Release: 0
%endif
Url: http://oss.sgi.com/projects/pcp
Source0: ftp://oss.sgi.com/projects/pcp/download/pcp-%{version}-%{buildversion}.src.tar.gz
Source0: ftp://oss.sgi.com/projects/pcp/download/pcp-%{version}.src.tar.gz
Source1: pcp-rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -60,15 +59,16 @@ BuildRequires: bison
BuildRequires: flex
BuildRequires: ncurses-devel
BuildRequires: procps
BuildRequires: pwdutils
BuildRequires: readline-devel
BuildRequires: perl(ExtUtils::MakeMaker)
Patch6: pcp-xenbuild.patch
Patch9: static_lib_perms.diff
Patch10: pcp_legacy_init_lsb.patch
Patch11: fix_configure_path_tests.patch
Patch12: configure_append_pcp_subdir.patch
Patch13: remove_cpan_rpaths.patch
Patch14: rm_init_script_runlevel_4.patch
Patch15: create-pmlogger-and-pmie-logdirs-during-install.patch
Patch16: fix_pmie_pmlogger_startup_races.patch
%if (0%{?suse_version} > 0)
Requires: cpp
@ -115,6 +115,7 @@ Performance Co-Pilot (PCP) run-time libraries
#
# pcp-libs-devel
# SLE uses the legacy pcp-devel package name.
#
%package -n %{lib_devel_pkg}
Summary: Performance Co-Pilot (PCP) development headers and documentation
@ -123,6 +124,10 @@ Group: %{lib_devel_gr}
Url: http://oss.sgi.com/projects/pcp/
Requires: %{lib_pkg} = %{version}
Conflicts: %{lib_devel_pkg_conflict}
%if (0%{?suse_version} > 0)
Provides: pcp-devel = %{version}
Obsoletes: pcp-devel < %{version}
%endif
%if (0%{?fedora} > 0)
AutoReq: no
%endif
@ -276,14 +281,16 @@ into standard PCP archive logs for replay with any PCP monitoring tool.
%prep
%setup -q
%patch6
%patch9
%patch9 -p1
%patch10
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
autoconf
%configure --localstatedir=/var/lib
%configure --with-rcdir=/etc/init.d \
--with-tmpdir=%{_localstatedir}/lib/pcp/tmp \
--with-docdir=%{_datadir}/doc/packages/pcp
%clean
rm -Rf $RPM_BUILD_ROOT
@ -297,13 +304,19 @@ make install_pcp
# Fix stuff we do/don't want to ship
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a
# bnc 796448: qa/src/xmktime.c and qa/src/pthread_barrier.h have unacceptable
# license entries. Remove these along with everything under testsuite.
rm -rf $RPM_BUILD_ROOT/%{_localstatedir}/lib/pcp/testsuite
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/pcp
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/pcp/tmp
%if (0%{?suse_version} > 0)
# add /etc/init.d/X symlinks at /usr/sbin/rcX
%__install -d -m 0755 ${RPM_BUILD_ROOT}/%{_sbindir}
for script in pcp pmie pmproxy pmlogger pmcd; do
ln -s "%{_sysconfdir}/init.d/${script}" "${RPM_BUILD_ROOT}/%{_sbindir}/rc${script}"
ln -s "%{_sysconfdir}/init.d/${script}" \
"${RPM_BUILD_ROOT}/%{_sbindir}/rc${script}"
done
%else
# default chkconfig off for Fedora and RHEL
@ -326,6 +339,12 @@ sed -e 's#$#*#' >base_man1files.list
cat base_pmdas.list base_binfiles.list base_man1files.list > base_specialfiles.list
%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
exit 0
%if (0%{?suse_version} > 0)
%preun
@ -337,7 +356,20 @@ cat base_pmdas.list base_binfiles.list base_man1files.list > base_specialfiles.l
%{?insserv_cleanup:%{insserv_cleanup}}
%post
chown -R pcp:pcp /var/log/pcp/{pmcd,pmlogger,pmie,pmproxy} 2>/dev/null
/sbin/ldconfig
%if 0%{?suse_version} < 1131
%run_permissions
%else
%set_permissions %{_localstatedir}/lib/pcp/tmp/
%set_permissions %{_localstatedir}/lib/pcp/tmp/pmdabash/
%set_permissions %{_localstatedir}/lib/pcp/tmp/mmv/
%set_permissions %{_localstatedir}/lib/pcp/tmp/pmie/
%set_permissions %{_localstatedir}/lib/pcp/tmp/pmlogger/
%endif
%verifyscript
%verify_permissions -e %{_localstatedir}/lib/pcp/tmp/ -e %{_localstatedir}/lib/pcp/tmp/pmdabash/ -e %{_localstatedir}/lib/pcp/tmp/mmv/ -e %{_localstatedir}/lib/pcp/tmp/pmie/ -e %{_localstatedir}/lib/pcp/tmp/pmlogger/
%else
@ -361,6 +393,7 @@ then
fi
%post
chown -R pcp:pcp /var/log/pcp/{pmcd,pmlogger,pmie,pmproxy} 2>/dev/null
/sbin/chkconfig --add pmcd >/dev/null 2>&1
/sbin/service pmcd condrestart
/sbin/chkconfig --add pmlogger >/dev/null 2>&1
@ -383,13 +416,17 @@ fi
# but rather they are (slightly obscure) PMDA config files.
#
%defattr(-,root,root)
# pcp_doc_dir should be derived from a configure option, currently it's not
%{_datadir}/doc/packages/pcp-%{version}
%{_datadir}/doc/packages/pcp
%if (0%{?suse_version} > 0)
%{_sbindir}/rc*
%endif
%ghost %dir %{_localstatedir}/run/pcp
%verify(not mode) %attr(755,root,root) %dir %{_localstatedir}/lib/pcp/tmp
%verify(not mode) %attr(755,root,root) %dir %{_localstatedir}/lib/pcp/tmp/pmdabash
%verify(not mode) %attr(755,root,root) %dir %{_localstatedir}/lib/pcp/tmp/mmv
%verify(not mode) %attr(755,root,root) %dir %{_localstatedir}/lib/pcp/tmp/pmie
%verify(not mode) %attr(755,root,root) %dir %{_localstatedir}/lib/pcp/tmp/pmlogger
%dir %{_pmdasdir}
%dir %{_datadir}/pcp
%dir %{_localstatedir}/lib/pcp
@ -399,6 +436,7 @@ fi
%{_datadir}/pcp/lib
%{_localstatedir}/log/pcp
%{_localstatedir}/lib/pcp/pmns
%config(missingok) %{_localstatedir}/lib/pcp/pmns/.NeedRebuild
%{_initrddir}/pcp
%{_initrddir}/pmcd
%{_initrddir}/pmlogger

View File

@ -1,7 +1,7 @@
Index: pcp-3.6.3/src/cpan/PMDA/Makefile.PL
Index: pcp-3.6.10/src/perl/PMDA/Makefile.PL
===================================================================
--- pcp-3.6.3.orig/src/cpan/PMDA/Makefile.PL
+++ pcp-3.6.3/src/cpan/PMDA/Makefile.PL
--- pcp-3.6.10.orig/src/perl/PMDA/Makefile.PL
+++ pcp-3.6.10/src/perl/PMDA/Makefile.PL
@@ -15,7 +15,7 @@ if ($ENV{TARGET_OS} eq "mingw") {
else {
$ldfrom = "local.o PMDA.o";
@ -11,10 +11,10 @@ Index: pcp-3.6.3/src/cpan/PMDA/Makefile.PL
}
if ($ENV{TARGET_OS} eq "darwin") {
# standard ones, minus -arch ppc
Index: pcp-3.6.3/src/cpan/LogImport/Makefile.PL
Index: pcp-3.6.10/src/perl/LogImport/Makefile.PL
===================================================================
--- pcp-3.6.3.orig/src/cpan/LogImport/Makefile.PL
+++ pcp-3.6.3/src/cpan/LogImport/Makefile.PL
--- pcp-3.6.10.orig/src/perl/LogImport/Makefile.PL
+++ pcp-3.6.10/src/perl/LogImport/Makefile.PL
@@ -15,7 +15,7 @@ if ($ENV{TARGET_OS} eq "mingw") {
else {
$ldfrom = "LogImport.o",
@ -24,10 +24,10 @@ Index: pcp-3.6.3/src/cpan/LogImport/Makefile.PL
}
if ($ENV{TARGET_OS} eq "darwin") {
# standard ones, minus -arch ppc
Index: pcp-3.6.3/src/cpan/MMV/Makefile.PL
Index: pcp-3.6.10/src/perl/MMV/Makefile.PL
===================================================================
--- pcp-3.6.3.orig/src/cpan/MMV/Makefile.PL
+++ pcp-3.6.3/src/cpan/MMV/Makefile.PL
--- pcp-3.6.10.orig/src/perl/MMV/Makefile.PL
+++ pcp-3.6.10/src/perl/MMV/Makefile.PL
@@ -15,7 +15,7 @@ if ($ENV{TARGET_OS} eq "mingw") {
else {
$ldfrom = "MMV.o";

View File

@ -1,17 +1,153 @@
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)
From bcd50d9e0a84c54c2e5d909f2567312c9af0335e Mon Sep 17 00:00:00 2001
From: David Disseldorp <ddiss@suse.de>
Date: Mon, 19 Nov 2012 17:15:07 +0100
Subject: [PATCH] Install libraries without exec permission
---
src/genpmda/genpmda | 4 ++--
src/libpcp/src/GNUmakefile | 4 ++--
src/libpcp_gui/src/GNUmakefile | 4 ++--
src/libpcp_import/src/GNUmakefile | 4 ++--
src/libpcp_mmv/src/GNUmakefile | 4 ++--
src/libpcp_pmda/src/GNUmakefile | 4 ++--
src/libpcp_trace/src/GNUmakefile | 4 ++--
src/pmdas/aix/GNUmakefile | 3 ++-
src/pmdas/darwin/GNUmakefile | 3 ++-
src/pmdas/freebsd/GNUmakefile | 3 ++-
src/pmdas/linux/GNUmakefile | 3 ++-
src/pmdas/linux_proc/GNUmakefile | 3 ++-
src/pmdas/lustrecomm/GNUmakefile | 2 +-
src/pmdas/mmv/GNUmakefile | 3 ++-
src/pmdas/pmcd/src/GNUmakefile | 2 +-
src/pmdas/sample/src/GNUmakefile | 3 ++-
src/pmdas/sendmail/GNUmakefile | 2 +-
src/pmdas/solaris/GNUmakefile | 3 ++-
18 files changed, 33 insertions(+), 25 deletions(-)
diff --git a/src/genpmda/genpmda b/src/genpmda/genpmda
index 4650315..1bd2cba 100755
--- a/src/genpmda/genpmda
+++ b/src/genpmda/genpmda
@@ -909,7 +909,7 @@ install: default
\$(INSTALL) -m 755 -d \$(PCP_VAR_DIR)/pmdas
\$(INSTALL) -m 755 -d \$(PMDADIR)
\$(INSTALL) -m 755 \$(CMDTARGET) \$(PMDADIR)/\$(CMDTARGET)
- \$(INSTALL) -m 755 \$(LIBTARGET) \$(PMDADIR)/\$(LIBTARGET)
+ \$(INSTALL) -m 644 \$(LIBTARGET) \$(PMDADIR)/\$(LIBTARGET)
\$(INSTALL) -m 755 $oflag/Install \$(PMDADIR)/Install
\$(INSTALL) -m 755 $oflag/Remove \$(PMDADIR)/Remove
\$(INSTALL) -m 644 $oflag/Makefile.install \$(PMDADIR)/Makefile
@@ -972,7 +972,7 @@ install: default
\$(INSTALL) -m 755 -d \$(PCP_VAR_DIR)/pmdas
\$(INSTALL) -m 755 -d \$(PMDADIR)
\$(INSTALL) -m 755 -f \$(CMDTARGET) \$(PMDADIR)/\$(CMDTARGET)
- \$(INSTALL) -m 755 -f \$(LIBTARGET) \$(PMDADIR)/\$(LIBTARGET)
+ \$(INSTALL) -m 644 -f \$(LIBTARGET) \$(PMDADIR)/\$(LIBTARGET)
\$(INSTALL) -m 755 -f $oflag/Install \$(PMDADIR)/Install
\$(INSTALL) -m 755 -f $oflag/Remove \$(PMDADIR)/Remove
\$(INSTALL) -m 644 -f $oflag/Makefile.install \$(PMDADIR)/Makefile
diff --git a/src/libpcp/src/GNUmakefile b/src/libpcp/src/GNUmakefile
index 18adb88..6a7627d 100644
--- a/src/libpcp/src/GNUmakefile
+++ b/src/libpcp/src/GNUmakefile
@@ -103,7 +103,7 @@ endif
install : default
ifneq "$(LIBTARGET)" ""
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
endif
ifneq "$(SYMTARGET)" ""
for tt in $(SYMTARGET); do \
@@ -111,7 +111,7 @@ ifneq "$(SYMTARGET)" ""
done
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp : default
diff --git a/src/libpcp_gui/src/GNUmakefile b/src/libpcp_gui/src/GNUmakefile
index 6d636e0..d8fe1e7 100644
--- a/src/libpcp_gui/src/GNUmakefile
+++ b/src/libpcp_gui/src/GNUmakefile
@@ -53,7 +53,7 @@ include $(BUILDRULES)
install: default
ifneq "$(LIBTARGET)" ""
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
endif
ifneq "$(SYMTARGET)" ""
for tt in $(SYMTARGET); do \
@@ -61,7 +61,7 @@ ifneq "$(SYMTARGET)" ""
done
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp: default
diff --git a/src/libpcp_import/src/GNUmakefile b/src/libpcp_import/src/GNUmakefile
index 1cdf529..f1c7d1d 100644
--- a/src/libpcp_import/src/GNUmakefile
+++ b/src/libpcp_import/src/GNUmakefile
@@ -50,7 +50,7 @@ include $(BUILDRULES)
install: default
ifneq "$(LIBTARGET)" ""
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
endif
ifneq "$(SYMTARGET)" ""
for tt in $(SYMTARGET); do \
@@ -58,7 +58,7 @@ ifneq "$(SYMTARGET)" ""
done
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp: default
diff --git a/src/libpcp_mmv/src/GNUmakefile b/src/libpcp_mmv/src/GNUmakefile
index e2395f3..9619df5 100644
--- a/src/libpcp_mmv/src/GNUmakefile
+++ b/src/libpcp_mmv/src/GNUmakefile
@@ -45,7 +45,7 @@ include $(BUILDRULES)
install: default
ifneq "$(LIBTARGET)" ""
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
endif
ifneq "$(SYMTARGET)" ""
for tt in $(SYMTARGET); do \
@@ -53,7 +53,7 @@ ifneq "$(SYMTARGET)" ""
done
endif
ifneq "$(STATICLIBTARGET)" ""
- $(INSTALL) -m 755 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
+ $(INSTALL) -m 644 $(STATICLIBTARGET) $(PCP_LIB_DIR)/$(STATICLIBTARGET)
endif
default_pcp: default
diff --git a/src/libpcp_pmda/src/GNUmakefile b/src/libpcp_pmda/src/GNUmakefile
index 23a1b10..182d68d 100644
--- a/src/libpcp_pmda/src/GNUmakefile
+++ b/src/libpcp_pmda/src/GNUmakefile
@@ -79,7 +79,7 @@ include $(BUILDRULES)
install : default
ifneq "$(LIBTARGET)" ""
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
endif
ifneq "$(LIBTARGET_V1)" ""
$(INSTALL) -S $(LIBTARGET_V3) $(PCP_LIB_DIR)/$(LIBTARGET_V1)
endif
@@ -73,7 +73,7 @@ ifneq "$(LIBTARGET_V2)" ""
@@ -88,7 +88,7 @@ ifneq "$(LIBTARGET_V2)" ""
$(INSTALL) -S $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET_V2)
endif
ifneq "$(STATICLIBTARGET)" ""
@ -20,16 +156,17 @@ Index: src/libpcp_pmda/src/GNUmakefile
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)
diff --git a/src/libpcp_trace/src/GNUmakefile b/src/libpcp_trace/src/GNUmakefile
index d3ea55d..034195a 100644
--- a/src/libpcp_trace/src/GNUmakefile
+++ b/src/libpcp_trace/src/GNUmakefile
@@ -51,13 +51,13 @@ include $(BUILDRULES)
install : default
ifneq "$(LIBTARGET)" ""
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_LIB_DIR)/$(LIBTARGET)
endif
ifneq "$(SYMTARGET)" ""
$(INSTALL) -S $(LIBTARGET) $(PCP_LIB_DIR)/$(SYMTARGET)
endif
@ -39,87 +176,157 @@ Index: src/libpcp_trace/src/GNUmakefile
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)
diff --git a/src/pmdas/aix/GNUmakefile b/src/pmdas/aix/GNUmakefile
index 9282d76..46336a7 100644
--- a/src/pmdas/aix/GNUmakefile
+++ b/src/pmdas/aix/GNUmakefile
@@ -41,7 +41,8 @@ build-me: common.h root_aix domain.h $(CMDTARGET) $(LIBTARGET) help.dir help.pag
install: build-me
$(INSTALL) -m 755 -d $(PMDADIR)
$(INSTALL) -m 644 domain.h help.dir help.pag $(PMDADIR)
- $(INSTALL) -m 755 $(LIBTARGET) $(CMDTARGET) $(PMDADIR)
+ $(INSTALL) -m 755 $(CMDTARGET) $(PMDADIR)/$(CMDTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
$(INSTALL) -m 644 root_aix $(PCP_VAR_DIR)/pmns/root_aix
else
build-me:
diff --git a/src/pmdas/darwin/GNUmakefile b/src/pmdas/darwin/GNUmakefile
index a2fd3a7..081cc98 100644
--- a/src/pmdas/darwin/GNUmakefile
+++ b/src/pmdas/darwin/GNUmakefile
@@ -45,7 +45,8 @@ build-me: root_darwin domain.h $(LIBTARGET) $(CMDTARGET) help.dir help.pag
install: build-me
$(INSTALL) -m 755 -d $(PMDADIR)
$(INSTALL) -m 644 domain.h help.dir help.pag $(PMDADIR)
- $(INSTALL) -m 755 $(LIBTARGET) $(CMDTARGET) $(PMDADIR)
+ $(INSTALL) -m 755 $(CMDTARGET) $(PMDADIR)/$(CMDTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
$(INSTALL) -m 644 root_darwin $(PCP_VAR_DIR)/pmns/root_darwin
else
build-me:
diff --git a/src/pmdas/freebsd/GNUmakefile b/src/pmdas/freebsd/GNUmakefile
index 217fcd8..00b2dcd 100644
--- a/src/pmdas/freebsd/GNUmakefile
+++ b/src/pmdas/freebsd/GNUmakefile
@@ -46,7 +46,8 @@ build-me: domain.h $(LIBTARGET) $(CMDTARGET) help.dir help.pag
install: default
$(INSTALL) -m 755 -d $(PMDADIR)
$(INSTALL) -m 644 domain.h help help.dir help.pag $(PMDADIR)
- $(INSTALL) -m 755 $(LIBTARGET) $(CMDTARGET) $(PMDADIR)
+ $(INSTALL) -m 755 $(CMDTARGET) $(PMDADIR)/$(CMDTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
$(INSTALL) -m 644 root_freebsd $(PCP_VAR_DIR)/pmns/root_freebsd
else
build-me:
diff --git a/src/pmdas/linux/GNUmakefile b/src/pmdas/linux/GNUmakefile
index 087e53a..bc81973 100644
--- a/src/pmdas/linux/GNUmakefile
+++ b/src/pmdas/linux/GNUmakefile
@@ -67,7 +67,8 @@ build-me: domain.h $(LIBTARGET) $(CMDTARGET) help.dir help.pag
install: default
$(INSTALL) -m 755 -d $(PMDADIR)
$(INSTALL) -m 644 domain.h help help.dir help.pag $(PMDADIR)
- $(INSTALL) -m 755 $(LIBTARGET) $(CMDTARGET) $(PMDADIR)
+ $(INSTALL) -m 755 $(CMDTARGET) $(PMDADIR)/$(CMDTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
$(INSTALL) -m 644 root_linux $(PCP_VAR_DIR)/pmns/root_linux
else
build-me:
diff --git a/src/pmdas/linux_proc/GNUmakefile b/src/pmdas/linux_proc/GNUmakefile
index 7d8961a..89aa43f 100644
--- a/src/pmdas/linux_proc/GNUmakefile
+++ b/src/pmdas/linux_proc/GNUmakefile
@@ -48,7 +48,8 @@ install: default
$(INSTALL) -m 755 -d $(PMDADIR)
$(INSTALL) -m 755 Install Remove $(PMDADIR)
$(INSTALL) -m 644 domain.h pmns pmns.cgroup root help $(PMDADIR)
- $(INSTALL) -m 755 $(LIBTARGET) $(CMDTARGET) $(PMDADIR)
+ $(INSTALL) -m 755 $(CMDTARGET) $(PMDADIR)/$(CMDTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
$(INSTALL) -m 644 linux_proc_migrate.conf $(PCP_VAR_DIR)/config/pmlogrewrite/linux_proc_migrate.conf
else
build-me:
diff --git a/src/pmdas/lustrecomm/GNUmakefile b/src/pmdas/lustrecomm/GNUmakefile
index bd0aadc..153fe83 100644
--- a/src/pmdas/lustrecomm/GNUmakefile
+++ b/src/pmdas/lustrecomm/GNUmakefile
@@ -47,7 +47,7 @@ build-me: domain.h $(TARGETS)
install: default
$(INSTALL) -m 755 -d $(PMDADIR)
$(INSTALL) -m 755 $(CMDTARGET) $(PMDADIR)/$(CMDTARGET)
- #$(INSTALL) -m 755 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
+ #$(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
$(INSTALL) -m 755 Install Remove $(PMDADIR)
$(INSTALL) -m 644 $(DFILES) root pmns domain.h help $(PMDADIR)
else
diff --git a/src/pmdas/mmv/GNUmakefile b/src/pmdas/mmv/GNUmakefile
index 302c212..7c6d1cd 100644
--- a/src/pmdas/mmv/GNUmakefile
+++ b/src/pmdas/mmv/GNUmakefile
@@ -44,7 +44,8 @@ include $(BUILDRULES)
install_pcp install: default
$(INSTALL) -m 755 -d $(PMDADIR)
$(INSTALL) -m 644 domain.h $(PMDADIR)/domain.h
- $(INSTALL) -m 755 $(TARGETS) Install Remove $(PMDADIR)
+ $(INSTALL) -m 755 $(CMDTARGET) mmvdump$(EXECSUFFIX) Install Remove $(PMDADIR)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
$(INSTALL) -m 644 pmns $(PMDADIR)/root_mmv
$(INSTALL) -m 644 root_mmv $(PCP_VAR_DIR)/pmns/root_mmv
$(INSTALL) -m 1777 -d $(PCP_TMP_DIR)/mmv
diff --git a/src/pmdas/pmcd/src/GNUmakefile b/src/pmdas/pmcd/src/GNUmakefile
index 00e1e9c..34bbeb7 100644
--- a/src/pmdas/pmcd/src/GNUmakefile
+++ b/src/pmdas/pmcd/src/GNUmakefile
@@ -47,7 +47,7 @@ default: $(LIBTARGET)
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
$(INSTALL) -m 755 -d $(PCP_PMDAS_DIR)/pmcd
- $(INSTALL) -m 755 $(LIBTARGET) $(PCP_PMDAS_DIR)/pmcd/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PCP_PMDAS_DIR)/pmcd/$(LIBTARGET)
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
diff --git a/src/pmdas/sample/src/GNUmakefile b/src/pmdas/sample/src/GNUmakefile
index 57b61be..57b9a17 100644
--- a/src/pmdas/sample/src/GNUmakefile
+++ b/src/pmdas/sample/src/GNUmakefile
@@ -43,7 +43,8 @@ sample.o events.o: events.h
install: default
$(INSTALL) -m 755 -d $(PMDADIR)
- $(INSTALL) -m 755 $(CMDTARGET) $(LIBTARGET) $(PMDADIR)
+ $(INSTALL) -m 755 $(CMDTARGET) $(PMDADIR)/$(CMDTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
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
diff --git a/src/pmdas/sendmail/GNUmakefile b/src/pmdas/sendmail/GNUmakefile
index e551ad2..0c81c0a 100644
--- a/src/pmdas/sendmail/GNUmakefile
+++ b/src/pmdas/sendmail/GNUmakefile
@@ -36,7 +36,7 @@ include $(BUILDRULES)
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
install install_pcp: default
$(INSTALL) -m 755 -d $(PMDADIR)
- $(INSTALL) -m 755 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
$(INSTALL) -m 755 $(CMDTARGET) $(PMDADIR)/pmda$(IAM)$(EXECSUFFIX)
$(INSTALL) -m 755 $(SCRIPTS) $(PMDADIR)
$(INSTALL) -m 644 $(DFILES) pmns help root domain.h $(PMDADIR)
diff --git a/src/pmdas/solaris/GNUmakefile b/src/pmdas/solaris/GNUmakefile
index 0d81837..5a4f0d8 100644
--- a/src/pmdas/solaris/GNUmakefile
+++ b/src/pmdas/solaris/GNUmakefile
@@ -45,7 +45,8 @@ build-me: root_solaris domain.h $(LIBTARGET) $(CMDTARGET) help.dir help.pag
install: build-me
$(INSTALL) -m 755 -d $(PMDADIR)
$(INSTALL) -m 644 domain.h help.dir help.pag $(PMDADIR)
- $(INSTALL) -m 755 $(LIBTARGET) $(CMDTARGET) $(PMDADIR)
+ $(INSTALL) -m 755 $(CMDTARGET) $(PMDADIR)/$(CMDTARGET)
+ $(INSTALL) -m 644 $(LIBTARGET) $(PMDADIR)/$(LIBTARGET)
$(INSTALL) -m 644 root_solaris $(PCP_VAR_DIR)/pmns/root_solaris
else
build-me:
--
1.7.10.4