[sblim-cmpi-fsvol] Add better support of mofs registration for various CIMOMs
vcrhonek
vcrhonek at fedoraproject.org
Thu Nov 10 13:12:30 UTC 2011
commit 9debcc22cfdb4d9ac5096cbcb60b472254876a2c
Author: Vitezslav Crhonek <vcrhonek at redhat.com>
Date: Thu Nov 10 14:12:06 2011 +0100
Add better support of mofs registration for various CIMOMs
sblim-cmpi-fsvol.spec | 116 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 83 insertions(+), 33 deletions(-)
---
diff --git a/sblim-cmpi-fsvol.spec b/sblim-cmpi-fsvol.spec
index 94753d5..818995b 100644
--- a/sblim-cmpi-fsvol.spec
+++ b/sblim-cmpi-fsvol.spec
@@ -3,7 +3,7 @@
Summary: SBLIM fsvol instrumentation
Name: sblim-cmpi-fsvol
Version: 1.5.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: EPL
Group: Applications/System
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -91,47 +91,94 @@ echo "%{_libdir}/cmpi" > $RPM_BUILD_ROOT/%{_sysconfdir}/ld.so.conf.d/%{name}-%{_
%{_datadir}/sblim-testsuite/system/linux/*FileSystem.*
%{_datadir}/sblim-testsuite/system/linux/*FileSystemEntries.*
-%define FSVOL_SCHEMA %{_datadir}/sblim-cmpi-fsvol/Linux_Fsvol.mof
-%define FSVOL_REGISTRATION %{_datadir}/sblim-cmpi-fsvol/Linux_Fsvol.registration
+%define SCHEMA %{_datadir}/%{name}/Linux_Fsvol.mof
+%define REGISTRATION %{_datadir}/%{name}/Linux_Fsvol.registration
%pre
-if [ -e /usr/sbin/cimserver ]; then
- CIMSERVER="-t pegasus";
-else
- CIMSERVER="";
-fi
+function unregister()
+{
+ %{_datadir}/%{name}/provider-register.sh -d \
+ $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
- %{_datadir}/sblim-cmpi-fsvol/provider-register.sh -d \
- $CIMSERVER \
- -r %{FSVOL_REGISTRATION} -m %{FSVOL_SCHEMA} > /dev/null 2>&1 || :;
+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
+function register()
+{
+ # The follwoing script will handle the registration for various CIMOMs.
+ %{_datadir}/%{name}/provider-register.sh \
+ $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
-# Register Schema and Provider - this is higly provider specific
- %{_datadir}/sblim-cmpi-fsvol/provider-register.sh \
- $CIMSERVER \
- -r %{FSVOL_REGISTRATION} -m %{FSVOL_SCHEMA} > /dev/null 2>&1 || :;
-fi;
+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
-# Deregister only if not upgrading
-if [ $1 -eq 0 ]; then
- %{_datadir}/sblim-cmpi-fsvol/provider-register.sh -d \
- $CIMSERVER \
- -r %{FSVOL_REGISTRATION} -m %{FSVOL_SCHEMA} > /dev/null 2>&1 || :;
+function unregister()
+{
+ %{_datadir}/%{name}/provider-register.sh -d \
+ $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
@@ -140,6 +187,9 @@ fi
rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Nov 10 2011 Vitezslav Crhonek <vcrhonek at redhat.com> - 1.5.1-2
+- Add better support of mofs registration for various CIMOMs
+
* Wed May 25 2011 Vitezslav Crhonek <vcrhonek at redhat.com> - 1.5.1-1
- Update to sblim-cmpi-fsvol-1.5.1
More information about the scm-commits
mailing list