rpms/tog-pegasus/devel README.RedHat.SSL, NONE, 1.1 pegasus-2.9.0-cmpi-provider-lib.patch, NONE, 1.1 pegasus-2.9.0-fix_tests.patch, NONE, 1.1 pegasus-2.9.0-initscript.patch, NONE, 1.1 pegasus-2.9.0-local-or-remote-auth.patch, NONE, 1.1 pegasus-2.9.0-no-rpath.patch, NONE, 1.1 pegasus-2.9.0-no_privilege_separation.patch, NONE, 1.1 pegasus-2.9.0-redhat-config.patch, NONE, 1.1 pegasus-2.9.0-sparc.patch, NONE, 1.1 .cvsignore, 1.9, 1.10 RedHat.OpenPegasus.Makefile, 1.10, 1.11 sources, 1.12, 1.13 tog-pegasus.spec, 1.70, 1.71 pegasus-2.5.1-fix_tests.patch, 1.1, NONE pegasus-2.6.0-cmpi-provider-lib.patch, 1.1, NONE pegasus-2.6.0-multilib.patch, 1.1, NONE pegasus-2.7.0-cmpiheaders.patch, 1.1, NONE pegasus-2.7.0-initscript.patch, 1.1, NONE pegasus-2.7.0-no-rpath.patch, 1.1, NONE pegasus-2.7.0-no_privilege_separation.patch, 1.1, NONE pegasus-2.7.0-redhat-config.patch, 1.2, NONE pegasus-2.7.1-sparc.patch, 1.1, NONE pegasus-2.7.2-local-or-remote-auth.patch, 1.1, NONE

vcrhonek vcrhonek at fedoraproject.org
Tue Jun 16 12:09:04 UTC 2009


Author: vcrhonek

Update of /cvs/extras/rpms/tog-pegasus/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12931

Modified Files:
	.cvsignore RedHat.OpenPegasus.Makefile sources 
	tog-pegasus.spec 
Added Files:
	README.RedHat.SSL pegasus-2.9.0-cmpi-provider-lib.patch 
	pegasus-2.9.0-fix_tests.patch pegasus-2.9.0-initscript.patch 
	pegasus-2.9.0-local-or-remote-auth.patch 
	pegasus-2.9.0-no-rpath.patch 
	pegasus-2.9.0-no_privilege_separation.patch 
	pegasus-2.9.0-redhat-config.patch pegasus-2.9.0-sparc.patch 
Removed Files:
	pegasus-2.5.1-fix_tests.patch 
	pegasus-2.6.0-cmpi-provider-lib.patch 
	pegasus-2.6.0-multilib.patch pegasus-2.7.0-cmpiheaders.patch 
	pegasus-2.7.0-initscript.patch pegasus-2.7.0-no-rpath.patch 
	pegasus-2.7.0-no_privilege_separation.patch 
	pegasus-2.7.0-redhat-config.patch pegasus-2.7.1-sparc.patch 
	pegasus-2.7.2-local-or-remote-auth.patch 
Log Message:
update to 2.9.0


--- NEW FILE README.RedHat.SSL ---
              Red Hat SSL configuration for tog-pegasus
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   The Red Hat tog-pegasus package is built with support for SSL
   (the Secure Socket Layer).
   Note: the upstream documentation for SSL is located here:
   /usr/share/doc/tog-pegasus-%{version}/PegasusSSLGuidelines.htm
   However, because the upstream documentation for SSL is not up-to-date
   (it was last updated in March, 2006, around the time of the
   OpenPegasus-2.5.1 release), nor accurate, we are providing this short
   description of how to configure SSL, as well as how it should be used.

 Hard-Coded Build-Time Constants:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Here is the list of constants which are hard-coded during build time:

   PEGASUS_CONFIG_DIR = /etc/Pegasus

   PEGASUS_PEM_DIR = $(PEGASUS_CONFIG_DIR)
                  (= /etc/Pegasus)

   PEGASUS_SSL_KEY_FILE = file.pem
   PEGASUS_SSL_KEY_FILE_PATH = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_KEY_FILE)
                  (= /etc/Pegasus/file.pem)
   o Contains the private key for the CIM Server SSL Certificate.

   PEGASUS_SSL_CERT_FILE = server.pem
   PEGASUS_SSL_CERT_FILE_PATH = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_CERT_FILE)
                             (= /etc/Pegasus/server.pem)
   o Contains the CIM Server SSL Certificate.

   PEGASUS_SSL_TRUSTSTORE = client.pem
   PEGASUS_SSL_CLIENT_TRUSTSTORE = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_TRUSTSTORE)
                                (= /etc/Pegasus/client.pem)
   PEGASUS_SSL_SERVER_TRUSTSTORE = $(PEGASUS_PEM_DIR)/cimserver_trust
                                (= /etc/Pegasus/cimserver_trust)
   o Specifies the location of the OpenSSL truststore. Consistent with the
     OpenSSL implementation, a truststore can be either a file or directory.
     If the truststore is a directory, then all certificates within the
     directory are considered trusted.

   PEGASUS_SSL_SERVER_CRL = $(PEGASUS_PEM_DIR)/crl
                         (= /etc/Pegasus/crl)
   o This is where the CRL (Certificate Revocation List) store resides.

 Tips Following Package Installation:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   o CIM Server default SSL certificates are generated when you run the
     tog-pegasus daemon (for example, by issuing the command
     "service tog-pegasus start") for the first time, which includes the
     following files, which are created in /etc/Pegasus: client.pem, file.pem,
     server.pem and ssl.cnf.
     Important: simply running the "cimserver" binary (/usr/sbin/cimserver)
     does NOT create the certificates or abovementioned files.
     Note: if you want to use your own certificates, simply overwrite the ones
     in /etc/Pegasus.

   o to enable/disable HTTPS port 5989 (the official WBEM secure port),
     use cimconfig.

   o the wbemcli command (from the sblim-wbemcli package)
     uses /etc/Pegasus/client.pem by default (see man wbemcli).


pegasus-2.9.0-cmpi-provider-lib.patch:

--- NEW FILE pegasus-2.9.0-cmpi-provider-lib.patch ---
diff -up pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h_old pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h
--- pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h_old	2008-12-02 10:01:24.000000000 +0100
+++ pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h	2009-03-18 15:35:41.000000000 +0100
@@ -61,7 +61,7 @@
     {"crlStore",             PEGASUS_SSL_SERVER_CRL},
 #  endif
     {"repositoryDir",        PEGASUS_REPOSITORY_DIR},
-    {"providerDir", PEGASUS_PROVIDER_LIB_DIR ":/usr/" PEGASUS_ARCH_LIB "/cmpi"},
+    {"providerDir",          PEGASUS_PROVIDER_LIB_DIR ":" PEGASUS_DEST_LIB_DIR "/cmpi"},
     {"providerManagerDir",   PEGASUS_PROVIDER_MANAGER_LIB_DIR},
 # else /* PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS */
     {"traceFilePath",       "/var/opt/tog-pegasus/cache/trace/cimserver.trc"},

pegasus-2.9.0-fix_tests.patch:

--- NEW FILE pegasus-2.9.0-fix_tests.patch ---
diff -up pegasus/Makefile.ReleaseTest_old pegasus/Makefile.ReleaseTest
--- pegasus/Makefile.ReleaseTest_old	2008-12-16 19:55:33.000000000 +0100
+++ pegasus/Makefile.ReleaseTest	2009-06-08 16:13:17.000000000 +0200
@@ -195,7 +195,7 @@ create_Makefile:
 
 createMakefile_providerlinks:
 	@$(ECHO-E) "create_providerlinks:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
-	@$(foreach i, $(PEGASUS_TEST_PROVIDERS), $(ECHO-E) "\t@$(MAKE) createlink OBJECT=$(PEGASUS_TEST_DIR)/$(PEGASUS_ARCH_LIB)/$(i)$(LIB_SUFFIX) LINKNAME=$(PEGASUS_PROVIDER_LIB_DIR)/$(i)$(LIB_LINK_SUFFIX)" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ;)
+	@$(foreach i, $(PEGASUS_TEST_PROVIDERS), $(ECHO-E) "\t@$(MAKE) createlink OBJECT=$(PEGASUS_TEST_DIR)/lib/$(i)$(LIB_SUFFIX) LINKNAME=$(PEGASUS_PROVIDER_LIB_DIR)/$(i)$(LIB_LINK_SUFFIX)" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ;)
 	@$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
 	@$(ECHO-E) "remove_providerlinks:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
 	@$(foreach i, $(PEGASUS_TEST_PROVIDERS), $(ECHO-E) "\trm -f $(PEGASUS_PROVIDER_LIB_DIR)/$(i)$(LIB_LINK_SUFFIX)" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ;)
@@ -238,8 +238,10 @@ createMakefile_tests:
 	@$(ECHO-E) "tests:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
 	@$(ECHO-E) "\t@$(MAKE) -i cimstop" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
 	@$(ECHO-E) "\t@$(MAKE) prestarttests" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
-	@$(ECHO-E) "\t@$(MAKE) runTestSuite CIMSERVER_CONFIG_OPTIONS=\"$(TESTSUITE_CONFIG_1)\" TESTSUITE_CMDS=\"$(TESTSUITE_CMDS_1)\"" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
-	@$(ECHO-E) "\t@$(MAKE) runTestSuite CIMSERVER_CONFIG_OPTIONS=\"$(TESTSUITE_CONFIG_2)\" TESTSUITE_CMDS=\"$(TESTSUITE_CMDS_2)\"" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
+	@$(ECHO-E) "\t@$(MAKE) setupTEST" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
+	@$(ECHO-E) "\t@$(MAKE) runTestSuite CIMSERVER_CONFIG_OPTIONS=\"$(TESTSUITE_CONFIG_1)\" TESTSUITE_CMDS=\"$(TESTSUITE_CMDS_1)\" || { $(MAKE) unsetupTEST; exit 1; }" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
+	@$(ECHO-E) "\t@$(MAKE) runTestSuite CIMSERVER_CONFIG_OPTIONS=\"$(TESTSUITE_CONFIG_2)\" TESTSUITE_CMDS=\"$(TESTSUITE_CMDS_2)\" || { $(MAKE) unsetupTEST; exit 1; }" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
+	@$(ECHO-E) "\t@$(MAKE) unsetupTEST" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
 	@$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
 
 createMakefile_testsWithSetupAndUnsetup:

