[tog-pegasus] Update to upstream version 2.9.2, Cleanup the spec file, use upstream Makefile

vcrhonek vcrhonek at fedoraproject.org
Wed Nov 3 14:15:45 UTC 2010


commit dc709feedec5b50bd9f19b299f12c2fb15342f5e
Author: Vitezslav Crhonek <vcrhonek at redhat.com>
Date:   Wed Nov 3 15:15:38 2010 +0100

    Update to upstream version 2.9.2, Cleanup the spec file, use upstream Makefile

 .gitignore                                  |    1 +
 pegasus-2.7.2-baseelif.patch                |   15 -
 pegasus-2.9.0-cmpi-provider-lib.patch       |   12 +-
 pegasus-2.9.0-no_privilege_separation.patch |   12 -
 pegasus-2.9.0-redhat-config.patch           |   32 +-
 pegasus-2.9.1-getpagesize.patch             |   66 +++
 pegasus-2.9.1-makefile-initscript.patch     |   27 ++
 sources                                     |    2 +-
 tog-pegasus.spec                            |  589 ++++++++++++---------------
 9 files changed, 375 insertions(+), 381 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index a8c16e6..77e001d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@ pegasus-2.7.0.tar.gz
 pegasus-2.7.1.tar.gz
 pegasus-2.7.2.tar.gz
 pegasus-2.9.0.tar.gz
+/pegasus-2.9.2.tar.gz
diff --git a/pegasus-2.9.0-cmpi-provider-lib.patch b/pegasus-2.9.0-cmpi-provider-lib.patch
index 9777c31..6feb308 100644
--- a/pegasus-2.9.0-cmpi-provider-lib.patch
+++ b/pegasus-2.9.0-cmpi-provider-lib.patch
@@ -1,12 +1,12 @@
 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},
+--- pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h_old	2010-11-02 12:06:56.267640012 +0100
++++ pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h	2010-11-02 12:30:32.090223380 +0100
+@@ -59,7 +59,7 @@
  #  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"},
+     {"providerDir", PEGASUS_EXTRA_PROVIDER_LIB_DIR PEGASUS_PROVIDER_LIB_DIR
+-                    ":/usr/" PEGASUS_ARCH_LIB "/cmpi"},
++                    ":" 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"},
diff --git a/pegasus-2.9.0-redhat-config.patch b/pegasus-2.9.0-redhat-config.patch
index cfb81d0..5b87fca 100644
--- a/pegasus-2.9.0-redhat-config.patch
+++ b/pegasus-2.9.0-redhat-config.patch
@@ -1,6 +1,6 @@
-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
+diff -up pegasus/env_var_Linux.status.redhat-config pegasus/env_var_Linux.status
+--- pegasus/env_var_Linux.status.redhat-config	2010-09-17 08:41:32.000000000 +0200
++++ pegasus/env_var_Linux.status	2010-11-02 12:33:32.196567328 +0100
 @@ -19,7 +19,8 @@ ifndef PEGASUS_STAGING_DIR
  PEGASUS_STAGING_DIR = $(PEGASUS_HOME)/stagingDir
  endif
@@ -11,7 +11,7 @@ diff -up pegasus/env_var_Linux.status_old pegasus/env_var_Linux.status
  PEGASUS_DISABLE_OBJECT_NORMALIZATION=true
  PEGASUS_DISABLE_PERFINST=yes
  PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true
-@@ -28,7 +29,6 @@ PEGASUS_HAS_SSL=yes
+@@ -28,13 +29,12 @@ PEGASUS_HAS_SSL=yes
  PEGASUS_USE_SSL_RANDOMFILE=false
  PEGASUS_NOASSERTS=yes
  PEGASUS_PAM_AUTHENTICATION=true
@@ -19,26 +19,14 @@ diff -up pegasus/env_var_Linux.status_old pegasus/env_var_Linux.status
  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_CIM_SCHEMA=CIM222
+ PEGASUS_USE_NET_SNMP=true
+-PEGASUS_ENABLE_PRIVILEGE_SEPARATION=true
++PEGASUS_ENABLE_PRIVILEGE_SEPARATION=false
  
- PEGASUS_LOG_DIR = $(PEGASUS_VARDATA_DIR)/log
- PEGASUS_INSTALL_LOG = $(PEGASUS_LOG_DIR)/install.log
+ PEGASUS_ENABLE_INTEROP_PROVIDER=false
  
--PEGASUS_CONFIG_DIR = /etc/Pegasus
--
+@@ -97,7 +97,7 @@ 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
diff --git a/pegasus-2.9.1-getpagesize.patch b/pegasus-2.9.1-getpagesize.patch
new file mode 100644
index 0000000..00c8279
--- /dev/null
+++ b/pegasus-2.9.1-getpagesize.patch
@@ -0,0 +1,66 @@
+diff -up pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp_old pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp
+--- pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp_old	2010-01-14 15:06:36.757941652 +0100
++++ pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp	2010-01-14 15:08:12.113962655 +0100
+@@ -539,7 +539,7 @@ NOTES             :
+ */
+ Boolean Process::getRealText(Uint64& i64) const
+ {
+-  i64 = pInfo.pst_tsize * getpagesize() / 1024;
++  i64 = pInfo.pst_tsize * sysconf(_SC_PAGESIZE) / 1024;
+   return true;
+ }
+ 
+@@ -555,7 +555,7 @@ NOTES             :
+ */
+ Boolean Process::getRealData(Uint64& i64) const
+ {
+-  i64 = pInfo.pst_dsize * getpagesize() / 1024;
++  i64 = pInfo.pst_dsize * sysconf(_SC_PAGESIZE) / 1024;
+   return true;
+ }
+ 
+@@ -603,7 +603,7 @@ NOTES             :
+ */
+ Boolean Process::getVirtualData(Uint64& i64) const
+ {
+-  i64 = pInfo.pst_vdsize * getpagesize() / 1024;
++  i64 = pInfo.pst_vdsize * sysconf(_SC_PAGESIZE) / 1024;
+   return true;
+ }
+ 
+@@ -619,7 +619,7 @@ NOTES             :
+ */
+ Boolean Process::getVirtualStack(Uint64& i64) const
+ {
+-  i64 = pInfo.pst_vssize * getpagesize() / 1024;
++  i64 = pInfo.pst_vssize * sysconf(_SC_PAGESIZE) / 1024;
+   return true;
+ }
+ 
+@@ -635,7 +635,7 @@ NOTES             :
+ */
+ Boolean Process::getVirtualMemoryMappedFileSize(Uint64& i64) const
+ {
+-  i64 = pInfo.pst_vmmsize * getpagesize() / 1024;
++  i64 = pInfo.pst_vmmsize * sysconf(_SC_PAGESIZE) / 1024;
+   return true;
+ }
+ 
+@@ -651,7 +651,7 @@ NOTES             :
+ */
+ Boolean Process::getVirtualSharedMemory(Uint64& i64) const
+ {
+-  i64 = pInfo.pst_vshmsize * getpagesize() / 1024;
++  i64 = pInfo.pst_vshmsize * sysconf(_SC_PAGESIZE) / 1024;
+   return true;
+ }
+ 
+@@ -721,7 +721,7 @@ Boolean Process::getRealSpace(Uint64& i6
+   i64 = (pInfo.pst_dsize +  // real data
+          pInfo.pst_tsize)   // real text  may need to figure out how to get
+                             // realStackSize
+-        * getpagesize() / 1024;
++        * sysconf(_SC_PAGESIZE) / 1024;
+   return true;
+ }
+ 
diff --git a/pegasus-2.9.1-makefile-initscript.patch b/pegasus-2.9.1-makefile-initscript.patch
new file mode 100644
index 0000000..6322a94
--- /dev/null
+++ b/pegasus-2.9.1-makefile-initscript.patch
@@ -0,0 +1,27 @@
+diff -up pegasus/Makefile.Release_old pegasus/Makefile.Release
+--- pegasus/Makefile.Release_old	2010-11-01 15:20:18.487489899 +0100
++++ pegasus/Makefile.Release	2010-11-01 15:23:12.016562644 +0100
+@@ -426,14 +426,15 @@ ifdef PEGASUS_PAM_AUTHENTICATION
+ 	$(COPY) $(ROOT)/rpm/access.conf $(PEGASUS_STAGING_DIR)$(PEGASUS_CONFIG_DIR)/access.conf
+ endif
+ 	$(MKDIRHIER) $(PEGASUS_STAGING_DIR)/etc/init.d
+-	$(COPY) $(ROOT)/rpm/preamble-tog-pegasus.rc $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+-	@$(ECHO-E) "CIMSERVER_BIN=$(PEGASUS_SBIN_DIR)/cimserver" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+-	@$(ECHO-E) "PEGASUS_SCRIPT_DIR=$(PEGASUS_SCRIPT_DIR)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+-	@$(ECHO-E) "PEGASUS_SSL_CONF_FILE=$(PEGASUS_PEM_DIR)/ssl.cnf" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+-	@$(ECHO-E) "PEGASUS_SSL_CERT_FILE=$(PEGASUS_SSL_CERT_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+-	@$(ECHO-E) "PEGASUS_SSL_KEY_FILE=$(PEGASUS_SSL_KEY_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+-	@$(ECHO-E) "PEGASUS_SSL_TRUSTSTORE=$(PEGASUS_SSL_CLIENT_TRUSTSTORE)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+-	$(CAT) $(ROOT)/rpm/commands-tog-pegasus.rc >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
++# use tog-pegasus.rc that we already patched, do not create new one
++	$(COPY) $(ROOT)/rpm/tog-pegasus.rc $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
++#	@$(ECHO-E) "CIMSERVER_BIN=$(PEGASUS_SBIN_DIR)/cimserver" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
++#	@$(ECHO-E) "PEGASUS_SCRIPT_DIR=$(PEGASUS_SCRIPT_DIR)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
++#	@$(ECHO-E) "PEGASUS_SSL_CONF_FILE=$(PEGASUS_PEM_DIR)/ssl.cnf" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
++#	@$(ECHO-E) "PEGASUS_SSL_CERT_FILE=$(PEGASUS_SSL_CERT_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
++#	@$(ECHO-E) "PEGASUS_SSL_KEY_FILE=$(PEGASUS_SSL_KEY_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
++#	@$(ECHO-E) "PEGASUS_SSL_TRUSTSTORE=$(PEGASUS_SSL_CLIENT_TRUSTSTORE)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
++#	$(CAT) $(ROOT)/rpm/commands-tog-pegasus.rc >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+ endif
+ 
+ setpermissions_PegasusSystemFiles: FORCE
diff --git a/sources b/sources
index 40b3eb4..d1c1897 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-6cd2b72831a389033c0a9471d28bc257  pegasus-2.9.0.tar.gz
+dac7e4cf92001441fec14ada4fb480dd  pegasus-2.9.2.tar.gz
diff --git a/tog-pegasus.spec b/tog-pegasus.spec
index 4b064f4..11bba75 100644
--- a/tog-pegasus.spec
+++ b/tog-pegasus.spec
@@ -1,108 +1,72 @@
-#
-#
-#               OpenPegasus (Red Hat release) RPM .spec file
-#
-#  tog-pegasus.spec
-#
-#   Copyright (c) 2000 - 2006, 
-#     The Open Group; Hewlett-Packard Development Company, L.P.;
-#     IBM Corp.;  BMC Software; Tivoli Systems.
-#     Licensed under the "Open Group Pegasus Open Source" license 
-#     shipped with this software.
-#
-#  Upstream tog-pegasus.spec file modified for Red Hat build -
-#  April 2006, Jason Vas Dias <jvdias at redhat.com>, Red Hat Inc.
-#
-
-%{?!LINUX_VERSION: 		%define LINUX_VERSION  %{?dist}}
-#
-%{?!PEGASUS_BUILD_TEST_RPM:   	%define PEGASUS_BUILD_TEST_RPM        0}
+%{?!PEGASUS_BUILD_TEST_RPM:     %define PEGASUS_BUILD_TEST_RPM        0}
 # do "rpmbuild --define 'PEGASUS_BUILD_TEST_RPM 1'" to build test RPM.
-#
-%{?!NOCLEAN:     		%define NOCLEAN 0}
-# ^- 1: don't do %clean
-%{?!NODEBUGINFO: 		%define NODEBUGINFO 0}
-# ^- 1: don't generate debuginfo or strip binaries
-%if %{NODEBUGINFO}
-%define debug_package   %{nil}
-%endif
-%define srcname    	pegasus
-%define pegasus_gid	65
-%define pegasus_uid	66
-
-%define multilib        0
-%define bsx             ''
-%ifarch %{ix86} x86_64 ppc ppc64 s390 s390x sparcv9 sparc64
-%define multilib        1
-%define bsx             -32
-%ifarch x86_64 ppc64 s390x sparc64
-%define bsx             -64 
-%endif
-%endif
 
-Version: 		2.9.0
-Release: 		11%{?dist}
-Epoch:   		2
-#
-Summary:   		OpenPegasus WBEM Services for Linux
-Name:      		tog-pegasus
-Group:     		System Environment/Daemons
-URL:       		http://www.openpegasus.org
-#
-License:   		MIT
-#
-BuildRoot: 		%{_tmppath}/%{name}-%{version}-%{release}-%{_target_cpu}-%(%{__id} -u -n)
-#
-Source:			http://www.openpegasus.org/uploads/40/18361/pegasus-%{version}.tar.gz
-Source1:        	README.RedHat.Security
-Source2:		genOpenPegasusSSLCerts
-Source3:		pegasus_arch_alternatives
-Source4:		RedHat.OpenPegasus.Makefile
-Source5:		README.RedHat.SSL
-#
+%define srcname pegasus
+%define major_ver 2.9
+%define pegasus_gid 65
+%define pegasus_uid 66
+
+Name:           tog-pegasus
+Version:        %{major_ver}.2
+Release:        1%{?dist}
+Epoch:          2
+Summary:        OpenPegasus WBEM Services for Linux
+
+Group:          Systems Management/Base
+License:        MIT
+URL:            http://www.openpegasus.org
+Source0:        http://www.openpegasus.org/uploads/40/18361/pegasus-%{version}.tar.gz
+#  1: Description of security enhacements
+Source1:        README.RedHat.Security
+#  2: Script for setting SSL certificates - used in init script when cimserver is started for the first time
+Source2:        genOpenPegasusSSLCerts
+#  3: Description of SSL settings
+Source3:        README.RedHat.SSL
+BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+
 #  0: Still not fixed by http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5008
-Patch0:			pegasus-2.9.0-initscript.patch
+#     Changes to the init script to make it LSB compliant
+Patch0:         pegasus-2.9.0-initscript.patch
 #  1: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5011
-Patch1:			pegasus-2.9.0-no-rpath.patch
-Patch2:			pegasus-2.7.0-PIE.patch
+#     Removing insecure -rpath
+Patch1:         pegasus-2.9.0-no-rpath.patch
+#  2: Adding -fPIE
+Patch2:         pegasus-2.7.0-PIE.patch
 #  3: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5016
-Patch3:			pegasus-2.9.0-redhat-config.patch
+#     Configuration variables
+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.9.0-cmpi-provider-lib.patch
+#     Changing provider dir to the directory we use
+Patch4:         pegasus-2.9.0-cmpi-provider-lib.patch
 #  5: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5010
-Patch5:			pegasus-2.9.0-local-or-remote-auth.patch
+#     We distinguish between local and remote user and behave adequately (will be upstream once)
+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
+#     Modifies pam rules to use access cofiguration file and local/remote differences
+Patch6:         pegasus-2.5.1-pam-wbem.patch
 #  7: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5006
-Patch7:			pegasus-2.9.0-fix_tests.patch
-Patch9:			pegasus-2.6.0-cimuser.patch
-Patch11:		pegasus-2.9.0-no_privilege_separation.patch
-Patch12:		pegasus-2.7.0-no_snmp_tests.patch
-Patch13:                pegasus-2.9.0-sparc.patch
-Patch14:                pegasus-2.7.2-baseelif.patch
-Patch15:		pegasus-2.9.0-openssl.patch
-#
-Conflicts: 		openwbem
-Provides: 		tog-pegasus-cimserver
-#
-BuildRequires:      	bash, sed, grep, coreutils, procps, gcc, gcc-c++
-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:          	chkconfig, sysvinit
-Requires:           	e2fsprogs, bind-utils, net-tools
-Requires(post):     	bash, sed, grep, coreutils, procps, openssl >= 0.9.8b, pam
-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):     	chkconfig, sysvinit
-Requires(pre):      	e2fsprogs, bind-utils, net-tools
-Requires(postun):   	bash, sed, grep, coreutils, procps, openssl >= 0.9.8b, pam
-Requires(postun):  	chkconfig, sysvinit
-Requires(postun):   	e2fsprogs, bind-utils, net-tools
-Requires:		net-snmp
+#     Modifies Makefile for the tests
+Patch7:         pegasus-2.9.0-fix_tests.patch
+#  9: Adds cimuser binary to admin commands
+Patch9:         pegasus-2.6.0-cimuser.patch
+# 12: Removes snmp tests, which we don't want to perform
+Patch12:        pegasus-2.7.0-no_snmp_tests.patch
+# 13: Changes to make package compile on sparc
+Patch13:        pegasus-2.9.0-sparc.patch
+# 15: SSL fix
+Patch15:        pegasus-2.9.0-openssl.patch
+# 16: Fixes "getpagesize" build error
+Patch16:        pegasus-2.9.1-getpagesize.patch
+# 18: Let the makefile install initscript we want to use
+Patch18:        pegasus-2.9.1-makefile-initscript.patch
+
+BuildRequires:  bash, sed, grep, coreutils, procps, gcc, gcc-c++
+BuildRequires:  libstdc++, make, pam-devel
+BuildRequires:  openssl-devel >= 0.9.6
+BuildRequires:  net-snmp-devel
+Requires:       net-snmp
+Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
+Provides:       cimserver
 
 %description
 OpenPegasus WBEM Services for Linux enables management solutions that deliver
