# HG changeset patch
# User Heidi Eckhart <heidieck(a)linux.vnet.ibm.com>
# Date 1198182611 -3600
# Node ID 6d6ab1dddcdc4835de7c492635f531ed4797a736
# Parent 133cbb1df893f2d031cba3534c88936bce69da78
Added installation support for openWbem
Signed-off-by: Heidi Eckhart <heidieck(a)linux.vnet.ibm.com>
diff -r 133cbb1df893 -r 6d6ab1dddcdc Makefile.am
--- a/Makefile.am Wed Dec 19 11:16:08 2007 +0100
+++ b/Makefile.am Thu Dec 20 21:30:11 2007 +0100
@@ -96,11 +96,11 @@ preinstall:
# @CIMSERVER@ is set by the configure script
postinstall:
sh provider-register.sh -v -t @CIMSERVER@ -n @CIM_VIRT_NS@ -r $(REGS) -m $(MOFS)
- sh provider-register.sh -v -t @CIMSERVER@ -n /root/interop -r $(INTEROP_REGS) -m
$(INTEROP_MOFS)
+ sh provider-register.sh -v -t @CIMSERVER@ -n root/interop -r $(INTEROP_REGS) -m
$(INTEROP_MOFS)
preuninstall:
sh provider-register.sh -v -d -t @CIMSERVER@ -n @CIM_VIRT_NS@ -r $(REGS) -m $(MOFS)
- sh provider-register.sh -v -d -t @CIMSERVER@ -n /root/interop -r $(INTEROP_REGS) -m
$(INTEROP_MOFS)
+ sh provider-register.sh -v -d -t @CIMSERVER@ -n root/interop -r $(INTEROP_REGS) -m
$(INTEROP_MOFS)
rpm: clean
@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
diff -r 133cbb1df893 -r 6d6ab1dddcdc base_schema/install_base_schema.sh.in
--- a/base_schema/install_base_schema.sh.in Wed Dec 19 11:16:08 2007 +0100
+++ b/base_schema/install_base_schema.sh.in Thu Dec 20 21:30:11 2007 +0100
@@ -3,6 +3,7 @@ DATA="$1"
DATA="$1"
NS=@CIM_VIRT_NS@
CIMOM=@CIMSERVER@
+SCHEMA_VERSION="2.16"
TMPDIR=$(mktemp -d /tmp/cim_schema.XXXXX)
@@ -44,6 +45,17 @@ detect_sfcb_dir() {
done
}
+detect_openwbem_dir() {
+ dirs="/usr/share/mof"
+
+ for d in $dirs; do
+ if [ -d "$d" ]; then
+ echo $d
+ return
+ fi
+ done
+}
+
install_schema_pegasus() {
local repo=$(detect_peg_repo)
@@ -76,6 +88,26 @@ install_schema_sfcb() {
sfcbrepos -f
}
+install_schema_openwbem() {
+ local dir=$(detect_openwbem_dir)
+ local schema_dir=$dir/cimv$SCHEMA_VERSION
+
+ mkdir $schema_dir
+ if [ -d "$schema_dir" ]; then
+ echo "Unable to determine openwbem schema directory"
+ return
+ fi
+
+ cp ${TMPDIR}/cimv???.mof ${TMPDIR}/CIM_Schema.mof
+ cp -ra ${TMPDIR}/* $schema_dir
+
+ owcreatenamespace -u
http://localhost/ -n root/virt
+ owmofc -u
http://localhost/cimom -n root/virt $schema_dir/CIM_Schema.mof
+
+ owcreatenamespace -u
http://localhost/ -n root/interop
+ owmofc -u
http://localhost/cimom -n root/interop $schema_dir/cimv???-interop.mof
+}
+
if [ -z "$1" ]; then
echo "Usage: $0 [source_dir]"
exit 1
@@ -91,6 +123,9 @@ case "$CIMOM" in
pegasus)
(install_schema_pegasus) >>$DEBUG 2>&1
;;
+ openwbem)
+ (install_schema_openwbem) >>$DEBUG 2>&1
+ ;;
*)
echo ERROR: Unknown CIMOM: $CIMOM
;;
diff -r 133cbb1df893 -r 6d6ab1dddcdc provider-register.sh
--- a/provider-register.sh Wed Dec 19 11:16:08 2007 +0100
+++ b/provider-register.sh Thu Dec 20 21:30:11 2007 +0100
@@ -477,7 +477,7 @@ openwbem_transform()
then
for _f in $moffiles
do
- sed "s/Provider *( *\"cmpi:/Provider(\"cmpi::/g" < $_f >>
$OUTFILE
+ cat $_f >> $OUTFILE
done
fi
}
@@ -497,6 +497,9 @@ openwbem_repository()
openwbem_install()
{
+ namespace=$1
+ shift
+
CIMMOF=`which owmofc 2> /dev/null`
if test $? != 0
then
@@ -531,7 +534,7 @@ openwbem_install()
if openwbem_transform $_REGFILENAME $*
then
chatter Registering providers with $state owcimomd
- $CIMMOF $_REGFILENAME > /dev/null
+ $CIMMOF -u
http://localhost/cimom -n $namespace $_REGFILENAME > /dev/null
else
echo "Failed to build OpenWBEM registration MOF." >&2
return 1
@@ -540,6 +543,9 @@ openwbem_install()
openwbem_uninstall()
{
+ namespace=$1
+ shift
+
CIMMOF=`which owmofc 2> /dev/null`
if test $? != 0
then
@@ -728,7 +734,7 @@ then
case $cimserver in
pegasus) pegasus_install $namespace $mofs ":" $regs;;
sfcb) sfcb_install $namespace $mofs ":" $regs;;
- openwbem) openwbem_install $mofs ;;
+ openwbem) openwbem_install $namespace $mofs ;;
sniacimom) echo sniacimom not yet supported && exit 1 ;;
**) echo "Invalid CIM Server Type " $cimserver && exit 1;;
esac
@@ -736,7 +742,7 @@ else
case $cimserver in
pegasus) pegasus_uninstall $namespace $mofs ":" $regs;;
sfcb) sfcb_uninstall $namespace $mofs ":" $regs;;
- openwbem) openwbem_uninstall $mofs ;;
+ openwbem) openwbem_uninstall $namespace $mofs ;;
sniacimom) echo sniacimom not yet supported && exit 1 ;;
**) echo "Invalid CIM Server Type " $cimserver && exit 1;;
esac