Blame SOURCES/bz1059642.patch

95ec45
commit 56ebe5fde238569be2c8b5b4babc9430eedb3616
95ec45
Author: Nathan Scott <nathans@redhat.com>
95ec45
Date:   Tue Feb 11 10:48:14 2014 +1100
95ec45
95ec45
    Changes to pmdasample to support multlib devel packages
95ec45
    
95ec45
    This removes architecture-dependent files in the development
95ec45
    package related to pmdasample.  Instead of installing prebuilt
95ec45
    binaries, we now use the pmdasimple/pmdatrivial technique of
95ec45
    installing a makefile and generating them.
95ec45
    
95ec45
    There's a bit of code tweaking in terms of header includes and
95ec45
    domain number file generation, making pmdasample code match up
95ec45
    more closely now with the other devel PMDAs.
95ec45
95ec45
diff --git a/qa/156 b/qa/156
95ec45
index 4b2347a..319b2cc 100755
95ec45
--- a/qa/156
95ec45
+++ b/qa/156
95ec45
@@ -17,8 +17,11 @@ rm -f $seq.out
95ec45
 if [ $PCP_VER -lt 3600 ]
95ec45
 then
95ec45
     ln $seq.out.1 $seq.out || exit 1
95ec45
-else
95ec45
+elif [ $PCP_VER -lt 3810 ]
95ec45
+then
95ec45
     ln $seq.out.2 $seq.out || exit 1
95ec45
+else
95ec45
+    ln $seq.out.3 $seq.out || exit 1
95ec45
 fi
95ec45
 
95ec45
 $sudo $PCP_RC_DIR/pcp restart | _filter_pcp_start