@@ -112,12 +76,10 @@ communication protocol for monitoring and controlling resources from diverse
 sources.
 
 %package devel
-Summary: 		The OpenPegasus Software Development Kit
-Group: 			Systems Management/Base
-Requires:               tog-pegasus >= %{version}-%{release}
-Obsoletes: 		tog-pegasus-sdk
-Requires:		make, gcc, gcc-c++
-Requires(preun): 	make
+Summary:        The OpenPegasus Software Development Kit
+Group:          Systems Management/Base
+Requires:       tog-pegasus >= %{version}-%{release}
+Obsoletes:      tog-pegasus-sdk
 
 %description devel
 The OpenPegasus WBEM Services for Linux SDK is the developer's kit for the
@@ -125,16 +87,85 @@ OpenPegasus WBEM Services for Linux release. It provides Linux C++ developers
 with the WBEM files required to build WBEM Clients and Providers. It also
 supports C provider developers via the CMPI interface.
 
+%package libs
+Summary:        The OpenPegasus Libraries
+Group:          Systems Management/Base
+
+%description libs
+The OpenPegasus libraries.
+
 %if %{PEGASUS_BUILD_TEST_RPM}
 %package test
-Summary: 		The OpenPegasus Tests
-Group: 			Systems Management/Base
-Requires:               tog-pegasus >= %{version}-%{release}, make
+Summary:        The OpenPegasus Tests
+Group:          Systems Management/Base
+Requires:       tog-pegasus >= %{version}-%{release}, make
 
 %description test
 The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm.
 %endif
 
