From 39ee4fbeb67b9a4fe0166e30c1993beb43153c1d Mon Sep 17 00:00:00 2001 From: Vitezslav Crhonek Date: Wed, 27 Apr 2011 18:08:00 +0200 Subject: [PATCH] Fix/enhance mofs registration for various CIMOMs --- sblim-cmpi-base.spec | 99 +++++++++++++++++++++++++++++++------------- 1 file changed, 71 insertions(+), 28 deletions(-) diff --git a/sblim-cmpi-base.spec b/sblim-cmpi-base.spec index 2bcb192..bdd7402 100644 --- a/sblim-cmpi-base.spec +++ b/sblim-cmpi-base.spec @@ -1,6 +1,6 @@ Name: sblim-cmpi-base Version: 1.6.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: SBLIM CMPI Base Providers Group: Applications/System @@ -94,56 +94,99 @@ rm -rf $RPM_BUILD_ROOT %define REGISTRATION %{_datadir}/%{name}/Linux_Base.registration %pre -if [ -e /usr/sbin/cimserver ]; then - CIMSERVER="-t pegasus"; -else - CIMSERVER=""; -fi -# If upgrading, deregister old version -if [ $1 -gt 1 ] -then +function unregister() +{ %{_datadir}/%{name}/provider-register.sh -d \ - $CIMSERVER \ + $1 \ -m %{SCHEMA} \ -r %{REGISTRATION} > /dev/null 2>&1 || :; # don't let registration failure when server not running fail upgrade! +} + +# If upgrading, deregister old version +if [ $1 -gt 1 ] +then + unregistered=no + if [ -e /usr/sbin/cimserver ]; then + unregister "-t pegasus"; + unregistered=yes + fi + + if [ -e /usr/sbin/sfcbd ]; then + unregister "-t sfcb"; + unregistered=yes + fi + + if [ "$unregistered" != yes ]; then + unregister + fi fi %post -if [ -e /usr/sbin/cimserver ]; then - CIMSERVER="-t pegasus"; -else - CIMSERVER=""; -fi -/sbin/ldconfig -if [ $1 -ge 1 ] -then -# The follwoing script will handle the registration for various CIMOMs. +function register() +{ + # The follwoing script will handle the registration for various CIMOMs. %{_datadir}/%{name}/provider-register.sh \ - $CIMSERVER \ + $1 \ -m %{SCHEMA} \ -r %{REGISTRATION} > /dev/null 2>&1 || :; # don't let registration failure when server not running fail install! +} + +/sbin/ldconfig +if [ $1 -ge 1 ] +then + registered=no + if [ -e /usr/sbin/cimserver ]; then + register "-t pegasus"; + registered=yes + fi + + if [ -e /usr/sbin/sfcbd ]; then + register "-t sfcb"; + registered=yes + fi + + if [ "$registered" != yes ]; then + register + fi fi %preun -if [ -e /usr/sbin/cimserver ]; then - CIMSERVER="-t pegasus"; -else - CIMSERVER=""; -fi -if [ $1 -eq 0 ] -then +function unregister() +{ %{_datadir}/%{name}/provider-register.sh -d \ - $CIMSERVER \ + $1 \ -m %{SCHEMA} \ -r %{REGISTRATION} > /dev/null 2>&1 || :; # don't let registration failure when server not running fail erase! +} + +if [ $1 -eq 0 ] +then + unregistered=no + if [ -e /usr/sbin/cimserver ]; then + unregister "-t pegasus"; + unregistered=yes + fi + + if [ -e /usr/sbin/sfcbd ]; then + unregister "-t sfcb"; + unregistered=yes + fi + + if [ "$unregistered" != yes ]; then + unregister + fi fi %postun -p /sbin/ldconfig %changelog +* Wed Apr 27 2011 Vitezslav Crhonek - 1.6.1-3 +- Fix/enhance mofs registration for various CIMOMs (patch by Masatake Yamato) + Resolves: #695626 + * Wed Feb 09 2011 Fedora Release Engineering - 1.6.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild