[Libvirt-cim] [PATCH] do not deregister virt classes in yum upgrade

Wenchao Xia xiawenc at linux.vnet.ibm.com
Fri Sep 21 09:22:59 UTC 2012


  Now yum upgrade will deregister the virt classes, make
libvirt-cim not workable. This patch fixed it from now on.

Signed-off-by: Wenchao Xia <xiawenc at linux.vnet.ibm.com>
---
 libvirt-cim.spec.in |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/libvirt-cim.spec.in b/libvirt-cim.spec.in
index d78eee7..3def978 100644
--- a/libvirt-cim.spec.in
+++ b/libvirt-cim.spec.in
@@ -104,18 +104,22 @@ rm -fr $RPM_BUILD_ROOT
         -r %{CIMV2_REG} -m %{CIMV2_MOF} -v >/dev/null 2>&1 || true
 
 %preun
-%{_datadir}/%{name}/provider-register.sh -d -t pegasus \
+#Deregister only in uninstall, do nothing in upgrade.
+if [ "$1" = "0" ]; then
+    echo "Deleting registered classes in libvirt-cim..."
+    %{_datadir}/%{name}/provider-register.sh -d -t pegasus \
 	-n @CIM_VIRT_NS@ \
 	-r %{REGISTRATION} -m %{SCHEMA} >/dev/null 2>&1 || true
-%{_datadir}/%{name}/provider-register.sh -d -t pegasus \
+    %{_datadir}/%{name}/provider-register.sh -d -t pegasus \
 	-n root/interop \
 	-r %{INTEROP_REG} -m %{INTEROP_MOF} >/dev/null 2>&1 || true
-%{_datadir}/%{name}/provider-register.sh -d -t pegasus \
+    %{_datadir}/%{name}/provider-register.sh -d -t pegasus \
 	-n root/PG_InterOp \
 	-r %{PGINTEROP_REG} -m %{PGINTEROP_MOF} >/dev/null 2>&1 || true
-%{_datadir}/%{name}/provider-register.sh -d -t pegasus \
+    %{_datadir}/%{name}/provider-register.sh -d -t pegasus \
 	-n root/cimv2 \
 	-r %{CIMV2_REG} -m %{CIMV2_MOF} >/dev/null 2>&1 || true
+fi
 
 %postun -p /sbin/ldconfig
 
-- 
1.7.1





More information about the Libvirt-cim mailing list