pegasus-2.9.0-initscript.patch:

--- NEW FILE pegasus-2.9.0-initscript.patch ---
diff -up pegasus/rpm/tog-pegasus.rc_old pegasus/rpm/tog-pegasus.rc
--- pegasus/rpm/tog-pegasus.rc_old	2008-12-02 10:00:03.000000000 +0100
+++ pegasus/rpm/tog-pegasus.rc	2009-03-18 14:39:40.000000000 +0100
@@ -1,78 +1,108 @@
-#//%LICENSE////////////////////////////////////////////////////////////////
-#//
-#// Licensed to The Open Group (TOG) under one or more contributor license
-#// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
-#// this work for additional information regarding copyright ownership.
-#// Each contributor licenses this file to you under the OpenPegasus Open
-#// Source License; you may not use this file except in compliance with the
-#// License.
-#//
-#// Permission is hereby granted, free of charge, to any person obtaining a
-#// copy of this software and associated documentation files (the "Software"),
-#// to deal in the Software without restriction, including without limitation
-#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-#// and/or sell copies of the Software, and to permit persons to whom the
-#// Software is furnished to do so, subject to the following conditions:
-#//
-#// The above copyright notice and this permission notice shall be included
-#// in all copies or substantial portions of the Software.
-#//
-#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#//
-#//////////////////////////////////////////////////////////////////////////
-#! /bin/sh
-#//
-#//%/////////////////////////////////////////////////////////////////////////////
+#!/bin/bash
+#
+# chkconfig:    - 98 1
+# description:  The Open Group Pegasus cimserver initscript
+# processname:  cimserver
+# pidfile:      /var/run/tog-pegasus/cimserver.pid
+#
 
 ### BEGIN INIT INFO
-# Provides: tog-pegasus
+# Provides: lsb-pegasus
 # Required-Start: $syslog $network
 # Should-Start: $time
 # Required-Stop: $syslog
 # Default-Start:  3 5
 # Default-Stop: 0 1 2 6
-# Description:	  init script for Pegasus CIM server
+# Description: init script for Pegasus CIMServer
 ### END INIT INFO
 
-CIMSERVER_BIN=/opt/tog-pegasus/sbin/cimserver
+CIMSERVER_BIN=/usr/sbin/cimserver
 prog=cimserver
+LOCKFILE=/var/lock/subsys/tog-pegasus
+. /etc/rc.d/init.d/functions
 
-test -x $CIMSERVER_BIN || exit 5
+[ -e /etc/sysconfig/tog-pegasus ] && . /etc/sysconfig/tog-pegasus;
+
+PEGASUS_SSL_CONF_FILE=${PEGASUS_SSL_CONF_FILE:=/etc/Pegasus/ssl.cnf}
+PEGASUS_SSL_CERT_FILE=${PEGASUS_SSL_CERT_FILE:=/etc/Pegasus/server.pem}
+PEGASUS_SSL_KEY_FILE=${PEGASUS_SSL_KEY_FILE:=/etc/Pegasus/file.pem}
+PEGASUS_SSL_TRUSTSTORE=${PEGASUS_SSL_TRUSTSTORE:=/etc/Pegasus/client.pem}
 
-. /lib/lsb/init-functions
 RETVAL=0
 
 case "$1" in
      start)
+        pid=`pidofproc $CIMSERVER_BIN`
+        RETVAL=$?
+        if [ "$RETVAL" -eq 0 ]; then
+            echo "tog-pegasus $1: $CIMSERVER_BIN is already running";
+            exit 0;
+        fi;
+
+        if [ ! -e $CIMSERVER_BIN ]; then
+           echo "tog-pegasus $1: $CIMSERVER_BIN not found";
+           failure;
+           exit 5;
+        fi;
+
+        if [ ! -x $CIMSERVER_BIN ]; then
+           echo "tog-pegasus $1: $CIMSERVER_BIN not executable";
+           failure;
+           exit 4;
+        fi;
+
+        if [ ! -e ${PEGASUS_SSL_CONF_FILE} ] || [ ! -e ${PEGASUS_SSL_CERT_FILE} ] || 
+           [ ! -e ${PEGASUS_SSL_KEY_FILE} ]  || [ ! -e ${PEGASUS_SSL_TRUSTSTORE} ]; then
+           if [ -x /usr/share/Pegasus/scripts/genOpenPegasusSSLCerts ]; then
+               echo -n "tog-pegasus: Generating cimserver SSL certificates...";
+               /usr/share/Pegasus/scripts/genOpenPegasusSSLCerts;
+               if [ $? -eq 0 ]; then
+                   success;
+               else
+                   failure;
+               fi;
+               echo;
+           fi;
+        fi;
 	echo -n $"Starting up CIM server: "
-	$CIMSERVER_BIN
+        $CIMSERVER_BIN ${CIMSERVER_OPTIONS}
 	RETVAL=$?
-	[ "$RETVAL" -eq 0 ] && log_success_msg $"$prog start" || log_failure_msg $"$prog start"
-	echo
+        if [ "$RETVAL" -eq 0 ]; then
+            touch $LOCKFILE;
+            success;
+        else
+            failure;
+        fi;
+        echo;
 	;;
 
      stop)
 	echo -n $"Shutting down CIM server: "
 	killproc cimserver
 	RETVAL=$?