95ec45
diff --git a/qa/156.out.3 b/qa/156.out.3
95ec45
new file mode 100644
95ec45
index 0000000..f5c0d86
95ec45
--- /dev/null
95ec45
+++ b/qa/156.out.3
95ec45
@@ -0,0 +1,329 @@
95ec45
+QA output created by 156
95ec45
+Waiting for pmcd to terminate ...
95ec45
+Starting pmcd ... 
95ec45
+Starting pmlogger ... 
95ec45
+
95ec45
+=== remove agent ===
95ec45
+Culling the Performance Metrics Name Space ...
95ec45
+sample ... done
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Removing files ...
95ec45
+Check sample metrics have gone away ... OK
95ec45
+Culling the Performance Metrics Name Space ...
95ec45
+sampledso ... done
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Removing files ...
95ec45
+Check sampledso metrics have gone away ... OK
95ec45
+Error: sample: Unknown metric name
95ec45
+
95ec45
+=== pipe agent ===
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "sample" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] both
95ec45
+======================
95ec45
+= sample daemon PMDA =
95ec45
+======================
95ec45
+PMCD should communicate with the sample daemon via a pipe or a socket? [pipe] pipe
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sample metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+======================
95ec45
+= sampledso DSO PMDA =
95ec45
+======================
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sampledso metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+sample.darkness: No value(s) available
95ec45
+sample.noinst: No value(s) available
95ec45
+sample.needprofile: Explicit instance identifier(s) required
95ec45
+sample.bad.unknown: pmLookupDesc: Unknown or illegal metric identifier
95ec45
+sample.bad.nosupport: Not Supported
95ec45
+sample.event.type: No value(s) available
95ec45
+sample.event.param_32: No value(s) available
95ec45
+sample.event.param_u32: No value(s) available
95ec45
+sample.event.param_64: No value(s) available
95ec45
+sample.event.param_u64: No value(s) available
95ec45
+sample.event.param_float: No value(s) available
95ec45
+sample.event.param_double: No value(s) available
95ec45
+sample.event.param_string: No value(s) available
95ec45
+sample.event.param_aggregate: No value(s) available
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "sample" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] both
95ec45
+======================
95ec45
+= sample daemon PMDA =
95ec45
+======================
95ec45
+PMCD should communicate with the sample daemon via a pipe or a socket? [pipe] pipe
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sample metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+======================
95ec45
+= sampledso DSO PMDA =
95ec45
+======================
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sampledso metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+sample.darkness: No value(s) available
95ec45
+sample.noinst: No value(s) available
95ec45
+sample.needprofile: Explicit instance identifier(s) required
95ec45
+sample.bad.unknown: pmLookupDesc: Unknown or illegal metric identifier
95ec45
+sample.bad.nosupport: Not Supported
95ec45
+sample.event.type: No value(s) available
95ec45
+sample.event.param_32: No value(s) available
95ec45
+sample.event.param_u32: No value(s) available
95ec45
+sample.event.param_64: No value(s) available
95ec45
+sample.event.param_u64: No value(s) available
95ec45
+sample.event.param_float: No value(s) available
95ec45
+sample.event.param_double: No value(s) available
95ec45
+sample.event.param_string: No value(s) available
95ec45
+sample.event.param_aggregate: No value(s) available
95ec45
+
95ec45
+=== socket Internet agent ===
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "sample" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] both
95ec45
+======================
95ec45
+= sample daemon PMDA =
95ec45
+======================
95ec45
+PMCD should communicate with the sample daemon via a pipe or a socket? [pipe] socket
95ec45
+Use Internet, IPv6 or Unix domain sockets? [Internet] Internet
95ec45
+Internet port number or service name? [2077] PORT1
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sample metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+======================
95ec45
+= sampledso DSO PMDA =
95ec45
+======================
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sampledso metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+sample.darkness: No value(s) available
95ec45
+sample.noinst: No value(s) available
95ec45
+sample.needprofile: Explicit instance identifier(s) required
95ec45
+sample.bad.unknown: pmLookupDesc: Unknown or illegal metric identifier
95ec45
+sample.bad.nosupport: Not Supported
95ec45
+sample.event.type: No value(s) available
95ec45
+sample.event.param_32: No value(s) available
95ec45
+sample.event.param_u32: No value(s) available
95ec45
+sample.event.param_64: No value(s) available
95ec45
+sample.event.param_u64: No value(s) available
95ec45
+sample.event.param_float: No value(s) available
95ec45
+sample.event.param_double: No value(s) available
95ec45
+sample.event.param_string: No value(s) available
95ec45
+sample.event.param_aggregate: No value(s) available
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "sample" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] both
95ec45
+======================
95ec45
+= sample daemon PMDA =
95ec45
+======================
95ec45
+PMCD should communicate with the sample daemon via a pipe or a socket? [pipe] socket
95ec45
+Use Internet, IPv6 or Unix domain sockets? [Internet] Internet
95ec45
+Internet port number or service name? [2077] PORT2
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sample metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+======================
95ec45
+= sampledso DSO PMDA =
95ec45
+======================
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sampledso metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+sample.darkness: No value(s) available
95ec45
+sample.noinst: No value(s) available
95ec45
+sample.needprofile: Explicit instance identifier(s) required
95ec45
+sample.bad.unknown: pmLookupDesc: Unknown or illegal metric identifier
95ec45
+sample.bad.nosupport: Not Supported
95ec45
+sample.event.type: No value(s) available
95ec45
+sample.event.param_32: No value(s) available
95ec45
+sample.event.param_u32: No value(s) available
95ec45
+sample.event.param_64: No value(s) available
95ec45
+sample.event.param_u64: No value(s) available
95ec45
+sample.event.param_float: No value(s) available
95ec45
+sample.event.param_double: No value(s) available
95ec45
+sample.event.param_string: No value(s) available
95ec45
+sample.event.param_aggregate: No value(s) available
95ec45
+
95ec45
+=== socket Unix agent ===
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "sample" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] both
95ec45
+======================
95ec45
+= sample daemon PMDA =
95ec45
+======================
95ec45
+PMCD should communicate with the sample daemon via a pipe or a socket? [pipe] socket
95ec45
+Use Internet, IPv6 or Unix domain sockets? [Internet] Unix
95ec45
+Unix FIFO name? TMP.fifo
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sample metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+======================
95ec45
+= sampledso DSO PMDA =
95ec45
+======================
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sampledso metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+sample.darkness: No value(s) available
95ec45
+sample.noinst: No value(s) available
95ec45
+sample.needprofile: Explicit instance identifier(s) required
95ec45
+sample.bad.unknown: pmLookupDesc: Unknown or illegal metric identifier
95ec45
+sample.bad.nosupport: Not Supported
95ec45
+sample.event.type: No value(s) available
95ec45
+sample.event.param_32: No value(s) available
95ec45
+sample.event.param_u32: No value(s) available
95ec45
+sample.event.param_64: No value(s) available
95ec45
+sample.event.param_u64: No value(s) available
95ec45
+sample.event.param_float: No value(s) available
95ec45
+sample.event.param_double: No value(s) available
95ec45
+sample.event.param_string: No value(s) available
95ec45
+sample.event.param_aggregate: No value(s) available
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "sample" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] both
95ec45
+======================
95ec45
+= sample daemon PMDA =
95ec45
+======================
95ec45
+PMCD should communicate with the sample daemon via a pipe or a socket? [pipe] socket
95ec45
+Use Internet, IPv6 or Unix domain sockets? [Internet] Unix
95ec45
+Unix FIFO name? TMP.fifo
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sample metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+======================
95ec45
+= sampledso DSO PMDA =
95ec45
+======================
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sampledso metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+sample.darkness: No value(s) available
95ec45
+sample.noinst: No value(s) available
95ec45
+sample.needprofile: Explicit instance identifier(s) required
95ec45
+sample.bad.unknown: pmLookupDesc: Unknown or illegal metric identifier
95ec45
+sample.bad.nosupport: Not Supported
95ec45
+sample.event.type: No value(s) available
95ec45
+sample.event.param_32: No value(s) available
95ec45
+sample.event.param_u32: No value(s) available
95ec45
+sample.event.param_64: No value(s) available
95ec45
+sample.event.param_u64: No value(s) available
95ec45
+sample.event.param_float: No value(s) available
95ec45
+sample.event.param_double: No value(s) available
95ec45
+sample.event.param_string: No value(s) available
95ec45
+sample.event.param_aggregate: No value(s) available
95ec45
+Culling the Performance Metrics Name Space ...
95ec45
+sample ... done
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Removing files ...
95ec45
+Check sample metrics have gone away ... OK
95ec45
+Culling the Performance Metrics Name Space ...
95ec45
+sampledso ... done
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Removing files ...
95ec45
+Check sampledso metrics have gone away ... OK
95ec45
+Error: sample: Unknown metric name
95ec45
+
95ec45
+Reinstall PMDA ...
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "sample" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] ======================
95ec45
+= sample daemon PMDA =
95ec45
+======================
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sample metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
+======================
95ec45
+= sampledso DSO PMDA =
95ec45
+======================
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Check sampledso metrics have appeared ... 10+ warnings, 100+ metrics and 1200+ values
95ec45
diff --git a/qa/642 b/qa/642
95ec45
index 4b36936..0242503 100755
95ec45
--- a/qa/642
95ec45
+++ b/qa/642
95ec45
@@ -14,7 +14,10 @@ echo "QA output created by $seq"
95ec45
 . ./common.check
95ec45
 
95ec45
 rm -f $seq.out $seq.full
95ec45
-if [ $PCP_VER -ge 3801 ]
95ec45
+if [ $PCP_VER -ge 3810 ]
95ec45
+then
95ec45
+    ln $seq.out.4 $seq.out || exit 1
95ec45
+elif [ $PCP_VER -ge 3801 ]
95ec45
 then
95ec45
     ln $seq.out.3 $seq.out || exit 1
95ec45
 elif [ $PCP_VER -ge 3600 ]