+
+%ifarch ia64
+%global PEGASUS_HARDWARE_PLATFORM LINUX_IA64_GNU
+%else
+%ifarch x86_64
+%global PEGASUS_HARDWARE_PLATFORM LINUX_X86_64_GNU
+%else
+%ifarch ppc
+%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC_GNU
+%else
+%ifarch ppc64
+%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC64_GNU
+%else
+%ifarch s390
+%global PEGASUS_HARDWARE_PLATFORM LINUX_ZSERIES_GNU
+%else
+%ifarch s390x
+%global PEGASUS_HARDWARE_PLATFORM LINUX_ZSERIES64_GNU
+%else
+%ifarch sparcv9
+%global PEGASUS_HARDWARE_PLATFORM LINUX_SPARCV9_GNU
+%else
+%ifarch sparc64
+%global PEGASUS_HARDWARE_PLATFORM LINUX_SPARC64_GNU
+%else
+%global PEGASUS_HARDWARE_PLATFORM LINUX_IX86_GNU
+%endif
+%endif
+%endif
+%endif
+%endif
+%endif
+%endif
+%endif
+
+%global PEGASUS_ARCH_LIB %{_lib}
+%global OPENSSL_HOME /usr
+%global OPENSSL_BIN /usr/bin
+%global PEGASUS_PEM_DIR /etc/Pegasus
+%global PEGASUS_SSL_CERT_FILE server.pem
+%global PEGASUS_SSL_KEY_FILE file.pem
+%global PEGASUS_SSL_TRUSTSTORE client.pem
+%global PAM_CONFIG_DIR /etc/pam.d
+%global PEGASUS_CONFIG_DIR /etc/Pegasus
+%global PEGASUS_VARDATA_DIR /var/lib/Pegasus
+%global PEGASUS_VARDATA_CACHE_DIR /var/lib/Pegasus/cache
+%global PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  /var/run/tog-pegasus/socket/cimxml.socket
+%global PEGASUS_CIMSERVER_START_FILE /var/run/tog-pegasus/cimserver.pid
+%global PEGASUS_TRACE_FILE_PATH /var/lib/Pegasus/cache/trace/cimserver.trc
+%global PEGASUS_CIMSERVER_START_LOCK_FILE /var/run/tog-pegasus/cimserver_start.lock
+%global PEGASUS_REPOSITORY_DIR /var/lib/Pegasus/repository
+%global PEGASUS_PREV_REPOSITORY_DIR_NAME prev_repository
+%global PEGASUS_REPOSITORY_PARENT_DIR /var/lib/Pegasus
+%global PEGASUS_PREV_REPOSITORY_DIR /var/lib/PegasusXXX/prev_repository
+%global PEGASUS_SBIN_DIR /usr/sbin
+%global PEGASUS_DOC_DIR /usr/share/doc/%{name}-%{version}
+
+%global PEGASUS_RPM_ROOT $RPM_BUILD_DIR/%{srcname}
+%global PEGASUS_RPM_HOME %PEGASUS_RPM_ROOT/build
+%global PEGASUS_INSTALL_LOG /var/lib/Pegasus/log/install.log
+
+
 %prep
 %setup -q -n %{srcname}
 %patch1 -p1 -b .no-rpath
@@ -144,184 +175,104 @@ The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm.
 %patch6 -p1 -b .pam-wbem
 %patch7 -p1 -b .fix-tests
 %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
 %patch15 -p1 -b .openssl
 %patch0 -p1 -b .initscript
-find . -name 'CVS' -exec /bin/rm -rf '{}' ';' >/dev/null 2>&1 ||:;
+%patch16 -p1 -b .getpagesize
+%patch18 -p1 -b .makefile-initscript
+
 
 %build
