#!/bin/sh
#ident "$script: dlmrmadrv Build 5.90.0.8 07/02/09 11:00:00 $"

#----------------------------------------------------------------------------#
# PRODUCT :  HDLM Driver 0503                                                #
#----------------------------------------------------------------------------#
# NAME :     dlmrmadrv                                                       #
# FUNCTION : wrapper script for removal of alert driver                      #
# INSTANCE :                                                                 #
# MEMO :                                                                     #
# DATE :     2004/03/11                                                      #
# AUTHOR :   Santosh Rokade                                          	     #
# HISTORY :                                                                  #
#                                                                            #
#@ All Rights Reserved, Copyright (C) 2004,2007 Hitachi, Ltd.                     #
#----------------------------------------------------------------------------#

# REVAMP ACTIVITY PERFORMED. SO ALL PREVIOUS FDOCS & COMMENTS ARE REMOVED. PLEASE LOOKUP 
# PREVIOUS VERSIONS CODES FOR REFERENCE.

# Use of Wrapper script for insmod and rmmod ADD Start 
# Removal of character device after Alert module is removed ONLY for AS3/ES3 Start

CMD_ECHO=/bin/echo
CMD_GAWK=/bin/gawk
CMD_UNAME=/bin/uname

# For 2.6 Kernel use modprobe -r
CMD_RMMOD=/sbin/rmmod
CMD_MODPROBE_R="/sbin/modprobe -r"
CMD_RM=/bin/rm
ALERTDRV=sddlmadrv
if [ -f /etc/redhat-release ]; then
	LOGGER=/usr/bin/logger
elif [ -f /etc/SuSE-release ]; then
	LOGGER=/bin/logger
fi
HDLM_COMMON_KNL_CHK="/etc/sysconfig/hdlm-scripts/dlmcommonknlcheck"
SYSLOG_TAG="dlmrmadrv"
KERNEL_2_4=0
KERNEL_2_6=0

# Check for Kernel (2.4 or 2.6)  
VERSION=`$CMD_UNAME -r | $CMD_GAWK -F "." '{print $2 }'`
if [ $VERSION -eq 4 ] ; then
	KERNEL_2_4=1
else
	KERNEL_2_6=1
fi

##########################################################################
#Log message function
logmsg(){
        $LOGGER -t $SYSLOG_TAG "$*"
        $CMD_ECHO "$*"        
}

SUPPORT_JAP=$LANG
if [ "$SUPPORT_JAP" == "ja_JP.eucjp" ] || [ "$SUPPORT_JAP" == "ja_JP.eucJP" ] ; then
	dlmrmadrvid1="KAPL12851-E 󥹥ȡ뤵ƤHDLMбƤ륫ͥΥСȡưƤ륫ͥΥС󤬰פޤ" 
	dlmrmadrvid2="KAPL12852-E HDLMΥե뤬Ǥե̾ = "
elif [ "$SUPPORT_JAP" == "ja_JP.UTF-8" -a $KERNEL_2_6 -eq 1 -a -f /etc/redhat-release ]; then
	dlmrmadrvid1="KAPL12851-E インストールされているHDLMが対応しているカーネルのバージョンと，現在動作しているカーネルのバージョンが一致しません。" 
	dlmrmadrvid2="KAPL12852-E HDLMのファイルが不正です。ファイル名 = "
else
	dlmrmadrvid1="KAPL12851-E The version of the kernel supported by the installed HDLM does not match the currently running kernel version."
	dlmrmadrvid2="KAPL12852-E The HDLM file is invalid. File name = "
fi


###########################################################################
#Kernel Version Agreement Check
#For matching kernel version-START#
#Check for uninstallation
if [ "$FROM_SPEC" != 1 ]; then
	if  [ -f $HDLM_COMMON_KNL_CHK ]; then
		. $HDLM_COMMON_KNL_CHK
		if [ "$HDLM_COMMON_RESULT" != "MATCH" ]; then
			if [ "$HDLM_COMMON_RESULT" == "UNMATCH" ]; then
				logmsg $dlmrmadrvid1
			else
				logmsg $dlmrmadrvid2 "$HDLM_COMMON_KNL_VER_FILE"
			fi
			exit 1
		fi
	else
		logmsg $dlmrmadrvid2 "$HDLM_COMMON_KNL_CHK"
		exit 1
	fi
fi
#For matching kernel version-END#
##########################################################################


if [ $KERNEL_2_6 ]; then
    $CMD_MODPROBE_R $ALERTDRV
else
    $CMD_RMMOD $ALERTDRV
fi
if [ $? -ne 0 ]; then
    exit 1
fi

$CMD_RM -f /dev/dlm/sddlmadrv0 > /dev/null 2>&1
RET_VALUE=$?
        
exit $RET_VALUE

# Removal of character device after Alert module is removed ONLY for AS3/ES3 End
# Use of Wrapper script for insmod and rmmod ADD End