95ec45
diff --git a/qa/642.out.4 b/qa/642.out.4
95ec45
new file mode 100644
95ec45
index 0000000..c379768
95ec45
--- /dev/null
95ec45
+++ b/qa/642.out.4
95ec45
@@ -0,0 +1,95 @@
95ec45
+QA output created by 642
95ec45
+
95ec45
+=== install #1 ===
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "trivial" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] 
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+
95ec45
+=== install #2 ===
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "simple" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] 
95ec45
+Install simple as a daemon or python or perl or dso agent? [daemon] 
95ec45
+PMCD should communicate with the simple daemon via a pipe or a socket? [pipe] 
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+
95ec45
+=== install #3 ===
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "sample" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] 
95ec45
+======================
95ec45
+= sample daemon PMDA =
95ec45
+======================
95ec45
+PMCD should communicate with the sample daemon via a pipe or a socket? [pipe] 
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+======================
95ec45
+= sampledso DSO PMDA =
95ec45
+======================
95ec45
+Installing files ...
95ec45
+[...install files, make output...]
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+
95ec45
+=== install #4 ===
95ec45
+You will need to choose an appropriate configuration for installation of
95ec45
+the "sendmail" Performance Metrics Domain Agent (PMDA).
95ec45
+
95ec45
+  collector	collect performance statistics on this system
95ec45
+  monitor	allow this system to monitor local and/or remote systems
95ec45
+  both		collector and monitor configuration for this system
95ec45
+
95ec45
+Please enter c(ollector) or m(onitor) or b(oth) [b] 
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+
95ec45
+=== install #5 ===
95ec45
+Installing the "trace" Performance Metrics Domain Agent (PMDA) ...
95ec45
+
95ec45
+Use the default installation [y]? 
95ec45
+Updating the Performance Metrics Name Space (PMNS) ...
95ec45
+Terminate PMDA if already installed ...
95ec45
+[...install files, make output...]
95ec45
+Updating the PMCD control file, and notifying PMCD ...
95ec45
+Note: some warnings are expected until trace API calls are made - refer to
95ec45
+      the man pages for pmtrace(1) and pmdatrace(3) for further details.
95ec45
+
95ec45
+=== PMNS differences (none expected) ===
95ec45
+
95ec45
+Waiting for pmcd to terminate ...
95ec45
+Starting pmcd ... 
95ec45
+Starting pmlogger ... 
95ec45
diff --git a/src/pmdas/sample/GNUmakefile b/src/pmdas/sample/GNUmakefile
95ec45
index 778042d..6650ac5 100644
95ec45
--- a/src/pmdas/sample/GNUmakefile
95ec45
+++ b/src/pmdas/sample/GNUmakefile
95ec45
@@ -1,39 +1,29 @@
95ec45
 #
95ec45
+# Copyright (c) 2014 Red Hat.  All Rights Reserved.
95ec45
 # Copyright (c) 2000,2004 Silicon Graphics, Inc.  All Rights Reserved.
95ec45
-# 
95ec45
+#
95ec45
 # This program is free software; you can redistribute it and/or modify it
95ec45
 # under the terms of the GNU General Public License as published by the
95ec45
 # Free Software Foundation; either version 2 of the License, or (at your
95ec45
 # option) any later version.
95ec45
-# 
95ec45
+#
95ec45
 # This program is distributed in the hope that it will be useful, but
95ec45
 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
95ec45
 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
95ec45
 # for more details.
95ec45
-# 
95ec45
-# You should have received a copy of the GNU General Public License along
95ec45
-# with this program; if not, write to the Free Software Foundation, Inc.,
95ec45
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
95ec45
-#
95ec45
-#*************************************************************************
95ec45
-#
95ec45
-# Makefile - sample PMDA
95ec45
 #
95ec45
-#*************************************************************************
95ec45
 
95ec45
 TOPDIR = ../../..
95ec45
 include $(TOPDIR)/src/include/builddefs
95ec45
 
95ec45
-DOMAIN  = SAMPLE
95ec45
-
95ec45
 DFILES	= README help
95ec45
 LSRCFILES = root pmns $(DFILES) Install Remove Sample.pmchart
95ec45
-LDIRT = domain.h *.dir *.pag sample.log
95ec45
+LDIRT = *.dir *.pag
95ec45
 
95ec45
 SUBDIRS = src
95ec45
 PMDADIR = $(PCP_PMDAS_DIR)/sample
95ec45
 
95ec45
-default_pcp default :: domain.h $(SUBDIRS)
95ec45
+default_pcp default :: $(SUBDIRS)
95ec45
 
95ec45
 default_pcp default :: $(SUBDIRS)
95ec45
 	$(SUBDIRS_MAKERULE)
95ec45
@@ -44,13 +34,7 @@ install_pcp install :: $(SUBDIRS)
95ec45
 install_pcp install :: default
95ec45
 	$(INSTALL) -d $(PMDADIR)
95ec45
 	$(INSTALL) -m 755 Install Remove $(PMDADIR)
95ec45
-	$(INSTALL) -m 644 $(DFILES) pmns root domain.h $(PMDADIR)
95ec45
+	$(INSTALL) -m 644 $(DFILES) pmns root $(PMDADIR)
95ec45
 	$(INSTALL) -m 644 Sample.pmchart $(PCP_VAR_DIR)/config/pmchart/Sample
95ec45
 
95ec45
 include $(BUILDRULES)
95ec45
-
95ec45
-.NOTPARALLEL:
95ec45
-.ORDER:	domain.h $(OBJECTS)
95ec45
-
95ec45
-domain.h: ../../pmns/stdpmid
95ec45
-	$(DOMAIN_MAKERULE)
95ec45
diff --git a/src/pmdas/sample/domain.h b/src/pmdas/sample/domain.h
95ec45
new file mode 100644
95ec45
index 0000000..0aa641b
95ec45
--- /dev/null
95ec45
+++ b/src/pmdas/sample/domain.h
95ec45
@@ -0,0 +1,4 @@
95ec45
+/*
95ec45
+ * built from ../../pmns/stdpmid
95ec45
+ */
95ec45
+#define SAMPLE 29
95ec45
diff --git a/src/pmdas/sample/src/GNUmakefile b/src/pmdas/sample/src/GNUmakefile
95ec45
index 3a92c30..3070c68 100644
95ec45
--- a/src/pmdas/sample/src/GNUmakefile
95ec45
+++ b/src/pmdas/sample/src/GNUmakefile
95ec45
@@ -1,16 +1,17 @@
95ec45
 #
95ec45
+# Copyright (c) 2014 Red Hat.
95ec45
 # Copyright (c) 2000,2004 Silicon Graphics, Inc.  All Rights Reserved.
95ec45
-# 
95ec45
+#
95ec45
 # This program is free software; you can redistribute it and/or modify it