-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}
-export RPM_BUILD_DIR=`pwd`
-export RPM_ARCH=`uname -i`
-export RPM_OPT_FLAGS=`rpm -q rpm --qf '%{OPTFLAGS}'`
-%ifarch ia64
-  export PEGASUS_PLATFORM=LINUX_IA64_GNU
-%else
-  %ifarch x86_64
-    export PEGASUS_PLATFORM=LINUX_X86_64_GNU
-  %else
-    %ifarch ppc
-      export PEGASUS_PLATFORM=LINUX_PPC_GNU
-    %else
-      %ifarch ppc64
-        export PEGASUS_PLATFORM=LINUX_PPC64_GNU
-      %else
-        %ifarch s390
-          export PEGASUS_PLATFORM=LINUX_ZSERIES_GNU
-        %else
-          %ifarch s390x
-            export PEGASUS_PLATFORM=LINUX_ZSERIES64_GNU
-          %else
-            %ifarch sparcv9
-              export PEGASUS_PLATFORM=LINUX_SPARCV9_GNU
-            %else
-              %ifarch sparc64
-                export PEGASUS_PLATFORM=LINUX_SPARC64_GNU
-              %else
-                export PEGASUS_PLATFORM=LINUX_IX86_GNU
-              %endif
-            %endif
-          %endif
-        %endif
-      %endif
-    %endif
-  %endif
-%endif
-export PEGASUS_ROOT=${RPM_BUILD_DIR}
-export PEGASUS_HOME=${PEGASUS_ROOT}/build
-export PEGASUS_ARCH_LIB=${RPM_ARCH_LIB}
-export PEGASUS_ENVVAR_FILE=${PEGASUS_ROOT}/env_var_Linux.status
-export PEGASUS_EXTRA_C_FLAGS="${RPM_OPT_FLAGS} -Wno-unused"
-export PEGASUS_EXTRA_CXX_FLAGS=${PEGASUS_EXTRA_C_FLAGS}
-export PEGASUS_EXTRA_PROGRAM_LINK_FLAGS="-pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack"
-export OPENSSL_HOME=/usr
-export OPENSSL_BIN=/usr/bin
+cp -fp %SOURCE3 doc
+
+export PEGASUS_ROOT=%PEGASUS_RPM_ROOT
+export PEGASUS_HOME=%PEGASUS_RPM_HOME
+export PEGASUS_PLATFORM=%PEGASUS_HARDWARE_PLATFORM
+export PEGASUS_ARCH_LIB=%PEGASUS_ARCH_LIB
+export PEGASUS_ENVVAR_FILE=$PEGASUS_ROOT/env_var_Linux.status
+
+export OPENSSL_HOME=%OPENSSL_HOME
+export OPENSSL_BIN=%OPENSSL_BIN
+export LD_LIBRARY_PATH=$PEGASUS_HOME/lib
+export PATH=$PEGASUS_HOME/bin:$PATH
+
+export PEGASUS_EXTRA_C_FLAGS="$RPM_OPT_FLAGS -fPIC -g -Wall -Wno-unused"
+export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS"
+export PEGASUS_EXTRA_LINK_FLAGS="$RPM_OPT_FLAGS"
+export PEGASUS_EXTRA_PROGRAM_LINK_FLAGS="-g -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack"
 export SYS_INCLUDES=-I/usr/kerberos/include
-export LD_LIBRARY_PATH=${PEGASUS_HOME}/lib
-export PATH=${PEGASUS_HOME}/bin:${PATH}
 
 make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release create_ProductVersionFile
 make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release create_CommonProductDirectoriesInclude
 make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release create_ConfigProductDirectoriesInclude
-make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release depend
 make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release all
 make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release repository
-%if %{PEGASUS_BUILD_TEST_RPM}
-    make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.ReleaseTest -s create_repository
-%endif
+
 
 %install
-export RPM_ARCH_LIB=%{_lib}
-export RPM_ARCH=%{_target_cpu}
-export BSX=%{bsx}
-export RPM_BUILD_DIR=`pwd`
-export RPM_ARCH=`uname -i`
-export RPM_OPT_FLAGS=`rpm -q rpm --qf '%{OPTFLAGS}'`
-%ifarch ia64
-  export PEGASUS_PLATFORM=LINUX_IA64_GNU
+rm -rf $RPM_BUILD_ROOT
+export PEGASUS_ROOT=%PEGASUS_RPM_ROOT
+export PEGASUS_HOME=%PEGASUS_RPM_HOME
+export PEGASUS_PLATFORM=%PEGASUS_HARDWARE_PLATFORM
+export PEGASUS_ARCH_LIB=%PEGASUS_ARCH_LIB
+export PEGASUS_ENVVAR_FILE=$PEGASUS_ROOT/env_var_Linux.status
+
+export OPENSSL_BIN=%OPENSSL_BIN
+export LD_LIBRARY_PATH=$PEGASUS_HOME/lib
+export PATH=$PEGASUS_HOME/bin:$PATH
+
+export PEGASUS_STAGING_DIR=$RPM_BUILD_ROOT
+%if %{PEGASUS_BUILD_TEST_RPM}
+make -f $PEGASUS_ROOT/Makefile.Release stage \
+    PEGASUS_STAGING_DIR=$PEGASUS_STAGING_DIR \
+    PEGASUS_BUILD_TEST_RPM=%{PEGASUS_BUILD_TEST_RPM}
 %else
-  %ifarch x86_64
-    export PEGASUS_PLATFORM=LINUX_X86_64_GNU
-  %else
-    %ifarch ppc
-      export PEGASUS_PLATFORM=LINUX_PPC_GNU
-    %else
-      %ifarch ppc64
-        export PEGASUS_PLATFORM=LINUX_PPC64_GNU
-      %else
-        %ifarch s390
-          export PEGASUS_PLATFORM=LINUX_ZSERIES_GNU
-        %else
-          %ifarch s390x
-            export PEGASUS_PLATFORM=LINUX_ZSERIES64_GNU
-          %else
-            %ifarch sparcv9
-              export PEGASUS_PLATFORM=LINUX_SPARCV9_GNU
-            %else
-              %ifarch sparc64
-                export PEGASUS_PLATFORM=LINUX_SPARC64_GNU
-              %else
-                export PEGASUS_PLATFORM=LINUX_IX86_GNU
-              %endif
-            %endif
-          %endif
-        %endif
-      %endif
-    %endif
-  %endif
+make -f $PEGASUS_ROOT/Makefile.Release stage \
+    PEGASUS_STAGING_DIR=$PEGASUS_STAGING_DIR
 %endif