-	[ "$RETVAL" -eq 0 ] && log_success_msg $"$prog stop" || log_failure_msg $"$prog stop"
-	echo
+        if [ "$RETVAL" -eq 0 ]; then
+            rm -f $LOCKFILE;
+            rm -f /var/run/tog-pegasus/*;
+            success;
+        else
+            failure;
+        fi;
+	echo;
 	;;
+
      status)
 	pid=`pidofproc $CIMSERVER_BIN`
 	RETVAL=$?
 	if [ "$RETVAL" -eq 0 ]; then
-		echo "CIM server is running"
+            echo -n $"CIM server ($pid) is running";
+            RETVAL=0
 	else
-		echo "CIM server is not running"
-	fi
+            echo -n $"CIM server is not running";
+            RETVAL=3
+	fi;
+	echo;
 	;;
+
      condrestart)
 	pid=`pidofproc $CIMSERVER_BIN`
 	RETVAL=$?
@@ -81,18 +111,23 @@ case "$1" in
 	    RETVAL=$?;
 	fi;
         ;;
+
      try-restart)
-	$0 stop && $0 start
+        $0 stop && $0 start;
+        RETVAL=$?;
 	;;
+
      restart|force-reload)
-	$0 stop
-	$0 start
+        $0 stop;
+        $0 start;
+        RETVAL=$?;
 	;;
+
      reload)
 	;;
      *)
 	echo "Usage: $0 {start|stop|status|restart|reload|force-reload|try-restart}"
-	exit 1
+        RETVAL=3
 esac
 
 exit $RETVAL

pegasus-2.9.0-local-or-remote-auth.patch:

--- NEW FILE pegasus-2.9.0-local-or-remote-auth.patch ---
diff -up pegasus/src/Executor/PAMAuth.h.local-or-remote-auth pegasus/src/Executor/PAMAuth.h
--- pegasus/src/Executor/PAMAuth.h.local-or-remote-auth	2008-12-02 10:00:13.000000000 +0100
+++ pegasus/src/Executor/PAMAuth.h	2009-06-08 15:06:26.000000000 +0200
@@ -49,6 +49,9 @@
 #include <Executor/Defines.h>
 #include <Executor/Socket.h>
 
+#include <syslog.h>
+typedef bool Boolean;
+
 /*
 **==============================================================================
 **
@@ -393,29 +396,60 @@ static int PAMValidateUserCallback(
 */
 
 static int PAMAuthenticateInProcess(
-    const char* username, const char* password)
+    const char* username, const char* password, const Boolean isRemoteUser)
 {
     PAMData data;
     struct pam_conv pconv;
     pam_handle_t* handle;
+    int retcode;
 
     data.password = password;
     pconv.conv = PAMAuthenticateCallback;
     pconv.appdata_ptr = &data;
 
+    // NOTE: if any pam call should log anything, our syslog socket will be redirected
+    //       to the AUTH facility, so we need to redirect it back after each pam call.
+
+    if ((retcode = pam_start("wbem", username, &pconv, &handle)) != PAM_SUCCESS)
+    {
+        closelog();
+        openlog("cimserver", LOG_PID, LOG_DAEMON);
+        syslog( LOG_ERR, "pam_start failed: %s", pam_strerror(handle, retcode));
+        syslog(LOG_ERR, "PAM authentication failed for %s user: %s",
+            isRemoteUser ? "remote" : "local", username);
+        return -1;
+    }
 
-    if (pam_start("wbem", username, &pconv, &handle) != PAM_SUCCESS)
+    if ((retcode = pam_set_item(handle, PAM_TTY, isRemoteUser ? "wbemNetwork" : "wbemLocal")) != PAM_SUCCESS)
+    {
+        pam_end(handle, 0);
+        closelog();
+        openlog("cimserver", LOG_PID, LOG_DAEMON);
+        syslog( LOG_ERR, "pam_set_item(PAM_TTY=wbem) failed: %s", pam_strerror(handle, retcode));
+        syslog(LOG_ERR, "PAM authentication failed for %s user: %s",
+            isRemoteUser ? "remote" : "local", username);
         return -1;
+    }
 
-    if (pam_authenticate(handle, 0) != PAM_SUCCESS)
+    if ((retcode = pam_authenticate(handle, 0)) != PAM_SUCCESS)
     {
         pam_end(handle, 0);
+        closelog();
+        openlog("cimserver", LOG_PID, LOG_DAEMON);
+        syslog(LOG_ERR, "pam_authenticate failed: %s",pam_strerror(handle, retcode));
+        syslog(LOG_ERR, "PAM authentication failed for %s user: %s",
+            isRemoteUser ? "remote" : "local", username);
         return -1;
     }
 
-    if (pam_acct_mgmt(handle, 0) != PAM_SUCCESS)
+    if ((retcode = pam_acct_mgmt(handle, 0)) != PAM_SUCCESS)
     {
         pam_end(handle, 0);
+        closelog();
+        openlog("cimserver", LOG_PID, LOG_DAEMON);
+        syslog(LOG_ERR, "pam_acct_mgmt failed: %s",pam_strerror(handle, retcode));
+        syslog(LOG_ERR, "PAM authentication failed for %s user: %s",
+            isRemoteUser ? "remote" : "local", username);
         return -1;
     }
 
@@ -439,16 +473,34 @@ static int PAMValidateUserInProcess(cons
     PAMData data;
     struct pam_conv pconv;
     pam_handle_t* phandle;
+    int retcode;
 
     pconv.conv = PAMValidateUserCallback;
     pconv.appdata_ptr = &data;
 
-    if (pam_start("wbem", username, &pconv, &phandle) != PAM_SUCCESS)
+    if ((retcode = pam_start("wbem", username, &pconv, &phandle)) != PAM_SUCCESS)
+    {
+        closelog();
+        openlog("cimserver", LOG_PID, LOG_DAEMON);
+        syslog( LOG_ERR, "pam_start() failed: %s", pam_strerror(phandle, retcode));
         return -1;
+    }
+
+    if ((retcode = pam_set_item(phandle, PAM_TTY, "wbemLocal")) != PAM_SUCCESS)
+    {
+        pam_end(phandle, 0);
+        closelog();
+        openlog("cimserver", LOG_PID, LOG_DAEMON);
+        syslog( LOG_ERR, "pam_set_item(PAM_TTY=wbemLocal) failed: %s", pam_strerror(phandle, retcode));
+        return -1;
+    }
 
-    if (pam_acct_mgmt(phandle, 0) != PAM_SUCCESS)
+    if ((retcode = pam_acct_mgmt(phandle, 0)) != PAM_SUCCESS)
     {
         pam_end(phandle, 0);
+        closelog();
+        openlog("cimserver", LOG_PID, LOG_DAEMON);
+        syslog( LOG_ERR, "pam_acct_mgmt() failed: %s", pam_strerror(phandle, retcode));
         return -1;
     }
 
@@ -467,12 +519,12 @@ static int PAMValidateUserInProcess(cons
 **==============================================================================
 */
 
-static int PAMAuthenticate(const char* username, const char* password)
+static int PAMAuthenticate(const char* username, const char* password, const Boolean isRemoteUser)
 {
 #ifdef PEGASUS_USE_PAM_STANDALONE_PROC
     return CimserveraProcessOperation("authenticate", username, password);
 #else
-    return PAMAuthenticateInProcess(username, password);
+    return PAMAuthenticateInProcess(username, password, isRemoteUser);
 #endif
 }
 
diff -up pegasus/src/Pegasus/Common/AuthenticationInfo.h.local-or-remote-auth pegasus/src/Pegasus/Common/AuthenticationInfo.h
--- pegasus/src/Pegasus/Common/AuthenticationInfo.h.local-or-remote-auth	2008-12-16 19:55:59.000000000 +0100
+++ pegasus/src/Pegasus/Common/AuthenticationInfo.h	2009-06-08 15:06:26.000000000 +0200
@@ -354,6 +354,22 @@ public:
         return _rep->getRemotePrivilegedUserAccessChecked();
     }
 
+    /** Indicate whether the user is Remote 
+    */
+    Boolean isRemoteUser() const
+    {
+        CheckRep(_rep);
+        return _rep->isRemoteUser();
+    }
+
+    /** Set the Remote User flag
+    */
+    void setRemoteUser(Boolean isRemoteUser)
+    {
+        CheckRep(_rep);
+        _rep->setRemoteUser(isRemoteUser);
+    }
+
 private:
 
     AuthenticationInfo(AuthenticationInfoRep* rep) : _rep(rep)
diff -up pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp.local-or-remote-auth pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp
--- pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp.local-or-remote-auth	2008-12-16 19:55:59.000000000 +0100
+++ pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp	2009-06-08 15:06:26.000000000 +0200
@@ -44,7 +44,8 @@ const String AuthenticationInfoRep::AUTH
 
 AuthenticationInfoRep::AuthenticationInfoRep(Boolean flag)
     : _connectionAuthenticated(false),
-      _wasRemotePrivilegedUserAccessChecked(false)
+      _wasRemotePrivilegedUserAccessChecked(false),
+      _isRemoteUser(true)
 {
     PEG_METHOD_ENTER(
         TRC_AUTHENTICATION, "AuthenticationInfoRep::AuthenticationInfoRep");
@@ -60,6 +61,16 @@ AuthenticationInfoRep::~AuthenticationIn
     PEG_METHOD_EXIT();
 }
 
+void AuthenticationInfoRep::setRemoteUser(Boolean isRemoteUser)
+{
+    PEG_METHOD_ENTER(TRC_AUTHENTICATION,
+        "AuthenticationInfoRep::setRemoteUser");
+
+    _isRemoteUser = isRemoteUser;
+
+    PEG_METHOD_EXIT();
+}
+
 void AuthenticationInfoRep::setConnectionAuthenticated(
     Boolean connectionAuthenticated)
 {
diff -up pegasus/src/Pegasus/Common/AuthenticationInfoRep.h.local-or-remote-auth pegasus/src/Pegasus/Common/AuthenticationInfoRep.h
--- pegasus/src/Pegasus/Common/AuthenticationInfoRep.h.local-or-remote-auth	2008-12-16 19:55:59.000000000 +0100
+++ pegasus/src/Pegasus/Common/AuthenticationInfoRep.h	2009-06-08 15:06:26.000000000 +0200
@@ -147,6 +147,13 @@ public:
     void setSecurityAssociation();
 #endif
 
+    Boolean isRemoteUser() const
+    {
+        return _isRemoteUser;
+    }
+
+    void setRemoteUser(Boolean isRemoteUser);
+
     Array<SSLCertificateInfo*> getClientCertificateChain()
     {
         return _clientCertificate;
@@ -190,6 +197,7 @@ private:
     Boolean _wasRemotePrivilegedUserAccessChecked;
 
     Array<SSLCertificateInfo*> _clientCertificate;
+    Boolean _isRemoteUser;
 };
 
 PEGASUS_NAMESPACE_END
diff -up pegasus/src/Pegasus/Common/Executor.cpp.local-or-remote-auth pegasus/src/Pegasus/Common/Executor.cpp
--- pegasus/src/Pegasus/Common/Executor.cpp.local-or-remote-auth	2008-12-16 19:55:59.000000000 +0100
+++ pegasus/src/Pegasus/Common/Executor.cpp	2009-06-08 15:06:26.000000000 +0200
@@ -125,7 +125,8 @@ public:
 
     virtual int authenticatePassword(
         const char* username,
-        const char* password) = 0;
+        const char* password,
+        Boolean isRemoteUser) = 0;
 
     virtual int validateUser(
         const char* username) = 0;
@@ -555,10 +556,11 @@ public:
 
     virtual int authenticatePassword(
         const char* username,
-        const char* password)
+        const char* password,
+        Boolean isRemoteUser)
     {
 #if defined(PEGASUS_PAM_AUTHENTICATION)
-        return PAMAuthenticate(username, password);
+        return PAMAuthenticate(username, password, isRemoteUser);
 #else
         // ATTN: not handled so don't call in this case.
         return -1;
@@ -897,7 +899,8 @@ public:
 
     virtual int authenticatePassword(
         const char* username,
-        const char* password)
+        const char* password,
+        Boolean isRemoteUser)
     {
         AutoMutex autoMutex(_mutex);
 
@@ -1165,10 +1168,11 @@ int Executor::reapProviderAgent(
 
 int Executor::authenticatePassword(
     const char* username,
-    const char* password)
+    const char* password,
+    Boolean isRemoteUser)
 {
     once(&_executorImplOnce, _initExecutorImpl);
-    return _executorImpl->authenticatePassword(username, password);
+    return _executorImpl->authenticatePassword(username, password, isRemoteUser);
 }
 
 int Executor::validateUser(
diff -up pegasus/src/Pegasus/Common/Executor.h.local-or-remote-auth pegasus/src/Pegasus/Common/Executor.h
--- pegasus/src/Pegasus/Common/Executor.h.local-or-remote-auth	2008-12-02 10:00:47.000000000 +0100
+++ pegasus/src/Pegasus/Common/Executor.h	2009-06-08 15:06:26.000000000 +0200
@@ -183,7 +183,8 @@ public:
     */
     static int authenticatePassword(
         const char* username,
-        const char* password);
+        const char* password,
+        Boolean isRemoteUser);
 
     /** Check whether the given user is valid for the underlying authentcation
         mechanism.
diff -up pegasus/src/Pegasus/Common/HTTPConnection.cpp.local-or-remote-auth pegasus/src/Pegasus/Common/HTTPConnection.cpp
--- pegasus/src/Pegasus/Common/HTTPConnection.cpp.local-or-remote-auth	2008-12-18 19:52:01.000000000 +0100
+++ pegasus/src/Pegasus/Common/HTTPConnection.cpp	2009-06-08 15:06:26.000000000 +0200
@@ -2128,6 +2128,30 @@ void HTTPConnection::_handleReadEvent()
         message->contentLanguages = contentLanguages;
         message->dest = _outputMessageQueue->getQueueId();
 
+        // Allow authenticators to differentiate Remote and Local users:
+        struct sockaddr_in sin_peer, sin_svr; // don't need to worry about IPv6 yet ...
+        socklen_t slen1=sizeof(struct sockaddr_in), slen2=sizeof(struct sockaddr_in);
+        uint32_t  sock = _socket.get()->getSocket() ;
+        memset(&sin_peer,'\0',slen1);
+        memset(&sin_svr, '\0',slen2);
+        if ( ( ::getpeername( sock, (struct sockaddr*)&sin_peer, &slen1) == 0 )
+           ||( ::getsockname( sock, (struct sockaddr*)&sin_svr,  &slen2) == 0 )
+           )
+        {
+            if( sin_peer.sin_family == AF_INET )
+            {
+                if( ((ntohl( sin_peer.sin_addr.s_addr ) >> 24) & 0xff) == 127 )
+                    // message was sent FROM localhost interface
+                    message->isFromRemoteHost = false;
+            }
+            if( sin_svr.sin_family == AF_INET )
+            {
+                if( ((ntohl( sin_svr.sin_addr.s_addr ) >> 24) & 0xff) == 127 )
+                    // message was sent TO localhost interface
+                    message->isFromRemoteHost = false;
+            }
+        }
+
         //
         // The _closeConnection method sets the _connectionClosePending flag.
         // If we are executing on the client side and the
diff -up pegasus/src/Pegasus/Common/HTTPMessage.cpp.local-or-remote-auth pegasus/src/Pegasus/Common/HTTPMessage.cpp
--- pegasus/src/Pegasus/Common/HTTPMessage.cpp.local-or-remote-auth	2008-12-18 19:52:01.000000000 +0100
+++ pegasus/src/Pegasus/Common/HTTPMessage.cpp	2009-06-08 15:06:26.000000000 +0200
@@ -133,7 +133,8 @@ HTTPMessage::HTTPMessage(
     queueId(queueId_),
     authInfo(0),
     acceptLanguagesDecoded(false),
-    contentLanguagesDecoded(false)
+    contentLanguagesDecoded(false),
+    isFromRemoteHost(true)
 {
     if (cimException_)
         cimException = *cimException_;
diff -up pegasus/src/Pegasus/Common/HTTPMessage.h.local-or-remote-auth pegasus/src/Pegasus/Common/HTTPMessage.h
--- pegasus/src/Pegasus/Common/HTTPMessage.h.local-or-remote-auth	2008-12-18 19:52:01.000000000 +0100
+++ pegasus/src/Pegasus/Common/HTTPMessage.h	2009-06-08 15:06:26.000000000 +0200
@@ -73,6 +73,7 @@ public:
     ContentLanguageList contentLanguages;
     Boolean acceptLanguagesDecoded;
     Boolean contentLanguagesDecoded;
+    Boolean isFromRemoteHost;
     CIMException cimException;
 
     void parse(
diff -up pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp.local-or-remote-auth pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp
--- pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp.local-or-remote-auth	2008-12-02 10:01:08.000000000 +0100
+++ pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp	2009-06-08 15:06:26.000000000 +0200
@@ -76,7 +76,7 @@ void testExecutorLoopbackImpl()
 #endif
 
     PEGASUS_TEST_ASSERT(Executor::authenticatePassword(
-        "xnonexistentuserx", "wrongpassword") == -1);
+        "xnonexistentuserx", "wrongpassword", true) == -1);
     PEGASUS_TEST_ASSERT(Executor::validateUser("xnonexistentuserx") == -1);
 
     char challengeFilePath[EXECUTOR_BUFFER_SIZE];
@@ -115,7 +115,7 @@ void testExecutorSocketImpl()
     PEGASUS_TEST_ASSERT(Executor::reapProviderAgent(123) == 0);
 
     PEGASUS_TEST_ASSERT(Executor::authenticatePassword(
-        "xnonexistentuserx", "wrongpassword") == -1);
+        "xnonexistentuserx", "wrongpassword", true) == -1);
     PEGASUS_TEST_ASSERT(Executor::validateUser("xnonexistentuserx") == -1);
 
     char challengeFilePath[EXECUTOR_BUFFER_SIZE];
diff -up pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp.local-or-remote-auth pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp
--- pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp.local-or-remote-auth	2008-12-16 19:57:08.000000000 +0100
+++ pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp	2009-06-08 15:22:26.000000000 +0200
@@ -152,7 +152,7 @@ Boolean BasicAuthenticationHandler::auth
     }
     authInfo->setRemotePrivilegedUserAccessChecked();
 
-    authenticated = _basicAuthenticator->authenticate(userName, password);
+    authenticated = _basicAuthenticator->authenticate(userName, password, authInfo->isRemoteUser());
 
     // Log audit message.
     PEG_AUDIT_LOG(logBasicAuthentication(
diff -up pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h.local-or-remote-auth pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h
--- pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h.local-or-remote-auth	2008-12-16 19:57:08.000000000 +0100
+++ pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h	2009-06-08 15:06:26.000000000 +0200
@@ -65,7 +65,8 @@ public:
     */
     virtual Boolean authenticate(
         const String& userName,
-        const String& password) = 0;
+        const String& password,
+        Boolean isRemoteUser) = 0;
 
     /** Construct and return the HTTP Basic authentication challenge header
         @return A string containing the authentication challenge header.
diff -up pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h.local-or-remote-auth pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h
--- pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h.local-or-remote-auth	2008-12-16 19:57:08.000000000 +0100
+++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h	2009-06-08 15:06:26.000000000 +0200
@@ -53,7 +53,8 @@ public:
 
     Boolean authenticate(
         const String& userName,
-        const String& password);
+        const String& password,
+        Boolean isRemoteUser);
 
     Boolean validateUser(const String& userName);
 
diff -up pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp.local-or-remote-auth pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp
--- pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp.local-or-remote-auth	2008-12-16 19:57:08.000000000 +0100
+++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp	2009-06-08 15:06:26.000000000 +0200
@@ -73,7 +73,8 @@ PAMBasicAuthenticator::~PAMBasicAuthenti
 
 Boolean PAMBasicAuthenticator::authenticate(
     const String& userName,
-    const String& password)
+    const String& password,
+    Boolean isRemoteUser)
 {
     PEG_METHOD_ENTER(TRC_AUTHENTICATION,
         "PAMBasicAuthenticator::authenticate()");
diff -up pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp.local-or-remote-auth pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp
--- pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp.local-or-remote-auth	2008-12-16 19:57:08.000000000 +0100
+++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp	2009-06-08 15:06:26.000000000 +0200
@@ -64,13 +64,14 @@ PAMBasicAuthenticator::~PAMBasicAuthenti
 
 Boolean PAMBasicAuthenticator::authenticate(
     const String& userName,
-    const String& password)
+    const String& password,
+    Boolean isRemoteUser)
 {
     PEG_METHOD_ENTER(TRC_AUTHENTICATION,
         "PAMBasicAuthenticator::authenticate()");
 
     if (Executor::authenticatePassword(
-        userName.getCString(), password.getCString()) != 0)
+        userName.getCString(), password.getCString(), isRemoteUser) != 0)
     {
         return false;
     }
diff -up pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp.local-or-remote-auth pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp
--- pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp.local-or-remote-auth	2008-12-16 19:57:08.000000000 +0100
+++ pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp	2009-06-08 15:06:26.000000000 +0200
@@ -236,7 +236,7 @@ Boolean SecureBasicAuthenticator::authen
         if (Executor::detectExecutor() == 0)
         {
             if (Executor::authenticatePassword(
-                userName.getCString(), password.getCString()) == 0)
+                userName.getCString(), password.getCString(), true) == 0)
             {
                 authenticated = true;
             }
diff -up pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp.local-or-remote-auth pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp
--- pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp.local-or-remote-auth	2008-12-18 19:52:02.000000000 +0100
+++ pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp	2009-06-08 15:06:26.000000000 +0200
@@ -421,6 +421,9 @@ void HTTPAuthenticatorDelegator::handleH
         Tracer::LEVEL3,
         "HTTPAuthenticatorDelegator - Authentication processing start");
 
+    // Let Authenticators know whether this user is Local or Remote:
+    httpMessage->authInfo->setRemoteUser( httpMessage->isFromRemoteHost );
+
     //
     // Handle authentication:
     //

pegasus-2.9.0-no-rpath.patch:

--- NEW FILE pegasus-2.9.0-no-rpath.patch ---
diff -up pegasus/mak/program-unix.mak_old pegasus/mak/program-unix.mak
--- pegasus/mak/program-unix.mak_old	2008-12-16 19:55:36.000000000 +0100
+++ pegasus/mak/program-unix.mak	2009-03-18 15:08:52.000000000 +0100
@@ -28,19 +28,10 @@
 #//////////////////////////////////////////////////////////////////////////
 INCLUDES = -I$(ROOT)/src $(EXTRA_INCLUDES)
 
-ifndef LINK_RPATH
-    LINK_RPATH = -Xlinker -rpath
-endif
-
 LINK_DEST_LIB = -Xlinker $(PEGASUS_DEST_LIB_DIR)
 
 LINK_LIB_DIR = -Xlinker $(LIB_DIR)
 
-ifndef LINK_RPATH_LINK
-    LINK_RPATH_LINK = -Xlinker -rpath-link
-endif
-
-
 TMP_OBJECTS = $(foreach i,$(SOURCES),$(OBJ_DIR)/$i)
 
 S_OBJECTS = $(TMP_OBJECTS:.s=.o)
@@ -52,15 +43,9 @@ FULL_PROGRAM=$(BIN_DIR)/$(PROGRAM)$(EXE)
 EXE_OUTPUT = $(EXE_OUT) $(FULL_PROGRAM)
 
 ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
-    ifdef PEGASUS_USE_RELEASE_DIRS
-        EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_DEST_LIB) $(LINK_RPATH_LINK) $(LINK_LIB_DIR)
-    else
-        EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_LIB_DIR)
-    endif
-
     ifeq ($(HAS_ICU_DEPENDENCY),true)
         ifdef ICU_INSTALL
-            EXTRA_LINK_FLAGS += $(LINK_RPATH) -Xlinker ${ICU_INSTALL}/lib
+            EXTRA_LINK_FLAGS += -Xlinker ${ICU_INSTALL}/lib
         endif
     endif
 endif
diff -up pegasus/mak/shared-library-unix.mak_old pegasus/mak/shared-library-unix.mak
--- pegasus/mak/shared-library-unix.mak_old	2008-12-16 19:55:37.000000000 +0100
+++ pegasus/mak/shared-library-unix.mak	2009-03-18 15:12:40.000000000 +0100
@@ -94,15 +94,14 @@ ifeq ($(COMPILER),gnu)
   ifneq ($(OS),darwin)
    ifdef PEGASUS_USE_RELEASE_DIRS
       LINK_COMMAND = $(CXX) -shared $(LINK_MACHINE_OPTIONS)
-      LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX)  -Xlinker -rpath \
-          -Xlinker $(PEGASUS_DEST_LIB_DIR) $(EXTRA_LINK_ARGUMENTS)
+      LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX)  $(EXTRA_LINK_ARGUMENTS)
    else
       LINK_COMMAND = $(CXX) -shared $(LINK_MACHINE_OPTIONS)
-      LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX)  -Xlinker -rpath -Xlinker $(LIB_DIR) $(EXTRA_LINK_ARGUMENTS)
+      LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX)  $(EXTRA_LINK_ARGUMENTS)
    endif
   else
     LINK_COMMAND = $(CXX) -dynamiclib
-    LINK_ARGUMENTS = --helplib$(LIBRARY)$(LIB_SUFFIX) -ldl
+    LINK_ARGUMENTS = --helplib$(LIBRARY)$(LIB_SUFFIX) -ldl $(EXTRA_LINK_ARGUMENTS)
   endif
   ifeq ($(PEGASUS_PLATFORM), SOLARIS_SPARC_GNU)
 	LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) -Xlinker -L$(LIB_DIR) $(EXTRA_LINK_ARGUMENTS)

pegasus-2.9.0-no_privilege_separation.patch:

--- NEW FILE pegasus-2.9.0-no_privilege_separation.patch ---
diff -up pegasus/env_var_Linux.status_old pegasus/env_var_Linux.status
--- pegasus/env_var_Linux.status_old	2009-06-08 16:35:15.000000000 +0200
+++ pegasus/env_var_Linux.status	2009-06-08 16:35:36.000000000 +0200
@@ -34,7 +34,7 @@ PEGASUS_USE_RELEASE_DIRS=true
 PEGASUS_USE_SYSLOGS=true
 PEGASUS_CIM_SCHEMA=CIM217
 PEGASUS_USE_NET_SNMP=true
-PEGASUS_ENABLE_PRIVILEGE_SEPARATION=true
+PEGASUS_ENABLE_PRIVILEGE_SEPARATION=false
 
 PEGASUS_PROD_DIR = /usr
 PEGASUS_SBIN_DIR = $(PEGASUS_PROD_DIR)/sbin

pegasus-2.9.0-redhat-config.patch:

--- NEW FILE pegasus-2.9.0-redhat-config.patch ---
diff -up pegasus/env_var_Linux.status_old pegasus/env_var_Linux.status
--- pegasus/env_var_Linux.status_old	2009-01-23 00:39:36.000000000 +0100
+++ pegasus/env_var_Linux.status	2009-03-12 16:08:47.000000000 +0100
@@ -19,7 +19,8 @@ ifndef PEGASUS_STAGING_DIR
 PEGASUS_STAGING_DIR = $(PEGASUS_HOME)/stagingDir
 endif
 
-PEGASUS_ENABLE_CQL=false
+PEGASUS_ENABLE_CQL=true
+PEGASUS_DEFAULT_ENABLE_OOP=true
 PEGASUS_DISABLE_OBJECT_NORMALIZATION=true
 PEGASUS_DISABLE_PERFINST=yes
 PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true
@@ -28,7 +29,6 @@ PEGASUS_HAS_SSL=yes
 PEGASUS_USE_SSL_RANDOMFILE=false
 PEGASUS_NOASSERTS=yes
 PEGASUS_PAM_AUTHENTICATION=true
-PEGASUS_USE_PAM_STANDALONE_PROC=true
 PEGASUS_USE_RELEASE_CONFIG_OPTIONS=true
 PEGASUS_USE_RELEASE_DIRS=true
 PEGASUS_USE_SYSLOGS=true
@@ -72,23 +72,22 @@ PEGASUS_VARDATA_CACHE_DIR = $(PEGASUS_VA
 PEGASUS_LOCAL_AUTH_DIR = $(PEGASUS_VARDATA_CACHE_DIR)/localauth
 PEGASUS_TRACE_DIR = $(PEGASUS_VARDATA_CACHE_DIR)/trace
 PEGASUS_TRACE_FILE_PATH = $(PEGASUS_VARDATA_CACHE_DIR)/trace/cimserver.trc
+PEGASUS_CONFIG_DIR = /etc/Pegasus
 PEGASUS_CORE_DIR = $(PEGASUS_TRACE_DIR)
 PEGASUS_PLANNED_CONFIG_FILE = cimserver_planned.conf
 PEGASUS_PLANNED_CONFIG_FILE_PATH = \
-     $(PEGASUS_VARDATA_DIR)/$(PEGASUS_PLANNED_CONFIG_FILE)
+     $(PEGASUS_CONFIG_DIR)/$(PEGASUS_PLANNED_CONFIG_FILE)
 PEGASUS_CURRENT_CONFIG_FILE = cimserver_current.conf
 PEGASUS_CURRENT_CONFIG_FILE_PATH = \
-     $(PEGASUS_VARDATA_DIR)/$(PEGASUS_CURRENT_CONFIG_FILE)
+     $(PEGASUS_CONFIG_DIR)/$(PEGASUS_CURRENT_CONFIG_FILE)
 
 PEGASUS_LOG_DIR = $(PEGASUS_VARDATA_DIR)/log
 PEGASUS_INSTALL_LOG = $(PEGASUS_LOG_DIR)/install.log
 
-PEGASUS_CONFIG_DIR = /etc/Pegasus
-
 PEGASUS_VARRUN_DIR = /var/run/tog-pegasus
 PEGASUS_CIMSERVER_START_FILE = $(PEGASUS_VARRUN_DIR)/cimserver.pid
 PEGASUS_CIMSERVER_START_LOCK_FILE = $(PEGASUS_VARRUN_DIR)/cimserver_start.lock
-PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGASUS_VARRUN_DIR)/socket
+PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGASUS_VARRUN_DIR)
 PEGASUS_LOCAL_DOMAIN_SOCKET_PATH = \
      $(PEGASUS_LOCAL_DOMAIN_SOCKET_DIR)/cimxml.socket
 

pegasus-2.9.0-sparc.patch:

--- NEW FILE pegasus-2.9.0-sparc.patch ---
diff -up pegasus/mak/config-linux.mak.sparc pegasus/mak/config-linux.mak
--- pegasus/mak/config-linux.mak.sparc	2009-06-09 14:21:24.000000000 +0200
+++ pegasus/mak/config-linux.mak	2009-06-09 14:22:04.000000000 +0200
@@ -148,7 +148,11 @@ ifndef PEGASUS_ARCH_LIB
     ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_GNU)
         PEGASUS_ARCH_LIB = lib64
     else
-        PEGASUS_ARCH_LIB = lib
+        ifeq ($(PEGASUS_PLATFORM),LINUX_SPARC64_GNU)
+            PEGASUS_ARCH_LIB = lib64
+        else
+            PEGASUS_ARCH_LIB = lib
+        endif
     endif
 endif
 DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\"
diff -up pegasus/mak/platform_LINUX_SPARC64_GNU.mak.sparc pegasus/mak/platform_LINUX_SPARC64_GNU.mak
--- pegasus/mak/platform_LINUX_SPARC64_GNU.mak.sparc	2009-06-09 16:09:54.000000000 +0200
+++ pegasus/mak/platform_LINUX_SPARC64_GNU.mak	2009-06-09 14:22:46.000000000 +0200
@@ -0,0 +1,36 @@
+#//%2006////////////////////////////////////////////////////////////////////////
+#//
+#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
+#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
+#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation, The Open Group.
+#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; Symantec Corporation; The Open Group.
+#//
+#// Permission is hereby granted, free of charge, to any person obtaining a copy
+#// of this software and associated documentation files (the "Software"), to
+#// deal in the Software without restriction, including without limitation the
+#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+#// sell copies of the Software, and to permit persons to whom the Software is
+#// furnished to do so, subject to the following conditions:
+#// 
+#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#//
+#//==============================================================================
+# Platform Configuration for Linux on PPC
+# If you have generic Linux config options, please place them in config-linux.mak
+
+include $(ROOT)/mak/config-linux.mak
+
+ARCHITECTURE = sparc
diff -up pegasus/mak/platform_LINUX_SPARCV9_GNU.mak.sparc pegasus/mak/platform_LINUX_SPARCV9_GNU.mak
--- pegasus/mak/platform_LINUX_SPARCV9_GNU.mak.sparc	2009-06-09 16:10:03.000000000 +0200
+++ pegasus/mak/platform_LINUX_SPARCV9_GNU.mak	2009-06-09 14:23:28.000000000 +0200
@@ -0,0 +1,36 @@
+#//%2006////////////////////////////////////////////////////////////////////////
+#//
+#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
+#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
+#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation, The Open Group.
+#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; Symantec Corporation; The Open Group.
+#//
+#// Permission is hereby granted, free of charge, to any person obtaining a copy
+#// of this software and associated documentation files (the "Software"), to
+#// deal in the Software without restriction, including without limitation the
+#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+#// sell copies of the Software, and to permit persons to whom the Software is
+#// furnished to do so, subject to the following conditions:
+#// 
+#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#//
+#//==============================================================================
+# Platform Configuration for Linux on PPC
+# If you have generic Linux config options, please place them in config-linux.mak
+
+include $(ROOT)/mak/config-linux.mak
+
+ARCHITECTURE = sparc
diff -up pegasus/mak/SDKMakefile.sparc pegasus/mak/SDKMakefile
--- pegasus/mak/SDKMakefile.sparc	2009-06-09 14:23:42.000000000 +0200
+++ pegasus/mak/SDKMakefile	2009-06-09 15:40:23.000000000 +0200
@@ -461,6 +461,18 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), t
             >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
 	@$(ECHO-E) "   endif" \
             >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "   ifeq (\044(shell uname -i),sparc)" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "      PEGASUS_PLATFORM = LINUX_SPARCV9_GNU" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "   endif" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "   ifeq (\044(shell uname -i),sparc64)" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "      PEGASUS_PLATFORM = LINUX_SPARC64_GNU" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "   endif" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
   else
         $(error This SDK has been defined to include the following \
         platforms: $(PACKAGED_PLATFORM_FILES). \
@@ -517,6 +529,18 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), t
             >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
 	@$(ECHO-E) "endif" \
             >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "ifeq (\044(PEGASUS_PLATFORM),LINUX_SPARCV9_GNU)" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "   PEGASUS_ARCH_LIB = lib" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "endif" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "ifeq (\044(PEGASUS_PLATFORM),LINUX_SPARC64_GNU)" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "   PEGASUS_ARCH_LIB = lib64" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
+	@$(ECHO-E) "endif" \
+            >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
   else
         $(error This SDK has been defined to include the following \
         platforms: $(PACKAGED_PLATFORM_FILES). \
diff -up pegasus/src/Pegasus/Common/Config.h.sparc pegasus/src/Pegasus/Common/Config.h
--- pegasus/src/Pegasus/Common/Config.h.sparc	2009-06-09 15:43:48.000000000 +0200
+++ pegasus/src/Pegasus/Common/Config.h	2009-06-09 15:44:43.000000000 +0200
@@ -76,6 +76,10 @@
 # include <Pegasus/Common/Platform_LINUX_PPC_GNU.h>
 #elif defined (PEGASUS_PLATFORM_LINUX_PPC64_GNU)
 # include <Pegasus/Common/Platform_LINUX_PPC64_GNU.h>
+#elif defined (PEGASUS_PLATFORM_LINUX_SPARCV9_GNU)
+# include <Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h>
+#elif defined (PEGASUS_PLATFORM_LINUX_SPARC64_GNU)
+# include <Pegasus/Common/Platform_LINUX_SPARC64_GNU.h>
 #elif defined (PEGASUS_PLATFORM_LINUX_ZSERIES_GNU)
 # include <Pegasus/Common/Platform_LINUX_ZSERIES_GNU.h>
 #elif defined (PEGASUS_PLATFORM_LINUX_ZSERIES64_GNU)
diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.sparc pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h
--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.sparc	2009-06-09 16:10:36.000000000 +0200
+++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h	2009-06-09 15:46:22.000000000 +0200
@@ -0,0 +1,93 @@
+/*
+//%2006////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
+// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
+// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
+// IBM Corp.; EMC Corporation, The Open Group.
+// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
+// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
+// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+// EMC Corporation; VERITAS Software Corporation; The Open Group.
+// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+// EMC Corporation; Symantec Corporation; The Open Group.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+// 
+// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//==============================================================================
+//
+//%/////////////////////////////////////////////////////////////////////////////
+*/
+
+#ifndef Pegasus_Platform_LINUX_SPARC64_GNU_h
+#define Pegasus_Platform_LINUX_SPARC64_GNU_h
+
+#include <stddef.h>
+
+#define PEGASUS_OS_TYPE_UNIX
+
+#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
+#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU
+#endif
+
+#define PEGASUS_OS_LINUX
+
+#define PEGASUS_POINTER_64BIT
+
+#define PEGASUS_COMPILER_GNU
+
+#define PEGASUS_UINT64 unsigned long long
+
+#define PEGASUS_SINT64 long long
+
+#define PEGASUS_HAVE_NAMESPACES
+
+#define PEGASUS_HAVE_FOR_SCOPE
+
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
+
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#ifndef _REENTRANT
+#define _REENTRANT
+#endif
+#define _THREAD_SAFE
+#include <features.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/param.h> /* For MAXHOSTNAMELEN */
+#include <limits.h>    /* _POSIX_HOST_NAME_MAX  */
+
+#if (__GNUC__ >= 4)
+# define PEGASUS_EXPORT __attribute__ ((visibility("default")))
+# define PEGASUS_IMPORT __attribute__ ((visibility("default")))
+# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden")))
+#endif
+
+#define PEGASUS_HAVE_PTHREADS
+
+#define PEGASUS_HAVE_NANOSLEEP
+
+#define PEGASUS_HAS_SIGNALS
+
+/* getifaddrs() avilable in gcc version >= 3.4 */
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
+# define PEGASUS_HAS_GETIFADDRS
+#endif
+
+#endif /* Pegasus_Platform_LINUX_SPARC64_GNU_h */
diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.sparc pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h
--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.sparc	2009-06-09 16:10:50.000000000 +0200
+++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h	2009-06-09 15:47:38.000000000 +0200
@@ -0,0 +1,93 @@
+/*
+//%2006////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
+// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
+// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
+// IBM Corp.; EMC Corporation, The Open Group.
+// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
+// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
+// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+// EMC Corporation; VERITAS Software Corporation; The Open Group.
+// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+// EMC Corporation; Symantec Corporation; The Open Group.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+// 
+// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//==============================================================================
+//
+//%/////////////////////////////////////////////////////////////////////////////
+*/
+
+#ifndef Pegasus_Platform_LINUX_SPARCV9_GNU_h
+#define Pegasus_Platform_LINUX_SPARCV9_GNU_h
+
+#include <stddef.h>
+
+#define PEGASUS_OS_TYPE_UNIX
+
+#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
+#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU
+#endif
+
+#define PEGASUS_OS_LINUX
+
+#define PEGASUS_ARCHITECTURE_SPARC
+
+#define PEGASUS_COMPILER_GNU
+
+#define PEGASUS_UINT64 unsigned long long
+
+#define PEGASUS_SINT64 long long
+
+#define PEGASUS_HAVE_NAMESPACES
+
+#define PEGASUS_HAVE_FOR_SCOPE
+
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
+
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#ifndef _REENTRANT
+#define _REENTRANT
+#endif
+#define _THREAD_SAFE
+#include <features.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/param.h> /* For MAXHOSTNAMELEN */
+#include <limits.h>    /* _POSIX_HOST_NAME_MAX  */
+
+#if (__GNUC__ >= 4)
+# define PEGASUS_EXPORT __attribute__ ((visibility("default")))
+# define PEGASUS_IMPORT __attribute__ ((visibility("default")))
+# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden")))
+#endif
+
+#define PEGASUS_HAVE_PTHREADS
+
+#define PEGASUS_HAVE_NANOSLEEP
+
+#define PEGASUS_HAS_SIGNALS
+
+/* getifaddrs() avilable in gcc version >= 3.4 */
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
+# define PEGASUS_HAS_GETIFADDRS
+#endif
+
+#endif /* Pegasus_Platform_LINUX_SPARCV9_GNU_h */
diff -up pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak.sparc pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak
--- pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak.sparc	2009-06-09 16:11:24.000000000 +0200
+++ pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak	2009-06-09 16:04:48.000000000 +0200
@@ -0,0 +1,55 @@
+#//%2006////////////////////////////////////////////////////////////////////////
+#//
+#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
+#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
+#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation, The Open Group.
+#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; Symantec Corporation; The Open Group.
+#//
+#// Permission is hereby granted, free of charge, to any person obtaining a copy
+#// of this software and associated documentation files (the "Software"), to
+#// deal in the Software without restriction, including without limitation the
+#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+#// sell copies of the Software, and to permit persons to whom the Software is
+#// furnished to do so, subject to the following conditions:
+#// 
+#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#//
+#//==============================================================================
+
+ECHO = echo
+MKDIRHIER = mkdir -p
+RM = rm -f
+TOUCH = touch
+
+COMPILE_CXX_COMMAND = g++
+COMPILE_C_COMMAND = gcc
+LIBRARY_LINK_COMMAND = $(COMPILE_CXX_COMMAND) -shared
+PROGRAM_LINK_COMMAND = $(COMPILE_CXX_COMMAND)
+
+SYS_LIBS = -ldl -lpthread -lcrypt
+
+OBJ_SUFFIX=.o
+
+DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM)
+PROGRAM_COMPILE_OPTIONS = -O2 -W -Wall -Wno-unused -D_GNU_SOURCE \
+     -DTHREAD_SAFE -D_REENTRANT -fPIC
+LIBRARY_COMPILE_OPTIONS = $(PROGRAM_COMPILE_OPTIONS)
+
+PROGRAM_LINK_OPTIONS = -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR)
+LIBRARY_LINK_OPTIONS = $(PROGRAM_LINK_OPTIONS) 
+LINK_OUT = -o
+SYM_LINK_LIB = $(PEGASUS_PROVIDER_LIB_DIR)/lib$(LIBRARY)
+PLATFORM_LIB_SUFFIX = so
diff -up pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak.sparc pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak
--- pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak.sparc	2009-06-09 16:11:37.000000000 +0200
+++ pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak	2009-06-09 16:05:28.000000000 +0200
@@ -0,0 +1,55 @@
+#//%2006////////////////////////////////////////////////////////////////////////
+#//
+#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
+#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
+#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation, The Open Group.
+#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; Symantec Corporation; The Open Group.
+#//
+#// Permission is hereby granted, free of charge, to any person obtaining a copy
+#// of this software and associated documentation files (the "Software"), to
+#// deal in the Software without restriction, including without limitation the
+#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+#// sell copies of the Software, and to permit persons to whom the Software is
+#// furnished to do so, subject to the following conditions:
+#// 
+#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#//
+#//==============================================================================
+
+ECHO = echo
+MKDIRHIER = mkdir -p
+RM = rm -f
+TOUCH = touch
+
+COMPILE_CXX_COMMAND = g++
+COMPILE_C_COMMAND = gcc
+LIBRARY_LINK_COMMAND = $(COMPILE_CXX_COMMAND) -shared
+PROGRAM_LINK_COMMAND = $(COMPILE_CXX_COMMAND)
+
+SYS_LIBS = -ldl -lpthread -lcrypt
+
+OBJ_SUFFIX=.o
+
+DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM)
+PROGRAM_COMPILE_OPTIONS = -O2 -W -Wall -Wno-unused -D_GNU_SOURCE \
+     -DTHREAD_SAFE -D_REENTRANT -fPIC
+LIBRARY_COMPILE_OPTIONS = $(PROGRAM_COMPILE_OPTIONS)
+
+PROGRAM_LINK_OPTIONS = -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR)
+LIBRARY_LINK_OPTIONS = $(PROGRAM_LINK_OPTIONS)
+LINK_OUT = -o
+SYM_LINK_LIB = $(PEGASUS_PROVIDER_LIB_DIR)/lib$(LIBRARY)
+PLATFORM_LIB_SUFFIX = so


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/tog-pegasus/devel/.cvsignore,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -p -r1.9 -r1.10
--- .cvsignore	7 Nov 2008 07:32:28 -0000	1.9
+++ .cvsignore	16 Jun 2009 12:09:02 -0000	1.10
@@ -9,3 +9,4 @@ pegasus-2.6.0-no-rpath.patch
 pegasus-2.7.0.tar.gz
 pegasus-2.7.1.tar.gz
 pegasus-2.7.2.tar.gz
