[sblim-cmpi-params] Add mofs registration for various CIMOMs
vcrhonek
vcrhonek at fedoraproject.org
Thu Nov 10 11:48:36 UTC 2011
commit a84139c639a2cfb0eaa24c23ab54b30da0b10349
Author: Vitezslav Crhonek <vcrhonek at redhat.com>
Date: Thu Nov 10 12:48:12 2011 +0100
Add mofs registration for various CIMOMs
sblim-cmpi-params.spec | 108 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 87 insertions(+), 21 deletions(-)
---
diff --git a/sblim-cmpi-params.spec b/sblim-cmpi-params.spec
index e68f53e..fb535d8 100644
--- a/sblim-cmpi-params.spec
+++ b/sblim-cmpi-params.spec
@@ -2,7 +2,7 @@
Name: sblim-cmpi-params
Version: 1.3.0
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: SBLIM params instrumentation
Group: Applications/System
@@ -59,42 +59,108 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-)
%{_datadir}/sblim-testsuite
+%define SCHEMA %{_datadir}/%{name}/*.mof
+%define REGISTRATION %{_datadir}/%{name}/*.registration
%define PEGASUS_MOF CIM_UnixLocalFileSystem
%pre
+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-params/provider-register.sh -d \
- -r %{_datadir}/%{name}/*.registration \
- -m %{_datadir}/%{name}/*.mof > /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
+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
-# Register Schema and Provider - this is higly provider specific
-# tog-pegasus needs some schemes registered first
-if [ -x /usr/bin/peg-loadmof.sh ]; then
- peg-loadmof.sh -n root/cimv2 /usr/share/mof/cim-current/*/{%{PEGASUS_MOF}}.mof > /dev/null 2>&1 || :;
- /sbin/service tog-pegasus try-restart > /dev/null 2>&1 || :;
-fi
-# The follwoing script will handle the registration for various CIMOMs
-if [ $1 -ge 1 ]; then
- %{_datadir}/sblim-cmpi-params/provider-register.sh \
- -r %{_datadir}/%{name}/*.registration \
- -m %{_datadir}/%{name}/*.mof > /dev/null 2>&1 || :;
+if [ $1 -ge 1 ]
+then
+ registered=no
+ if [ -e /usr/sbin/cimserver ]; then
+ # tog-pegasus needs some schemes registered first
+ if [ -x /usr/bin/peg-loadmof.sh ]; then
+ peg-loadmof.sh -n root/cimv2 /usr/share/mof/cim-current/*/{%{PEGASUS_MOF}}.mof > /dev/null 2>&1 || :;
+ /sbin/service tog-pegasus try-restart > /dev/null 2>&1 || :;
+ fi
+ 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
-# Deregister only if not upgrading
-if [ $1 -eq 0 ]; then
- %{_datadir}/sblim-cmpi-params/provider-register.sh -d \
- -r %{_datadir}/%{name}/*.registration \
- -m %{_datadir}/%{name}/*.mof > /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
%changelog
+* Thu Nov 10 2011 Vitezslav Crhonek <vcrhonek at redhat.com> - 1.3.0-3
+- Add mofs registration for various CIMOMs
+
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
More information about the scm-commits
mailing list