95ec45
 # under the terms of the GNU General Public License as published by the
95ec45
 # Free Software Foundation; either version 2 of the License, or (at your
95ec45
 # option) any later version.
95ec45
-# 
95ec45
+#
95ec45
 # This program is distributed in the hope that it will be useful, but
95ec45
 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
95ec45
 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
95ec45
 # for more details.
95ec45
-# 
95ec45
+#
95ec45
 
95ec45
 TOPDIR = ../../../..
95ec45
 include $(TOPDIR)/src/include/builddefs
95ec45
@@ -20,6 +21,7 @@ include $(TOPDIR)/src/include/builddefs
95ec45
 # are building.
95ec45
 #
95ec45
 IAM = sample
95ec45
+DOMAIN = SAMPLE
95ec45
 CMDTARGET = pmda$(IAM)$(EXECSUFFIX)
95ec45
 LIBTARGET = pmda_$(IAM).$(DSOSUFFIX)
95ec45
 TARGETS = $(CMDTARGET) $(LIBTARGET)
95ec45
@@ -31,27 +33,27 @@ CFILES = pmda.c sample.c percontext.c events.c
95ec45
 HFILES = percontext.h events.h
95ec45
 VERSION_SCRIPT = exports
95ec45
 
95ec45
-LDIRT = $(TARGETS) $(VERSION_SCRIPT)
95ec45
-
95ec45
-LCFLAGS = -DDYNAMIC_SPEC=\"$(PCP_PMDAS_DIR)/sample/dynamic.indom\"
95ec45
+LDIRT = domain.h sample.log $(TARGETS) $(VERSION_SCRIPT)
95ec45
 LCFLAGS += $(INVISIBILITY)
95ec45
 LLDLIBS = $(PCP_PMDALIB)
95ec45
+LSRCFILES = GNUmakefile.install
95ec45
 
95ec45
-default:	../domain.h $(TARGETS)
95ec45
+default:	domain.h $(TARGETS)
95ec45
 
95ec45
 pmda.o sample.o percontext.o: percontext.h
95ec45
 sample.o events.o: events.h
95ec45
 pmda.o: $(VERSION_SCRIPT)
95ec45
 
95ec45
-../domain.h:
95ec45
-	$(MAKE) -C .. domain.h
95ec45
+domain.h: ../../../pmns/stdpmid
95ec45
+	$(DOMAIN_MAKERULE)
95ec45
 
95ec45
 $(VERSION_SCRIPT):
95ec45
 	$(VERSION_SCRIPT_MAKERULE)
95ec45
 
95ec45
 install:	default
95ec45
 	$(INSTALL) -m 755 -d $(PMDADIR)
95ec45
-	$(INSTALL) -m 755 $(CMDTARGET) $(LIBTARGET) $(PMDADIR)
95ec45
+	$(INSTALL) -m 644 domain.h $(CFILES) $(HFILES) $(PMDADIR)
95ec45
+	$(INSTALL) -m 644 GNUmakefile.install $(PMDADIR)/Makefile
95ec45
 
95ec45
 include $(BUILDRULES)
95ec45
 
95ec45
diff --git a/src/pmdas/sample/src/GNUmakefile.install b/src/pmdas/sample/src/GNUmakefile.install
95ec45
new file mode 100644
95ec45
index 0000000..a61aa7e
95ec45
--- /dev/null
95ec45
+++ b/src/pmdas/sample/src/GNUmakefile.install
95ec45
@@ -0,0 +1,53 @@
95ec45
+#
95ec45
+# Copyright (c) 2014 Red Hat.
95ec45
+# Copyright (c) 2000,2003,2004 Silicon Graphics, Inc.  All Rights Reserved.
95ec45
+#
95ec45
+# This program is free software; you can redistribute it and/or modify it
95ec45
+# under the terms of the GNU General Public License as published by the
95ec45
+# Free Software Foundation; either version 2 of the License, or (at your
95ec45
+# option) any later version.
95ec45
+#
95ec45
+# This program is distributed in the hope that it will be useful, but
95ec45
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
95ec45
+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
95ec45
+# for more details.
95ec45
+#
95ec45
+
95ec45
+SHELL	= sh
95ec45
+
95ec45
+ifdef PCP_CONF
95ec45
+include $(PCP_CONF)
95ec45
+else
95ec45
+include $(PCP_DIR)/etc/pcp.conf
95ec45
+endif
95ec45
+include $(PCP_INC_DIR)/builddefs
95ec45
+
95ec45
+# remove -Lpath and -Ipath options from builddefs CFLAGS value
95ec45
+#
95ec45
+PCP_LIBS        =
95ec45
+TMP             := $(CFLAGS:-I%=)
95ec45
+ifdef PCP_DIR
95ec45
+# put -Ipath and -Lpath back but use paths for run-time environment
95ec45
+#
95ec45
+CFLAGS          = $(TMP) -I$(PCP_INC_DIR)/..
95ec45
+LDFLAGS         = -L$(PCP_LIB_DIR)
95ec45
+else
95ec45
+CFLAGS          = $(TMP)
95ec45
+endif
95ec45
+
95ec45
+IAM	= sample
95ec45
+CFILES = pmda.c sample.c percontext.c events.c
95ec45
+HFILES = percontext.h events.h
95ec45
+
95ec45
+LIBTARGET = pmda_$(IAM).$(DSOSUFFIX)
95ec45
+CMDTARGET = pmda$(IAM)
95ec45
+TARGETS = $(LIBTARGET) $(CMDTARGET)
95ec45
+
95ec45
+LLDLIBS	= -lpcp_pmda -lpcp -lm -ldl -lpthread
95ec45
+LDIRT	= *.log help.dir help.pag
95ec45
+
95ec45
+default: $(TARGETS)
95ec45
+
95ec45
+install: default
95ec45
+
95ec45
+include $(PCP_INC_DIR)/buildrules
95ec45
diff --git a/src/pmdas/sample/src/events.c b/src/pmdas/sample/src/events.c
95ec45
index 31471a9..18b1803 100644
95ec45
--- a/src/pmdas/sample/src/events.c
95ec45
+++ b/src/pmdas/sample/src/events.c
95ec45
@@ -15,9 +15,9 @@
95ec45
  * for more details.
95ec45
  */
95ec45
 
95ec45
-#include "pmapi.h"
95ec45
-#include "impl.h"
95ec45
-#include "pmda.h"
95ec45
+#include <pcp/pmapi.h>
95ec45
+#include <pcp/impl.h>
95ec45
+#include <pcp/pmda.h>
95ec45
 #include "events.h"
95ec45
 
95ec45
 static int		nfetch;
95ec45
diff --git a/src/pmdas/sample/src/percontext.c b/src/pmdas/sample/src/percontext.c
95ec45
index 77026b8..0c549df 100644
95ec45
--- a/src/pmdas/sample/src/percontext.c
95ec45
+++ b/src/pmdas/sample/src/percontext.c
95ec45
@@ -15,9 +15,9 @@
95ec45
  * for more details.
95ec45
  */
95ec45
 
95ec45
-#include "pmapi.h"
95ec45
-#include "impl.h"
95ec45
-#include "pmda.h"
95ec45
+#include <pcp/pmapi.h>
95ec45
+#include <pcp/impl.h>
95ec45
+#include <pcp/pmda.h>
95ec45
 #include "percontext.h"
95ec45
 
95ec45
 typedef struct {
95ec45
diff --git a/src/pmdas/sample/src/pmda.c b/src/pmdas/sample/src/pmda.c
95ec45
index ce9ce1e..7e70a35 100644
95ec45
--- a/src/pmdas/sample/src/pmda.c
95ec45
+++ b/src/pmdas/sample/src/pmda.c
95ec45
@@ -20,10 +20,10 @@
95ec45
  * Generic driver for a daemon-based PMDA
95ec45
  */
95ec45
 
95ec45
-#include "pmapi.h"
95ec45
-#include "impl.h"
95ec45
-#include "pmda.h"
95ec45
-#include "../domain.h"
95ec45
+#include <pcp/pmapi.h>
95ec45
+#include <pcp/impl.h>
95ec45
+#include <pcp/pmda.h>
95ec45
+#include "domain.h"
95ec45
 #include "percontext.h"
95ec45
 
95ec45
 extern void sample_init(pmdaInterface *);
95ec45
diff --git a/src/pmdas/sample/src/sample.c b/src/pmdas/sample/src/sample.c
95ec45
index 8b8dc0e..c499c9f 100644
95ec45
--- a/src/pmdas/sample/src/sample.c
95ec45
+++ b/src/pmdas/sample/src/sample.c
95ec45
@@ -12,14 +12,14 @@
95ec45
  * for more details.
95ec45
  */
95ec45
 
95ec45
-#include "pmapi.h"
95ec45
-#include "impl.h"
95ec45
-#include "pmda.h"
95ec45
-#include "percontext.h"
95ec45
-#include "events.h"
95ec45
 #include <limits.h>
95ec45
 #include <sys/stat.h>
95ec45
-#include "../domain.h"
95ec45
+#include <pcp/pmapi.h>
95ec45
+#include <pcp/impl.h>
95ec45
+#include <pcp/pmda.h>
95ec45
+#include "percontext.h"
95ec45
+#include "events.h"
95ec45
+#include "domain.h"
95ec45
 #ifdef HAVE_SYSINFO
95ec45
 /*
95ec45
  * On Solaris, need <sys/systeminfo.h> and sysinfo() is different.
95ec45
commit 5f102b1aa2816fc2e8c5e24674b83075f988ab03
95ec45
Author: Nathan Scott <nathans@redhat.com>
95ec45
Date:   Tue Feb 11 12:27:04 2014 +1100
95ec45
95ec45
    Changes to pmdatxmon to support multlib devel packages
95ec45
    
95ec45
    This removes architecture-dependent files in the development
95ec45
    package related to pmdatxmon.  Instead of installing prebuilt
95ec45
    binaries, we now use the pmdasimple/pmdatrivial technique of
95ec45
    installing a makefile and generating them.
95ec45
95ec45
diff --git a/src/pmdas/txmon/GNUmakefile b/src/pmdas/txmon/GNUmakefile
95ec45
index 61d2c0d..7c423ba 100644
95ec45
--- a/src/pmdas/txmon/GNUmakefile
95ec45
+++ b/src/pmdas/txmon/GNUmakefile
95ec45
@@ -43,8 +43,7 @@ build-me:	$(TARGETS)
95ec45
 
95ec45
 install:	build-me
95ec45
 	$(INSTALL) -m 755 -d $(PMDADIR)
95ec45
-	$(INSTALL) -m 755 $(IAM) $(PMDADIR)/pmda$(IAM)
95ec45
-	$(INSTALL) -m 755 txrecord $(SCRIPTS) $(PMDADIR)
95ec45
+	$(INSTALL) -m 755 $(SCRIPTS) $(PMDADIR)
95ec45
 	$(INSTALL) -m 644 $(DFILES) root $(HFILES) $(PMDADIR)
95ec45
 	$(INSTALL) -m 644 help pmns domain.h $(CFILES) $(PMDADIR)
95ec45
 	$(INSTALL) -m 644 GNUmakefile.install $(PMDADIR)/Makefile
95ec45
commit 8d4a8eb3fcbee1d0f0e90cc6207b6db7b90dd5c8
95ec45
Author: Nathan Scott <nathans@redhat.com>
95ec45
Date:   Tue Feb 11 15:48:16 2014 +1100
95ec45
95ec45
    Changes to pcp.conf packaging to support "multilib" packaging
95ec45
    
95ec45
    Move the configuration files (pcp.conf in particular, as it is
95ec45
    not architecture neutral) from pcp-libs into a new pcp-conf
95ec45
    package packaging formats for both rpm and deb formats.
95ec45
    
95ec45
    As this is a fairly major packaging shift that people will at
95ec45
    times probably need to refer back to, bump the minor version
95ec45
    number (3.8.x -> 3.9.0).  A dependency exists between pcp-libs
95ec45
    and pcp-conf of course, but this is no longer arch dependent.
95ec45
    
95ec45
    This is part two of three for rpm "multilib" support for pcp,
95ec45
    where both 32 and 64 bit variants of the -libs and -libs-devel
95ec45
    packages can be simultaneously installed.
95ec45
    
95ec45
    It also happens to resolve a long-standing Debian bug, so its
95ec45
    got that goin' for it, which is nice.
95ec45
95ec45
diff --git a/debian/GNUmakefile b/debian/GNUmakefile
95ec45
index acb049d..661b46a 100644
95ec45
--- a/debian/GNUmakefile
95ec45
+++ b/debian/GNUmakefile
95ec45
@@ -36,6 +36,10 @@ PCPPMDAINFINIBAND = pcp-pmda-infiniband
95ec45
 PCPPMDAINFINIBAND_FILES = pcp-pmda-infiniband.dirs pcp-pmda-infiniband.install
95ec45
 PCPPMDAINFINIBAND_DOC_DIR = $(PCP_DOC_DIR)/../pcp-pmda-infiniband
95ec45
 
95ec45
+PCPCFG = pcp-conf
95ec45
+PCPCFG_FILES = pcp-conf.dirs pcp-conf.install
95ec45
+PCPCFG_DOC_DIR = $(PCP_DOC_DIR)/../pcp-conf
95ec45
+
95ec45
 LIBPCPPCP = libpcp3
95ec45
 LIBPCP_FILES = libpcp3.dirs libpcp3.install
95ec45
 DEVPCP_FILES = libpcp3-dev.dirs libpcp3-dev.install
95ec45
@@ -88,7 +92,7 @@ LSRCFILES = changelog compat control copyright rules \
95ec45
 	pcp.postrm.head pcp.postrm.tail configversions \
95ec45
 	$(LINTIAN) $(PCP_LINT) \
95ec45
 	$(PCP_FILES) $(LIBPCP_FILES) $(DEVPCP_FILES) \
95ec45
-	$(PCPTESTSUITE_FILES) \
95ec45
+	$(PCPCFG_FILES) $(PCPTESTSUITE_FILES) \
95ec45
 	$(LIBGUI_FILES) $(DEVGUI_FILES) \
95ec45
 	$(LIBMMV_FILES) $(DEVMMV_FILES) \
95ec45
 	$(LIBPMDA_FILES) $(DEVPMDA_FILES) \
95ec45
@@ -119,6 +123,13 @@ ifeq ($(PACKAGE_DISTRIBUTION), debian)
95ec45
 	$(INSTALL) -m 644 changelog $(PCPTESTSUITEDIR)/changelog.Debian
95ec45
 endif
95ec45
 
95ec45
+install-pcpcfg: default
95ec45
+ifeq ($(PACKAGE_DISTRIBUTION), debian)
95ec45
+	$(INSTALL) -m 755 -d $(PCPCFG_DOC_DIR)
95ec45
+	$(INSTALL) -m 644 copyright $(PCPCFG_DOC_DIR)
95ec45
+	$(INSTALL) -m 644 changelog $(PCPCFG_DOC_DIR)/changelog.Debian
95ec45
+endif
95ec45
+
95ec45
 install-libpcp: default
95ec45
 ifeq ($(PACKAGE_DISTRIBUTION), debian)
95ec45
 	$(INSTALL) -m 755 -d $(LIBPCP_DOC_DIR)
95ec45
diff --git a/debian/libpcp3.dirs b/debian/libpcp3.dirs
95ec45
index 9a8b09a..e69de29 100644
95ec45
--- a/debian/libpcp3.dirs
95ec45
+++ b/debian/libpcp3.dirs
95ec45
@@ -1 +0,0 @@
95ec45
-usr/include/pcp
95ec45
diff --git a/debian/libpcp3.install b/debian/libpcp3.install
95ec45
index cdad482..ceab611 100644
95ec45
--- a/debian/libpcp3.install
95ec45
+++ b/debian/libpcp3.install
95ec45
@@ -1,4 +1 @@
95ec45
-etc/pcp.conf
95ec45
 usr/lib/libpcp.so.3
95ec45
-usr/include/pcp/builddefs
95ec45
-usr/include/pcp/buildrules
95ec45
diff --git a/debian/pcp-conf.dirs b/debian/pcp-conf.dirs
95ec45
new file mode 100644
95ec45
index 0000000..9a8b09a
95ec45
--- /dev/null
95ec45
+++ b/debian/pcp-conf.dirs
95ec45
@@ -0,0 +1 @@
95ec45
+usr/include/pcp
95ec45
diff --git a/debian/pcp-conf.install b/debian/pcp-conf.install
95ec45
new file mode 100644
95ec45
index 0000000..98a9eba
95ec45
--- /dev/null
95ec45
+++ b/debian/pcp-conf.install
95ec45
@@ -0,0 +1,3 @@
95ec45
+etc/pcp.conf
95ec45
+usr/include/pcp/builddefs
95ec45
+usr/include/pcp/buildrules
95ec45
commit 8fe72ef673aa98b419077f4a4f9852336dce4df0
95ec45
Author: Nathan Scott <nathans@redhat.com>
95ec45
Date:   Tue Feb 11 19:16:55 2014 +1100
95ec45
95ec45
    Final phase of rpm multilib support - workaround config.h differences
95ec45
    
95ec45
    Use the http://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks
95ec45
    technique ("myautoconf.h files with a size in them") for avoiding the
95ec45
    final problem in terms of multilib support.
95ec45
95ec45
diff --git a/configure b/configure
95ec45
index 1d34aab..b8ee2d8 100755
95ec45
--- a/configure
95ec45
+++ b/configure
95ec45
@@ -4496,7 +4496,7 @@ if test -z "$PACKAGE_DISTRIBUTION" ; then
95ec45
 fi
95ec45
 
95ec45
 
95ec45
-ac_config_headers="$ac_config_headers src/include/pcp/config.h"
95ec45
+ac_config_headers="$ac_config_headers src/include/pcp/config.h src/include/pcp/configsz.h"
95ec45
 
95ec45
 ac_config_files="$ac_config_files src/include/pcp/platform_defs.h"
95ec45
 
95ec45
@@ -5190,6 +5190,7 @@ for ac_config_target in $ac_config_targets
95ec45
 do
95ec45
   case $ac_config_target in
95ec45
     "src/include/pcp/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/include/pcp/config.h" ;;
95ec45
+    "src/include/pcp/configsz.h") CONFIG_HEADERS="$CONFIG_HEADERS src/include/pcp/configsz.h" ;;
95ec45
     "src/include/pcp/platform_defs.h") CONFIG_FILES="$CONFIG_FILES src/include/pcp/platform_defs.h" ;;
95ec45
 
95ec45
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
95ec45
@@ -8739,12 +8740,13 @@ fi
95ec45
 
95ec45
 done
95ec45
 
95ec45
-for ac_header in execinfo.h
95ec45
+for ac_header in execinfo.h bits/wordsize.h
95ec45
 do :
95ec45
-  ac_fn_c_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default"
95ec45
-if test "x$ac_cv_header_execinfo_h" = xyes; then :
95ec45
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
95ec45
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
95ec45
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
95ec45
   cat >>confdefs.h <<_ACEOF
95ec45
-#define HAVE_EXECINFO_H 1
95ec45
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
95ec45
 _ACEOF
95ec45
 
95ec45
 fi
95ec45
@@ -13987,6 +13989,7 @@ for ac_config_target in $ac_config_targets
95ec45
 do
95ec45
   case $ac_config_target in
95ec45
     "src/include/pcp/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/include/pcp/config.h" ;;
95ec45
+    "src/include/pcp/configsz.h") CONFIG_HEADERS="$CONFIG_HEADERS src/include/pcp/configsz.h" ;;
95ec45
     "src/include/pcp/platform_defs.h") CONFIG_FILES="$CONFIG_FILES src/include/pcp/platform_defs.h" ;;
95ec45
     "src/include/builddefs") CONFIG_FILES="$CONFIG_FILES src/include/builddefs" ;;
95ec45
     "src/include/pcp.conf") CONFIG_FILES="$CONFIG_FILES src/include/pcp.conf" ;;
95ec45
diff --git a/configure.in b/configure.in
95ec45
index 4529e31..5fcdb9b 100644
95ec45
--- a/configure.in
95ec45
+++ b/configure.in
95ec45
@@ -348,8 +348,8 @@ if test -z "$PACKAGE_DISTRIBUTION" ; then
95ec45
 fi
95ec45
 AC_SUBST(PACKAGE_DISTRIBUTION)
95ec45
 
95ec45
-dnl output header with cpp defs HAVE_*, etc
95ec45
-AC_CONFIG_HEADER(src/include/pcp/config.h)
95ec45
+dnl output header files with cpp defs HAVE_*, etc
95ec45
+AC_CONFIG_HEADERS(src/include/pcp/config.h src/include/pcp/configsz.h)
95ec45
 AC_OUTPUT(src/include/pcp/platform_defs.h)
95ec45
 
95ec45
 AC_CHECK_PROGS(GIT, git)
95ec45
@@ -932,7 +932,7 @@ AC_CHECK_HEADERS(pwd.h grp.h regex.h sys/wait.h)
95ec45
 AC_CHECK_HEADERS(termio.h termios.h sys/termios.h sys/ioctl.h)
95ec45
 AC_CHECK_HEADERS(netdb.h sys/socket.h netinet/in.h netinet/tcp.h arpa/inet.h)
95ec45
 AC_CHECK_HEADERS(windows.h winsock2.h ws2tcpip.h)
95ec45
-AC_CHECK_HEADERS(execinfo.h)
95ec45
+AC_CHECK_HEADERS(execinfo.h bits/wordsize.h)
95ec45
 AC_CHECK_HEADERS(iptypes.h, [], [], [#include <windows.h>])
95ec45
 
95ec45
 dnl Check if we have <sys/endian.h> ... standard way
95ec45
diff --git a/src/include/buildrules b/src/include/buildrules
95ec45
index 9e2c48e..638ec17 100644
95ec45
--- a/src/include/buildrules
95ec45
+++ b/src/include/buildrules
95ec45
@@ -112,6 +112,7 @@ realclean distclean: clean
95ec45
 	rm -f $(TOPDIR)/src/include/builddefs \
95ec45
 	      $(TOPDIR)/src/include/pcp.conf \
95ec45
 	      $(TOPDIR)/src/include/pcp/config.h \
95ec45
+	      $(TOPDIR)/src/include/pcp/configsz.h \
95ec45
 	      $(TOPDIR)/src/include/pcp/platform_defs.h \
95ec45
 	      $(TOPDIR)/src/include/pcp/pmdbg.h
95ec45
 	rm -f $(TOPDIR)/build/GNUlocaldefs
95ec45
diff --git a/src/include/pcp/GNUmakefile b/src/include/pcp/GNUmakefile
95ec45
index 93cdd82..4aaf310 100644
95ec45
--- a/src/include/pcp/GNUmakefile
95ec45
+++ b/src/include/pcp/GNUmakefile
95ec45
@@ -1,5 +1,5 @@
95ec45
 #
95ec45
-# Copyright (c) 2013 Red Hat.
95ec45
+# Copyright (c) 2013-2014 Red Hat.
95ec45
 # Copyright (c) 2000,2004 Silicon Graphics, Inc.  All Rights Reserved.
95ec45
 # 
95ec45
 # This program is free software; you can redistribute it and/or modify it
95ec45
@@ -18,11 +18,13 @@ include $(TOPDIR)/src/include/builddefs
95ec45
 -include ./GNUlocaldefs
95ec45
 
95ec45
 HFILES = pmapi.h impl.h pmda.h pmtime.h pmafm.h import.h \
95ec45
-	 trace.h trace_dev.h mmv_stats.h mmv_dev.h
95ec45
-GENERATED_HFILES = pmdbg.h platform_defs.h config.h
95ec45
-CONFFILES = config.h platform_defs.h
95ec45
+	 trace.h trace_dev.h mmv_stats.h mmv_dev.h \
95ec45
+	 config32.h config64.h
95ec45
+INFILES = config.h.in configsz.h.in platform_defs.h.in
95ec45
+CONFFILES = config.h configsz.h platform_defs.h
95ec45
+GENERATED_HFILES = pmdbg.h $(CONFFILES)
95ec45
 
95ec45
-LSRCFILES = config.h.in platform_defs.h.in mk_pmdbg fault.h
95ec45
+LSRCFILES = mk_pmdbg fault.h $(INFILES)
95ec45
 LDIRT = $(GENERATED_HFILES)
95ec45
 
95ec45
 default :: default_pcp
95ec45
diff --git a/src/include/pcp/config.h.in b/src/include/pcp/config.h.in
95ec45
index 2cef698..92f52ae 100644
95ec45
--- a/src/include/pcp/config.h.in
95ec45
+++ b/src/include/pcp/config.h.in
95ec45
@@ -80,11 +80,25 @@ extern "C" {
95ec45
 /* if compiler can cast __uint64_t to double */
95ec45
 #undef HAVE_CAST_U64_DOUBLE
95ec45
 
95ec45
-/* long and pointer must be either 32 bit or 64 bit */
95ec45
-#undef HAVE_64BIT_LONG
95ec45
-#undef HAVE_32BIT_LONG
95ec45
-#undef HAVE_32BIT_PTR
95ec45
-#undef HAVE_64BIT_PTR
95ec45
+/*
95ec45
+ * long and pointer must be either 32 bit or 64 bit
95ec45
+ *
95ec45
+ * This is complicated by RPMs "multilib" feature, which requires there
95ec45
+ * to be no differences between header files on 32 and 64 bit platforms.
95ec45
+ */
95ec45
+#undef HAVE_BITS_WORDSIZE_H
95ec45
+#ifdef HAVE_BITS_WORDSIZE_H
95ec45
+# include <bits/wordsize.h>
95ec45
+# if __WORDSIZE == 32
95ec45
+#  include "config32.h"
95ec45
+# elif __WORDSIZE == 64
95ec45
+#  include "config64.h"
95ec45
+# else
95ec45
+#  error "Unknown word size"
95ec45
+# endif
95ec45
+#else
95ec45
+# include "configsz.h"
95ec45
+#endif
95ec45
 
95ec45
 /* Define if header file is available */
95ec45
 #undef HAVE_FCNTL_H
95ec45
diff --git a/src/include/pcp/config32.h b/src/include/pcp/config32.h
95ec45
new file mode 100644
95ec45
index 0000000..64eba4c
95ec45
--- /dev/null
95ec45
+++ b/src/include/pcp/config32.h
95ec45
@@ -0,0 +1,23 @@
95ec45
+/*
95ec45
+ * Copyright (c) 2014 Red Hat.
95ec45
+ *
95ec45
+ * This program is free software; you can redistribute it and/or modify it
95ec45
+ * under the terms of the GNU General Public License as published by the
95ec45
+ * Free Software Foundation; either version 2 of the License, or (at your
95ec45
+ * option) any later version.
95ec45
+ *
95ec45
+ * This program is distributed in the hope that it will be useful, but
95ec45
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
95ec45
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
95ec45
+ * for more details.
95ec45
+ */
95ec45
+
95ec45
+#ifndef _PCP_CONFIG32_H
95ec45
+#define _PCP_CONFIG32_H
95ec45
+
95ec45
+/* #undef HAVE_64BIT_LONG */
95ec45
+#define HAVE_32BIT_LONG 1
95ec45
+#define HAVE_32BIT_PTR 1
95ec45
+/* #undef HAVE_64BIT_PTR */
95ec45
+
95ec45
+#endif /* _PCP_CONFIG32_H */
95ec45
diff --git a/src/include/pcp/config64.h b/src/include/pcp/config64.h
95ec45
new file mode 100644
95ec45
index 0000000..4bae2ee
95ec45
--- /dev/null
95ec45
+++ b/src/include/pcp/config64.h
95ec45
@@ -0,0 +1,23 @@
95ec45
+/*
95ec45
+ * Copyright (c) 2014 Red Hat.
95ec45
+ *
95ec45
+ * This program is free software; you can redistribute it and/or modify it
95ec45
+ * under the terms of the GNU General Public License as published by the
95ec45
+ * Free Software Foundation; either version 2 of the License, or (at your
95ec45
+ * option) any later version.
95ec45
+ *
95ec45
+ * This program is distributed in the hope that it will be useful, but
95ec45
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
95ec45
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
95ec45
+ * for more details.
95ec45
+ */
95ec45
+
95ec45
+#ifndef _PCP_CONFIG64_H
95ec45
+#define _PCP_CONFIG64_H
95ec45
+
95ec45
+#define HAVE_64BIT_LONG 1
95ec45
+/* #undef HAVE_32BIT_LONG */
95ec45
+/* #undef HAVE_32BIT_PTR */
95ec45
+#define HAVE_64BIT_PTR 1
95ec45
+
95ec45
+#endif /* _PCP_CONFIG64_H */
95ec45
diff --git a/src/include/pcp/configsz.h.in b/src/include/pcp/configsz.h.in
95ec45
new file mode 100644
95ec45
index 0000000..4a06e40
95ec45
--- /dev/null
95ec45
+++ b/src/include/pcp/configsz.h.in
95ec45
@@ -0,0 +1,24 @@
95ec45
+/*
95ec45
+ * Copyright (c) 2014 Red Hat.
95ec45
+ *
95ec45
+ * This program is free software; you can redistribute it and/or modify it
95ec45
+ * under the terms of the GNU General Public License as published by the
95ec45
+ * Free Software Foundation; either version 2 of the License, or (at your
95ec45
+ * option) any later version.
95ec45
+ *
95ec45
+ * This program is distributed in the hope that it will be useful, but
95ec45
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
95ec45
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
95ec45
+ * for more details.
95ec45
+ */
95ec45
+
95ec45
+#ifndef _PCP_CONFIGSZ_H
95ec45
+#define _PCP_CONFIGSZ_H
95ec45
+
95ec45
+/* long and pointer must be either 32 bit or 64 bit */
95ec45
+#undef HAVE_64BIT_LONG
95ec45
+#undef HAVE_32BIT_LONG
95ec45
+#undef HAVE_32BIT_PTR
95ec45
+#undef HAVE_64BIT_PTR
95ec45
+
95ec45
+#endif /* _PCP_CONFIGSZ_H */