+pegasus-2.9.0.tar.gz


Index: RedHat.OpenPegasus.Makefile
===================================================================
RCS file: /cvs/extras/rpms/tog-pegasus/devel/RedHat.OpenPegasus.Makefile,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -p -r1.10 -r1.11
--- RedHat.OpenPegasus.Makefile	2 Feb 2009 19:34:17 -0000	1.10
+++ RedHat.OpenPegasus.Makefile	16 Jun 2009 12:09:02 -0000	1.11
@@ -82,10 +82,11 @@ R = $(PEGASUS_ROOT)
 SBINS=$(B)/bin/cimserver $(B)/bin/cimprovagt  $(B)/bin/cimauth $(B)/bin/cimconfig $(B)/bin/cimuser $(B)/bin/repupgrade $(B)/bin/cimsub
 UBINS=$(B)/bin/cimmof $(B)/bin/cimmofl $(B)/bin/cimprovider $(B)/bin/osinfo $(B)/bin/wbemexec
 BINARIES=$(SBINS) $(UBINS)
+PROVIDER_MANAGERS=$(B)/lib/Pegasus/providerManagers/libCMPIProviderManager.so.1
 PROVIDERS=$(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1 $(B)/lib/Pegasus/providers/libOSProvider.so.1 $(B)/lib/Pegasus/providers/libProcessProvider.so.1
-LIBRARIES=$(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libCIMxmlIndicationHandler.so.1 $(B)/lib/libsnmpIndicationHandler.so.1 $(B)/lib/libCMPIProviderManager.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libcmpiCppImpl.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegcompiler.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegexportclient.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpeglistener.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/
 lib/libpegrepository.so.1 $(B)/lib/libpegserver.so.1 $(B)/lib/libpegservice.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegpmservice.so.1
+LIBRARIES=$(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libCIMxmlIndicationHandler.so.1 $(B)/lib/libsnmpIndicationHandler.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libcmpiCppImpl.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegcompiler.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegexportclient.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpeglistener.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/li
 bpegserver.so.1 $(B)/lib/libpegservice.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegpmservice.so.1
 
-all:  $(BINARIES) $(LIBRARIES) $(PROVIDERS)
+all:  $(BINARIES) $(LIBRARIES) $(PROVIDERS) $(PROVIDER_MANAGERS)
 
 stage_PegasusSystemFiles:
 	$(MAKE) -f Makefile.Release stage_PegasusSystemFiles
@@ -96,7 +97,7 @@ setup:
 	$(MAKE) -f Makefile.Release create_ConfigProductDirectoriesInclude
 	touch setup
 
-$(BINARIES) $(LIBRARIES) $(PROVIDERS): setup
+$(BINARIES) $(LIBRARIES) $(PROVIDERS) $(PROVIDER_MANAGERS): setup
 
 $(B)/bin/cimserver: $(B)/lib/libpegclient.so.1 $(B)/lib/libpegserver.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegservice.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1 $(B)/lib/Pegasus/providers/libOSProvider.so.1 $(B)/lib/Pegasus/providers/libProcessProvider.so.1
  $(B)/lib/libpegpmservice.so.1
 	$(MAKE) -C $(R)/src/Server
@@ -152,7 +153,7 @@ $(B)/lib/libCIMxmlIndicationHandler.so.1
 $(B)/lib/libsnmpIndicationHandler.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegclient.so.1 
 	$(MAKE) -C $(R)/src/Pegasus/Handler/snmpIndicationHandler
 
-$(B)/lib/libCMPIProviderManager.so.1: $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegrepository.so.1
+$(B)/lib/Pegasus/providerManagers/libCMPIProviderManager.so.1: $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegrepository.so.1
 	$(MAKE) -C $(R)/src/Pegasus/ProviderManager2/CMPI
 
 $(B)/lib/libCertificateProvider.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
@@ -296,6 +297,7 @@ ROOTDIRS = $(D)/$(etc)/Pegasus \
 	   $(D)/$(var)/lib/Pegasus/log \
 	   $(D)/$(lib)/Pegasus \
 	   $(D)/$(lib)/Pegasus/providers \
+	   $(D)/$(lib)/Pegasus/providerManagers \
 	   $(D)/$(lib)/cmpi \
 	   $(D)/$(share)/Pegasus/scripts
 PEGDIRS =  $(D)/$(share)/Pegasus \
@@ -324,7 +326,7 @@ PEGSCHEMA= $(R)/Schemas/Pegasus/Internal
            $(R)/Schemas/Pegasus/Internal/VER20/PG_SSLCertificateRevocationList20.mof \
            $(R)/Schemas/Pegasus/InterOp/VER20/PG_Events20.mof
 PEGMOF=$(addprefix $(D)$(share)/Pegasus/mof/Pegasus/,$(notdir $(CIMSCHEMA)))
-LINKED_LIBS=$(D)/$(lib)/libcmpiCppImpl.so.1 $(D)/$(lib)/libpegclient.so.1 $(D)/$(lib)/libpegcommon.so.1 $(D)/$(lib)/libpegprovider.so.1 $(D)/$(lib)/libDefaultProviderManager.so.1 $(D)/$(lib)/libCIMxmlIndicationHandler.so.1 $(D)/$(lib)/libsnmpIndicationHandler.so.1 $(D)/$(lib)/libCMPIProviderManager.so.1 $(D)/$(lib)/Pegasus/providers/libComputerSystemProvider.so.1 $(D)/$(lib)/Pegasus/providers/libOSProvider.so.1 $(D)/$(lib)/Pegasus/providers/libProcessProvider.so.1
+LINKED_LIBS=$(D)/$(lib)/libcmpiCppImpl.so.1 $(D)/$(lib)/libpegclient.so.1 $(D)/$(lib)/libpegcommon.so.1 $(D)/$(lib)/libpegprovider.so.1 $(D)/$(lib)/libDefaultProviderManager.so.1 $(D)/$(lib)/libCIMxmlIndicationHandler.so.1 $(D)/$(lib)/libsnmpIndicationHandler.so.1 $(D)/$(lib)/Pegasus/providerManagers/libCMPIProviderManager.so.1 $(D)/$(lib)/Pegasus/providers/libComputerSystemProvider.so.1 $(D)/$(lib)/Pegasus/providers/libOSProvider.so.1 $(D)/$(lib)/Pegasus/providers/libProcessProvider.so.1
 export PEGASUS_STAGING_DIR := $(D)
 BSX ?=
 
@@ -354,13 +356,13 @@ $(D)/$(etc)/Pegasus/access.conf: $(R)/rp
 $(D)/$(etc)/pam.d/wbem:  $(R)/rpm/wbem
 	$(install) -m 0640 -o $(root_user) -g $(pegasus_user) -p $< $@
 
-$(D)/$(share)/Pegasus/scripts/settogpath:  $(R)/installs/scripts/settogpath
-	$(install) -m 0640 -o $(root_user) -g $(pegasus_user) -p $< $@
-
 $(D)/$(share)/Pegasus/scripts/genOpenPegasusSSLCerts:  $(R)/rpm/genOpenPegasusSSLCerts
 	$(install) -m 0640 -o $(root_user) -g $(pegasus_user) -p $< $@
 
-config: $(D)/$(etc)/rc.d/init.d/tog-pegasus  $(D)/$(etc)/Pegasus/access.conf $(D)/$(etc)/pam.d/wbem $(D)/$(share)/Pegasus/scripts/genOpenPegasusSSLCerts $(D)/$(share)/Pegasus/scripts/settogpath 
+config: $(D)/$(etc)/rc.d/init.d/tog-pegasus  $(D)/$(etc)/Pegasus/access.conf $(D)/$(etc)/pam.d/wbem $(D)/$(share)/Pegasus/scripts/genOpenPegasusSSLCerts
+
+$(D)/$(lib)/Pegasus/providerManagers/%:
+	$(install) -m 0755 -o $(root_user) -g $(pegasus_user) -p $(B)/lib/$(patsubst Pegasus/providerManagers/%,%,$*) $@
 
 $(D)/$(lib)/Pegasus/providers/%:
 	$(install) -m 0755 -o $(root_user) -g $(pegasus_user) -p $(B)/lib/$(patsubst Pegasus/providers/%,%,$*) $@
@@ -368,7 +370,7 @@ $(D)/$(lib)/Pegasus/providers/%:
 $(D)/$(lib)/%:
 	$(install) -m 0755 -o $(root_user) -g $(pegasus_user) -p $(B)/lib/$* $@
 
-libs: $(LIBRARIES) $(patsubst $(B)/lib/%,$(D)/$(lib)/%,$(LIBRARIES) $(PROVIDERS))
+libs: $(LIBRARIES) $(patsubst $(B)/lib/%,$(D)/$(lib)/%,$(LIBRARIES) $(PROVIDERS) $(PROVIDER_MANAGERS))
 
 $(patsubst %.so.1,%.so,$(LINKED_LIBS)):
 	/bin/ln -sf $(patsubst %,%.1,$(notdir $@)) $(patsubst %.so.1,%.so,$@)
@@ -398,9 +400,9 @@ mof: 	$(CIMSCHEMA) $(PEGSCHEMA)
 	$(install) -m 0644 -o $(root_user) -g $(root_user) -p $(PEGSCHEMA) $(D)/$(share)/Pegasus/mof/Pegasus
 
 SDK:
-	/bin/mkdir -p $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.7/
+	/bin/mkdir -p $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.9/
 	$(MAKE) -f $(R)/mak/SDKMakefile stageSDK
-	/bin/rm -rf $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.7/
+	/bin/rm -rf $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.9/
 	if [ -n "$(BSX)" ]; then mv $(D)/$(share)/Pegasus/samples/mak/config.mak $(D)/$(share)/Pegasus/samples/mak/config.mak$(BSX); /bin/ln -s config.mak$(BSX) $(D)/$(share)/Pegasus/samples/mak/config.mak; fi;
 	touch SDK
 


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/tog-pegasus/devel/sources,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- sources	7 Nov 2008 07:32:29 -0000	1.12
+++ sources	16 Jun 2009 12:09:03 -0000	1.13
@@ -1 +1 @@
-f5026a5ba7bcde7b04f882b0b2d205ed  pegasus-2.7.2.tar.gz
+6cd2b72831a389033c0a9471d28bc257  pegasus-2.9.0.tar.gz


Index: tog-pegasus.spec
===================================================================
RCS file: /cvs/extras/rpms/tog-pegasus/devel/tog-pegasus.spec,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -p -r1.70 -r1.71
--- tog-pegasus.spec	16 Apr 2009 11:55:24 -0000	1.70
+++ tog-pegasus.spec	16 Jun 2009 12:09:03 -0000	1.71
@@ -40,10 +40,8 @@
 %endif
 %endif
 
-%define _default_patch_fuzz 2
-
-Version: 		2.7.2
-Release: 		8%{?dist}
+Version: 		2.9.0
+Release: 		1%{?dist}
 Epoch:   		2
 #
 Summary:   		OpenPegasus WBEM Services for Linux
@@ -60,27 +58,27 @@ Source1:        	README.RedHat.Security
 Source2:		genOpenPegasusSSLCerts
 Source3:		pegasus_arch_alternatives
 Source4:		RedHat.OpenPegasus.Makefile
+Source5:		README.RedHat.SSL
 #
 #  0: Still not fixed by http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5008
-Patch0:			pegasus-2.7.0-initscript.patch
+Patch0:			pegasus-2.9.0-initscript.patch
 #  1: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5011
-Patch1:			pegasus-2.7.0-no-rpath.patch
+Patch1:			pegasus-2.9.0-no-rpath.patch
 Patch2:			pegasus-2.7.0-PIE.patch
 #  3: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5016
-Patch3:			pegasus-2.7.0-redhat-config.patch
+Patch3:			pegasus-2.9.0-redhat-config.patch
 #  4: don't see how http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5099 fixed it
-Patch4:			pegasus-2.6.0-cmpi-provider-lib.patch
+Patch4:			pegasus-2.9.0-cmpi-provider-lib.patch
 #  5: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5010
-Patch5:			pegasus-2.7.2-local-or-remote-auth.patch
+Patch5:			pegasus-2.9.0-local-or-remote-auth.patch
 #  6: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5012
 Patch6:			pegasus-2.5.1-pam-wbem.patch
 #  7: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5006
-Patch7:			pegasus-2.5.1-fix_tests.patch
-Patch8:			pegasus-2.6.0-multilib.patch
+Patch7:			pegasus-2.9.0-fix_tests.patch
 Patch9:			pegasus-2.6.0-cimuser.patch
-Patch11:		pegasus-2.7.0-no_privilege_separation.patch
+Patch11:		pegasus-2.9.0-no_privilege_separation.patch
 Patch12:		pegasus-2.7.0-no_snmp_tests.patch
-Patch13:                pegasus-2.7.1-sparc.patch
+Patch13:                pegasus-2.9.0-sparc.patch
 Patch14:                pegasus-2.7.2-baseelif.patch
 #
 Conflicts: 		openwbem
@@ -90,17 +88,18 @@ BuildRequires:      	bash, sed, grep, co
 BuildRequires:      	imake, libstdc++, make, pam-devel
 BuildRequires:      	openssl-devel >= 0.9.8b, e2fsprogs
 BuildRequires:		net-snmp-devel
+#
 Requires:           	bash, sed, grep, coreutils, procps, openssl >= 0.9.8b, pam
-Requires:          	redhat-lsb, chkconfig, sysvinit
+Requires:          	chkconfig, sysvinit
 Requires:           	e2fsprogs, bind-utils, net-tools
 Requires(post):     	bash, sed, grep, coreutils, procps, openssl >= 0.9.8b, pam
-Requires(post):    	redhat-lsb, chkconfig, sysvinit
+Requires(post):    	chkconfig, sysvinit
 Requires(post):     	e2fsprogs, bind-utils, net-tools
 Requires(pre):      	bash, sed, grep, coreutils, procps, openssl >= 0.9.8b, pam
-Requires(pre):     	redhat-lsb, chkconfig, sysvinit
+Requires(pre):     	chkconfig, sysvinit
 Requires(pre):      	e2fsprogs, bind-utils, net-tools
 Requires(postun):   	bash, sed, grep, coreutils, procps, openssl >= 0.9.8b, pam
-Requires(postun):  	redhat-lsb, chkconfig, sysvinit
+Requires(postun):  	chkconfig, sysvinit
 Requires(postun):   	e2fsprogs, bind-utils, net-tools
 Requires:		net-snmp
 
@@ -114,7 +113,7 @@ sources.
 %package devel
 Summary: 		The OpenPegasus Software Development Kit
 Group: 			Systems Management/Base
-PreReq: 		tog-pegasus >= %{version}-%{release}
+Requires:               tog-pegasus >= %{version}-%{release}
 Obsoletes: 		tog-pegasus-sdk
 Requires:		make, gcc, gcc-c++
 Requires(preun): 	make
@@ -129,7 +128,7 @@ supports C provider developers via the C
 %package test
 Summary: 		The OpenPegasus Tests
 Group: 			Systems Management/Base
-PreReq: 		tog-pegasus >= %{version}-%{release}, make
+Requires:               tog-pegasus >= %{version}-%{release}, make
 
 %description test
 The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm.
@@ -137,20 +136,19 @@ The OpenPegasus WBEM tests for the OpenP
 
 %prep
 %setup -q -n %{srcname}
-%patch0 -p1 -b .initscript
 %patch1 -p1 -b .no-rpath
 %patch2 -p1 -b .PIE
 %patch3 -p1 -b .redhat-config
 %patch4 -p1 -b .cmpi-provider-lib
 %patch6 -p1 -b .pam-wbem
 %patch7 -p1 -b .fix-tests
-%patch8 -p1 -b .multilib
 %patch9 -p1 -b .cimuser
 %patch11 -p1 -b .no_privilege_separation
 %patch12 -p1 -b .no_snmp_tests
 %patch5 -p1 -b .local-or-remote-auth
 %patch13 -p1 -b .sparc
 %patch14 -p1 -b .bareelif
+%patch0 -p1 -b .initscript
 find . -name 'CVS' -exec /bin/rm -rf '{}' ';' >/dev/null 2>&1 ||:;
 
 %build
@@ -158,6 +156,7 @@ rm -rf ${RPM_BUILD_ROOT} || :;
 cp -fp %SOURCE1 doc
 cp -fp %SOURCE2 rpm
 cp -fp %SOURCE4 .;
+cp -fp %SOURCE5 doc
 
 export RPM_ARCH_LIB=%{_lib}
 export RPM_ARCH=%{_target_cpu}
@@ -347,7 +346,7 @@ make -f RedHat.OpenPegasus.Makefile inst
 /usr/share/Pegasus/mof
 /usr/share/man/man8/*
 /usr/share/man/man1/*
-%doc doc/license.txt doc/Admin_Guide_Release.pdf doc/PegasusSSLGuidelines.htm doc/SecurityGuidelinesForDevelopers.html doc/README.RedHat.Security src/Clients/repupgrade/doc/repupgrade.html 
+%doc doc/license.txt doc/Admin_Guide_Release.pdf doc/PegasusSSLGuidelines.htm doc/SecurityGuidelinesForDevelopers.html doc/README.RedHat.Security src/Clients/repupgrade/doc/repupgrade.html doc/README.RedHat.SSL
 
 
 %files devel -f ghost_arch_devel
@@ -462,6 +461,11 @@ fi
 
 
 %changelog
+* Mon Jun 16 2009 Vitezslav Crhonek <vcrhonek at redhat.com> - 2:2.9.0-1
+- Update to upstream version 2.9.0
+- Remove redhat-lsb requires
+- Add README.RedHat.SSL
+
 * Thu Apr 16 2009 Vitezslav Crhonek <vcrhonek at redhat.com> - 2:2.7.2-8
 - Replace useradd '-n' option by '-N' ('-n' is obsolete)
   Resolves: #495729
@@ -599,7 +603,7 @@ fi
 - Fix bug 193121: restore world read access to libraries   
 
 * Tue May 02 2006 Jason Vas Dias <jvdias at redhat.com> - 2:2.5.1-4
-- fix bug 190432: %exclude /usr/lib/debug from RPM
+- fix bug 190432: %%exclude /usr/lib/debug from RPM
 - fix upstream OpenPegasus '2.5.2_APPROVED' bugs, applying upstream patches:
   o 4955 : Bogus Description property for OperatingSystem provider
   o 4956 : reserveCapacity method may cause size overflow on invalid input
@@ -617,7 +621,7 @@ fi
 * Fri Apr 14 2006 Jason Vas Dias <jvdias at redhat.com> - 2:2.5.1-2
 - Apply patches for the two '2.5.2_APPROVED' upstream bugzillas 
   4934(4943) and 4945 :
-  (http://cvs.opengroup.org/bugzilla/buglist.cgi?bug_id=4943%2C4945)
+  (http://cvs.opengroup.org/bugzilla/buglist.cgi?bug_id=4943%%2C4945)
 - Fix the PATH_MAX and MAXHOSTNAMELEN issues (again)
 
 * Thu Apr 06 2006 Jason Vas Dias <jvdias at redhat.com> - 2:2.5.1-1


--- pegasus-2.5.1-fix_tests.patch DELETED ---


--- pegasus-2.6.0-cmpi-provider-lib.patch DELETED ---


--- pegasus-2.6.0-multilib.patch DELETED ---


--- pegasus-2.7.0-cmpiheaders.patch DELETED ---


--- pegasus-2.7.0-initscript.patch DELETED ---


--- pegasus-2.7.0-no-rpath.patch DELETED ---


--- pegasus-2.7.0-no_privilege_separation.patch DELETED ---


--- pegasus-2.7.0-redhat-config.patch DELETED ---


--- pegasus-2.7.1-sparc.patch DELETED ---


--- pegasus-2.7.2-local-or-remote-auth.patch DELETED ---




More information about the fedora-extras-commits mailing list