summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/omsa/files/4.5')
-rw-r--r--app-admin/omsa/files/4.5/80openmanage1
-rw-r--r--app-admin/omsa/files/4.5/builddriver.sh124
-rw-r--r--app-admin/omsa/files/4.5/confd-dellomsa-daemons10
-rw-r--r--app-admin/omsa/files/4.5/dcddks-2.6.14.patch31
-rw-r--r--app-admin/omsa/files/4.5/dellomsa-daemons148
-rw-r--r--app-admin/omsa/files/4.5/dellomsa-drivers138
-rw-r--r--app-admin/omsa/files/4.5/omreg.cfg36
-rw-r--r--app-admin/omsa/files/4.5/omsa-4.5-hapi.patch213
8 files changed, 701 insertions, 0 deletions
diff --git a/app-admin/omsa/files/4.5/80openmanage b/app-admin/omsa/files/4.5/80openmanage
new file mode 100644
index 0000000..2a9ff76
--- /dev/null
+++ b/app-admin/omsa/files/4.5/80openmanage
@@ -0,0 +1 @@
+LDPATH=/opt/dell/srvadmin/dataeng/bin:/opt/dell/srvadmin/hapi/bin:/opt/dell/srvadmin/oma/bin:/opt/dell/srvadmin/omsa/bin:/opt/dell/srvadmin/shared/bin:/opt/dell/srvadmin/sm:/opt/dell/srvadmin/sm/dellvl:/usr/X11R6/lib:/opt/dell/srvadmin/lib/
diff --git a/app-admin/omsa/files/4.5/builddriver.sh b/app-admin/omsa/files/4.5/builddriver.sh
new file mode 100644
index 0000000..b0e5701
--- /dev/null
+++ b/app-admin/omsa/files/4.5/builddriver.sh
@@ -0,0 +1,124 @@
+#!/bin/sh
+
+# Wouter Coppens <wouter.coppens@dedigate.com>
+
+if [ "$1" = "" ]; then
+ echo "USAGE: `basename $0` <kernelsrcdir>"
+ exit 1
+fi
+KERNELDIR=$1
+
+MODULE_LIST="dcdbas dcdesm dcdipm dcdtvm"
+
+# Let's find the install path
+if [ ! -f /etc/omreg.cfg ]; then
+ echo "ERROR: File /etc/omreg.cfg is missing"
+ exit 1
+fi
+HAPI_INSTALL_PATH=`grep hapi.installpath /etc/omreg.cfg | cut -d = -f2`
+if [ ! -d ${HAPI_INSTALL_PATH} ]; then
+ echo "ERROR: hapi install path cannot be found"
+ exit 1
+fi
+
+# check that gcc is new enough
+GCC_VER=`gcc -dumpversion 2>/dev/null`
+if [ $? != 0 ]; then
+ echo "ERROR: GCC not found"
+ exit 1
+fi
+# Use gcc version to determine which precompiled objects to use
+GCC_MAJORVER=`echo ${GCC_VER} | sed "s/\..*//"`
+GCC_MINORVER=`echo ${GCC_VER} | sed "s/.\.//" | sed "s/\..*//"`
+if [ ${GCC_MAJORVER} -lt 3 ]; then
+ DKS_OBJ_SUBDIR="objgcc296"
+elif [ ${GCC_MAJORVER} -eq 3 ] && [ ${GCC_MINORVER} -lt 3 ]; then
+ DKS_OBJ_SUBDIR="objgcc32"
+else
+ DKS_OBJ_SUBDIR="objgcc34"
+fi
+
+# TODO: find out proc_arch:
+# For now it only works for x86
+PROC_ARCH="x86"
+if [ -f "${HAPI_INSTALL_PATH}/bin/dchcfg64" ]; then
+ BIT_SIZE="64"
+else
+ BIT_SIZE="32"
+fi
+
+
+# Kernel settings
+if [ ! -d $KERNELDIR ]; then
+ echo "ERROR: ${KERNELDIR} does not exist or is not directory"
+ exit 1
+fi
+if [ -f $KERNELDIR/Makefile ]; then
+ KERNEL_VERSION=`head -n3 $KERNELDIR/Makefile | grep VERSION | cut -d = -f 2`
+ KERNEL_PATCHLEVEL=`head -n3 $KERNELDIR/Makefile | grep PATCHLEVEL | cut -d = -f 2`
+ KERNEL_SUBLEVEL=`head -n3 $KERNELDIR/Makefile | grep SUBLEVEL | cut -d = -f 2`
+ if [ ${KERNEL_VERSION} -gt 2 ]; then
+ LOC_KERNEL_IS_GT_2_4=1
+ elif [ ${KERNEL_VERSION} -eq 2 ] && [ ${KERNEL_PATCHLEVEL} -gt 4 ]; then
+ LOC_KERNEL_IS_GT_2_4=1
+ else
+ echo "ERROR: Only kernels starting at 2.6 are supported"
+ exit 1
+ fi
+fi
+if [ ! -f $KERNELDIR/.config ]; then
+ echo "ERROR: Kernel in ${KERNELDIR} does not have .config"
+ exit 1
+fi
+# check that given kernel has CONFIG_REGPARM enabled
+RETVAL=`grep -q CONFIG_REGPARM $KERNELDIR/.config`
+if [ $? -eq 0 ]; then
+ echo -n "CONFIG_REGPARM found: "
+ RETVAL=`grep -q CONFIG_REGPARM=y $KERNELDIR/.config`
+ if [ $? -eq 0 ]; then
+ echo "enabled, compiling drivers."
+ else
+ echo "disabled, not compiling drivers."
+ exit 0
+ fi
+else
+ echo "ERROR: CONFIG_REGPARM option not found in .config?"
+ exit 1
+fi
+
+# Set up DKS path variables HAPI_INSTALL_PATH
+DKS_INSTALL_BASE_DIR="${HAPI_INSTALL_PATH}/drivers"
+DKS_VARDATA_BASE_DIR="${DKS_INSTALL_BASE_DIR}/${PROC_ARCH}/dks"
+
+# compile the drivers
+
+mkdir -p /tmp/buildtmp.$$
+
+# Prepare common
+cp -a ${DKS_VARDATA_BASE_DIR}/common /tmp/buildtmp.$$
+# if kernel >= 2.6.14, we need to patch the common files
+if [ ${KERNEL_VERSION} -eq 2 ] && [ ${KERNEL_PATCHLEVEL} -eq 6 ] && [ ${KERNEL_SUBLEVEL} -gt 13 ]; then
+ cd /tmp/buildtmp.$$
+ patch -p0 < ${HAPI_INSTALL_PATH}/bin/dcddks-2.6.14.patch
+fi
+for MODULE in ${MODULE_LIST}; do
+ rm -rf /tmp/buildtmp.$$/${MODULE}
+ mkdir -p /tmp/buildtmp.$$/${MODULE}
+ # Make links to common files
+ cd /tmp/buildtmp.$$/common
+ for FILE in `ls *.c *.h`; do
+ ln -sf /tmp/buildtmp.$$/common/${FILE} /tmp/buildtmp.$$/${MODULE}/${FILE}
+ done
+ #Copy file to the DKS build directory
+ cp -fp ${DKS_VARDATA_BASE_DIR}/${MODULE}/*.mak /tmp/buildtmp.$$/${MODULE}
+ cp -fp ${DKS_VARDATA_BASE_DIR}/${MODULE}/${DKS_OBJ_SUBDIR}/* /tmp/buildtmp.$$/${MODULE}
+ mv -f /tmp/buildtmp.$$/${MODULE}/*.mak /tmp/buildtmp.$$/${MODULE}/Makefile
+ # Start compiling
+ (
+ cd /tmp/buildtmp.$$/${MODULE}
+ make -C ${KERNELDIR} SUBDIRS=${PWD} KERNEL_IS_GT_2_4=${LOC_KERNEL_IS_GT_2_4} modules
+ make -C ${KERNELDIR} SUBDIRS=${PWD} KERNEL_IS_GT_2_4=1 modules_install
+ )
+done
+
+rm -rf buildtmp.$$
diff --git a/app-admin/omsa/files/4.5/confd-dellomsa-daemons b/app-admin/omsa/files/4.5/confd-dellomsa-daemons
new file mode 100644
index 0000000..4e85df7
--- /dev/null
+++ b/app-admin/omsa/files/4.5/confd-dellomsa-daemons
@@ -0,0 +1,10 @@
+# dellomsa-daemons
+#
+# Dell OMSA daemons startup script
+#
+DATAENG_ENABLED=yes
+EVENTD_ENABLED=yes
+SNMP_ENABLED=yes
+RACSVC_ENABLED=no
+OMSAD_ENABLED=yes
+OMAWSD_ENABLED=yes
diff --git a/app-admin/omsa/files/4.5/dcddks-2.6.14.patch b/app-admin/omsa/files/4.5/dcddks-2.6.14.patch
new file mode 100644
index 0000000..4711d76
--- /dev/null
+++ b/app-admin/omsa/files/4.5/dcddks-2.6.14.patch
@@ -0,0 +1,31 @@
+diff -Naur common/dcddks.c common.new/dcddks.c
+--- common/dcddks.c 2005-09-19 18:12:06.000000000 +0200
++++ common.new/dcddks.c 2005-11-16 10:18:24.000000000 +0100
+@@ -572,11 +572,11 @@
+ int size)
+ {
+ int result;
+- result = verify_area(
++ result = (access_ok(
+ VERIFY_WRITE,
+ arg,
+ size
+- );
++ ) ? 0 : -EFAULT);
+ return result;
+ } // esm_verify_area_write
+
+@@ -589,11 +589,11 @@
+ int size)
+ {
+ int result;
+- result = verify_area(
++ result = (access_ok(
+ cmd_in,
+ arg,
+ size
+- );
++ ) ? 0 : -EFAULT);
+ return result;
+ } // esm_verify_area
+
diff --git a/app-admin/omsa/files/4.5/dellomsa-daemons b/app-admin/omsa/files/4.5/dellomsa-daemons
new file mode 100644
index 0000000..4684773
--- /dev/null
+++ b/app-admin/omsa/files/4.5/dellomsa-daemons
@@ -0,0 +1,148 @@
+#!/sbin/runscript
+#
+# dellomsa-daemons
+#
+# Dell OMSA daemons startup script
+#
+# This script takes care of starting OMSA daemons:
+# - data engine
+# - instrumentation (event syslog'ing) service
+# - OM common services
+# - racsvc
+# - snmp service
+# - omawsd (TODO, have to figure out how to get it working)
+#
+
+BITS=32
+## Source any dependent configuration here and set variables
+##
+# omsad
+. /etc/sysconfig/omsad.src
+OMSAD=${PROGRAM_PATH}/${PROGRAM_BIN}${BITS}
+# OMSAD doesn't create pid file
+# This directory is needed for OMSA. It should contain libstdc++2
+# from Redhat.
+RH_LIBS=${INSTALL_ROOT}/rh-libs
+
+# omawsd
+. /etc/sysconfig/omawsd.src
+OMAWSD=${INSTALL_ROOT}/iws/bin/linux/omaws${BITS}
+# OMAWSD does create pid file, but TODO
+
+
+DCSTORD=${INSTALL_ROOT}/dataeng/bin/dcstor${BITS}d
+DCEVTD=${INSTALL_ROOT}/dataeng/bin/dcevt${BITS}d
+DCSNMPD=${INSTALL_ROOT}/dataeng/bin/dcsnmp${BITS}d
+#RACSVC=${INSTALL_ROOT}/rac/bin/racsvc
+
+# ...and the pid files
+DCSTORD_PIDFILE=/var/run/dcstor${BITS}d.pid
+DCEVTD_PIDFILE=/var/run/dcevt${BITS}d.pid
+DCSNMPD_PIDFILE=/var/run/dcsnmp${BITS}d.pid
+#RACSVC_PIDFILE=/var/run/.dracsvc
+
+#export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${RH_LIBS}:${INSTALL_ROOT}/shared/bin/:${INSTALL_ROOT}/dataeng/bin/
+
+depend() {
+ use logger net dellomsa-drivers
+}
+
+checkconfig() {
+ if [ ! -d ${INSTALL_ROOT} ]; then
+ eerror "Directory ${INSTALL_ROOT} does not exist"
+ return 1
+ fi
+ if [ ! -x ${DCSTORD} ]; then
+ eerror "File ${DCSTORD} does not exist"
+ return 1
+ fi
+ if [ ! -x ${DCEVTD} ]; then
+ eerror "File ${DCEVTD} does not exist"
+ return 1
+ fi
+ if [ ! -x ${INSTALL_ROOT}/omil/prereqcheck/sysreport ]; then
+ eerror "File ${INSTALL_ROOT}/omil/prereqcheck/sysreport does not exist"
+ return 1
+ fi
+}
+
+start(){
+ checkconfig || return 1
+ if ["${DATAENG_ENABLE}" =="yes" ]; then
+
+ einfo "Starting Systems Management Data Engine"
+ ebegin "Starting dcstor${BITS}d"
+ start-stop-daemon --start --quiet --exec ${DCSTORD} \
+ --pidfile ${DCSTORD_PIDFILE}
+ eend $?
+
+ # start dcevt(32|64)d, but only if it's enabled
+ if [ "$EVENTD_ENABLED" == "yes" ]; then
+ ebegin "Starting dcevt${BITS}d"
+ start-stop-daemon --start --quiet --exec ${DCEVTD} \
+ --pidfile ${DCEVTD_PIDFILE}
+ eend $?
+ fi
+
+ # start dcsnmp(32|64)d, but only if it's enabled
+ if [ "${SNMP_ENABLED}" == "yes" ]; then
+ ebegin "Starting dcsnmp${BITS}d"
+ start-stop-daemon --start --quiet --exec ${DCSNMPD} \
+ --pidfile ${DCSNMPD_PIDFILE}
+ eend $?
+ fi
+
+ # start omsad(32|64), but only if it's enabled
+ if [ "${OMSAD_ENABLED}" == "yes" ]; then
+ ebegin "Starting OM Common Services"
+ start-stop-daemon --start --quiet --exec ${OMSAD}
+ eend $?
+ fi
+
+ # start omawsd, but only if it's enabled
+ if [ "${OMAWSD_ENABLED}" == "yes" ]; then
+ ebegin "Starting Secure Port Server"
+ ${OMAWSD} -run
+ eend $?
+ fi
+
+
+ fi
+}
+
+stop() {
+ if ["${DATAENG_ENABLE}" =="yes" ]; then
+ einfo "Stopping Systems Management Data Engine"
+
+ if [ "${OMAWSD_ENABLED}" == "yes" ]; then
+ ebegin "Stopping Secure Port Server"
+ start-stop-daemon --stop --quiet --exec ${OMAWSD}
+ eend $?
+ fi
+
+ if [ "${OMSAD_ENABLED}" == "yes" ]; then
+ ebegin "Stopping OM Common Services"
+ start-stop-daemon --stop --quiet --exec ${OMSAD}
+ eend $?
+ fi
+
+ if [ "${SNMP_ENABLED}" == "yes" ]; then
+ ebegin "Stopping dcsnmp${BITS}d"
+ start-stop-daemon --stop --quiet --exec ${DCSNMPD} \
+ --pidfile ${DCSNMPD_PIDFILE}
+ eend $?
+ fi
+
+ if [ "$EVENTD_ENABLED" == "yes" ]; then
+ ebegin "Stopping dcevt${BITS}d"
+ start-stop-daemon --stop --quiet --exec ${DCEVTD} \
+ --pidfile ${DCEVTD_PIDFILE}
+ eend $?
+ fi
+
+ ebegin "Stopping dcstor${BITS}d"
+ start-stop-daemon --stop --quiet --exec ${DCSTORD} \
+ --pidfile ${DCSTORD_PIDFILE}
+ eend $?
+ fi
+}
diff --git a/app-admin/omsa/files/4.5/dellomsa-drivers b/app-admin/omsa/files/4.5/dellomsa-drivers
new file mode 100644
index 0000000..7efc15a
--- /dev/null
+++ b/app-admin/omsa/files/4.5/dellomsa-drivers
@@ -0,0 +1,138 @@
+#!/sbin/runscript
+#
+# dellomsa-drivers
+#
+# Dell OMSA driver module loading script
+#
+# This script takes care of loading correct driver modules
+# (if available) for the OpenManage Server Administrator.
+# It checks that the server really is Dell and finds out
+# which environment driver to load (dcdesm/dcdtvm/dcdipm).
+# Module "dcdbas" is the base module and is always loaded.
+# This script also creates necessary devices nodes in /dev.
+#
+
+OMSADIR=/opt/dell/srvadmin
+
+depend() {
+ use logger net
+}
+
+checkconfig() {
+ if [ ! -d ${OMSADIR} ]; then
+ eerror "Directory ${OMSADIR} does not exist"
+ return 1
+ fi
+ if [ ! -x ${OMSADIR}/hapi/bin/dchcfg32 ]; then
+ eerror "File ${OMSADIR}/hapi/bin/dchcfg32 does not exist"
+ return 1
+ fi
+ if [ ! -x ${OMSADIR}/omil/prereqcheck/sysreport ]; then
+ eerror "File ${OMSADIR}/omil/prereqcheck/sysreport does not exist"
+ return 1
+ fi
+}
+
+checkmodules() {
+ # check that the system is Dell (output contains "System ID" if Dell)
+ ${OMSADIR}/omil/prereqcheck/sysreport | grep -q "System ID" && true
+ if [ $? -ne 0 ]; then
+ eerror "Non-Dell system, not loading drivers."
+ return 1
+ fi
+
+ # get the running kernel version
+ KVER=`/bin/uname -r`
+
+ # check that the modules exist
+ MODULESMISSING=0
+ MODULES="dcdbas dcdtvm dcdesm dcdipm"
+ for MODULE in ${MODULES}; do
+ if [ ! -f /lib/modules/${KVER}/extra/${MODULE}.ko ]; then
+ # some of the modules are missing
+ eerror "driver modules unavailable for ${KVER}"
+ return 1
+ fi
+ done
+}
+
+loadmodules() {
+ ebegin "Loading base dell module"
+ # first load the base module "dcdbas"
+ /sbin/modprobe dcdbas
+ eend $?
+
+ # check that dcdbas is now listed in /proc/devices
+ grep -q dcdbas /proc/devices && true
+ if [ $? -ne 0 ]; then
+ eerror "Error! Something is really wrong: dcdbas module was loaded"
+ eerror "successfully, but dcdbas is not listed in /proc/devices!"
+ return 1
+ fi
+
+ # re-create required device nodes in /dev
+
+ # base device node is always re-created
+ EsmBASDevMAJOR=`grep dcdbas /proc/devices | awk '{print $1}'`
+ if [ -e /dev/EsmBASDev0 ]; then # /dev/EsmBASDev exists
+ rm -f /dev/EsmBASDev0
+ fi
+ mknod -m 0600 /dev/EsmBASDev0 c ${EsmBASDevMAJOR} 0
+ ln -sf /dev/EsmBASDev0 /dev/EsmBASDev
+
+ # find out which environment module to use (dcdesm|dcdtvm|dcdipm)
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${OMSADIR}/hapi/bin/
+ ${OMSADIR}/hapi/bin/dchcfg32 command=getsystype >/dev/null 2>&1 && true
+ case "$?" in
+ 1) # TVM
+ ebegin "Loading [TVM]"
+ /sbin/modprobe dcdtvm
+ EsmTVMDevMAJOR=`grep dcdtvm /proc/devices | awk '{print $1}'`
+ if [ -e /dev/EsmTVMDev0 ]; then # /dev/EsmTVMDev exists
+ rm -f /dev/EsmTVMDev0
+ fi
+ mknod -m 0600 /dev/EsmTVMDev0 c ${EsmTVMDevMAJOR} 0
+ ln -sf /dev/EsmTVMDev0 /dev/EsmTVMDev
+ eend $?
+ ;;
+ 2) # ESM
+ ebegin "Loading [ESM]"
+ /sbin/modprobe dcdesm
+ EsmESMDevMAJOR=`grep dcdesm /proc/devices | awk '{print $1}'`
+ if [ -e /dev/EsmESM2Dev0 ]; then # /dev/EsmESM2Dev exists
+ rm -f /dev/EsmESM2Dev0
+ fi
+ mknod -m 0600 /dev/EsmESM2Dev0 c ${EsmESMDevMAJOR} 0
+ ln -sf /dev/EsmESM2Dev0 /dev/EsmESM2Dev
+ eend $?
+ ;;
+ 4) # IPMI
+ ebegin "Loading [IPMI]"
+ /sbin/modprobe dcdipm
+ EsmIPMDevMAJOR=`grep dcdipm /proc/devices | awk '{print $1}'`
+ if [ -e /dev/EsmIPMDev0 ]; then # /dev/EsmIPMDev exists
+ rm -f /dev/EsmIPMDev0
+ fi
+ mknod -m 0600 /dev/EsmIPMDev0 c ${EsmIPMDevMAJOR} 0
+ ln -sf /dev/EsmIPMDev0 /dev/EsmIPMDev
+ eend $?
+ ;;
+ *) # unknown or none
+ einfo "unknown env. platform, env. driver not loaded."
+ ;;
+ esac
+}
+start(){
+ checkconfig || return 1
+ checkmodules || return 1
+ loadmodules
+}
+
+stop() {
+ ebegin "Unloading dell drivers"
+ /sbin/rmmod dcdtvm >/dev/null 2>&1 && true
+ /sbin/rmmod dcdesm >/dev/null 2>&1 && true
+ /sbin/rmmod dcdipm >/dev/null 2>&1 && true
+ /sbin/rmmod dcdbas >/dev/null 2>&1 && true
+ eend $?
+}
diff --git a/app-admin/omsa/files/4.5/omreg.cfg b/app-admin/omsa/files/4.5/omreg.cfg
new file mode 100644
index 0000000..03ce8fe
--- /dev/null
+++ b/app-admin/omsa/files/4.5/omreg.cfg
@@ -0,0 +1,36 @@
+Instrumentation.configtool=/opt/dell/srvadmin/omsa/bin/dcicfg32
+Instrumentation.installpath=/opt/dell/srvadmin/omsa
+Instrumentation.logpath=/opt/dell/srvadmin/omsa
+Instrumentation.vardatapath=/opt/dell/srvadmin/omsa
+OMDataEngine.configtool=/opt/dell/srvadmin/dataeng/bin/dcecfg32
+OMDataEngine.installpath=/opt/dell/srvadmin/dataeng
+OMDataEngine.logpath=/opt/dell/srvadmin/dataeng
+OMDataEngine.startsnmpd=true
+OMDataEngine.vardatapath=/opt/dell/srvadmin/dataeng
+hapi.configtool=/opt/dell/srvadmin/hapi/bin/dchcfg32
+hapi.installpath=/opt/dell/srvadmin/hapi
+hapi.vardatapath=/opt/dell/srvadmin/hapi
+ldconf.path.optdellsrvadmindataengbin.rcount=1
+ldconf.path.optdellsrvadminhapibin.rcount=1
+ldconf.path.optdellsrvadminomabin.rcount=3
+ldconf.path.optdellsrvadminomsabin.rcount=1
+ldconf.path.optdellsrvadminsharedbin.rcount=2
+ldconf.path.optdellsrvadminsm.rcount=1
+ldconf.path.optdellsrvadminsmdellvl.rcount=1
+openmanage.8gsyslistfile=/opt/dell/srvadmin/omil/prereqcheck/8gsyslist.txt
+openmanage.archtype=32
+openmanage.funcs=/opt/dell/srvadmin/omil/prereqcheck/Funcs.sh
+openmanage.iws.installpath=/opt/dell/srvadmin
+openmanage.jre.installpath=/opt/dell/srvadmin
+openmanage.omacore.clireg.old.ini=/opt/dell/srvadmin/omil/supportfiles/ini/old.ini
+openmanage.omacore.clireg.omacore.ini=/opt/dell/srvadmin/omil/supportfiles/ini/omacore.ini
+openmanage.omacore.clireg.omhip.ini=/opt/dell/srvadmin/omil/supportfiles/ini/omhip.ini
+openmanage.omacore.clireg.storage.ini=/opt/dell/srvadmin/omil/supportfiles/ini/storage.ini
+openmanage.omacore.installpath=/opt/dell/srvadmin
+openmanage.omhip.installpath=/opt/dell/srvadmin
+openmanage.omilcore.installpath=/opt/dell/srvadmin
+openmanage.storage.installpath=/opt/dell/srvadmin
+openmanage.sysidchkutlpath=/opt/dell/srvadmin/omil/prereqcheck/sysreport
+openmanage.syslistfile=/opt/dell/srvadmin/omil/prereqcheck/syslist.txt
+suptlib.installpath=/opt/dell/srvadmin/shared
+suptlib.vardatapath=/opt/dell/srvadmin/shared
diff --git a/app-admin/omsa/files/4.5/omsa-4.5-hapi.patch b/app-admin/omsa/files/4.5/omsa-4.5-hapi.patch
new file mode 100644
index 0000000..8897335
--- /dev/null
+++ b/app-admin/omsa/files/4.5/omsa-4.5-hapi.patch
@@ -0,0 +1,213 @@
+diff -Naur hapi/drivers/x86/dks/dcdbas/dcdbas.mak hapi.new/drivers/x86/dks/dcdbas/dcdbas.mak
+--- hapi/drivers/x86/dks/dcdbas/dcdbas.mak 2005-11-16 09:19:57.000000000 +0100
++++ hapi.new/drivers/x86/dks/dcdbas/dcdbas.mak 2005-11-16 10:30:19.000000000 +0100
+@@ -41,13 +41,45 @@
+ EXTRA_CFLAGS += -I $(SUBDIRS)
+
+ $(MOD_OBJS_VARNAME) := \
+- $(MOD_DKSCOMPILED_OBJS)
++ $(MOD_DKSCOMPILED_OBJS) $(MOD_PRECOMPILED_OBJS)
+
+ obj-m := $(MOD_BINNAME_O)
+
+ dkslink:
+ $(LD) -r -o $(MOD_NAME).ko $(MOD_NAME).mod.o $(MOD_DKSCOMPILED_OBJS) $(MOD_PRECOMPILED_OBJS)
+
++src ?= .
++obj ?= .
++
++$(obj)/basapm.o:
++ echo "Precompiled object."
++$(obj)/biosintf.o:
++ echo "Precompiled object."
++$(obj)/callintf.o:
++ echo "Precompiled object."
++$(obj)/cmos.o:
++ echo "Precompiled object."
++$(obj)/dcdbasmain.o:
++ echo "Precompiled object."
++$(obj)/dcdmain.o:
++ echo "Precompiled object."
++$(obj)/devsupt.o:
++ echo "Precompiled object."
++$(obj)/drvioctl.o:
++ echo "Precompiled object."
++$(obj)/drvsupt.o:
++ echo "Precompiled object."
++$(obj)/esmiocts.o:
++ echo "Precompiled object."
++$(obj)/memintf.o:
++ echo "Precompiled object."
++$(obj)/pci.o:
++ echo "Precompiled object."
++$(obj)/smbios.o:
++ echo "Precompiled object."
++$(obj)/smbiossupt.o:
++ echo "Precompiled object."
++
+ endif
+
+ sinclude $(TOPDIR)/Rules.make
+diff -Naur hapi/drivers/x86/dks/dcdesm/dcdesm.mak hapi.new/drivers/x86/dks/dcdesm/dcdesm.mak
+--- hapi/drivers/x86/dks/dcdesm/dcdesm.mak 2005-11-16 09:19:57.000000000 +0100
++++ hapi.new/drivers/x86/dks/dcdesm/dcdesm.mak 2005-11-16 10:30:48.000000000 +0100
+@@ -40,10 +40,40 @@
+ EXTRA_CFLAGS += -I $(SUBDIRS)
+
+ $(MOD_OBJS_VARNAME) := \
+- $(MOD_DKSCOMPILED_OBJS)
++ $(MOD_DKSCOMPILED_OBJS) $(MOD_PRECOMPILED_OBJS)
+
+ obj-m := $(MOD_BINNAME_O)
+
++src ?= .
++obj ?= .
++
++$(obj)/dcdesmisr.o:
++ echo "Precompiled object."
++$(obj)/dcdesmmain.o:
++ echo "Precompiled object."
++$(obj)/dcdmain.o:
++ echo "Precompiled object."
++$(obj)/devint.o:
++ echo "Precompiled object."
++$(obj)/devsupt.o:
++ echo "Precompiled object."
++$(obj)/devtmr.o:
++ echo "Precompiled object."
++$(obj)/drvioctl.o:
++ echo "Precompiled object."
++$(obj)/drvsupt.o:
++ echo "Precompiled object."
++$(obj)/esm2.o:
++ echo "Precompiled object."
++$(obj)/esmiocts.o:
++ echo "Precompiled object."
++$(obj)/memintf.o:
++ echo "Precompiled object."
++$(obj)/smbiossupt.o:
++ echo "Precompiled object."
++$(obj)/timer.o:
++ echo "Precompiled object."
++
+ dkslink:
+ $(LD) -r -o $(MOD_NAME).ko $(MOD_NAME).mod.o $(MOD_DKSCOMPILED_OBJS) $(MOD_PRECOMPILED_OBJS)
+
+diff -Naur hapi/drivers/x86/dks/dcdipm/dcdipm.mak hapi.new/drivers/x86/dks/dcdipm/dcdipm.mak
+--- hapi/drivers/x86/dks/dcdipm/dcdipm.mak 2005-11-16 09:19:57.000000000 +0100
++++ hapi.new/drivers/x86/dks/dcdipm/dcdipm.mak 2005-11-16 10:31:12.000000000 +0100
+@@ -45,10 +45,50 @@
+ EXTRA_CFLAGS += -I $(SUBDIRS)
+
+ $(MOD_OBJS_VARNAME) := \
+- $(MOD_DKSCOMPILED_OBJS)
++ $(MOD_DKSCOMPILED_OBJS) $(MOD_PRECOMPILED_OBJS)
+
+ obj-m := $(MOD_BINNAME_O)
+
++src ?= .
++obj ?= .
++
++$(obj)/bt.o:
++ echo "Precompiled object."
++$(obj)/dcdipmisr.o:
++ echo "Precompiled object."
++$(obj)/dcdipmmain.o:
++ echo "Precompiled object."
++$(obj)/dcdipmmisc.o:
++ echo "Precompiled object."
++$(obj)/dcdmain.o:
++ echo "Precompiled object."
++$(obj)/devint.o:
++ echo "Precompiled object."
++$(obj)/devsupt.o:
++ echo "Precompiled object."
++$(obj)/devtmr.o:
++ echo "Precompiled object."
++$(obj)/drvioctl.o:
++ echo "Precompiled object."
++$(obj)/drvsupt.o:
++ echo "Precompiled object."
++$(obj)/esmiocts.o:
++ echo "Precompiled object."
++$(obj)/ipmi.o:
++ echo "Precompiled object."
++$(obj)/kcs.o:
++ echo "Precompiled object."
++$(obj)/memintf.o:
++ echo "Precompiled object."
++$(obj)/platsupt.o:
++ echo "Precompiled object."
++$(obj)/smbiossupt.o:
++ echo "Precompiled object."
++$(obj)/smic.o:
++ echo "Precompiled object."
++$(obj)/timer.o:
++ echo "Precompiled object."
++
+ dkslink:
+ $(LD) -r -o $(MOD_NAME).ko $(MOD_NAME).mod.o $(MOD_DKSCOMPILED_OBJS) $(MOD_PRECOMPILED_OBJS)
+
+diff -Naur hapi/drivers/x86/dks/dcdtvm/dcdtvm.mak hapi.new/drivers/x86/dks/dcdtvm/dcdtvm.mak
+--- hapi/drivers/x86/dks/dcdtvm/dcdtvm.mak 2005-11-16 09:19:57.000000000 +0100
++++ hapi.new/drivers/x86/dks/dcdtvm/dcdtvm.mak 2005-11-16 10:31:41.000000000 +0100
+@@ -49,10 +49,58 @@
+ EXTRA_CFLAGS += -I $(SUBDIRS)
+
+ $(MOD_OBJS_VARNAME) := \
+- $(MOD_DKSCOMPILED_OBJS)
++ $(MOD_DKSCOMPILED_OBJS) $(MOD_PRECOMPILED_OBJS)
+
+ obj-m := $(MOD_BINNAME_O)
+
++src ?= .
++obj ?= .
++
++$(obj)/apm.o:
++ echo "Precompiled object."
++$(obj)/bladeI2c.o:
++ echo "Precompiled object."
++$(obj)/cmos.o:
++ echo "Precompiled object."
++$(obj)/csb5.o:
++ echo "Precompiled object."
++$(obj)/dcdmain.o:
++ echo "Precompiled object."
++$(obj)/dcdtvmmain.o:
++ echo "Precompiled object."
++$(obj)/devsupt.o:
++ echo "Precompiled object."
++$(obj)/devtmr.o:
++ echo "Precompiled object."
++$(obj)/drvioctl.o:
++ echo "Precompiled object."
++$(obj)/drvsupt.o:
++ echo "Precompiled object."
++$(obj)/esmiocts.o:
++ echo "Precompiled object."
++$(obj)/memintf.o:
++ echo "Precompiled object."
++$(obj)/pci.o:
++ echo "Precompiled object."
++$(obj)/piix4.o:
++ echo "Precompiled object."
++$(obj)/rosb4.o:
++ echo "Precompiled object."
++$(obj)/smbiossupt.o:
++ echo "Precompiled object."
++$(obj)/timer.o:
++ echo "Precompiled object."
++$(obj)/tvm.o:
++ echo "Precompiled object."
++$(obj)/tvm3.o:
++ echo "Precompiled object."
++$(obj)/tvm4.o:
++ echo "Precompiled object."
++$(obj)/tvm5.o:
++ echo "Precompiled object."
++$(obj)/tvm6.o:
++ echo "Precompiled object."
++
+ dkslink:
+ $(LD) -r -o $(MOD_NAME).ko $(MOD_NAME).mod.o $(MOD_DKSCOMPILED_OBJS) $(MOD_PRECOMPILED_OBJS)
+