-export PEGASUS_ROOT=${RPM_BUILD_DIR}
-export PEGASUS_HOME=${PEGASUS_ROOT}/build
-export PEGASUS_ARCH_LIB=${RPM_ARCH_LIB}
-export PEGASUS_ENVVAR_FILE=${PEGASUS_ROOT}/env_var_Linux.status
-export PEGASUS_EXTRA_C_FLAGS="${RPM_OPT_FLAGS} -Wno-unused"
-export PEGASUS_EXTRA_CXX_FLAGS=${PEGASUS_EXTRA_C_FLAGS}
-export PEGASUS_EXTRA_PROGRAM_LINK_FLAGS="-pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack"
-export OPENSSL_HOME=/usr
-export OPENSSL_BIN=/usr/bin
-export SYS_INCLUDES=-I/usr/kerberos/include
-export LD_LIBRARY_PATH=${PEGASUS_HOME}/lib
-export PATH=${PEGASUS_HOME}/bin:${PATH}
 
-make -f RedHat.OpenPegasus.Makefile install prefix=$RPM_BUILD_ROOT libdir=%{_libdir} root_user=%(%{__id} -u -n) pegasus_user=%(%{__id} -u -n)
-%if %{PEGASUS_BUILD_TEST_RPM}
-    make -f %{SOURCE4} install_tests prefix=${RPM_BUILD_ROOT} root_user=%(%{__id} -u -n) pegasus_user=%(%{__id} -u -n)    
-%endif
+# move files to right directories
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d/
+mv $RPM_BUILD_ROOT/etc/init.d/tog-pegasus $RPM_BUILD_ROOT/etc/rc.d/init.d/tog-pegasus
+# cimserver_planned.conf is on the right place since 2.9.2
+#mv $RPM_BUILD_ROOT/var/lib/Pegasus/cimserver_planned.conf $RPM_BUILD_ROOT/etc/Pegasus/cimserver_planned.conf
+mkdir -p $RPM_BUILD_ROOT/%{_docdir}/%{name}-%{version}
+mv $RPM_BUILD_ROOT/usr/share/doc/%{name}-%{major_ver}/* $RPM_BUILD_ROOT/%{_docdir}/%{name}-%{version}
+rm -rf $RPM_BUILD_ROOT/usr/share/doc/%{name}-%{major_ver}
+# create symlink for libcmpiCppImpl
+pushd $RPM_BUILD_ROOT/usr/%{_lib}
+ln -s libcmpiCppImpl.so.1 libcmpiCppImpl.so
+popd
 
-%if %{multilib}
-    %{SOURCE3} --list '%ghost' | grep 'bin/' > ghost_arch_binaries;
-    %{SOURCE3} --list '%ghost' | grep 'mak/' > ghost_arch_devel;
-    %{SOURCE3} --list '%ghost' | grep 'test/'> ghost_arch_test;
-    cp -fp %{SOURCE3} $RPM_BUILD_ROOT/%{_datadir}/Pegasus/scripts;
-%else
-    touch ghost_arch_binaries;
-    touch ghost_arch_devel;
-    touch ghost_arch_test;
-%endif
-%if %{NODEBUGINFO}
-    /usr/lib/rpm/brp-compress;
-    exit 0;
-%endif
 
-:;
+%clean
+rm -rf $RPM_BUILD_ROOT
 
 
-%files -f ghost_arch_binaries
-%defattr(0750, root, pegasus, 0750)
-%if !%{NODEBUGINFO}
-%exclude /usr/lib/debug
-%endif
+%files
+%defattr(0640, root, pegasus, 0750)
+%verify(not md5 size mtime mode group) /var/lib/Pegasus/repository
+%defattr(0644, root, pegasus, 0755)
+/usr/share/Pegasus/mof
+%dir /usr/share/Pegasus
 %defattr(0755, root, pegasus, 0750)
-/usr/%{_lib}/*
 /usr/share/Pegasus/scripts
-%defattr(0750, root, pegasus, 0750)
-/usr/sbin/*
-%attr(0755, root, pegasus) /usr/sbin/cimauth
-%attr(0755, root, pegasus) /usr/sbin/cimconfig
-%attr(0755, root, pegasus) /usr/sbin/cimprovagt
-%attr(0755, root, pegasus) /usr/sbin/cimserver
-%attr(0755, root, pegasus) /usr/sbin/cimuser
-%attr(0755, root, pegasus) /usr/sbin/repupgrade
-/usr/bin/*
-%attr(0755, root, pegasus) /usr/bin/cimmof
-%attr(0755, root, pegasus) /usr/bin/cimmofl
-%attr(0755, root, pegasus) /usr/bin/cimprovider
-%attr(0755, root, pegasus) /usr/bin/osinfo
-%attr(0755, root, pegasus) /usr/bin/wbemexec
+%defattr(0640, root, pegasus, 0750)
+%dir /var/lib/Pegasus
+/var/lib/Pegasus/cache
+%dir /var/lib/Pegasus/log
+%defattr(0640, root, pegasus, 0750)
+%dir /etc/Pegasus
+%dir %attr(1750,root,pegasus) /var/run/tog-pegasus
+%ghost /var/run/tog-pegasus/cimserver.pid
+%ghost /var/run/tog-pegasus/cimserver_start.lock
+%ghost %attr(1640,root,pegasus) /var/run/tog-pegasus/cimxml.socket
 %attr(0755, root, pegasus) %config(noreplace) /etc/rc.d/init.d/tog-pegasus
 %defattr(0640, root, pegasus, 0750)
-%dir   /etc/Pegasus
 %ghost %config(noreplace) /etc/Pegasus/cimserver_current.conf
 %ghost %config(noreplace) /etc/Pegasus/cimserver_planned.conf
 %config(noreplace) /etc/Pegasus/access.conf
@@ -333,60 +284,56 @@ make -f RedHat.OpenPegasus.Makefile install prefix=$RPM_BUILD_ROOT libdir=%{_lib
 %ghost /etc/Pegasus/cimserver_trust
 %ghost /etc/Pegasus/indication_trust
 %ghost /etc/Pegasus/crl
-%dir /var/lib/Pegasus
-/var/lib/Pegasus/repository
-/var/lib/Pegasus/cache
-%dir /var/lib/Pegasus/log
-%ghost /var/lib/Pegasus/log/install.log
-%ghost /var/lib/Pegasus/cache/trace/cimserver.trc
-%dir   %attr(1750,root,pegasus) /var/run/tog-pegasus
-%ghost /var/run/tog-pegasus/cimserver.pid
-%ghost /var/run/tog-pegasus/cimserver_start.lock
-%ghost %attr(1640,root,pegasus) /var/run/tog-pegasus/cimxml.socket
+%ghost %verify(not md5 size mtime) /var/lib/Pegasus/log/install.log
+%ghost %verify(not md5 size mtime) /var/lib/Pegasus/cache/trace/cimserver.trc
+%defattr(0750, root, pegasus, 0750)
+/usr/sbin/*
+/usr/bin/*
 %defattr(0644, root, pegasus, 0755)
-%dir /usr/share/Pegasus
-/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/README.RedHat.SSL
 
-
-%files devel -f ghost_arch_devel
+%files devel
 %defattr(0644,root,pegasus,0755)
-/usr/include/Pegasus
 /usr/share/Pegasus/samples
+/usr/include/Pegasus
 /usr/share/Pegasus/html
 
+%files libs
+%defattr(0755, root, pegasus, 0750)
+/usr/%{_lib}/*
+
 %if %{PEGASUS_BUILD_TEST_RPM}
-%files test -f ghost_arch_test
+%files test
 %defattr(0644,root,pegasus,0755)
 %dir /usr/share/Pegasus/test
-/usr/share/Pegasus/test/Makefile%{bsx}
+/usr/share/Pegasus/test/Makefile
 /usr/share/Pegasus/test/mak
-/var/lib/Pegasus/testrepository
+%dir /usr/share/Pegasus/test/tmp
+%ghost /usr/share/Pegasus/test/tmp/procIdFile
+%ghost /usr/share/Pegasus/test/tmp/trapLogFile
+%ghost /usr/share/Pegasus/test/tmp/IndicationStressTestLog
+%ghost /usr/share/Pegasus/test/tmp/oldIndicationStressTestLog
+%verify(not md5 size mtime) /var/lib/Pegasus/testrepository
 %defattr(0750,root,pegasus,0755)
 /usr/share/Pegasus/test/bin
-/usr/share/Pegasus/test/lib
+/usr/share/Pegasus/test/%PEGASUS_ARCH_LIB
 %endif
 
-%clean
-%if !%{NOCLEAN}
-[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf $RPM_BUILD_ROOT;
-[ "${RPM_BUILD_DIR}" != "/" ] && rm -rf ${RPM_BUILD_DIR}/%{srcname};
-%endif
 
 %pre
 if [ $1 -eq 1 ]; then
 #  first install: create the 'pegasus' user and group:
    /usr/sbin/groupadd -g %{pegasus_gid} -f -r pegasus >/dev/null 2>&1 || :;
    /usr/sbin/useradd -u %{pegasus_uid} -r -N -M -g pegasus -s /sbin/nologin -d /var/lib/Pegasus \
-     	 		   -c "tog-pegasus OpenPegasus WBEM/CIM services" pegasus >/dev/null 2>&1 || :;
+                           -c "tog-pegasus OpenPegasus WBEM/CIM services" pegasus >/dev/null 2>&1 || :;
 elif [ $1 -gt 1 ]; then
    if [ -d /var/lib/Pegasus/repository ]; then
-	if [ -d /var/lib/Pegasus/prev_repository ]; then
-	   mv /var/lib/Pegasus/prev_repository /var/lib/Pegasus/prev_repository_`date '+%Y-%m-%d-%s.%N'`.rpmsave;
-	fi;
-	mv /var/lib/Pegasus/repository /var/lib/Pegasus/prev_repository;
+        if [ -d /var/lib/Pegasus/prev_repository ]; then
+           mv /var/lib/Pegasus/prev_repository /var/lib/Pegasus/prev_repository_`date '+%Y-%m-%d-%s.%N'`.rpmsave;
+        fi;
+        mv /var/lib/Pegasus/repository /var/lib/Pegasus/prev_repository;
    fi
 fi
 :;
@@ -394,16 +341,13 @@ fi
 %post
 ldconfig;
 chkconfig --add tog-pegasus;
-if [ $1 -ge 1 ]; then	
+if [ $1 -ge 1 ]; then
    echo `date` >>  /var/lib/Pegasus/log/install.log 2>&1 || :;
-%if %{multilib}
-    %{_datadir}/Pegasus/scripts/pegasus_arch_alternatives || :;
-%endif
    if [ $1 -gt 1 ]; then
       if [ -d /var/lib/Pegasus/prev_repository ]; then
       #  The user's old repository was moved to /var/lib/Pegasus/prev_repository, which 
       #  now must be upgraded to the new repository in /var/lib/Pegasus/repository:
-	 /usr/sbin/repupgrade 2>> /var/lib/Pegasus/log/install.log || :;
+         /usr/sbin/repupgrade 2>> /var/lib/Pegasus/log/install.log || :;
          mv /var/lib/Pegasus/prev_repository /var/lib/Pegasus/prev_repository_`date '+%Y-%m-%d-%s.%N'`.rpmsave;
       fi;
       /sbin/service tog-pegasus condrestart >/dev/null 2>&1 || :;
@@ -415,54 +359,49 @@ fi
 if [ $1 -eq 0 ]; then
    /sbin/service tog-pegasus stop >/dev/null 2>&1 || :;
    /sbin/chkconfig --del tog-pegasus >/dev/null 2>&1 || :;
-%if %{multilib}
-   if [ "$1" -eq 0 ]; then
-      /usr/sbin/alternatives --remove pegasus /usr/sbin/cimserver-64 >/dev/null 2>&1 || :;
-      /usr/sbin/alternatives --remove pegasus /usr/sbin/cimserver-32 >/dev/null 2>&1 || :;
-   fi
-%endif
 fi
 :;
 
 %postun -p /sbin/ldconfig
 
-%post devel
-if [ $1 -ge 0 ]; then
-    %{_datadir}/Pegasus/scripts/pegasus_arch_alternatives devel || :;
-fi
-:;
-
 %preun devel
 if [ $1 -eq 0 ] ; then
    make --directory /usr/share/Pegasus/samples -s clean >/dev/null 2>&1 || :;
-%if %{multilib}
-   /usr/sbin/alternatives --remove pegasus-devel %{_datadir}/Pegasus/samples/mak/config.mak-64 >/dev/null 2>&1 || :;
-   /usr/sbin/alternatives --remove pegasus-devel %{_datadir}/Pegasus/samples/mak/config.mak-32 >/dev/null 2>&1 || :;
-%endif
-fi
-:;
-
-%if %{PEGASUS_BUILD_TEST_RPM}
-%if %{multilib}
-%post test
-if [ $1 -ge 0 ]; then
-   %{_datadir}/Pegasus/scripts/pegasus_arch_alternatives test || :;
 fi
 :;
 
-%preun test
-if [ $1 -eq 0 ]; then
-%if %{multilib}
-   /usr/sbin/alternatives --remove pegasus-test %{_datadir}/Pegasus/test/Makefile-64 >/dev/null 2>&1 || :;
-   /usr/sbin/alternatives --remove pegasus-test %{_datadir}/Pegasus/test/Makefile-32 >/dev/null 2>&1 || :;
-%endif
+%post libs
+if [ $1 -eq 1 ]; then
+   # Create Symbolic Links for SDK Libraries
+   #
+   ln -sf libpegclient.so.1 /usr/%PEGASUS_ARCH_LIB/libpegclient.so
+   ln -sf libpegcommon.so.1 /usr/%PEGASUS_ARCH_LIB/libpegcommon.so
+   ln -sf libpegprovider.so.1 /usr/%PEGASUS_ARCH_LIB/libpegprovider.so
+   ln -sf libDefaultProviderManager.so.1 /usr/%PEGASUS_ARCH_LIB/libDefaultProviderManager.so
+   ln -sf libCIMxmlIndicationHandler.so.1 /usr/%PEGASUS_ARCH_LIB/libCIMxmlIndicationHandler.so
+   ln -sf libsnmpIndicationHandler.so.1 /usr/%PEGASUS_ARCH_LIB/libsnmpIndicationHandler.so
+
+   # Create Symbolic Links for Packaged Provider Libraries
+   #
+   ln -sf libComputerSystemProvider.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providers/libComputerSystemProvider.so
+   ln -sf libOSProvider.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providers/libOSProvider.so
+   ln -sf libProcessProvider.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providers/libProcessProvider.so
+
+   # Create Symbolic Links for Packaged Provider Managers
+   #
+   ln -sf libCMPIProviderManager.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providerManagers/libCMPIProviderManager.so
 fi
 :;
-%endif
-%endif
 
 
 %changelog
+* Wed Nov  3 2010 Vitezslav Crhonek <vcrhonek at redhat.com> - 2:2.9.2-1
+- Update to upstream version 2.9.2
+- Mark files in /var/lib/Pegasus as noverify in spec file
+- Fix initscript permissions
+- Add patch/source descriptions to the spec file
+- Cleanup the spec file, use upstream Makefile
+
 * Thu Apr 22 2010 Vitezslav Crhonek <vcrhonek at redhat.com> - 2:2.9.0-11
 - Fix initscript permissions
 
@@ -566,7 +505,7 @@ fi
 - Rebuild
 
 * Fri Nov 23 2007 Vitezslav Crhonek <vcrhonek at redhat.com> - 2:2.7.0-2
-- Fix OpenPegasus SRPM fails to build Test RPM 
+- Fix OpenPegasus SRPM fails to build Test RPM
   Resolves: #391961
 
 * Mon Nov 19 2007 Vitezslav Crhonek <vcrhonek at redhat.com> - 2:2.7.0-1
@@ -635,7 +574,7 @@ fi
   o 5059: XMLWriter does not escape '>' in strings
   o 5072: Potential race condition with OOP response chunks
   o 5083: CIMRequestMessage buildResponse() should be const
-- Fix bug 193121: restore world read access to libraries   
+- 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
@@ -648,13 +587,13 @@ fi
   o 4984 : Forked process hangs in system call
   o 4986 : Adding automated test for snmpIndication Handler
   (  http://cvs.opengroup.org/bugzilla/show_bug.cgi?id=? )
-- apply upstream update to 'pegasus-2.5.1-warnings.patch' 
+- apply upstream update to 'pegasus-2.5.1-warnings.patch'
 
 * Mon Apr 17 2006 Jason Vas Dias <jvdias at redhat.com> - 2:2.5.1-3
 - Fix repupgrade (make it use correct paths)
 
 * 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 
+- 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)
 - Fix the PATH_MAX and MAXHOSTNAMELEN issues (again)
@@ -682,7 +621,7 @@ fi
 - rebuilt
 
 * Wed Nov 16 2005 Jason Vas Dias <jvdias at redhat.com> - 2:2.5-4
-- fix bug 173401: SSL support broken by openssl-0.9.7g -> 0.9.8a upgrade 
+- fix bug 173401: SSL support broken by openssl-0.9.7g -> 0.9.8a upgrade
 
 * Wed Nov 09 2005 Jason Vas Dias <jvdias at redhat.com> - 2:2.5-3
 - Rebuild for new openssl dependencies


More information about the scm-commits mailing list