#!/bin/sh  
#
#  Install CA BrightStor ARCserve Backup packages with 
#  minimal user interaction and involvement.  Recommended for novice 
#  Linux users.
#
##########################################################################
# string to uppercase and to lowercase function
Check_Novell_SMS()
{
    smspkg=`rpm -q novell-sms 2> /dev/null` || return 1
    smsver=${smspkg#novell-sms-}
    smsbld=${smsver#*-}
    smsver=${smsver%-*}
    rtn1=$(version_compare $smsver 1.1.3)
    rtn2=$(version_compare $smsbld 15)
    [ $rtn1 -eq 2 ] || [ $rtn1 -eq 0 -a $rtn2 -eq 2 ] && return 1
    return 0
}

create_group()
{
   if [ $EXEC_MODE -ne $SLNT_MODE -a $EXEC_MODE -ne $SDO_MODE ] ; then
      grpName="oesagent"
	   echo
	   printf "${INST_MSG_146}\n" "${grpName}"
	   getyn "${INST_MSG_147}" 0
	
	   if [ $? -eq 1 ]
	   then
	      #User wants to provide GID
	      while [ 1 ]
	      do
	         printf "${INST_MSG_148}" "${grpName}"
	         read VAL
	         expr "$VAL" + 1 >/dev/null 2>&1
	         if [ $? -ge 2 ]
	         then
	            echo ""
	            echo "${INST_MSG_149}"
	            echo ""
	            continue
	         fi
	        if [ $EXEC_MODE -eq $RESP_MODE ]
	        then
	            break
	        fi
	         groupadd -g $VAL ${grpName} >/dev/null 2>&1
	         case $? in
	            1)
	               echo ""
	               printf "${INST_MSG_152}" "${grpName}"
	               echo ""
	               continue
	               ;;
	            4)
	               echo ""
	               echo "${INST_MSG_150}"
	               echo ""
	               continue
	               ;;
	            9)
	               echo ""
	               printf "${INST_MSG_151}" "${grpName}"
	               echo ""
	               break
	               ;;
	         esac
	         break
	      done
	   fi
	
	   #Note : If user does not want to provide GID
	   #Group would be created as part of pre-install
	   echo
   fi
}

Get_CAIGLBL0000()
{
	if [ "$CAIGLBL0000" = "" -a  -f /opt/CA/.uniprodloc ];then
		CAIGLBL0000=`cat /opt/CA/.uniprodloc`
	elif [ "$CAIGLBL0000" = "" -a -f /usr/local/bin/.uniprodloc ]; then
		CAIGLBL0000=`cat /usr/local/bin/.uniprodloc`
	fi
}
Run_alterDB()
{
BAB_HOME=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve
CFGFILE=cadbd.cfg

if [ -f $BAB_HOME/config/cadbd.cfg ]; then
  OPTION_CHECK=`grep "^INGRES_HOME_PATH" $BAB_HOME/config/$CFGFILE|awk -F"=" '{print $2}'`
  if [ "$OPTION_CHECK" != "" ]; then
    ING_HOME_PATH=`dirname $OPTION_CHECK`
  fi
  II_SYSTEM=$ING_HOME_PATH
  export II_SYSTEM
	
  CALL_ING_START=0
  echo "$INST_MSG_110"   #"Running alterDB ..."
  $II_SYSTEM/ingres/bin/infodb iidbdb > /dev/null 2>&1
  if [ "$?" -ne "0" ]; then
    cd /
    $BAB_HOME/sbin/startingres
    CALL_ING_START=1
  fi
  $BAB_HOME/bin/alterDB | tee $BAB_HOME/dbase/alterDB.log.$$
  if [ -f $BAB_HOME/dbase/alterDB.log.$$ ]; then
    cat $BAB_HOME/dbase/alterDB.log.$$ >> $BAB_HOME/dbase/alterDB.log
    rm -f $BAB_HOME/dbase/alterDB.log.$$ > /dev/null 2>&1
  fi
  if [ "$CALL_ING_START" = "1" ]; then
    $BAB_HOME/sbin/stopingres
  fi
fi
}

Run_AutoStrtStop()
{
BAB_HOME=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve
LINUXINITDIRPARENT="etc/rc.d"
INITDIR="init.d"
CTRLFILE="bab"

if [ -d "/${LINUXINITDIRPARENT}/${INITDIR}" ]; then
  LINUXCTRLFILE="/${LINUXINITDIRPARENT}/${INITDIR}/${CTRLFILE}"
else
  LINUXCTRLFILE="/${LINUXINITDIRPARENT}/${CTRLFILE}"
fi
if [ -f $LINUXCTRLFILE ]; then
  $BAB_HOME/bin/bab_autostrtstop y > /dev/null 2>&1
fi
}

Update_Agent_22()
{
AGENT_CFG=/opt/CA/BABcmagt/agent.cfg
grep "^\[22\]" ${AGENT_CFG} >/dev/null 2>&1
if [ $? -ne 0 ]; then
	return 0
fi

sed -e "s%^\[22\]%\[46\]%" $AGENT_CFG > $AGENT_CFG.$$ 2>/dev/null
cp $AGENT_CFG.$$ $AGENT_CFG 2>/dev/null
rm -f $AGENT_CFG.$$ 2>/dev/null
}

Update_Agent_36()
{
AGENT_CFG=/opt/CA/BABcmagt/agent.cfg
grep "^#UDP_BCAST_PORT" ${AGENT_CFG} >/dev/null 2>&1
if [ $? -eq 0 ]; then
	return 0
fi

sed "/^#UDP_PORT/a\\
#UDP_BCAST_PORT 41524" $AGENT_CFG > $AGENT_CFG.$$ 2>/dev/null
cp $AGENT_CFG.$$ $AGENT_CFG 2>/dev/null
rm -f $AGENT_CFG.$$ 2>/dev/null
}

AddAgentEnv()
{
        if [ -x ${DEPOT}/${MISC}/$CAUNAME ]
        then
                MYVENDOR=$(${DEPOT}/${MISC}/$CAUNAME -s)
                MYARCH=$(${DEPOT}/${MISC}/$CAUNAME -m)
                MYENV=`echo "BAB_OS_TYPE=" "$MYVENDOR" "_" "$MYARCH"`
                MYENV=`echo $MYENV | tr '[:lower:]' '[:upper:]' | sed 's/ *//g'`
                MYENV=`echo "ENV       $MYENV"`
		
		echo $MYENV | grep "SUSE"  >/dev/null 2>&1
                if [ $? -eq 0 ]
                then
                        MYENV=`echo $MYENV | sed "s/=SUSE.*_/=SUSE_/g"`
                fi

                echo $MYENV | grep "REDHAT"  >/dev/null 2>&1
                if [ $? -eq 0 ]
                then
                        MYENV=`echo $MYENV | sed "s/=REDHAT.*_/=REDHAT_/g"`
                fi

                export MYENV
        fi
        if [ -f ${UAG_PREFIX:-/opt/CA}/BABuagent/.agent.cfg ]
        then
                cat ${UAG_PREFIX:-/opt/CA}/BABuagent/.agent.cfg | awk '
                   BEGIN{     start=0; flag=0
                        osarch=ENVIRON["MYENV"]
                   }
                   {
			if ( $0 ~ /^\[0\]/ )
                        {
                                start=1
                        }
                        if ( $1 ~ /^ENV/ && flag==0 && start==1 )
                        {
                                print osarch
                                flag=1
                        }
                        print $0
                   }' >> /tmp/myenv.$$
                mv -f /tmp/myenv.$$ ${UAG_PREFIX:-/opt/CA}/BABuagent/.agent.cfg
        fi
        if [ -f /opt/CA/BABcmagt/agent.cfg ]
        then
                cat /opt/CA/BABcmagt/agent.cfg | awk '
                   BEGIN{     start=0; flag=0
                        osarch=ENVIRON["MYENV"]
                   }
                   {
			if ( $0 ~ /^\[0\]/ )
                        {
                                start=1
                        }
                        if ( $1 ~ /^ENV/ && flag==0 && start==1 )
                        {
                                print osarch
                                flag=1
                        }
                        print $0
                   }' >> /tmp/myenv.$$
		mv -f /tmp/myenv.$$ /opt/CA/BABcmagt/agent.cfg
        fi
}


AddParaQueue()
{
        ParaExist=""
        QueCfg=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/queue.cfg
        ParaExist=`grep "PurgeTaskFrequency" $QueCfg`
        if [ "${ParaExist}" = "" ] ; then
                echo "" >> $QueCfg
                echo "# set capurged task frequency" >> $QueCfg
                echo "# unit: mins" >> $QueCfg
                echo "# default value: 15mins" >> $QueCfg
                echo "# PurgeTaskFrequency            - 10" >> $QueCfg
                echo "" >> $QueCfg
                echo "" >> $QueCfg
        fi
        ParaExist=""
        ParaExist=`grep "PurgeDebugLevel" $QueCfg`
        if [ "$ParaExist" = "" ] ; then
                echo "# set capurged debug level" >> $QueCfg
                echo "# currently, only support two levels" >> $QueCfg
                echo "# 0 for debug disabled" >> $QueCfg
                echo "# 1 for debug enabled" >> $QueCfg
                echo "# PurgeDebugLevel                    -    1" >> $QueCfg
                echo "" >> $QueCfg
                echo "" >> $QueCfg
        fi
        ParaExist=""
        ParaExist=`grep "DMJobRecreateTime" $QueCfg`
        if [ "$ParaExist" = "" ] ; then
                echo "# set data migration job re-create time" >> $QueCfg
                echo "# data migration job will be re-created when it can not be done during the preiod set here" >> $QueCfg
                echo "# unit: hours" >> $QueCfg
                echo "# default value: 72 hours" >> $QueCfg
                echo "# DMJobRecreateTime              -      72" >> $QueCfg
        fi
}

Verify_Space()
{
	VCOUNT=1
	cmg_space=5
	OPTDIR_NEW_CREATE=0
	if [ "$BEB_CMG_REQUESTED" = "1" ]; then
		if [ ! -d /opt/CA ]; then
			mkdir -p /opt/CA >/dev/null 2>&1
			OPTDIR_NEW_CREATE=1
		fi
		available=`df -kP /opt/CA | $AWK '{ if (NR == 2){ print $4 } }'` 
		expr $available + 1 >/dev/null 2>&1
		if [ $? -ne 0 ]; then
			available=`df -kP /opt/CA | grep "/dev/" | $AWK '{ print $4 }'`
		fi
		available=`expr $available / 1024` ## break it down to megs
		if [ $available -lt $cmg_space ]
		  then
		    echo "${INST_MSG_71}"
		    printf "         ${INST_MSG_71}\n" "$cmg_space"
		    echo "         ${INST_MSG_72} /opt"
		    echo "         ${INST_MSG_73}"
			if [ $OPTDIR_NEW_CREATE -eq 1 ]; then
				rmdir /opt/CA >/dev/null 2>&1
			fi
		    exit 11
		fi
	fi

	if [ $AGENTS_DIR -ne 1 ]; then
	    while [ "$VCOUNT" -lt "$FILESYS_COUNT" ]
	    do
		echo ""
		printf "%-42s" "$INST_MSG_102 ${FILESYS_GROUP[$VCOUNT]}"
		echo -e "                    ==> [\c"
		
		ok=0
		available=`df -kP ${FILESYS_GROUP[$VCOUNT]} | $AWK '{ if (NR == 2) { print $4 } }'` 
		expr $available + 1 >/dev/null 2>&1
		if [ $? -ne 0 ]; then
			available=`df -kP ${FILESYS_GROUP[$VCOUNT]} | grep "/dev/" | $AWK '{ print $4 }'`
		fi
		if [ "$available" != "-" ]; then
		    available=`expr $available / 1024` >/dev/null ## break it down to megs
		    if [ "$available" -ge "${SPACE_GROUP[$VCOUNT]}" ]
		    then
		        ok=1
		    fi
		fi
		
		if [ "$ok" = "1" ]
		then
		    echo " $INST_MSG_1 ]"
		else
		    echo " $INST_MSG_2 ]"
		    printf "$INST_MSG_3" "${SPACE_GROUP[$VCOUNT]}" "${FILESYS_GROUP[$VCOUNT]}"
		    echo "$INST_MSG_4"
		    exit 15
		fi
		
		VCOUNT=$(($VCOUNT+1))
	    done
	else
	        echo ""
	        printf "%-42s" "$INST_MSG_102 $UAG_PREFIX"
	        echo -e "                    ==> [\c"
	
	        ok=0
	        CREATE_DIR=0
	        if [ ! -d ${UAG_PREFIX} ]; then
	        	mkdir -p ${UAG_PREFIX} >/dev/null 2>&1
	        	CREATE_DIR=1
	        fi
	        available=`df -kP ${UAG_PREFIX} | $AWK '{ if (NR == 2) { print $4 } }'` 
		expr $available + 1 >/dev/null 2>&1
		if [ $? -ne 0 ]; then
			available=`df -kP ${UAG_PREFIX} | grep "/dev/" | $AWK '{ print $4 }'`
		fi
	        if [ "$available" != "-" ]; then
	            available=`expr $available / 1024` >/dev/null ## break it down to megs
	            if [ "$available" -ge "15" ]
	            then
	                ok=1
	            fi
	        fi
	        if [ $CREATE_DIR -eq 1 ]; then
	        	rmdir ${UAG_PREFIX} >/dev/null 2>&1
	        fi
	
	        if [ "$ok" = "1" ]
	        then
	            echo " $INST_MSG_1 ]"
	        else
	            echo " $INST_MSG_2 ]"
	            printf "$INST_MSG_3" "15" "${UAG_PREFIX}"
	            echo "$INST_MSG_4"
	            exit 15
	        fi
	fi
}

Get_Space()
{
	module=$1
	check_dir=$2
	found=0
	
	if [ ! -d "${check_dir}" ]
	then
		#Try to get the base dir that would exist  
		#Exit when you find a valid dir or reach . or reach ""  
		while [ 1 ]
		do
		    tmpdir=`dirname $check_dir`
		    check_dir=$tmpdir
		    if [ -d "${tmpdir}" -o "${tmpdir}" = "." -o -z "{tmpdir}" ]
		    then
		        break
		    fi
		done
	fi
	
	case $module in
		BASE) space=400 ;;
		NAS) space=4 ;;
		SAN) space=4 ;;
		DRO) space=4 ;;
		APA) space=5 ;;
		UAG) space=35 ;;
		ORA) space=10 ;;
		MYQ) space=10 ;;
		INO) space=35 ;;
		ING) space=10 ;;
		NOT) space=10 ;;
		SAP) space=10 ;;
		HAR) space=10 ;;
		OES) space=10 ;;
	esac

	if [ $AGENTS_DIR -ne 1 ]; then
	    filesys=`df -kP $check_dir | $AWK '{ if (NR == 2) { print $6 } }' 2>/dev/null`
	    echo ${filesys} | grep "/" >/dev/null 2>&1
	    if [ $? -ne 0 ]; then
	    	filesys=`df -kP $check_dir | grep "/dev/" | $AWK '{ print $6 }' 2>/dev/null`
	    fi
	    if [ "$FILESYS_COUNT" = "1" ]; then
	        # add the first entry to the array
	        FILESYS_GROUP[$FILESYS_COUNT]=$filesys
	        SPACE_GROUP[$FILESYS_COUNT]=$space
	        FILESYS_COUNT=$(($FILESYS_COUNT+1))
	    else
	        # check if the file system is already in the array
	        cnt=1
	        while [ "$cnt" -lt "$FILESYS_COUNT" ]
	        do
	            
	            if [ "${FILESYS_GROUP[$cnt]}" = "$filesys" ]; then
	                SPACE_GROUP[$cnt]=$((${SPACE_GROUP[$cnt]}+$space))
	                found=1
	                break
	            fi
	            cnt=$(($cnt+1))
	        done
	        # if not in the array, add it as a new entry
	        if [ "$found" = "0" ]; then
	            FILESYS_GROUP[$FILESYS_COUNT]=$filesys
	            SPACE_GROUP[$FILESYS_COUNT]=$space
	            FILESYS_COUNT=$(($FILESYS_COUNT+1))
	        fi
	    fi
	elif [ $EXEC_MODE -ne $RESP_MODE ]; then
	    [ -d "$UAG_PREFIX" ] || mkdir -p "$UAG_PREFIX"
	    FILESYS=`df -kP $UAG_PREFIX | $AWK '{ if (NR == 2) { print $6 } }'`
	    echo ${FILESYS} | grep "/" >/dev/null 2>&1
	    if [ $? -ne 0 ]; then
	    	FILESYS=`df -kP $UAG_PREFIX | grep "/dev/" | $AWK '{ print $6 }'`
	    fi
	    SPACESYS=$space	
	fi
}

Verify_Tmp_Space()
{
        ok=0
        var_space=`df -kP /var | $AWK '{ if (NR == 2) { print $4 } }'` 
	expr $var_space + 1 >/dev/null 2>&1
	if [ $? -ne 0 ]; then
		var_space=`df -kP /var | grep "/dev/" | $AWK '{ print $4 }'`
	fi
        if [ "$var_space" != "-" ]; then
            var_space=`expr $var_space / 1024` >/dev/null ## break it down to megs
            if [ "$var_space" -ge 2 ]
            then
                ok=1
            fi
        fi

        if [ "$ok" != "1" ]
        then
            printf "$INST_MSG_3" "2" "/var"
            echo "$INST_MSG_4"
            exit 15
        fi        
}
to_upper()
{
   UPPER_STR=`echo $1 | tr "[:lower:]" "[:upper:]" `
   echo $UPPER_STR
}

to_lower()
{
   LOWER_STR=`echo $1 | tr "[:upper:]" "[:lower:]" `
   echo $LOWER_STR
}
agree_notagree()
{
	echo 
	echo -e $INST_AGREE_OR_NOT
	read ANS
	if [ "X${ANS}" = "X" ] ; then
	 	ANS="N"
	fi
	case $ANS in
		y|Y|yes|YES)
			echo ;;
		n|N|no|NO)
			echo $INST_USER_EXIT
			echo
			exit 128;;
		*)
			echo $INST_PROVIDE_INPUT
			agree_notagree;;
	esac
}

license_agreement()
{
	if [ -f ${THE_LIC_FILE} ]
	then
		if [ -f /bin/more ]
		then
			/bin/more ${THE_LIC_FILE}
		else
			cat ${THE_LIC_FILE}
		fi
	fi
        agree_notagree
}

view_notes()
{
    default=y
    echo -e "$INST_MSG_5" 
        read ANS
	if [ -z "$ANS" ]
	then
		ANS=$default
	fi
        case $ANS in
                y|Y|yes|YES)
                        echo 
                        view_notes_yes
                        ;;
                n|N|no|NO)
                        echo
			;;
                *)
                        view_notes;;
        esac
}
view_notes_yes()
{
	if [ ! -f ${INSTALL_NOTES} ]; then
		INSTALL_NOTES=${DEPOT}/install.txt
	fi
        more $INSTALL_NOTES
        echo -e "$INST_MSG_6"
        read dummy
}
verify_rpm()
{
	REALLOCAT_FLAG=0
	MY_RPM_VER=$(version_installed rpm)
	rtn=$(version_compare $MY_RPM_VER "4.1")
	if [ $rtn -eq 0 ]
	then
		REALLOCAT_FLAG=1	
	fi
	
	rtn=$(version_compare $MY_RPM_VER "4.0.2")
	if [ $rtn -eq 0 ]
	then
		REALLOCAT_FLAG=1
	fi
}

version_compare()
{
	if [ $# -eq 2 ]
	then
		LEFT=`echo $1 | awk -F"-" ' { print $1 }'`
		RIGHT=`echo $2 | awk -F"-" ' { print $1 }'`
		
		LEFT_1=`echo $LEFT | cut -d"." -f1`
		LEFT_2=`echo $LEFT | cut -d"." -f2`
		LEFT_3=`echo $LEFT | cut -d"." -f3`
		
		RIGHT_1=`echo $RIGHT | cut -d"." -f1`
		RIGHT_2=`echo $RIGHT | cut -d"." -f2`
		RIGHT_3=`echo $RIGHT | cut -d"." -f3`	
		
		LEFT_1=${LEFT_1:-0}
		LEFT_2=${LEFT_2:-0}
		LEFT_3=${LEFT_3:-0}
		RIGHT_1=${RIGHT_1:-0}
		RIGHT_2=${RIGHT_2:-0}
		RIGHT_3=${RIGHT_3:-0}		

		if [ $LEFT_1 -eq $RIGHT_1  -a $LEFT_2 -eq $RIGHT_2 -a $LEFT_3 -eq $RIGHT_3 ] #=
		then
			echo 0
		elif  [ $LEFT_1 -lt $RIGHT_1  ] || [ $LEFT_1 -eq $RIGHT_1  -a $LEFT_2 -lt  $RIGHT_2  ] || [  $LEFT_1 -eq $RIGHT_1  -a $LEFT_2 -eq  $RIGHT_2  -a $LEFT_3 -lt $RIGHT_3 ] #left<right
		then
			echo 2
		else #left > right
			echo 1
		fi
	else
		echo 3
	fi
}

getDistributor()
{
	LINUX_VENDOR=$(${DEPOT}/${MISC}/$CAUNAME -s)
	DISTRIBUTOR=""
	DISTRIBUTOR=`echo  $LINUX_VENDOR | awk '{
		if (/Red Hat/) { print "RedHat" }
		else if (/RedFlag/) { print "RedFlag" }
		else if (/Asianux/) { print "RedFlag" }
		else if (/Turbo/) { print "TurboLinux" }
		else if (/(SuSE|SUSE)/) { print "SuSE" }
		else if (/Caldera/) { print "OpenLinux" }
		else if (/UnitedLinux/) { print "UnitedLinux" } 
		else if (/MIRACLE/){ print "MIRACLE" } 
		else { print $0 }
	}'` 
	echo $DISTRIBUTOR
}

version_installed()
{
	[ $# -ne 1 ] && echo ""
	rpm -q $1 >/dev/null 2>&1

	if [ $? -ne 0 ]
	then
		version=""
	else
		version=$(rpm -q --queryformat "%{version}" $1 2>/dev/null)
	fi

	echo "$version"
}

check()
{
	rc=$1
	package=$2
	if [ -f ${TMPFILENAME} ]; then
		cat ${TMPFILENAME} >> ${INSTALL_LOG}
		rm -f ${TMPFILENAME} >/dev/null 2>&1
	fi
	touch ${DialFile} >/dev/null 2>&1
	sleep 1
	if [ "$package" = "BABapagent" ] ; then
		if [ -f ${TMPDIR:-/tmp}/BABapagentinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/BABapagentinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/BABapagentinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABnas" ] ; then
		if [ -f ${TMPDIR:-/tmp}/nasaginstall.log ] ; then
			cat ${TMPDIR:-/tmp}/nasaginstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/nasaginstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABcmagt" -o "$package" = "babcmagt" ] ; then
		if [ -f ${TMPDIR:-/tmp}/BABcmagtinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/BABcmagtinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/BABcmagtinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABing" ] ; then
		if [ -f ${TMPDIR:-/tmp}/CAinginstall.log ] ; then
			cat ${TMPDIR:-/tmp}/CAinginstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/CAinginstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABmysql" ] ; then
		if [ -f ${TMPDIR:-/tmp}/BABmysqlinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/BABmysqlinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/BABmysqlinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABora" ] ; then
		if [ -f ${TMPDIR:-/tmp}/BABoraagtinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/BABoraagtinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/BABoraagtinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABagntux" -o "$package" = "babagntux" ] ; then
		if [ -f ${TMPDIR:-/tmp}/uaginstall.log ] ; then
			cat ${TMPDIR:-/tmp}/uaginstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/uaginstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "AVEngine" ] ; then
		if [ -f ${TMPDIR:-/tmp}/inoinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/inoinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/inoinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "ca-lic" ] ; then
		if [ -f ${TMPDIR:-/tmp}/licinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/licinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/licinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABsvr" ] ; then
		if [ -f ${TMPDIR:-/tmp}/babinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/babinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/babinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABmgr" ] ; then
		if [ -f ${TMPDIR:-/tmp}/babinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/babinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/babinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABlotus" ] ; then
		if [ -f ${TMPDIR:-/tmp}/BABlotusagtinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/BABlotusagtinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/BABlotusagtinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABsap" -o "$package" = "BABbaim" ] ; then
		if [ -f ${TMPDIR:-/tmp}/BABsapagtinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/BABsapagtinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/BABsapagtinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABharagt" ] ; then
		if [ -f ${TMPDIR:-/tmp}/CAharvestinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/CAharvestinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/CAharvestinstall.log >/dev/null 2>&1
		fi
	elif [ "$package" = "BABoes" ] ; then
		if [ -f ${TMPDIR:-/tmp}/BABoesinstall.log ] ; then
			cat ${TMPDIR:-/tmp}/BABoesinstall.log >> ${INSTALL_LOG}
			rm -f ${TMPDIR:-/tmp}/BABoesinstall.log >/dev/null 2>&1
		fi
	fi
	if [ "$rc" -ne 0 ] ; then
		if [ "$package" = "ca-lic" ]; then
	        	echo
	        	echo -e ${INST_MSG_121}
	        	echo
	                exit $rc
		
		else
			return 1
		fi
	fi
	
}

check_sdo()
{
	rc=$1
	package=$2
	
	if [ "$rc" -ne 0 ] ; then
		printf "$INST_ERR_INST_PKG" "$package" | fmt -${MARGIN}
		exit $rc
	else
		echo
		echo -e $INST_DONE_THANKS
		echo
		return 0
	fi
	
#	install_patch $package
}

GET_INSTALL_FLAG2()
{
	INSTALL_FLAG=0
	echo -e $INST_GET_INSTALL_FLAG2
	read ANS
	case $ANS in
		y|Y|yes|YES)
			INSTALL_FLAG=1
			;;
		q|Q|quit|QUIT)
			echo $INST_USER_EXIT
			echo
			exit 128
			;;
		*)
			echo $INST_PROVIDE_INPUT
			echo
			GET_INSTALL_FLAG2
			;;
	esac
}

GET_INSTALL_FLAG()
{
	INSTALL_FLAG=0
	echo -e $INST_GET_INSTALL_FLAG
	read ANS
	case $ANS in
		y|Y|yes|YES)
			INSTALL_FLAG=1
			;;
		q|Q|quit|QUIT)
			echo $INST_USER_EXIT
			echo
			exit 128
			;;
		n|N|no|NO)
			;;
		*)
			echo $INST_PROVIDE_INPUT
			echo
			GET_INSTALL_FLAG
			;;
	esac
}
GET_INSTALL_FLAG_YN()
{
	INSTALL_FLAG=0
	echo -e $INST_GET_DOC_FLAG
	read ANS
        if [ "X${ANS}" == "X" ]; then
      	  ANS="y"
        fi
	case $ANS in
		y|Y|yes|YES)
			INSTALL_FLAG=1
			;;
		n|N|no|NO)
			;;
		*)
			echo $INST_PROVIDE_INPUT
			echo
			GET_INSTALL_FLAG_YN
			;;
	esac
}

#
#-  Check for running services
#
check_portmap_service()
{
	RUNNINGSERVICE="portmap"
	for EACHSERVICE in $RUNNINGSERVICE
	do
		ps -ewf | grep $EACHSERVICE | grep -v grep >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
			printf "$INST_SERVICE_REQUIRED" "$EACHSERVICE" | fmt -${MARGIN}
			PROBLEMS_FOUND=PROBLEMS_FOUND+1
		fi
	done
}

#
#-  Check if apache Web server is installed
#
check_apache_version()
{
	if [ "X${APACHE_CHECKED}" != "XYES" ]; then
		APACHE_VERSION=$(version_installed apache)
		if [ -z "$APACHE_VERSION" ] ; then
			APACHE_VERSION=$(version_installed apache2)
			if [ -z "$APACHE_VERSION" ] ; then
				APACHE_VERSION=$(version_installed httpd)
				if [ -z "$APACHE_VERSION" ] ; then   
					APACHE_VERSION=`/usr/sbin/httpd -v 2>/dev/null|grep "version"`
					if [ "${APACHE_VERSION}" = "" ]; then
						APACHE_VERSION=`httpd -v 2>/dev/null|grep "version"`
						if [ "${APACHE_VERSION}" = "" ]; then
							echo -e $INST_APACHE_REQUIRED | fmt -${MARGIN}
							GET_INSTALL_FLAG2
							if [ $INSTALL_FLAG -ne 1 ];then
								echo -e $INST_EXIT
								echo 
								exit 1
							fi
						fi
					fi
				fi
			else
				HTTPD2_FLAG="YES"
			fi
		fi
		APACHE_CHECKED="YES"
	fi
}

check_libstdcpp()
{
	if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" ]; then
		LIBSTDCPP_F="libstdc++-libc6.1-2.so.3"
	elif [ "X${ARCH}" = "Xia64" ] ; then
		LIBSTDCPP_F="/emul/ia32-linux/usr/lib/libstdc++-libc6.1-1.so.2"
	 	LIBSTDCPP_F2="/emul/ia32-linux/usr/lib/libstdc++-libc6.2-2.so.3"	
		LIBSTDCPP_F3="/emul/ia32-linux/usr/lib/libstdc++-3-libc6.2-2-2.10.0.so"
	else
		LIBSTDCPP_F="/usr/lib/libstdc++-libc6.1-1.so.2"
	 	LIBSTDCPP_F2="/usr/lib/libstdc++-libc6.2-2.so.3"
		LIBSTDCPP_F3="/usr/lib/libstdc++-3-libc6.2-2-2.10.0.so"

	fi
	
#	if [ "$LINUX_DIST" = "RedHat" ]; then
#	        if [ -f /etc/redhat-release ]; then
#        	        cat /etc/redhat-release | ${GREP} 'release 4' | $GREP -v $GREP_S 1>/dev/null 2>&1
#                	if [ $? -eq 0 -a "X${ARCH}" = "Xs390x" ]; then
#                		LIBSTDCPP_F="libstdc++-libc6.2-2.so.3"
#                	fi
#        	fi
#	fi

#	if  [ "X${ARCH}" = "Xia64" ] ; then
#		if [ ! -r ${LIBSTDCPP_F} -a -r ${LIBSTDCPP_F2} ] ; then
#			ln -s $LIBSTDCPP_F2 $LIBSTDCPP_F > /dev/null 2>&1	
#		fi
#	else 
#		if [ ! -r ${LIBSTDCPP_F} -a -r ${LIBSTDCPP_F2} ] ; then
#			ln -s  $LIBSTDCPP_F3 $LIBSTDCPP_F > /dev/null 2>&1
#		fi
#	fi

	 if [ ! -r ${LIBSTDCPP_F} -a ! -r ${LIBSTDCPP_F2} -a ! -r ${LIBSTDCPP_F3} ] ; then
		case "$LINUX_DIST" in
			RedHat)  
				echo -e "$INST_MSG_7" | fmt -${MARGIN}
				if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" ]; then
					echo "compat-libstdc++-<version>.s390.rpm"
				else
					echo "compat-libstdc++"
				fi
				;;
			RedFlag) 
				echo -e "$INST_MSG_7" | fmt -${MARGIN}
				echo "\"compat-libstdc++\" or \"libstdc++\""
				;;
			TurboLinux) 
				echo -e "$INST_MSG_7" | fmt -${MARGIN}
				echo "libstdc++-compat"
				;;
			SuSE|UnitedLinux)    
				echo -e "$INST_MSG_7" | fmt -${MARGIN}
				echo "compat"
				;;
			MIRACLE)
				echo -e "$INST_MSG_7" | fmt -${MARGIN}
				echo "compat-libstdc++"
				;;		           
			*)
				echo -e "$INST_MSG_39" | fmt -${MARGIN}
				echo ""
				;;
		esac
		echo
		GET_INSTALL_FLAG2
		if [ $INSTALL_FLAG -ne 1 ]; then
			echo
			echo -e $INST_EXIT
			echo
			exit 1
		fi
	fi

	if  [ "X${ARCH}" = "Xia64" ] ; then
                      ln -s $LIBSTDCPP_F3 $LIBSTDCPP_F2 > /dev/null 2>&1
                      ln -s $LIBSTDCPP_F2 $LIBSTDCPP_F > /dev/null 2>&1
        	else
                      ln -s $LIBSTDCPP_F3 $LIBSTDCPP_F2 > /dev/null 2>&1
                      ln -s $LIBSTDCPP_F3 $LIBSTDCPP_F > /dev/null 2>&1
        fi
}

startDial()
{
	rm -f ${DialFile} >/dev/null 2>&1
	if [ $EXEC_MODE -eq $REGR_MODE ]; then
		echo -e "| \c"
	else
		echo -e ".. \c"
	fi
	while true; do
		sleep 1
		[ -f ${DialFile} ] && break
		if [ $EXEC_MODE -eq $REGR_MODE ]; then
			echo -e "\b\b/ \c"
		else
			echo -e ".. \c"
		fi
		sleep 1
		[ -f ${DialFile} ] && break
		if [ $EXEC_MODE -eq $REGR_MODE ]; then
			echo -e "\b\b- \c"
		else
			echo -e ".. \c"
		fi
		sleep 1
		[ -f ${DialFile} ] && break
		if [ $EXEC_MODE -eq $REGR_MODE ]; then
			echo -e "\b\b\\ \c"
		else
			echo -e ".. \c"
		fi
		sleep 1
		[ -f ${DialFile} ] && break
		if [ $EXEC_MODE -eq $REGR_MODE ]; then
			echo -e "\b\b| \c"
		else
			echo -e ".. \c"
		fi
	done
}

GET_DEFAULT_INSTALL_FLAG()
{
	DEFAULT_INSTALL_FLAG=0

	echo
	echo -e $INST_DEFAULT_COMPONENTS
	echo -e $INST_DEFAULT_COMPONENTS_ANS

	read ANS
	case $ANS in
		y|Y|yes|YES)
			DEFAULT_INSTALL_FLAG=1
			;;
		q|Q|quit|QUIT)
			echo $INST_USER_EXIT
			echo
			exit 128
			;;
		n|N|no|NO)
			;;
		*)
			echo $INST_PROVIDE_VALID_INPUT
			echo
			GET_DEFAULT_INSTALL_FLAG
			;;
	esac
}

install_patch()
{
	COMPONENT=$1
	
	SUBDIR=""
	if [ $DEBIAN -ne 1 ]
	then
		case "$LINUX_DIST" in
			RedHat)  
				SUBDIR=RedHat
				;;
			TurboLinux)  
				SUBDIR=Turbo
				;;
			SuSE)  
				SUBDIR=SuSE 
				;;
			OpenLinux) 
				SUBDIR=OpenLinux
				;;
			UnitedLinux) 
				SUBDIR=UnitedLinux	
				;;	           
		esac
	    
		PKG_INSTALL="rpm -i --force "
		PKG_QUERY="rpm -q "
	else
		SUBDIR=Debian
		PKG_INSTALL="dpkg -i "
		PKG_QUERY="dpkg -l "
	fi
    
	#get directory for patch
	PATCH_DIR=${DEPOT}/Patch/${SUBDIR}

	# the format of install.cfg should be 
	# file name for patch :name for based-on package :description for that patch[:name for patch]
	# for example
	# sp1.rpm:BABsvr,BABmgr:patch1 for base :sp1
	# sp1.rpm is a patch for package BABsvr and BABmgr,it's name is sp1,description is "patch1 for base "
	# and patch at the n line will be installed before patch at n+1 line.
	#
	LIST_FILE=${PATCH_DIR}/install.cfg
	if [ -f ${LIST_FILE} ];then
		PATCHES=`cat ${LIST_FILE} | grep -v "#"`
		for PATCH in $PATCHES
		do
			FILE_NAME=`echo ${PATCH} | cut -d":" -f1 `            	
			DEPENCES=`echo ${PATCH} | cut -d":" -f2 `           
			PATCH_DESCRIPTION=`echo ${PATCH} | cut -d":" -f3 `
            	
			#make sure current path is for current pkg
			DEPENCE=`echo ${DEPENCES}| grep -w ${COMPONENT}`
			
			if [ "${DEPENCE}" != "" ];then
				#check if all the required packages have been installed
				DEPENCES_LIST=`echo ${DEPENCES} | sed 's/,/ /g'` 
				DEPENCES_FLAG=0
				for PKG in ${DEPENCES_LIST}	
				do
					${PKG_QUERY}  ${PKG} >/dev/null 2>&1	
					if [ $? -ne 0 ] ; then
						DEPENCES_FLAG=1 
					fi
				done
		
				if [ ${DEPENCES_FLAG} -eq 0 ];then 
					FAIL_FLAG=0
					if [ -f ${PATCH_DIR}/${FILE_NAME} ];then
						if [ $DEBIAN -ne 1 ]
						then
							PATCH_NAME=`${PKG_QUERY} -p --queryformat %{NAME}  ${PATCH_DIR}/${FILE_NAME}`
						else
							PATCH_NAME=`echo ${PATCH} | cut -d":" -f4 `
						fi

						#check if patch has been installed			
						if [ "${PATCH_NAME}" != "" ];then
							${PKG_QUERY}  ${PATCH_NAME} >/dev/null 2>&1
							if [ $? -ne 0 ] ; then
								#if not , install it.
								${PKG_INSTALL} ${PATCH_DIR}/${FILE_NAME} 
								if [ $? -ne 0 ] ; then
									FAIL_FLAG=1
								fi
							else
								#if does , ask if overwrite it.	
								OLD_VERSION_DISPLAY=""
								NEW_VERSION_DISPLAY="" 
								
								if [ $DEBIAN -ne 1 ]
								then
									OLD_VERSION=$(version_installed ${PATCH_NAME})
									NEW_VERSION=`${PKG_QUERY} -p --queryformat %{VERSION}  ${PATCH_DIR}/${FILE_NAME}`
									OLD_VERSION_DISPLAY="(${OLD_VERSION})"
									NEW_VERSION_DISPLAY="(${NEW_VERSION})"
								fi
								
								echo "${PATCH_DESCRIPTION} ${OLD_VERSION_DISPLAY} was already installed"
								echo "do you want to install ${PATCH_DESCRIPTION} ${NEW_VERSION_DISPLAY}?"
								
								GET_INSTALL_FLAG
								if [ $INSTALL_FLAG -eq 1 ];then
									${PKG_INSTALL}  ${PATCH_DIR}/${FILE_NAME} 
									if [ $? -ne 0 ] ; then
										FAIL_FLAG=1
									fi 
								fi
							fi 
						fi
					else
						FAIL_FLAG=1 
					fi
					
					#if installation fail or patch does not exit, go to error handle
					if [ ${FAIL_FLAG} -ne 0 ];then
						TEMP_STRING="$PATCH_DESCRIPTION($FILE_NAME)"
						printf "$INST_ERR_INST_PATCH" "$TEMP_STRING" | fmt -${MARGIN}
						exit 1
					fi
				fi
			fi
		done
	fi
}
Initialize_Choice_Arr()
{
    index=0

    #Possible 13 different user choices
    while [ ${index} -lt 15 ]
    do
       CHOICE_ARR[$index]=0
       index=`expr $index + 1`
    done
}

display_to_install()
{
	if [ $AGENTS_DIR -eq 1 ]; then
	  if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" -a -f $ORA_PKG ]; then
		echo
		echo -e $INST_PROD_LIST
		echo
		echo
		echo "#####################################################################"
		echo "$INST_MSG_107a"
		echo "#####################################################################"
		echo "#  1. BrightStor ARCserve Backup for Linux Client Agent                           (BABagntux) "
		echo "#  2. BrightStor ARCserve Backup for Linux Agent for Oracle                       (BABora)"
		echo "#                                                                       "
		echo "#  0. $INST_MSG_107                                                              "
		echo "#####################################################################"
		echo
		if [ $BAB_COMPONENTS_UPGRADE -eq 1 ]; then
			echo -e $INST_SELECT_TO_INSTALL_PROMPT1
		else
			echo -e $INST_SELECT_TO_INSTALL_PROMPT2
		fi
		
		read PACKAGES_SELECTED
		
		if [ "$PACKAGES_SELECTED" = "" -a $BAB_COMPONENTS_UPGRADE -ne 1 ]; then
			PACKAGES_SELECTED="1"
		fi

		if [ "$PACKAGES_SELECTED" = "all" ]; then
			PACKAGES_SELECTED="1,2"
		fi
		if [ "$PACKAGES_SELECTED" = "0" ]; then
		        echo "$INST_EXIT"
			exit 0
		fi
	  else
	  	PACKAGES_SELECTED="1"
	  fi
	else
		echo
		echo -e $INST_PROD_LIST
		echo
		echo
		echo "#####################################################################"
		echo "$INST_MSG_107a"
		echo "#####################################################################"
		echo "#  1. BrightStor ARCserve Backup for Linux Server & Manager                       (BABsvr & BABmgr)"
		echo "#  2. BrightStor ARCserve Backup for Linux Client Agent                           (BABagntux) "
		if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" ]; then
		    if  [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ] ;then
			echo "#  3. BrightStor ARCserve Backup for Linux Storage Area Network (SAN) option      (BABsan)"
			echo "#  4. BrightStor ARCserve Backup for Linux Disaster Recovery Option               (BABdr)"
			echo "#  5. BrightStor ARCserve Backup for Linux NDMP NAS Option                        (BABnas)"
			echo "#  6. BrightStor ARCserve Backup for Linux Agent for Oracle                       (BABora)"
			echo "#  7. BrightStor ARCserve Backup for Linux Agent for Apache Web Server            (BABapagent)"
			echo "#  8. BrightStor ARCserve Backup for Linux Agent for MySQL                        (BABmysql)"
			echo "#  9. BrightStor ARCserve Backup for Linux Agent for Lotus Domino                 (BABlotus)"
	        	echo "# 10. BrightStor ARCserve Backup for Linux Agent for Novell Open Enterprise Server(BABoes) "
			#echo "# 11. BrightStor ARCserve Backup for Linux Agent for Harvest                      (BABharagt)"
			if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
				echo "# 11. eTrust Antivirus Engine                                                     (AVEngine)"
			#elif [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xde" -o "X${NLS_LANG}" = "Xpt" ]; then
				#echo "# 11. BrightStor ARCserve Backup for Linux Enterprise Option for SAP R/3 for Oracle(BABsap & BABbaim)"
			#	echo "# 11. BrightStor ARCserve Backup for Linux Enterprise Option for Advantage Ingres (BABing)"
			#	echo "# 12. eTrust Antivirus Engine                                                     (AVEngine)"
			else
				echo "# 11. BrightStor ARCserve Backup for Linux Enterprise Option for SAP R/3 for Oracle(BABsap & BABbaim)"
				echo "# 12. BrightStor ARCserve Backup for Linux Enterprise Option for Advantage Ingres (BABing)"
				echo "# 13. eTrust Antivirus Engine                                                     (AVEngine)"
			fi
		    else
			echo "#  3. BrightStor ARCserve Backup for Linux Storage Area Network (SAN) option      (BABsan)"
			echo "#  4. BrightStor ARCserve Backup for Linux NDMP NAS Option                        (BABnas)"
			echo "#  5. BrightStor ARCserve Backup for Linux Agent for Oracle                       (BABora)"
			echo "#  6. BrightStor ARCserve Backup for Linux Agent for MySQL                        (BABmysql)"
			if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
				:
			#elif [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xde" -o "X${NLS_LANG}" = "Xpt" ]; then
				#echo "#  7. BrightStor ARCserve Backup for Linux Enterprise Option for SAP R/3 for Oracle(BABsap & BABbaim)"
			#	echo "#  7. BrightStor ARCserve Backup for Linux Enterprise Option for Advantage Ingres (BABing)"
			else
				echo "#  7. BrightStor ARCserve Backup for Linux Enterprise Option for SAP R/3 for Oracle(BABsap & BABbaim)"
				echo "#  8. BrightStor ARCserve Backup for Linux Enterprise Option for Advantage Ingres (BABing)"
			fi
		    fi
		fi
		echo "#                                                                       "
		echo "#  0. $INST_MSG_107                                                              "
		echo "#####################################################################"
		
		echo
		if [ $BAB_COMPONENTS_UPGRADE -eq 1 ]; then
			echo -e $INST_SELECT_TO_INSTALL_PROMPT1
		else
			echo -e $INST_SELECT_TO_INSTALL_PROMPT
		fi
		
		read PACKAGES_SELECTED
		
		if [ "$PACKAGES_SELECTED" = "" -a $BAB_COMPONENTS_UPGRADE -ne 1 ]; then
			PACKAGES_SELECTED="1,2"
		fi
		
		if [ "$PACKAGES_SELECTED" = "all" ]; then
			if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" ]; then
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
				if  [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ] ;then
				PACKAGES_SELECTED="1,2,3,4,5,6,7,8,9,10,11"
				else
				PACKAGES_SELECTED="1,2,3,4,5,6"
				fi
#elif [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xde" -o "X${NLS_LANG}" = "Xpt" ]; then
#				if  [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ] ;then
#				PACKAGES_SELECTED="1,2,3,4,5,6,7,8,9,10,11,12"
#				else
#				PACKAGES_SELECTED="1,2,3,4,5,6,7"
#				fi
else
				
				if  [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ] ;then
				PACKAGES_SELECTED="1,2,3,4,5,6,7,8,9,10,11,12,13"
				else
				PACKAGES_SELECTED="1,2,3,4,5,6,7,8"
				fi
fi
			else
				PACKAGES_SELECTED="1,2"
			fi
		fi
		if [ "$PACKAGES_SELECTED" = "0" ]; then
		        echo "$INST_EXIT"
			exit 0
		fi
	
	fi
	PACKAGES_SELECTED=`echo $PACKAGES_SELECTED|sed -e 's/ //g'`
}

installation_select()
{
	if [ $EXEC_MODE -ne $SLNT_MODE ]; then
		display_to_install
		#if [ $AGENTS_DIR -ne 1 ]; then
			Initialize_Choice_Arr
		#fi
		INSTALL_ERR=0
		if [ "X${PACKAGES_SELECTED}" = "X" ]; then
			num=0
		else
			num=`echo $PACKAGES_SELECTED | awk -F, '{ print NF }'`
		fi
		id=1
		while [ $id -le $num ]
		do
		
			install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
			#check for non-numeric character
			expr "$install" + 1 >/dev/null 2>&1
			if [ $? -ge 2 ]
			then
				INSTALL_ERR=1
				echo $INST_INVALID_CHOICE
				break
			fi
			if [ $install -ge ${#CHOICE_ARR[*]} ]
			then
				INSTALL_ERR=1
				echo $INST_INVALID_CHOICE
				break
			fi
			#if [ $AGENTS_DIR -ne 1 ]; then
			        #Check for duplicate choice entries
			        if [ "${CHOICE_ARR[$install]}" -eq 1 ]
			        then
			               choice_err=1
			               echo "$INST_MSG_19"
				       INSTALL_ERR=1
			               break
			        else
			               CHOICE_ARR[$install]=1
			        fi
			#fi
		if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" -a $AGENTS_DIR -ne 1 ]; then
		    if  [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
			case $install in
				1|2|3|4|5|6|7|8|9|10|11)
					if [ $install -eq 10 ] && ! Check_Novell_SMS; then
						INSTALL_ERR=1
						echo -e "$INST_MSG_153"
					fi
					;;
				12|13)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
#					INSTALL_ERR=1
#					echo $INST_INVALID_CHOICE
#fi
#					;;
#				13)
#if [ "X${NLS_LANG}" != "XC" ]; then
					INSTALL_ERR=1
					echo $INST_INVALID_CHOICE
fi
					;;
				*)
					INSTALL_ERR=1
					echo $INST_INVALID_CHOICE
					;;
			esac
		    else
			case $install in
				1|2|3|4|5|6)
					;;
				7|8)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
# 					INSTALL_ERR=1
#					echo $INST_INVALID_CHOICE	
#fi				
#					;;
#				8)
#if [ "X${NLS_LANG}" != "XC" ]; then
 					INSTALL_ERR=1
					echo $INST_INVALID_CHOICE	
fi				
					;;										
				*)
					INSTALL_ERR=1
					echo $INST_INVALID_CHOICE
					;;
			esac
		    fi
		else
			case $install in
				1|2)
					;;
				*)
					INSTALL_ERR=1
					echo $INST_INVALID_CHOICE
					;;
			esac
		fi
			id=`expr $id + 1 `
		done

		while [ $INSTALL_ERR -eq 1 ]
		do
			echo
			display_to_install
			Initialize_Choice_Arr
			
			INSTALL_ERR=0
			if [ "X${PACKAGES_SELECTED}" = "X" ]; then
				num=0
			else
				num=`echo $PACKAGES_SELECTED | awk -F, '{print NF}'`
			fi
			id=1
			while [ $id -le $num ]
			do
				install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
				#check for non-numeric character
				expr "$install" + 1 >/dev/null 2>&1
				if [ $? -ge 2 ]
				then
					INSTALL_ERR=1
					echo $INST_INVALID_CHOICE
					break
				fi
				if [ $install -ge ${#CHOICE_ARR[*]} ]
				then
					INSTALL_ERR=1
					echo $INST_INVALID_CHOICE
					break
				fi
			        if [ "${CHOICE_ARR[$install]}" -eq 1 ]
			        then
			               choice_err=1
			               echo "$INST_MSG_19"
				       INSTALL_ERR=1
			               break
			        else
			               CHOICE_ARR[$install]=1
			        fi
				if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" -a $AGENTS_DIR -ne 1 ]; then
				    if  [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
					case $install in
						1|2|3|4|5|6|7|8|9|10|11)
							if [ $install -eq 10 ] && ! Check_Novell_SMS; then
								INSTALL_ERR=1
								echo -e "$INST_MSG_153"
							fi
							;;
						12|13)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
							INSTALL_ERR=1
							echo $INST_INVALID_CHOICE
fi
							;;
#						13)
#if [ "X${NLS_LANG}" != "XC" ]; then
#					                INSTALL_ERR=1
#					                echo $INST_INVALID_CHOICE
#fi
#					                ;;
						*)
							INSTALL_ERR=1
							echo $INST_INVALID_CHOICE   
							;;
					esac
				    else
					case $install in
						1|2|3|4|5|6)
							;;
						7|8)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
 							INSTALL_ERR=1
							echo $INST_INVALID_CHOICE	
fi				
							;;
#						8)
#if [ "X${NLS_LANG}" != "XC" ]; then
# 					                INSTALL_ERR=1
#					                echo $INST_INVALID_CHOICE	
#fi				
#					                ;;																
						*)
							INSTALL_ERR=1
							echo $INST_INVALID_CHOICE
							;;
					esac
				    fi
				else
					case $install in
						1|2)
							;;
						*)
							INSTALL_ERR=1
							echo $INST_INVALID_CHOICE   
							;;
					esac
				fi
				id=`expr $id + 1 `
			done
		done
	fi
	if [ $EXEC_MODE -ne $RESP_MODE ] ; then
		SVR_ALREADY_INSTALLED=0
		rpm -q BABsvr >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
			if [ $EXEC_MODE -ne $SLNT_MODE ]; then
				ARC_PREFIX=/opt/CA
			else
				ARC_PREFIX=${PREFIX_ROOT}
			fi
		else
			ARC_PREFIX=`rpm -q --queryformat '%{installprefix}' BABsvr 2>/dev/null`
			SVR_ALREADY_INSTALLED=1
		fi
		
		if [ "$ARC_PREFIX" = "" -o "$ARC_PREFIX" = "(none)" ]; then
			ARC_PREFIX=/opt/CA
		fi
	
	fi	
	get_config
	if [ $REALLOCAT_FLAG -eq 0 -a $DEBIAN -ne 1 ] || [ $EXEC_MODE -eq $RESP_MODE ] ; then 
		echo
		BASE_PROCED="NO"
		UAG_PROCED="NO"
		APA_PROCED="NO"
		ORA_PROCED="NO"
		MYQ_PROCED="NO"
		ING_PROCED="NO"
		INO_PROCED="NO"
		NOTES_PROCED="NO"
		SAP_PROCED="NO"
		HAR_PROCED="NO"
		OES_PROCED="NO"
		if [ $AS9SVR_OLD_INSTALLED -eq 1 ]; then
			ARC_PREFIX=`rpm -q --queryformat '%{installprefix}' $AS9SVR_OLD 2>/dev/null`
			if [ "$ARC_PREFIX" = "" -o "$ARC_PREFIX" = "(none)" ] ; then
				ARC_PREFIX="/opt/CA"
			fi
			Get_Space BASE $ARC_PREFIX
			BASE_PROCED="YES"
		fi

		if [ $UAGENT9_OLD_INSTALLED -eq 1 ]; then
			UAG_PREFIX=`rpm -q --queryformat '%{installprefix}' $UAGENT9_OLD 2>/dev/null`
			if [ "$UAG_PREFIX" = "" -o "$UAG_PREFIX" = "(none)" ] ; then
				UAG_PREFIX="/opt/CA"
			fi
			Get_Space UAG $UAG_PREFIX
			UAG_PROCED="YES"
		fi

		if [ $ORA9_OLD_INSTALLED -eq 1 ]; then
			ORA_PREFIX=`rpm -q --queryformat '%{installprefix}' $ORA9_OLD 2>/dev/null`
			if [ "$ORA_PREFIX" = "" -o "$ORA_PREFIX" = "(none)" ] ; then
				ORA_PREFIX="/opt/CA"
			fi
			Get_Space ORA $ORA_PREFIX
			ORA_PROCED="YES"
		fi

		if [ $APAGENT9_OLD_INSTALLED -eq 1 ]; then
			APA_PREFIX=`rpm -q --queryformat '%{installprefix}' $APAGENT9_OLD 2>/dev/null`
			if [ "$APA_PREFIX" = "" -o "$APA_PREFIX" = "(none)" ] ; then
				APA_PREFIX="/opt/CA"
			fi
			Get_Space APA $APA_PREFIX
			APA_PROCED="YES"
		fi
	
		if [ $MYSQL9_OLD_INSTALLED -eq 1 ]; then
			MYQ_PREFIX=`rpm -q --queryformat '%{installprefix}' $MYSQL9_OLD 2>/dev/null`
			if [ "$MYQ_PREFIX" = "" -o "$MYQ_PREFIX" = "(none)" ] ; then
				MYQ_PREFIX="/opt/CA"
			fi
			Get_Space MYQ $MYQ_PREFIX
			MYQ_PROCED="YES"
		fi

		if [ $INO9_OLD_INSTALLED -eq 1 ]; then
			INO_PREFIX=`rpm -q --queryformat '%{installprefix}' $INO9_OLD 2>/dev/null`
			if [ "$INO_PREFIX" = "" -o "$INO_PREFIX" = "(none)" ] ; then
				INO_PREFIX="/opt/CA"
			fi
			Get_Space INO $INO_PREFIX
			INO_PROCED="YES"
		fi
		if [ $SERVER_NEED_UPGRADE -eq 1 -o $SERVER_ALREADY_INSTALLED -eq 1 ]; then
			BASE_PROCED="YES"
		fi
		if [ $UAG_NEED_UPGRADE -eq 1 -o $UAG_ALREADY_INSTALLED -eq 1 ]; then
			UAG_PROCED="YES"
		fi
		if [ $ORA_NEED_UPGRADE -eq 1 -o $ORA_ALREADY_INSTALLED -eq 1 ]; then
			ORA_PROCED="YES"
		fi
		if [ $APA_NEED_UPGRADE -eq 1 -o $APA_ALREADY_INSTALLED -eq 1 ]; then
			APA_PROCED="YES"
		fi
		if [ $MYQ_NEED_UPGRADE -eq 1 -o $MYQ_ALREADY_INSTALLED -eq 1 ]; then
			MYQ_PROCED="YES"
		fi
		if [ $ING_NEED_UPGRADE -eq 1 -o $ING_ALREADY_INSTALLED -eq 1 ]; then
			ING_PROCED="YES"
		fi
		if [ $NOTES_NEED_UPGRADE -eq 1 -o $NOTES_ALREADY_INSTALLED -eq 1 ]; then
			NOTES_PROCED="YES"
		fi
		if [ $SAP_NEED_UPGRADE -eq 1 -o $SAP_ALREADY_INSTALLED -eq 1 ]; then
			SAP_PROCED="YES"
		fi
		if [ $HAR_NEED_UPGRADE -eq 1 -o $HAR_ALREADY_INSTALLED -eq 1 ]; then
			HAR_PROCED="YES"
		fi

		if [ $OES_NEED_UPGRADE -eq 1 -o $OES_ALREADY_INSTALLED -eq 1 ]; then
			OES_PROCED="YES"
		fi

		if [ $INO_NEED_UNINSTALL -eq 1 -o $INO_NEED_UPGRADE -eq 1 -o $INO_ALREADY_INSTALLED -eq 1 ]; then
			INO_PROCED="YES"
		fi

		if [ $EXEC_MODE -ne $SLNT_MODE ] ; then
			if [ "X${PACKAGES_SELECTED}" = "X" ]; then
				num=0
			else
				num=`echo $PACKAGES_SELECTED | awk -F, '{print NF}'`
			fi
			id=1
		      if [ $AGENTS_DIR -eq 1 ]; then
			while [ $id -le $num ]
			do
				install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
				case $install in
					1)
						if [ "X${UAG_PROCED}" != "XYES" ]; then
							install_path_prompt "Client Agent for Linux" "/opt/CA" 2
							Get_Space UAG $UAG_PREFIX
							UAG_PROCED="YES"
						fi
						;;
					2)
						if [ "X${ORA_PROCED}" != "XYES" ]; then
							install_path_prompt "Backup Agent for Oracle" "/opt/CA" 6
							Get_Space ORA $ORA_PREFIX
							ORA_PROCED="YES"
						fi
						;;
		                        *)
		                                ;;
				esac
				
				id=`expr $id + 1 `
			done
		      else
		        if [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ];then
			  while [ $id -le $num ]
			  do
				install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
				case $install in
					1)
						if [ "X${BASE_PROCED}" != "XYES" ]; then
							install_path_prompt "Server & Manager" "/opt/CA" 1
							Get_Space BASE $ARC_PREFIX
							BASE_PROCED="YES"
						fi
						if [ "X${UAG_PROCED}" != "XYES" ]; then
							install_path_prompt "Client Agent for Linux" "/opt/CA" 2
							Get_Space UAG $UAG_PREFIX
							UAG_PROCED="YES"
						fi
						;;
					2)
						if [ "X${UAG_PROCED}" != "XYES" ]; then
							install_path_prompt "Client Agent for Linux" "/opt/CA" 2
							Get_Space UAG $UAG_PREFIX
							UAG_PROCED="YES"
						fi
						;;
					3)
						Get_Space SAN $ARC_PREFIX
						;;
					4)
						Get_Space DRO $ARC_PREFIX
						;;
					5)
						Get_Space NAS $ARC_PREFIX
						;;
					6)
						if [ "X${ORA_PROCED}" != "XYES" ]; then
							install_path_prompt "Backup Agent for Oracle" "/opt/CA" 6
							Get_Space ORA $ORA_PREFIX
							ORA_PROCED="YES"
						fi
						;;
					7)
						if [ "X${APA_PROCED}" != "XYES" ]; then
							install_path_prompt "Backup Agent for Apache Web Server" "/opt/CA" 7
							Get_Space APA $APA_PREFIX
							APA_PROCED="YES"
						fi
						;;
					8)
						if [ "X${MYQ_PROCED}" != "XYES" ]; then
							install_path_prompt "Backup Agent for MySQL" "/opt/CA" 8
							Get_Space MYQ $MYQ_PREFIX
							MYQ_PROCED="YES"
						fi
						;;
					9)
						if [ "X${NOTES_PROCED}" != "XYES" ]; then
							install_path_prompt "Backup Agent for Lotus Domino" "/opt/CA" 9
							Get_Space NOT $NOTES_PREFIX
							NOTES_PROCED="YES"
						fi
						;;
					10)
						if [ "X${OES_PROCED}" != "XYES" ]; then
							install_path_prompt "Novell OES Agent for Linux" "/opt/CA" 15
                                                	Get_Space OES $OES_PREFIX
	                                                OES_PROCED="YES"
						fi
						;;
					11)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
						if [ "X${INO_PROCED}" != "XYES" ]; then
							install_path_prompt "Antivirus Engine" "/opt/CA" 12
							Get_Space INO $INO_PREFIX
							INO_PROCED="YES"
						fi
#elif [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xde" -o "X${NLS_LANG}" = "Xpt" ]; then
#                                                if [ "X${ING_PROCED}" != "XYES" ]; then
#                                                        install_path_prompt "Enterprise Option for Advantage Ingres" "/opt/CA" 11
#                                                        Get_Space ING $ING_PREFIX
#                                                        ING_PROCED="YES"
#                                                fi
else
						if [ "X${SAP_PROCED}" != "XYES" ]; then
							install_path_prompt "Enterprise Option for SAP R/3 for Oracle" "/opt/CA" 10
							Get_Space SAP $SAP_PREFIX
							SAP_PROCED="YES"
						fi
fi
						;;
#					11)
#						if [ "X${HAR_PROCED}" != "XYES" ]; then
#							install_path_prompt "Backup Agent for Harvest" "/opt/CA" 11
#							Get_Space HAR $HAR_PREFIX
#							HAR_PROCED="YES"
#						fi
#						;;
					12)
					 #if [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xde" -o "X${NLS_LANG}" = "Xpt" ]; then
                                         #       if [ "X${INO_PROCED}" != "XYES" ]; then
                                         #               install_path_prompt "Antivirus Engine" "/opt/CA" 12
                                         #               Get_Space INO $INO_PREFIX
                                         #               INO_PROCED="YES"
                                         #       fi
                                         #else
						if [ "X${ING_PROCED}" != "XYES" ]; then
							install_path_prompt "Enterprise Option for Advantage Ingres" "/opt/CA" 11
							Get_Space ING $ING_PREFIX
							ING_PROCED="YES"
						fi
					 #fi
						;;
					13)
						if [ "X${INO_PROCED}" != "XYES" ]; then
							install_path_prompt "Antivirus Engine" "/opt/CA" 12
							Get_Space INO $INO_PREFIX
							INO_PROCED="YES"
						fi
						;;
		                        *)
		                                ;;
				esac
				
				id=`expr $id + 1 `
			  done
			else
			  while [ $id -le $num ]
			  do
				install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
				case $install in
					1)
						if [ "X${BASE_PROCED}" != "XYES" ]; then
							install_path_prompt "Server & Manager" "/opt/CA" 1
							Get_Space BASE $ARC_PREFIX
							BASE_PROCED="YES"
						fi
						if [ "X${UAG_PROCED}" != "XYES" ]; then
							install_path_prompt "Client Agent for Linux" "/opt/CA" 2
							Get_Space UAG $UAG_PREFIX
							UAG_PROCED="YES"
						fi
						;;
					2)
						if [ "X${UAG_PROCED}" != "XYES" ]; then
							install_path_prompt "Client Agent for Linux" "/opt/CA" 2
							Get_Space UAG $UAG_PREFIX
							UAG_PROCED="YES"
						fi
						;;
					3)
						Get_Space SAN $ARC_PREFIX
						;;
					4)
						Get_Space NAS $ARC_PREFIX
						;;
					5)
						if [ "X${ORA_PROCED}" != "XYES" ]; then
							install_path_prompt "Backup Agent for Oracle" "/opt/CA" 6
							Get_Space ORA $ORA_PREFIX
							ORA_PROCED="YES"
						fi
						;;
					6)
						if [ "X${MYQ_PROCED}" != "XYES" ]; then
							install_path_prompt "Backup Agent for MySQL" "/opt/CA" 8
							Get_Space MYQ $MYQ_PREFIX
							MYQ_PROCED="YES"
						fi
						;;
					7)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
						:
#elif [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xpt" -o "X${NLS_LANG}" = "Xde" ]; then
#                                                if [ "X${ING_PROCED}" != "XYES" ]; then
#                                                        install_path_prompt "Enterprise Option for Advantage Ingres" "/opt/CA" 11
#                                                        Get_Space ING $ING_PREFIX
#                                                        ING_PROCED="YES"
#                                                fi
else
						if [ "X${SAP_PROCED}" != "XYES" ]; then
							install_path_prompt "Enterprise Option for SAP R/3 for Oracle" "/opt/CA" 10
							Get_Space SAP $SAP_PREFIX
							SAP_PROCED="YES"
						fi
fi
						;;
					8)
						if [ "X${ING_PROCED}" != "XYES" ]; then
							install_path_prompt "Enterprise Option for Advantage Ingres" "/opt/CA" 11
							Get_Space ING $ING_PREFIX
							ING_PROCED="YES"
						fi
						;;
		                        *)
		                                ;;
				esac
				
				id=`expr $id + 1 `
			  done
			fi
		      fi
		else
			if [ "$ARC_PREFIX" != "" ]; then
				THE_CHECK=`echo $ARC_PREFIX|awk '/^\// {print 1}'`
				if [ "$THE_CHECK" != "1" ]; then
					echo
					echo -e $INST_PATH_INVALID
					exit 10
				fi
			fi
			if [ "X${BASE_PROCED}" != "XYES" -a "X${SERVER_INSTALL}" = "XYES" ]; then
				Get_Space BASE $ARC_PREFIX
				BASE_PROCED="YES"
			fi
			if [ "X${UAG_PROCED}" != "XYES" -a "X${UAGENT_INSTALL}" = "XYES" ]; then
				Get_Space UAG $UAG_PREFIX
				UAG_PROCED="YES"
			fi
			if [ "X${ORA_PROCED}" != "XYES" -a "X${ORA8_INSTALL}" = "XYES" ]; then
				Get_Space ORA $ORA_PREFIX
				ORA_PROCED="YES"
			fi
			if [ "X${APA_PROCED}" != "XYES" -a "X${APACHE_INSTALL}" = "XYES" ]; then
				Get_Space APA $APA_PREFIX
				APA_PROCED="YES"
			fi
			if [ "X${MYQ_PROCED}" != "XYES" -a "X${MYSQL_INSTALL}" = "XYES" ]; then
				Get_Space MYQ $MYQ_PREFIX
				MYQ_PROCED="YES"
			fi
			if [ "X${ING_PROCED}" != "XYES" -a "X${ING_INSTALL}" = "XYES" ]; then
				Get_Space ING $ING_PREFIX
				ING_PROCED="YES"
			fi
			if [ "X${NOTES_PROCED}" != "XYES" -a "X${NOTES_INSTALL}" = "XYES" ]; then
				Get_Space NOT $NOTES_PREFIX
				NOTES_PROCED="YES"
			fi
			if [ "X${SAP_PROCED}" != "XYES" -a "X${SAP_INSTALL}" = "XYES" ]; then
				Get_Space SAP $SAP_PREFIX
				SAP_PROCED="YES"
			fi
			if [ "X${HAR_PROCED}" != "XYES" -a "X${HAR_INSTALL}" = "XYES" ]; then
				Get_Space HAR $HAR_PREFIX
				HAR_PROCED="YES"
			fi
			if [ "X${OES_PROCED}" != "XYES" -a "X${OES_INSTALL}" = "XYES" ]; then
				Get_Space OES $OES_PREFIX
				OES_PROCED="YES"
			fi
			if [ "X${INO_PROCED}" != "XYES" -a "X${AVENGINE_INSTALL}" = "XYES" ]; then
				Get_Space INO $INO_PREFIX
				INO_PROCED="YES"
			fi
		fi
	fi
	if [ $EXEC_MODE -ne $RESP_MODE ] ; then
		if [ $REALLOCAT_FLAG -eq 0 ]; then 
			if [ "$ARC_PREFIX" != "" -a "$ARC_PREFIX" != "/opt/CA" ] ; then
				ARC_RELOC="--prefix $ARC_PREFIX"
				NAS_RELOC="--prefix $ARC_PREFIX"
			else
				ARC_RELOC=
				NAS_RELOC=
			fi
			UAG_RELOC="--prefix $UAG_PREFIX"
			ORA_RELOC="--prefix $ORA_PREFIX"
			APA_RELOC="--prefix $APA_PREFIX"
			MYQ_RELOC="--prefix $MYQ_PREFIX"
			ING_RELOC="--prefix $ING_PREFIX"
			NOTES_RELOC="--prefix $NOTES_PREFIX"
			SAP_RELOC="--prefix $SAP_PREFIX"
			HAR_RELOC="--prefix $HAR_PREFIX"
			OES_RELOC="--prefix $OES_PREFIX"
			if [ "X${INO_PREFIX}" != "X" ]; then
			INO_RELOC="--prefix $INO_PREFIX"
			INO_PREFIX_TEMP="$INO_PREFIX"
			else
			INO_RELOC="--prefix $ARC_PREFIX"
			INO_PREFIX_TEMP="$ARC_PREFIX"
			fi
		else
			ARC_RELOC=
			UAG_RELOC=
			INO_RELOC=
			NAS_RELOC=
			ORA_RELOC=
			APA_RELOC=
			MYQ_RELOC=
			ING_RELOC=
			NOTES_RELOC=
			SAP_RELOC=
			HAR_RELOC=
			OES_RELOC=
		fi
	else
			ARC_RELOC="--prefix $ARC_PREFIX"
			NAS_RELOC="--prefix $ARC_PREFIX"
			UAG_RELOC="--prefix $UAG_PREFIX"
			ORA_RELOC="--prefix $ORA_PREFIX"
			APA_RELOC="--prefix $APA_PREFIX"
			MYQ_RELOC="--prefix $MYQ_PREFIX"
			ING_RELOC="--prefix $ING_PREFIX"
			NOTES_RELOC="--prefix $NOTES_PREFIX"
			SAP_RELOC="--prefix $SAP_PREFIX"
			HAR_RELOC="--prefix $HAR_PREFIX"
			OES_RELOC="--prefix $OES_PREFIX"
			if [ "X${INO_PREFIX}" != "X" ]; then
			INO_RELOC="--prefix $INO_PREFIX"
			INO_PREFIX_TEMP="$INO_PREFIX"
			else
			INO_RELOC="--prefix $ARC_PREFIX"
			INO_PREFIX_TEMP="$ARC_PREFIX"
			fi
	fi
	
	echo	
	BASE_PROCED="NO"
	UAG_PROCED="NO"
	APA_PROCED="NO"
	ORA_PROCED="NO"
	MYQ_PROCED="NO"
	DRO_PROCED="NO"
	NAS_PROCED="NO"
	SAN_PROCED="NO"
	ING_PROCED="NO"
	INO_PROCED="NO"
	NOTES_PROCED="NO"
	SAP_PROCED="NO"
	HAR_PROCED="NO"
	OES_PROCED="NO"
	if [ $AGENTS_DIR -eq 1 ]; then
		echo $INST_MSG_30
	else
		echo $INST_PACKAGES_SELECTED
	fi
	echo
	if [ $AS9SVR_OLD_INSTALLED -eq 1 -o $SERVER_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABsvr & BABmgr)==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_105 Server & Manager"
		if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" -a "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
			printf "  . %-50s (iGateway)       ==> [ /opt/CA/SharedComponents/iTechnology ]\n" "$INST_MSG_106 iGateway"
			printf "  . %-50s (iSponsor)       ==> [ /opt/CA/SharedComponents/iTechnology ]\n" "$INST_MSG_106 iSponsor"
		fi
		BASE_PROCED="YES"
	elif [ "X${SERVER_INSTALL}" = "XYES" ]; then
		if [ "X${BASE_PROCED}" != "XYES" ] ; then
			printf "  . %-50s (BABsvr & BABmgr)==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 Server & Manager"
		  if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" -a "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
			printf "  . %-50s (iGateway)       ==> [ /opt/CA/SharedComponents/iTechnology ]\n" "$INST_MSG_106 iGateway"
			printf "  . %-50s (iSponsor)       ==> [ /opt/CA/SharedComponents/iTechnology ]\n" "$INST_MSG_106 iSponsor"
		  fi
		fi
		if [ "X${UAG_PROCED}" != "XYES" ] ; then
			printf "  . %-50s (BABagntux)      ==> [ ${UAG_PREFIX:-/opt/CA}/BABuagent ]\n" "$INST_MSG_106 Client Agent for Linux"
			UAG_PROCED="YES"
		fi
	fi
	if [ "${UAG_PREFIX}" = "" -o "${UAG_PREFIX}" = "(none)" ]; then
		UAG_PREFIX=/opt/CA
	fi
	if [ $UAGENT9_OLD_INSTALLED -eq 1 -o $UAG_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABagntux)      ==> [ ${UAG_PREFIX:-/opt/CA}/BABuagent ]\n" "$INST_MSG_105 Client Agent for Linux"
		UAG_PROCED="YES"
	elif [ "X${UAGENT_INSTALL}" = "XYES" ]; then
		if [ "X${UAG_PROCED}" != "XYES" ] ; then
			printf "  . %-50s (BABagntux)      ==> [ ${UAG_PREFIX:-/opt/CA}/BABuagent ]\n" "$INST_MSG_106 Client Agent for Linux"
			UAG_PROCED="YES"
		fi
	fi

	if [ $DRO9_OLD_INSTALLED -eq 1 -o $DRO_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABdr)          ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_105 Disaster Recovery Option"
		DRO_PROCED="YES"
	elif [ "X${DRO_INSTALL}" = "XYES" ]; then
		if [ "X${DRO_PROCED}" != "XYES" ] ; then
                        printf "  . %-50s (BABdr)          ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 Disaster Recovery Option"
		fi
	fi
	if [ $SAN_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABsan)         ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_105 Storage Area Network (SAN) Option"
		SAN_PROCED="YES"
	elif [ "X${SAN_INSTALL}" = "XYES" ]; then
		if [ "X${SAN_PROCED}" != "XYES" ] ; then
                	printf "  . %-50s (BABsan)         ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 Storage Area Network (SAN) Option"
		fi
	fi
	if [ $NAS9_OLD_INSTALLED -eq 1 -o $NAS_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABnas)         ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_105 NDMP NAS Option"
		NAS_PROCED="YES"
	elif [ "X${NAS_INSTALL}" = "XYES" ]; then
		if [ "X${NAS_PROCED}" != "XYES" ] ; then
			printf "  . %-50s (BABnas)         ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 NDMP NAS Option"
		fi
	fi
	if [ $ORA9_OLD_INSTALLED -eq 1 -o $ORA_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABora)         ==> [ ${ORA_PREFIX:-/opt/CA}/BABoraagt ]\n" "$INST_MSG_105 Backup Agent for Oracle"
		ORA_PROCED="YES"
	elif [ "X${ORA8_INSTALL}" = "XYES" ]; then
		if [ "X${ORA_PROCED}" != "XYES" ] ; then
			printf "  . %-50s (BABora)         ==> [ ${ORA_PREFIX:-/opt/CA}/BABoraagt ]\n" "$INST_MSG_106 Backup Agent for Oracle"
		fi
	fi

	if [ $APAGENT9_OLD_INSTALLED -eq 1 -o $APA_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABapagent)     ==> [ ${APA_PREFIX:-/opt/CA}/BABapagent ]\n" "$INST_MSG_105 Backup Agent for Apache Web Server"
		APA_PROCED="YES"
	elif [ "X${APACHE_INSTALL}" = "XYES" ]; then
		if [ "X${APA_PROCED}" != "XYES" ] ; then
			printf "  . %-50s (BABapagent)     ==> [ ${APA_PREFIX:-/opt/CA}/BABapagent ]\n" "$INST_MSG_106 Backup Agent for Apache Web Server"
                fi
	fi

	if [ $MYSQL9_OLD_INSTALLED -eq 1 -o $MYQ_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABmysql)       ==> [ ${MYQ_PREFIX:-/opt/CA}/BABmysql ]\n" "$INST_MSG_105 Backup Agent for MySQL"
		MYQ_PROCED="YES"
	elif [ "X${MYSQL_INSTALL}" = "XYES" ]; then
		if [ "X${MYQ_PROCED}" != "XYES" ] ; then
			printf "  . %-50s (BABmysql)       ==> [ ${MYQ_PREFIX:-/opt/CA}/BABmysql ]\n" "$INST_MSG_106 Backup Agent for MySQL"
                fi
	fi
	if [ $ING_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABing)         ==> [ ${ING_PREFIX:-/opt/CA}/BABingagt ]\n" "$INST_MSG_105 Enterprise Option for Advantage Ingres"
		ING_PROCED="YES"
	elif [ "X${ING_INSTALL}" = "XYES" ]; then
		if [ "X${ING_PROCED}" != "XYES" ] ; then
                	printf "  . %-50s (BABing)         ==> [ ${ING_PREFIX:-/opt/CA}/BABingagt ]\n" "$INST_MSG_106 Enterprise Option for Advantage Ingres"
		fi
	fi
	if [ $NOTES_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABlotus)       ==> [ ${NOTES_PREFIX:-/opt/CA}/BABlotusagt ]\n" "$INST_MSG_105 Backup Agent for Lotus Domino"
		NOTES_PROCED="YES"
	elif [ "X${NOTES_INSTALL}" = "XYES" ]; then
		if [ "X${NOTES_PROCED}" != "XYES" ] ; then
                	printf "  . %-50s (BABlotus)       ==> [ ${NOTES_PREFIX:-/opt/CA}/BABlotusagt ]\n" "$INST_MSG_106 Backup Agent for Lotus Domino"
		fi
	fi
	if [ $SAP_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABsap)         ==> [ ${SAP_PREFIX:-/opt/CA}/BABsapagt ]\n" "$INST_MSG_105 Enterprise Option for SAP R/3 for Oracle"
		printf "  . %-50s (BABbaim)        ==> [ ${SAP_PREFIX:-/opt/CA}/BABsapagt ]\n" "$INST_MSG_105 Backup Agent Integration Module"
		SAP_PROCED="YES"
	elif [ "X${SAP_INSTALL}" = "XYES" ]; then
		if [ "X${SAP_PROCED}" != "XYES" ] ; then
                	printf "  . %-50s (BABsap)         ==> [ ${SAP_PREFIX:-/opt/CA}/BABsapagt ]\n" "$INST_MSG_106 Enterprise Option for SAP R/3 for Oracle"
                	printf "  . %-50s (BABbaim)        ==> [ ${SAP_PREFIX:-/opt/CA}/BABsapagt ]\n" "$INST_MSG_106 Backup Agent Integration Module"
		fi
	fi
	if [ $HAR_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABharagt)      ==> [ ${HAR_PREFIX:-/opt/CA}/BABharagt ]\n" "$INST_MSG_105 Backup Agent for Harvest"
		HAR_PROCED="YES"
	elif [ "X${HAR_INSTALL}" = "XYES" ]; then
		if [ "X${HAR_PROCED}" != "XYES" ] ; then
                	printf "  . %-50s (BABharagt)      ==> [ ${HAR_PREFIX:-/opt/CA}/BABharagt ]\n" "$INST_MSG_106 Backup Agent for Harvest"
		fi
	fi
	if [ $OES_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (BABoes)         ==> [ ${OES_PREFIX:-/opt/CA}/BABoesagt ]\n" "$INST_MSG_105 Backup Agent for Novell OES"
		OES_PROCED="YES"
	elif [ "X${OES_INSTALL}" = "XYES" ]; then
		if [ "X${OES_PROCED}" != "XYES" ] ; then
                	printf "  . %-50s (BABoes)         ==> [ ${OES_PREFIX:-/opt/CA}/BABoesagt ]\n" "$INST_MSG_106 Backup Agent for Novell OES"
		fi
	fi
	
	if [ $INO_NEED_UNINSTALL -eq 1 ];then
		printf "  . %-50s (AVEngine)       \n" "$INST_MSG_141 Antivirus Engine"
		INO_PROCED="YES"
	elif [ $INO9_OLD_INSTALLED -eq 1 -o $INO_NEED_UPGRADE -eq 1 ]; then
		printf "  . %-50s (AVEngine)       ==> [ ${INO_PREFIX_TEMP:-/opt/CA}/AVEngine ]\n" "$INST_MSG_105 Antivirus Engine"		
		INO_PROCED="YES"
	elif [ "X${AVENGINE_INSTALL}" = "XYES" ]; then
		if [ "X${INO_PROCED}" != "XYES" ] ; then
			printf "  . %-50s (AVEngine)       ==> [ ${INO_PREFIX_TEMP:-/opt/CA}/AVEngine ]\n" "$INST_MSG_106 Antivirus Engine"
                fi
	fi
	if [ "X${PACKAGES_SELECTED}" = "X" ]; then
		num=0
	else
		num=`echo $PACKAGES_SELECTED | awk -F, '{print NF}'`
	fi
	id=1
      if [ $AGENTS_DIR -eq 1 ]; then
	while [ $id -le $num ]
	do
		install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
		case $install in
			1)
				if [ "X${UAG_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABagntux)      ==> [ ${UAG_PREFIX:-/opt/CA}/BABuagent ]\n" "$INST_MSG_106 Client Agent for Linux"
					UAG_PROCED="YES"
				fi
				;;
			2)
				if [ "X${ORA_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABora)         ==> [ ${ORA_PREFIX:-/opt/CA}/BABoraagt ]\n" "$INST_MSG_106 Backup Agent for Oracle"
				fi
				;;
		esac
		
		id=`expr $id + 1 `
	done
      else
        if [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
	  while [ $id -le $num ]
	  do
		install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
		case $install in
			1)
				if [ "X${BASE_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABsvr & BABmgr)==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 Server & Manager"
				  if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" -a "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
					printf "  . %-50s (iGateway)       ==> [ /opt/CA/SharedComponents/iTechnology ]\n" "$INST_MSG_106 iGateway"
					printf "  . %-50s (iSponsor)       ==> [ /opt/CA/SharedComponents/iTechnology ]\n" "$INST_MSG_106 iSponsor"
				  fi
				fi
				if [ "X${UAG_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABagntux)      ==> [ ${UAG_PREFIX:-/opt/CA}/BABuagent ]\n" "$INST_MSG_106 Client Agent for Linux"
					UAG_PROCED="YES"
				fi
				;;
			2)
				if [ "X${UAG_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABagntux)      ==> [ ${UAG_PREFIX:-/opt/CA}/BABuagent ]\n" "$INST_MSG_106 Client Agent for Linux"
					UAG_PROCED="YES"
				fi
				;;
			3)
				if [ "X${SAN_PROCED}" != "XYES" ] ; then
                                	printf "  . %-50s (BABsan)         ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 Storage Area Network (SAN) Option"
				fi
				;;
			4)
				if [ "X${DRO_PROCED}" != "XYES" ] ; then
	                                printf "  . %-50s (BABdr)          ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 Disaster Recovery Option"
				fi
				;;
			5)
				if [ "X${NAS_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABnas)         ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 NDMP NAS Option"
				fi
				;;
			6)
				if [ "X${ORA_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABora)         ==> [ ${ORA_PREFIX:-/opt/CA}/BABoraagt ]\n" "$INST_MSG_106 Backup Agent for Oracle"
				fi
				;;
                        7)
				if [ "X${APA_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABapagent)     ==> [ ${APA_PREFIX:-/opt/CA}/BABapagent ]\n" "$INST_MSG_106 Backup Agent for Apache Web Server"
                                fi
                                ;;
                        8)
				if [ "X${MYQ_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABmysql)       ==> [ ${MYQ_PREFIX:-/opt/CA}/BABmysql ]\n" "$INST_MSG_106 Backup Agent for MySQL"
                                fi
                                ;;
                        9)
				if [ "X${NOTES_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABlotus)       ==> [ ${NOTES_PREFIX:-/opt/CA}/BABlotusagt ]\n" "$INST_MSG_106 Backup Agent for Lotus Domino"
                                fi
                                ;;
                        10)
				if [ "X${OES_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABoes)         ==> [ ${OES_PREFIX:-/opt/CA}/BABoesagt ]\n" "$INST_MSG_106 Novell OES Agent for Linux"
					OES_PROCED="YES"
				fi
				;;
                        11)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
				if [ "X${INO_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (AVEngine)       ==> [ ${INO_PREFIX_TEMP:-/opt/CA}/AVEngine ]\n" "$INST_MSG_106 Antivirus Engine"
                                fi
#elif [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xpt" -o "X${NLS_LANG}" = "Xde" ]; then
#	                        if [ "X${ING_PROCED}" != "XYES" ] ; then
#                                        printf "  . %-50s (BABing)         ==> [ ${ING_PREFIX:-/opt/CA}/BABingagt ]\n" "$INST_MSG_106 Enterprise Option for Advantage Ingres"
#                                fi

	
else
				if [ "X${SAP_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABsap)         ==> [ ${SAP_PREFIX:-/opt/CA}/BABsapagt ]\n" "$INST_MSG_106 Enterprise Option for SAP R/3 for Oracle"
					printf "  . %-50s (BABbaim)        ==> [ ${SAP_PREFIX:-/opt/CA}/BABsapagt ]\n" "$INST_MSG_106 Backup Agent Integration Module"
                                fi
fi
                                ;;
#                        11)
#				if [ "X${HAR_PROCED}" != "XYES" ] ; then
#					printf "  . %-50s (BABharagt)      ==> [ ${HAR_PREFIX:-/opt/CA}/BABharagt ]\n" "$INST_MSG_106 Backup Agent for Harvest"
#                                fi
#                                ;;
                        12)
#if [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xpt" -o "X${NLS_LANG}" = "Xde" ]; then
#                                if [ "X${INO_PROCED}" != "XYES" ] ; then
#				        printf "  . %-50s (AVEngine)       ==> [ ${INO_PREFIX_TEMP:-/opt/CA}/AVEngine ]\n" "$INST_MSG_106 Antivirus Engine"
#				fi
#else
				if [ "X${ING_PROCED}" != "XYES" ] ; then
                                	printf "  . %-50s (BABing)         ==> [ ${ING_PREFIX:-/opt/CA}/BABingagt ]\n" "$INST_MSG_106 Enterprise Option for Advantage Ingres"
				fi
#fi
                                ;;
                        13)
				if [ "X${INO_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (AVEngine)       ==> [ ${INO_PREFIX_TEMP:-/opt/CA}/AVEngine ]\n" "$INST_MSG_106 Antivirus Engine"
                                fi
                                ;;
		esac
		
		id=`expr $id + 1 `
	  done
	else
	  while [ $id -le $num ]
	  do
		install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
		case $install in
			1)
				if [ "X${BASE_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABsvr & BABmgr)==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 Server & Manager"
				  if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" -a "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
					printf "  . %-50s (iGateway)       ==> [ /opt/CA/SharedComponents/iTechnology ]\n" "$INST_MSG_106 iGateway"
					printf "  . %-50s (iSponsor)       ==> [ /opt/CA/SharedComponents/iTechnology ]\n" "$INST_MSG_106 iSponsor"
				  fi
				fi
				if [ "X${UAG_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABagntux)      ==> [ ${UAG_PREFIX:-/opt/CA}/BABuagent ]\n" "$INST_MSG_106 Client Agent for Linux"
					UAG_PROCED="YES"
				fi
				;;
			2)
				if [ "X${UAG_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABagntux)      ==> [ ${UAG_PREFIX:-/opt/CA}/BABuagent ]\n" "$INST_MSG_106 Client Agent for Linux"
					UAG_PROCED="YES"
				fi
				;;
			3)
				if [ "X${SAN_PROCED}" != "XYES" ] ; then
                                	printf "  . %-50s (BABsan)         ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 Storage Area Network (SAN) Option"
				fi
				;;
			4)
				if [ "X${NAS_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABnas)         ==> [ ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve ]\n" "$INST_MSG_106 NDMP NAS Option"
				fi
				;;
			5)
				if [ "X${ORA_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABora)         ==> [ ${ORA_PREFIX:-/opt/CA}/BABoraagt ]\n" "$INST_MSG_106 Backup Agent for Oracle"
				fi
				;;
                        6)
				if [ "X${MYQ_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABmysql)       ==> [ ${MYQ_PREFIX:-/opt/CA}/BABmysql ]\n" "$INST_MSG_106 Backup Agent for MySQL"
                                fi
                                ;;
                        7)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
				:
#elif [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xpt" -o "X${NLS_LANG}" = "Xde" ]; then
#	                        if [ "X${ING_PROCED}" != "XYES" ] ; then
#                                	printf "  . %-50s (BABing)         ==> [ ${ING_PREFIX:-/opt/CA}/BABingagt ]\n" "$INST_MSG_106 Enterprise Option for Advantage Ingres"
#				fi
	
else
				if [ "X${SAP_PROCED}" != "XYES" ] ; then
					printf "  . %-50s (BABsap)         ==> [ ${SAP_PREFIX:-/opt/CA}/BABsapagt ]\n" "$INST_MSG_106 Enterprise Option for SAP R/3 for Oracle"
					printf "  . %-50s (BABbaim)        ==> [ ${SAP_PREFIX:-/opt/CA}/BABsapagt ]\n" "$INST_MSG_106 Backup Agent Integration Module"
                                fi
fi
                                ;;
                        8)
				if [ "X${ING_PROCED}" != "XYES" ] ; then
                                	printf "  . %-50s (BABing)         ==> [ ${ING_PREFIX:-/opt/CA}/BABingagt ]\n" "$INST_MSG_106 Enterprise Option for Advantage Ingres"
				fi
                                ;;
		esac
		
		id=`expr $id + 1 `
	  done
	fi
      fi
}

select_pkg_linux_init()
{
        BASE_space=250 
        NAS_space=4 
        SAN_space=4 
        DRO_space=1 
        APA_space=5 
        UAG_space=15 
        ORA_space=10 
        MYS_space=10 
        INO_space=10 
        ING_space=10 
	AVENGINE_SEL_INSTALL=0
	AS9SVR_SEL_INSTALL=0
	AS9MGR_SEL_INSTALL=0
	NASAGENT_SEL_INSTALL=0
	UAGENT_SEL_INSTALL=0
	ORAAGENT_SEL_INSTALL=0
	APAGENT_SEL_INSTALL=0
	MYSQLAGENT_SEL_INSTALL=0
	SANOPTION_SEL_INSTALL=0
	DROOPTION_SEL_INSTALL=0
	INGAGENT_SEL_INSTALL=0
	NOTESAGENT_SEL_INSTALL=0
	SAPAGENT_SEL_INSTALL=0
	HARAGENT_SEL_INSTALL=0
	OESAGENT_SEL_INSTALL=0
	INSTALL_DOCUMENT=0
	BEB_CMG_REQUESTED=0
	AS9SVR_SUCCEED_INSTALL=0
	NASAGENT_SUCCEED_INSTALL=0
	UAGENT_SUCCEED_INSTALL=0
	ORAAGENT_SUCCEED_INSTALL=0
	APAGENT_SUCCEED_INSTALL=0
	MYSQLAGENT_SUCCEED_INSTALL=0
	SANOPTION_SUCCEED_INSTALL=0
	DROOPTION_SUCCEED_INSTALL=0
	INGAGENT_SUCCEED_INSTALL=0
	NOTESAGENT_SUCCEED_INSTALL=0
	SAPAGENT_SUCCEED_INSTALL=0
	HARAGENT_SUCCEED_INSTALL=0
	OESAGENT_SUCCEED_INSTALL=0
}
	
Setup_Portal()
{
echo
echo "${INST_MSG_135}"
echo "${INST_MSG_136}"
getyn "${INST_MSG_137}" 1
if [ $? -eq 1 ]; then
	echo
	echo "${INST_MSG_31}"
	echo "${INST_MSG_32}"
	while [ 1 -eq 1 ]
	do
		echo
		getyn "${INST_MSG_33}" 0
		if [ $? -eq 1 ]; then
		  	echo -e "${INST_MSG_34} \c"
		  	read Portal_Server_Name
			echo "${INST_MSG_36} $Portal_Server_Name"
			getyn "${INST_MSG_35}" 0
			if [ $? -eq 1 ]; then
			  break
			fi
		else
			  break
		fi
	done
	Portal_Install="YES"
else
	Portal_Install="NO"
fi
}

Check_name () {
  inputname=$1
  echo "${inputname}"|grep '[ $\\]' >/dev/null 2>&1
  if [ $? -ne 0 ]; then
     return 0
  else
     echo ""
     printf "${INST_MSG_104}"
     echo ""
     return 1
  fi
}
Setup_License_Path()
{
	REALLOCAT_FLAG=0
	MY_RPM_VER=$(version_installed rpm)
	rtn=$(version_compare $MY_RPM_VER "4.1")
	if [ $rtn -eq 0 ]
	then
		REALLOCAT_FLAG=1	
	fi
	
	rtn=$(version_compare $MY_RPM_VER "4.0.2")
	if [ $rtn -eq 0 ]
	then
		REALLOCAT_FLAG=1
	fi


  if [ $EXEC_MODE -ne $SLNT_MODE -a $EXEC_MODE -ne $SDO_MODE ]; then
    # if CASHCOMP is not set, read CASHCOMP value from /etc/profile.CA
    if [ "$CASHCOMP" = "" ]; then
      if [ -f /etc/profile.CA ]; then
        . /etc/profile.CA
      fi
      if [ "${CASHCOMP}" = "" ];then
        if [ "${CALIB}" != "" -a -d "${CALIB}" ];then
          CASHCOMP="`dirname ${CALIB}`"
        elif [ "${CABIN}" != "" -a -d "${CABIN}" ];then
          CASHCOMP="`dirname ${CABIN}`"
        fi
      fi
    fi
    if [ "$CASHCOMP" = "" ]; then
      CASHCOMP=/opt/CA/SharedComponents
     	if [ $REALLOCAT_FLAG -eq 0 ]; then	 
		 while [ 1 -eq 1 ]
	      	do
	        	echo
	        	echo "${INST_MSG_112}"
	        	getyn "${INST_MSG_37}" 0
	        	if [ $? -eq 1 ]; then
	          		echo -e "${INST_MSG_38} \c"
	          		read License_Path
	          		Check_name "${License_Path}" || continue
	         		echo "${INST_MSG_36} $License_Path"
	          		getyn "${INST_MSG_35}" 0
	          		if [ $? -eq 1 ]; then
	            			CASHCOMP=$License_Path
			            	break
	          		fi
	        		else
	          			break
	        		fi
	      	done
	fi
          fi
  fi
}

Setup_Doc_Install()
{
	echo
	echo -e $INST_DOC_PROMPT
	echo
	echo -e $INST_GET_DOC_FLAG
	read ANS
        if [ "X${ANS}" == "X" ]; then
      	  ANS="y"
        fi
	case $ANS in
		y|Y|yes|YES)
			INSTALL_DOC="YES"
			;;
		n|N|no|NO)
			;;
		*)
			echo $INST_PROVIDE_INPUT
			echo
			GET_INSTALL_FLAG_YN
			;;
	esac
}

Update_Profile_Mandrake()
{
FILE=/root/.bashrc
OLD_PATH=`grep "^PATH" $FILE | cut -d"=" -f2`
HAVE_PATH=`echo $OLD_PATH | grep '$PATH'`
if [ "$HAVE_PATH" = "" ]; then
  cp $FILE $FILE.old >/dev/null 2>&1
  sed -e "s%^PATH.*%PATH=$OLD_PATH:\$PATH%" $FILE > $FILE.$$
  cp $FILE.$$ $FILE >/dev/null 2>&1
  rm -f $FILE.$$ >/dev/null 2>&1
fi
}

Setup_Profile_Mandrake()
{
	echo
	echo -e $INST_MSG_143
	echo -e $INST_MSG_144
	echo -e $INST_MSG_145
	echo
	echo -e $INST_GET_DOC_FLAG
	read ANS
        if [ "X${ANS}" == "X" ]; then
      	  ANS="y"
        fi
	case $ANS in
	  y|Y|yes|YES)
		SETUP_PROFILE_MANDRAKE="YES"
		;;
	  n|N|no|NO)
		;;
	  *)
		SETUP_PROFILE_MANDRAKE="YES"
		;;
	esac
}

install_path_prompt()
{
	INSTALL_PATH_VALID=0
	while [ $INSTALL_PATH_VALID -eq 0 ]
	do
		INSTALL_PATH_VALID=1	
		printf "$INST_PATH_PROMPT" "$1" "$2"
		read ANS
		if [ "$ANS" != "" ]; then
			THE_CHECK=`echo $ANS|awk '/^\// {print 1}'`
			if [ "$THE_CHECK" != "1" ]; then
				echo
				echo -e $INST_PATH_INVALID
				INSTALL_PATH_VALID=0
			else
				spe_flag=0
				echo "$ANS" |grep '\$' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
				echo "$ANS" |grep '\@' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
				echo "$ANS" |grep '\!' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
				echo "$ANS" |grep '\^' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
				echo "$ANS" |grep '\&' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
				echo "$ANS" |grep '\*' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
				echo "$ANS" |grep '\#' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
				echo "$ANS" |grep '\?' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
				echo "$ANS" |grep '\%' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
				echo "$ANS" |grep '\ ' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
#				echo "$ANS" |grep '\'' >/dev/null 2>&1
#				if [ $? -eq 0 ]; then
#					spe_flag=1
#				fi
				echo "$ANS" |grep '\"' >/dev/null 2>&1
				if [ $? -eq 0 ]; then
					spe_flag=1
				fi
	                   if [ $spe_flag -ne 0 ]; then
		                echo "${INST_MSG_104}"
				INSTALL_PATH_VALID=0
			   else
				if [ $3 -eq 1 ] ; then
					ARC_PREFIX=${ANS}
				elif [ $3 -eq 2 ] ; then
					UAG_PREFIX=${ANS}
				elif [ $3 -eq 6 ] ; then
					ORA_PREFIX=${ANS}
				elif [ $3 -eq 7 ] ; then
					APA_PREFIX=${ANS}
				elif [ $3 -eq 8 ] ; then
					MYQ_PREFIX=${ANS}
				elif [ $3 -eq 9 ] ; then
					NOTES_PREFIX=${ANS}
				elif [ $3 -eq 10 ] ; then
					SAP_PREFIX=${ANS}
#				elif [ $3 -eq 11 ] ; then
#					HAR_PREFIX=${ANS}
				elif [ $3 -eq 11 ] ; then
					ING_PREFIX=${ANS}
				elif [ $3 -eq 12 ] ; then
					INO_PREFIX=${ANS}
				elif [ $3 -eq 15 ] ; then
					OES_PREFIX=${ANS}
				fi
	                   fi
			fi
		else
				if [ $3 -eq 1 ] ; then
					ARC_PREFIX=$2
				elif [ $3 -eq 2 ] ; then
					UAG_PREFIX=$2
				elif [ $3 -eq 6 ] ; then
					ORA_PREFIX=$2
				elif [ $3 -eq 7 ] ; then
					APA_PREFIX=$2
				elif [ $3 -eq 8 ] ; then
					MYQ_PREFIX=$2
				elif [ $3 -eq 9 ] ; then
					NOTES_PREFIX=$2
				elif [ $3 -eq 10 ] ; then
					SAP_PREFIX=$2
#				elif [ $3 -eq 11 ] ; then
#					HAR_PREFIX=$2
				elif [ $3 -eq 11 ] ; then
					ING_PREFIX=$2
				elif [ $3 -eq 12 ] ; then
					INO_PREFIX=$2
				elif [ $3 -eq 15 ] ; then
					OES_PREFIX=$2
				fi
		fi
	done
}
select_pkg_linux_1()
{
	select_pkg_linux_init
	installation_select
	
	yorn_err=1
	while [ "$yorn_err" != "0" ]
	do
		echo
		yorn_err=0
		echo -e $INST_ARE_YOU_SURE
		read yorn
		
		case $yorn in
			Y|y|Yes|yes)
				;;
			N|n|No|no)
				select_pkg_linux_1
				;;
			Q|q|Quit|quit)
				echo $INST_EXIT
				exit 1
				;;
			*)
				yorn_err=1
				echo $INST_INVALID_CHOICE
				;;
		esac
	done
}
	
select_pkg_linux()
{
	verify_rpm
	if [ $EXEC_MODE -ne $SLNT_MODE ]; then
		select_pkg_linux_1
		if [ "X${PACKAGES_SELECTED}" = "X" ]; then
			num=0
		else
			num=`echo $PACKAGES_SELECTED | awk -F, '{print NF}'`
		fi
		if [ $INO9_OLD_INSTALLED -eq 1 -o $INO_NEED_UPGRADE -eq 1 ];then
			if [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ] ;then
				AVENGINE_SEL_INSTALL=1
			fi
		fi
		
		if [ $AS9SVR_OLD_INSTALLED -eq 1 -o $SERVER_NEED_UPGRADE -eq 1 ];then
			AS9SVR_SEL_INSTALL=1 
			AS9MGR_SEL_INSTALL=1
			UAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi		
	
		if [ $UAGENT9_OLD_INSTALLED -eq 1 -o $UAG_NEED_UPGRADE -eq 1 ];then
			UAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
	
		if [ $ORA9_OLD_INSTALLED -eq 1 -o $ORA_NEED_UPGRADE -eq 1 ];then
			ORAAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
	
		if [ $DRO9_OLD_INSTALLED -eq 1 -o $DRO_NEED_UPGRADE -eq 1 ];then
                        DROOPTION_SEL_INSTALL=1
		fi
		if [ $SAN_NEED_UPGRADE -eq 1 ];then
                        SANOPTION_SEL_INSTALL=1
		fi
		
		if [ $NAS9_OLD_INSTALLED -eq 1 -o $NAS_NEED_UPGRADE -eq 1 ];then
			NASAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
		
		if [ $APAGENT9_OLD_INSTALLED -eq 1 -o $APA_NEED_UPGRADE -eq 1 ];then
			APAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
		
		if [ $MYSQL9_OLD_INSTALLED -eq 1 -o $MYQ_NEED_UPGRADE -eq 1 ];then
			MYSQLAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
		if [ $CAAGENT_NEED_UPGRADE -eq 1 ]; then
			BEB_CMG_REQUESTED=1
		fi
		if [ $ING_NEED_UPGRADE -eq 1 ]; then
                        INGAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
		if [ $NOTES_NEED_UPGRADE -eq 1 ]; then
                        NOTESAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
		if [ $SAP_NEED_UPGRADE -eq 1 ]; then
                        SAPAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
		if [ $HAR_NEED_UPGRADE -eq 1 ]; then
                        HARAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
		if [ $OES_NEED_UPGRADE -eq 1 ]; then
                        OESAGENT_SEL_INSTALL=1
			BEB_CMG_REQUESTED=1
		fi
		id=1
	      if [ $AGENTS_DIR -eq 1 ]; then
		while [ $id -le $num ]
		do
			install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
			case $install in
				1)
					UAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					;;
				2)
					ORAAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					;;
			esac
			
			id=`expr $id + 1 `
		done
	      else
	        if [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
		  while [ $id -le $num ]
		  do
			install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
			case $install in
				0)
					echo -e $INST_NOTHING_SELECTED
					echo -e $INST_EXIT
					exit 1
					;; 
				1)
					AS9SVR_SEL_INSTALL=1 
					AS9MGR_SEL_INSTALL=1
					UAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" ]; then
						AVENGINE_SEL_INSTALL=1
					fi
					;;
				2)
					UAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					;;
				3)
	                                SANOPTION_SEL_INSTALL=1
					;;
				4)
	                                DROOPTION_SEL_INSTALL=1
					;;
				5)
					NASAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					;;
				6)
					ORAAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					;;
	                        7)
					APAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
	                                ;;
	                        8)
					MYSQLAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
	                                ;;
	                        9)
					NOTESAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
	                                ;;
	                        10)
	                                OESAGENT_SEL_INSTALL=1
	                                BEB_CMG_REQUESTED=1
	                                ;;
	                        11)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
					AVENGINE_SEL_INSTALL=1
#elif [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xpt" -o "X${NLS_LANG}" = "Xde" ]; then
#	                                INGAGENT_SEL_INSTALL=1
#					BEB_CMG_REQUESTED=1
else
					SAPAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
fi
	                                ;;
#	                        11)
#					HARAGENT_SEL_INSTALL=1
#					BEB_CMG_REQUESTED=1
#	                                ;;
	                        12)
#if [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xpt" -o "X${NLS_LANG}" = "Xde" ]; then
#                                        AVENGINE_SEL_INSTALL=1
#else
	                                INGAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
#fi
					;;
	                        13)
					AVENGINE_SEL_INSTALL=1
	                                ;;
			esac
			
			id=`expr $id + 1 `
		  done
		else
		  while [ $id -le $num ]
		  do
			install=`echo $PACKAGES_SELECTED | cut -d',' -f$id`
			case $install in
				0)
					echo -e $INST_NOTHING_SELECTED
					echo -e $INST_EXIT
					exit 1
					;; 
				1)
					AS9SVR_SEL_INSTALL=1 
					AS9MGR_SEL_INSTALL=1
					UAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					;;
				2)
					UAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					;;
				3)
	                                SANOPTION_SEL_INSTALL=1
					;;
				4)
					NASAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					;;
				5)
					ORAAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
					;;
	                        6)
					MYSQLAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
	                                ;;
	                        7)
if [ "X${NLS_LANG}" = "Xsc" -o "X${NLS_LANG}" = "Xtc" -o "X${NLS_LANG}" = "Xja_euc" -o "X${NLS_LANG}" = "Xja_sjis" -o "X${NLS_LANG}" = "Xja" ]; then
					:
#elif [ "X${NLS_LANG}" = "Xsp" -o "X${NLS_LANG}" = "Xit" -o "X${NLS_LANG}" = "Xfr" -o "X${NLS_LANG}" = "Xpt" -o "X${NLS_LANG}" = "Xde" ]; then
#	                                INGAGENT_SEL_INSTALL=1
#					BEB_CMG_REQUESTED=1
else
					SAPAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
fi
	                                ;;
	                        8)
	                                INGAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
	                                ;;
			esac
			
			id=`expr $id + 1 `
		  done
		fi
	      fi
	
	else
		select_pkg_linux_init
		installation_select
		if [ "${SERVER_INSTALL}" = "YES" -o $SERVER_NEED_UPGRADE -eq 1 -o $AS9SVR_OLD_INSTALLED -eq 1 ]; then
					AS9SVR_SEL_INSTALL=1 
					AS9MGR_SEL_INSTALL=1
					UAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${UAGENT_INSTALL}" = "YES" -o $UAG_NEED_UPGRADE -eq 1 -o $UAGENT9_OLD_INSTALLED -eq 1 ]; then
					UAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${SAN_INSTALL}" = "YES" -o $SAN_NEED_UPGRADE -eq 1 ]; then
	                                SANOPTION_SEL_INSTALL=1
		fi
		if [ "${DRO_INSTALL}" = "YES" -o $DRO_NEED_UPGRADE -eq 1 -o $DRO9_OLD_INSTALLED -eq 1 ]; then
	                                DROOPTION_SEL_INSTALL=1
		fi
		if [ "${NAS_INSTALL}" = "YES" -o $NAS_NEED_UPGRADE -eq 1 -o $NAS9_OLD_INSTALLED -eq 1 ]; then
					NASAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${ORA8_INSTALL}" = "YES" -o $ORA_NEED_UPGRADE -eq 1 -o $ORA9_OLD_INSTALLED -eq 1 ]; then
					ORAAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${APACHE_INSTALL}" = "YES" -o $APA_NEED_UPGRADE -eq 1 -o $APAGENT9_OLD_INSTALLED -eq 1 ]; then
					APAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${MYSQL_INSTALL}" = "YES" -o $MYQ_NEED_UPGRADE -eq 1 -o $MYSQL9_OLD_INSTALLED -eq 1 ]; then
					MYSQLAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${ING_INSTALL}" = "YES" -o $ING_NEED_UPGRADE -eq 1 ]; then
	                                INGAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${NOTES_INSTALL}" = "YES" -o $NOTES_NEED_UPGRADE -eq 1 ]; then
	                                NOTESAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${SAP_INSTALL}" = "YES" -o $SAP_NEED_UPGRADE -eq 1 ]; then
	                                SAPAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${HAR_INSTALL}" = "YES" -o $HAR_NEED_UPGRADE -eq 1 ]; then
	                                HARAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${OES_INSTALL}" = "YES" -o $OES_NEED_UPGRADE -eq 1 ]; then
	                                OESAGENT_SEL_INSTALL=1
					BEB_CMG_REQUESTED=1
		fi
		if [ "${AVENGINE_INSTALL}" = "YES" -o $INO_NEED_UPGRADE -eq 1 -o $INO9_OLD_INSTALLED -eq 1 ]; then
			if [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ] ;then
				AVENGINE_SEL_INSTALL=1
			fi
		fi
	fi
	rpm -q BABcmagt >/dev/null 2>&1
	if [ $? -ne 0 ] ; then
	 	if [ ${BEB_CMG_REQUESTED} -eq 1 ]
		then
		        check_libstdcpp
		        #Configure automatic startup shutdown
		        cfgAgtStrtStop
		fi
	else
	 	if [ ${BEB_CMG_REQUESTED} -eq 1 -a $EXEC_MODE -eq $RESP_MODE ]
		then
		        #Configure automatic startup shutdown
		        cfgAgtStrtStop
		fi
	fi
        if [ ${AS9SVR_SEL_INSTALL} -eq 1 -a $EXEC_MODE -ne $SLNT_MODE ]; then
	  if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x"  -a "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
      		Setup_Portal
    	  fi
      		Setup_Doc_Install
      		if [ "$LINUX_DIST" = "MandrakeSoft" ]; then
      		  Setup_Profile_Mandrake
      		fi
    	fi
	if [ $EXEC_MODE -eq $RESP_MODE ] ; then
		create_response_file
		if [ $? -ne 0 ]; then
			printf "$INST_MSG_26" "$RESPONSE_FILE"
			exit 1
		else
			printf "$INST_MSG_22" "$RESPONSE_FILE"
			exit 0
		fi
	fi
	if [ $EXEC_MODE -ne $RESP_MODE ]; then
		rpm -q BABsvr >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
			if [ $AS9MGR_SEL_INSTALL -eq 1 ]; then
				check_apache_version
			fi
			if [ $AS9SVR_SEL_INSTALL -eq 1 ]; then
				check_libstdcpp
			fi
		fi
		
		rpm -q BABapagent >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
			if [ $APAGENT_SEL_INSTALL -eq 1 ]; then
				check_apache_version
			fi
		fi
		rpm -q AVEngine >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
			if [ $AVENGINE_SEL_INSTALL -eq 1 ]; then
				check_libstdcpp
			fi
		fi
		
	fi
	Verify_Space

	if [ $OESAGENT_SEL_INSTALL -eq 1 ]; then
		create_group
	fi
}

install_server_product()
{
	BASE_INSTALLED_MSG=""
	rpm -q BABsvr >/dev/null 2>&1
	if [ $? -ne 0 -o $SERVER_NEED_UPGRADE -eq 1 ] ; then
		install_calicense_product
		if [ $AS9SVR_OLD_INSTALLED -ne 0 -o $SERVER_NEED_UPGRADE -eq 1 ];then
                	echo -e "    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_96} ]\c"
		fi
                startDial &
                # On Novell OES linux, we create bab group here, rather than in rpm preinstall stage
                # Because the RPMs will not be rebuilt in BAB r11.5 SP1.
                [ -S /etc/.nam_nss_sock ] && groupadd bab >/dev/null 2>&1

                if [ $SERVER_NEED_UPGRADE -eq 1 ];then
	                cd $DEPOT/$ARC_DEPOT && rpm -i --ignoresize $RPM_FORCE_FLAG --noscripts $ARC_RELOC $AS6SVR $AS6MGR >/dev/null 2>&1
                fi
                cd $DEPOT/$ARC_DEPOT && rpm -i --ignoresize $RPM_FORCE_FLAG $ARC_RELOC $AS6SVR $AS6MGR >${TMPFILENAME} 2>&1
		install_status=$?
		if [ $install_status -eq 0 ]; then
			AS9SVR_SUCCEED_INSTALL=1
			SERVER_INSTALLED_MSG="YES"
			if [ ! -f ${INSTALL_README} ]; then
				cp ${DEPOT}/readme.txt ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve > /dev/null 2>&1
			else
				cp ${INSTALL_README} ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/readme.txt > /dev/null 2>&1
			fi
			if [ ! -f ${INSTALL_README_HTML} ]; then
				cp ${DEPOT}/readme.html ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve > /dev/null 2>&1
			else
				cp ${INSTALL_README_HTML} ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/readme.html > /dev/null 2>&1
			fi
			if [ $EXEC_MODE -ne $SLNT_MODE ]; then
				INSTALL_DOCUMENT=1
			fi
			if [ $AS9SVR_OLD_INSTALLED -ne 0 ];then
				BAB_HOME=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve; export BAB_HOME
				PATH=$BAB_HOME/sbin:$BAB_HOME/bin:/usr/bin:/bin:/sbin:/usr/sbin:$PATH; export PATH
				LD_LIBRARY_PATH=/opt/CA/SharedComponents/lib:$BAB_HOME/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
	
				Upgrade_Server >>${TMPFILENAME} 2>&1
			elif [ $SERVER_NEED_UPGRADE -eq 1 ]; then
				AddCircularLog
				FSDUpgrade
				AddParaQueue
				Run_alterDB >>${TMPFILENAME} 2>&1
				Run_AutoStrtStop
				Update_Httpd >/dev/null 2>&1
			fi
		fi
		check $install_status BABsvr
		if [ $? -ne 0 ]; then
                        echo -e "$BK_LINE_FLAG    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_98} ]"
		else
			if [ $AS9SVR_OLD_INSTALLED -ne 0 -o $SERVER_NEED_UPGRADE -eq 1 ];then
	                        echo -e "$BK_LINE_FLAG    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_103} ]"
			else
	                        echo -e "$BK_LINE_FLAG    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_97} ]"
			fi
			if [ "X${HTTPD2_FLAG}" = "XYES" ]; then
				if [ -f /usr/sbin/httpd2 ]; then
					ln -sf /usr/sbin/httpd2 ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/sbin/httpd > /dev/null 2>&1
				else
					ln -sf `which httpd2` ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/sbin/httpd > /dev/null 2>&1
				fi
			fi
			$NLS_UTILITY_FILE -u ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/nls.cfg CA_NLS_LANG $NLS_LANG $NLS_LOCALE
			if [ $SERVER_NEED_UPGRADE -eq 1 ];then
				if [ -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/bin/lang_setup ]; then
					BAB_HOME=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve
					export BAB_HOME
					cp ${BAB_HOME}/httpd/newconf/mime.types ${BAB_HOME}/httpd/conf/ >/dev/null 2>&1
					${BAB_HOME}/bin/lang_setup -l
				fi
				rm -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/bin/uninstall_sp
			fi
		fi

	else
		if [ "$BASE_INSTALLED_MSG" != "YES" ]; then
			BASE_INSTALLED_MSG="YES"
                        echo -e "    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_99} ]"
		fi
	fi
}


addOptionsToCprocess()
{
 CFGFILE=cprocess.cfg
 if [ -f $BEB_HOME/config/$CFGFILE ]
 then
   OPTION_CHECK=`grep "USE_BARCODE_SERNO_AS_MEDIA_NAME" $BEB_HOME/config/$CFGFILE`
   if [ "$OPTION_CHECK" = "" ]
   then
     echo "# USE_BARCODE_SERNO_AS_MEDIA_NAME = TRUE" >> $BEB_HOME/config/$CFGFILE
     echo "" >> $BEB_HOME/config/$CFGFILE
   fi
   OPTION_CHECK=`grep "ENHANCED_ENCRYPTION" $BEB_HOME/config/$CFGFILE`
   if [ "$OPTION_CHECK" = "" ]
   then
     echo "ENHANCED_ENCRYPTION = TRUE" >> $BEB_HOME/config/$CFGFILE
     echo "" >> $BEB_HOME/config/$CFGFILE
   fi
   OPTION_CHECK=`grep "DEBUG_CPROCESS" $BEB_HOME/config/$CFGFILE`
   if [ "$OPTION_CHECK" = "" ]
   then
     echo "DEBUG_CPROCESS = TRUE" >> $BEB_HOME/config/$CFGFILE
     echo "" >> $BEB_HOME/config/$CFGFILE
   fi
   OPTION_CHECK=`grep "GET_FIRST_AVAILABLE_GROUP" $BEB_HOME/config/$CFGFILE`
   if [ "$OPTION_CHECK" = "" ]
   then
     echo "# GET_FIRST_AVAILABLE_GROUP = TRUE" >> $BEB_HOME/config/$CFGFILE
     echo "" >> $BEB_HOME/config/$CFGFILE
   fi
   OPTION_CHECK=`grep "SINGLE_SEQUENCE_RESTORE_SPANNED_FILE_ONLY" $BEB_HOME/config/$CFGFILE`
   if [ "$OPTION_CHECK" = "" ]
   then
     echo "# SINGLE_SEQUENCE_RESTORE_SPANNED_FILE_ONLY = FALSE" >> $BEB_HOME/config/$CFGFILE
     echo "# When set to FALSE, if a restore job using the SINGLE SEQUENCE option" >> $BEB_HOME/config/$CFGFILE
     echo "# spans to the next sequence of tape, the restore job will continue" >> $BEB_HOME/config/$CFGFILE
     echo "# to restore files until it reaches the end of the session, rather than" >> $BEB_HOME/config/$CFGFILE
     echo "# stopping immediately after the file which has spanned has been restored," >> $BEB_HOME/config/$CFGFILE
     echo "# skipping the restore of the remaining files in the session." >> $BEB_HOME/config/$CFGFILE
     echo "" >> $BEB_HOME/config/$CFGFILE
   fi
   OPTION_CHECK=`grep "APPEND_MEDIA_FORMATTED_WITHIN" $BEB_HOME/config/$CFGFILE`
   if [ "$OPTION_CHECK" = "" ]
   then
     echo "# APPEND_MEDIA_FORMATTED_WITHIN = DAYS = 1" >> $BEB_HOME/config/$CFGFILE
     echo "# For a custom backup append job with mediapool, data is appended to media" >> $BEB_HOME/config/$CFGFILE
     echo "# in the save set. We can use this parameter to only append to media in" >> $BEB_HOME/config/$CFGFILE
     echo "# the save set based on the format time. The following values can be set" >> $BEB_HOME/config/$CFGFILE
     echo "# for this parameter." >> $BEB_HOME/config/$CFGFILE
     echo "# 1. DAYS : Media formatted within days specified for this parameter will be" >> $BEB_HOME/config/$CFGFILE
     echo "# used by the job." >> $BEB_HOME/config/$CFGFILE
     echo "# 2. HOURS: Media formatted within elapsed hours specified for this parameter" >> $BEB_HOME/config/$CFGFILE
     echo "# will be used by the job." >> $BEB_HOME/config/$CFGFILE
     echo "" >> $BEB_HOME/config/$CFGFILE
   else
     OPTION_EXIST_UNCOMMENTED=`grep "APPEND_MEDIA_FORMATTED_WITHIN" $BEB_HOME/config/$CFGFILE | grep -v "^#" | grep -v "DAYS" | grep -v "HOURS"`
     if [ "$OPTION_EXIST_UNCOMMENTED" != "" ]
     then
       TMPFILE=${BEB_HOME}/config/${CFGFILE}_tmp
       sed -e "s/APPEND_MEDIA_FORMATTED_WITHIN/APPEND_MEDIA_FORMATTED_WITHIN = DAYS/" $BEB_HOME/config/$CFGFILE > $TMPFILE
       if [ -f $TMPFILE ]
       then
         mv $BEB_HOME/config/$CFGFILE ${BEB_HOME}/config/${CFGFILE}.old > /dev/null 2>&1
         mv $TMPFILE $BEB_HOME/config/$CFGFILE > /dev/null 2>&1
       fi
     fi
   fi
   OPTION_CHECK=`grep "NUMBER_OF_MISSED_FILES_ALLOWED" $BEB_HOME/config/$CFGFILE`
   if [ "$OPTION_CHECK" = "" ]
   then
     echo "NUMBER_OF_MISSED_FILES_ALLOWED = JOB = 0%" >> $BEB_HOME/config/$CFGFILE
     echo "# This paramter specifies the number of missed files allowed for a complete" >> $BEB_HOME/config/$CFGFILE
     echo "# backup job. All backup jobs are reported INCOMPLETE if the number of files" >> $BEB_HOME/config/$CFGFILE
     echo "# missed is greater than or equal to the value set for this parameter. If this" >> $BEB_HOME/config/$CFGFILE
     echo "# parameter is commented out, all backup jobs will be reported INCOMPLETE if" >> $BEB_HOME/config/$CFGFILE
     echo "# the entire session is missed" >> $BEB_HOME/config/$CFGFILE
     echo "" >> $BEB_HOME/config/$CFGFILE
   fi
 fi
}


addMMOOptionsToDiscovery()
{
    CFG_FILE=$BEB_HOME/config/discovery.cfg
    if [ -f $CFG_FILE ] 
    then
        CFG_DOMAIN_PRIMARY=`awk '/^[ \t]*PRIMARY/  { print $2 }' $CFG_FILE`
        CFG_MMO_PRIMARY=`awk '/^[ \t]*MMO_PRIMARY/ { print $2 }' $CFG_FILE`
        if [ -z "$CFG_MMO_PRIMARY" ]
        then
            echo "\nMMO_PRIMARY $CFG_DOMAIN_PRIMARY" >> $CFG_FILE
        fi
    fi
}


addOptionsToCadbd()
{
   CFGFILE=cadbd.cfg
   if [ -f $BEB_HOME/config/cadbd.cfg ]
   then
   	cp $BEB_HOME/config/cadbd.cfg $BEB_HOME/config/cadbd.cfg.as9
	if [ ! -r $BEB_HOME/dbase/ingres ]; then
	     OPTION_CHECK=`grep "^INGRES_HOME_PATH" $BEB_HOME/config/$CFGFILE|awk -F"=" '{print $2}'`
	     if	[ "$OPTION_CHECK" != "" ]
	     then
	     	ING_HOME_PATH=`dirname $OPTION_CHECK`
	     	ln -s $ING_HOME_PATH $BEB_HOME/dbase/ingres
		for linkfile in libcompat.1.so libframe.1.so libiiapi.1.so libinterp.1.so libq.1.so
		do
			if [ -h $BEB_HOME/lib/${linkfile} -o -f $BEB_HOME/lib/${linkfile} ]; then
			   rm $CAS_HOME/lib/${linkfile}
			fi
			ln -s $ING_HOME_PATH/ingres/lib/${linkfile} $BEB_HOME/lib
		done
	     fi
   	fi
   	if [ -f $BEB_HOME/newconfig/cadbd.cfg ]; then
        	cp $BEB_HOME/newconfig/cadbd.cfg $BEB_HOME/config/cadbd.cfg
   	fi

	# Change the value for INGRES_HOME_PATH and INGRES_CADBASE_PATH
	# in cadbd.cfg

	mv $BEB_HOME/config/cadbd.cfg $BEB_HOME/config/cadbd.old

	rm -f /tmp/tmp.sed

	${ECHO} "/INGRES_HOME_PATH/c\\" > /tmp/tmp.sed
	${ECHO} "INGRES_HOME_PATH = $ING_HOME_PATH/ingres" >> /tmp/tmp.sed
	${ECHO} "" >> /tmp/tmp.sed
	${ECHO} "/INGRES_CADBASE_PATH/c\\" >> /tmp/tmp.sed
	${ECHO} "INGRES_CADBASE_PATH = $ING_HOME_PATH/ingres/data" >> /tmp/tmp.sed

	cat $BEB_HOME/config/cadbd.old | sed -f /tmp/tmp.sed > $BEB_HOME/config/cadbd.cfg
	chmod 644 $BEB_HOME/config/cadbd.cfg
	rm -f $BEB_HOME/config/cadbd.old
	rm -f /tmp/tmp.sed
	  
	  II_SYSTEM=$ING_HOME_PATH
	  export II_SYSTEM
	
	  CALL_ING_START=0
	  echo "$INST_MSG_110"   #"Running alterDB ..."
	  $II_SYSTEM/ingres/bin/infodb iidbdb > /dev/null 2>&1
	  if [ "$?" -ne "0" ]; then
	    cd /
	    $BEB_HOME/sbin/startingres
	    CALL_ING_START=1
	  fi
	  $BEB_HOME/bin/alterDB | tee $BEB_HOME/dbase/alterDB.log.$$
	  if [ -f $BEB_HOME/dbase/alterDB.log.$$ ]; then
	    cat $BEB_HOME/dbase/alterDB.log.$$ >> $BEB_HOME/dbase/alterDB.log
	    rm -f $BEB_HOME/dbase/alterDB.log.$$ > /dev/null 2>&1
	  fi
	  if [ "$CALL_ING_START" = "1" ]; then
	    $BEB_HOME/sbin/stopingres
	  fi
   fi
   
   if [ ! -r $BEB_HOME/dbase/MMOBackup ]
   then
   	mkdir -p $BEB_HOME/dbase/MMOBackup > /dev/null 2>&1
   fi
}

create_lib_links()
{
	cd ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib
	LIB_LIST=$(ls lib* 2>/dev/null)
	if [ "${CALIB}" = "" ] ;then
	        CALIB=/opt/CA/SharedComponents/lib
	fi
	for L in ${LIB_LIST}
	do
	   if [ ! -h ${CALIB}/$L ]
	   then
	      ln -sf ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/$L ${CALIB}/
	   fi
	
	   if [ ! -h /opt/CA/CAlib/$L ]
	   then
	      ln -sf ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/$L /opt/CA/CAlib/ >/dev/null 2>&1
	   fi
	
	done
	if [ -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/bin/lang_setup ]; then
		BAB_HOME=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve
		export BAB_HOME
		${BAB_HOME}/bin/lang_setup -l
	fi
}
create_caagent_links()
{
	if [ -f /opt/CA/BABcmagt/caagent ]; then
		ln -sf /opt/CA/BABcmagt/caagent /usr/bin/caagent
	fi
}
create_uagent_links()
{
	if [ -f ${UAG_PREFIX:-/opt/CA}/BABuagent/uagent ]; then
		ln -sf ${UAG_PREFIX:-/opt/CA}/BABuagent/uagent /usr/bin/uagent
	fi
}
solve_lib_name()
{
	LINUX_DIST=$(getDistributor)
	if [ "$LINUX_DIST" = "MandrakeSoft" -o "$LINUX_DIST" = "Mandrakesoft" ] ; then
		if ! [ -e /lib/libacl.so ] ; then
			if [ -e /lib/libacl.so.1 ] ; then
				ln -sf /lib/libacl.so.1 /lib/libacl.so
			fi
		fi
	fi
}
addSerialToCamediad()
{
	CFGFILE=$BEB_HOME/config/camediad.cfg
	AWK=/usr/bin/awk
	TMPFILE=/tmp/serial.tmp.$$
	CFGTMPFILE=$BEB_HOME/config/camediad.cfg.tmp.$$
	PATH=$BEB_HOME/sbin:$BEB_HOME/bin:$PATH
	export TMPFILE PATH
	
	if [ -f $CFGFILE ]; then
	cat $CFGFILE | $AWK '
	BEGIN{
	        tmpfile=ENVIRON["TMPFILE"]
	}{
	              if ( $1 ~ /^DEVICE/ )
	              {
	                if ( NF == 5 )
	                {
	                  device_name = $3
	                  command = sprintf("ioctl_cmd %s 2 >> %s", device_name, tmpfile)
	                  system(command)
	                  if ( ( getline serial < tmpfile ) > 0 )
	                  {
	                   printf("%s \"%s\"\n", $0, serial)
	                  }
	                  else
	                  {
	                   printf("%s \"\"\n", $0)
	                  }
	                }
	                else
	                {
	                  device_name = $3
	                  command = sprintf("ioctl_cmd %s 2 >> %s", device_name, tmpfile)
	                  system(command)
	                  if ( ( getline serial < tmpfile ) > 0 )
	                  {
	                    printf("%s %s %s %s %s \"%s\"\n", $1, $2, $3, $4, $5, serial)
	                  }
	                  else
	                  {
	                    printf("%s\n", $0)
	                  }
	                }
	              }
	              else
	              {
	               print $0
	              }
	
	        }' >> $CFGTMPFILE
	
	mv $CFGTMPFILE $CFGFILE > /dev/null 2>&1
	rm -f $CFGTMPFILE > /dev/null 2>&1
	rm -f $TMPFILE > /dev/null 2>&1
	fi
}

AddCircularLog()
{
   CFGFILE=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/camediad.cfg
   CHECKEXIST=`${GREP} "\[CIRCULAR_LOG\]" $CFGFILE 2>/dev/null`
   if [ -s $CFGFILE -a "$CHECKEXIST" = "" ]
   then
      #Add CircularLog Items at the end of the file
      ${ECHO} ";[CIRCULAR_LOG]">>$CFGFILE
      ${ECHO} ";MAX_LOG_NUM = 10            ; Number of log files. 0, will take default max value 32. Or set it in the range of 3--32">>$CFGFILE
      ${ECHO} ";MAX_LOG_KEEP_TIME = 100     ; Retention days. 0, this option won't take effect. Or set it in the range of 1-- 365">>$CFGFILE
      ${ECHO} ";MAX_LOG_SIZE = 10000        ; Max size in Kb of log file. 0, no limitation. Or set it in the range of 10--100 0000">>$CFGFILE
   fi
}

#2005.10.13: Convert the session file name format to comply with the r11.5 FP1 format
FSDUpgrade()
{
   CFGFILE=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/camediad.cfg

   #find all FSD path in CFG file
   ${GREP} "^DEVICE" $CFGFILE | ${AWK} '{
         if($4 ~ /FS/) {
            gsub("\"", "", $3)
            array[m]=$3
            m++
         }
      }
      END {
         for (item in array)
            print(array[item])
      }' |
   while read LINES
   do
      #Check if the dir available
      if [ "$LINES" != "" -a -d $LINES ]
      then
         cd $LINES 2>/dev/null
         ls S[0-9][0-9][0-9][0-9][0-9][0-9][0-9].CTF.[0-9][0-9][0-9] 2>/dev/null | while read SESSIONFILENAME
         do
            FILENAMEPREFIX=`echo $SESSIONFILENAME | cut -d "." -f1,2`
            FILENAMESUFFIX=`echo $SESSIONFILENAME | cut -d "." -f3`
            if [ $FILENAMESUFFIX = "000" ]
            then
               NEWNAME=$FILENAMEPREFIX
            else
               NEWNAME=$FILENAMEPREFIX.0$FILENAMESUFFIX
            fi
            [ -f $NEWNAME ] || mv $SESSIONFILENAME $NEWNAME
         done

         #keep all extension files are in sequence
         count=1
         ls S[0-9][0-9][0-9][0-9][0-9][0-9][0-9].CTF 2>/dev/null | while read SESSIONFILENAME
         do
            ls $SESSIONFILENAME.[0-9][0-9][0-9][0-9] 2>/dev/null | while read EXTENSIONFILENAME
            do
               SEQUENTIALNUMBER=`printf "%04d" $count`
               SEQUENTIALNAME=$SESSIONFILENAME.$SEQUENTIALNUMBER
               [ -f $SEQUENTIALNAME ] || mv $EXTENSIONFILENAME $SEQUENTIALNAME
               count=$(($count+1))
            done
            count=1
         done

      fi
   done
}


Update_Httpd()
{
	TMP_HOME=`rpm -q --queryformat '%{installprefix}' BABsvr 2>/dev/null`
        [ -z "$BEB_HOME" ] && BEB_HOME=${TMP_HOME:-/opt/CA}/BrightStorARCserve
	echo >/tmp/.YESFILE
	${BEB_HOME}/bin/cahttpd_configure < /tmp/.YESFILE
	rm -fr /tmp/.YESFILE
#	${BEB_HOME}/bin/lang_setup -l
}
addOptionsToCaloggerd()
{
    CFG_FILE=$BEB_HOME/config/caloggerd.cfg
    if [ -f $CFG_FILE ]; then
     OPTION_CHECK=`grep "ACTIVITY_LOG_MAXFILE_SIZE" $CFG_FILE`
     if [ "$OPTION_CHECK" = "" ]
     then
       echo "" >> $CFG_FILE
       echo "###  ACTIVITY_LOG_MAXFILE_SIZE parameter sets a limit for the maximum size of" >> $CFG_FILE
       echo "###  the Activity log file (in kilobytes) and OTHER_LOG_MAXFILE_SIZE sets a" >> $CFG_FILE
       echo "###  size limit on all other logs, i.e. a log file will be purged at some" >> $CFG_FILE
       echo "###  some point after it reaches that size.  The default is 32 MBs for the" >> $CFG_FILE
       echo "###  main activity log and 1 MB for all other log files." >> $CFG_FILE
       echo "#ACTIVITY_LOG_MAXFILE_SIZE = 32000" >> $CFG_FILE
     fi
     OPTION_CHECK=`grep "OTHER_LOG_MAXFILE_SIZE" $CFG_FILE`
     if [ "$OPTION_CHECK" = "" ]
     then
       echo "" >> $CFG_FILE
       echo "#OTHER_LOG_MAXFILE_SIZE = 32000" >> $CFG_FILE
     fi
     OPTION_CHECK=`grep "UNICENTER_NSM_NODES" $CFG_FILE`
     if [ "$OPTION_CHECK" = "" ]
     then
       echo "" >> $CFG_FILE
       echo "###  Enable Unicenter NSM alert here." >> $CFG_FILE
       echo "###  List hosts that have Unicenter NSM or CA Common Services running." >> $CFG_FILE
       echo "###" >> $CFG_FILE
       echo "#UNICENTER_NSM_NODES = jeffntws" >> $CFG_FILE
     fi
     OPTION_CHECK=`grep "EMAIL_ALERT" $CFG_FILE`
     if [ "$OPTION_CHECK" = "" ]
     then
       echo "" >> $CFG_FILE
       echo "###  Enable critical events to be forwarded as emails." >> $CFG_FILE
       echo "###  List email accounts that will receive critical event notifications." >> $CFG_FILE
       echo "###" >> $CFG_FILE
       echo "#EMAIL_ALERT = user1@company.com user2@yahoo.com" >> $CFG_FILE
     fi
    fi
}
Update_Svr_Config()
{
	BEB_HOME=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve
        addOptionsToCprocess
        addOptionsToCadbd
        addMMOOptionsToDiscovery
        addSerialToCamediad > /dev/null 2>&1
	FSDUpgrade
        AddCircularLog
        AddParaQueue
        addOptionsToCaloggerd
        Update_Httpd
        touch ${BEB_HOME}/data/.setupcomplete > /dev/null 2>&1
        chmod 644 ${BEB_HOME}/data/.setupcomplete > /dev/null 2>&1
        if [ -f ${BEB_HOME}/lib/nls/C/newconfig/.devlist.dat ]; then
        	cp ${BEB_HOME}/lib/nls/C/newconfig/.devlist.dat ${BEB_HOME}/config/.devlist.dat >/dev/null 2>&1
        fi
        Run_AutoStrtStop
}

Upgrade_Autodownloadcfg()
{
        OLDFILE=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/autodownload.cfg.old
        NEWFILE=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/${NLS_LOCALE}/newconfig/autodownload.cfg
        NEWCONFIGFILE=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/autodownload.cfg

        DEBUGLEVEL=`grep ^DEBUGLEVEL $OLDFILE 2>/dev/null`

        START_TIME=`grep ^START_TIME $OLDFILE 2>/dev/null`
        INTERVAL_MONTH=`grep ^INTERVAL_MONTH $OLDFILE 2>/dev/null`
        INTERVAL_DAY=`grep ^INTERVAL_DAY $OLDFILE 2>/dev/null`
        INTERVAL_HOUR=`grep ^INTERVAL_HOUR $OLDFILE 2>/dev/null`
        INTERVAL_MINUTE=`grep ^INTERVAL_MINUTE $OLDFILE 2>/dev/null`

        AGENT_CFG_PATH=`grep AGENT_CFG_PATH $OLDFILE 2>/dev/null`

        sed  -e "s/^DEBUGLEVEL.*$/$DEBUGLEVEL/; s/^INTERVAL_MONTH.*$/$INTERVAL_MONTH/; s/^INTERVAL_DAY.*$/$INTERVAL_DAY/; s/^INTERVAL_HOUR.*$/$INTERVAL_HOUR/; s/^INTERVAL_MINUTE.*$/$INTERVAL_MINUTE/; s/^START_TIME.*$/$START_TIME/" $NEWFILE > $NEWCONFIGFILE 2>/dev/null
}


Upgrade_Server()
{
	if [ $AS9SVR_OLD_INSTALLED -ne 0 ];then
		REMOVE_PKG=$AS9SVR_OLD
		if [ "$REMOVE_PKG" != "" ];then
			INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
			if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
				INSTALLED_PREFIX="/opt/CA"
			fi
			if [ -r ${INSTALLED_PREFIX}/ARCserve/config ]; then
				cp -a ${INSTALLED_PREFIX}/ARCserve/config ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/ 2>/dev/null
				cp -a ${BAB_HOME}/httpd/newconf/* ${BAB_HOME}/httpd/conf/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/httpd/logs ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/httpd/ 2>/dev/null
				cp ${INSTALLED_PREFIX}/ARCserve/lib/nls/nls.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/nls.cfg.v9 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/logs ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/jobscripts/* ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/jobscripts/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/queue/* ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/queue/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/dbase/*.log ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/dbase/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/dbase/tmpcat/* ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/dbase/tmpcat/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/data/barCodeDB ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/data/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/data/*.slots ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/data/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/data/*.dtstat ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/data/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/data/*.dtscsi ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/data/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/data/.*.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/data/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/data/*.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/data/ 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/ARCserve/data/discovery ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/data/ 2>/dev/null

				if [ -r ${INSTALLED_PREFIX}/ARCserve/config/autodownload.cfg ]; then
                                        cp -a ${INSTALLED_PREFIX}/ARCserve/config/autodownload.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/autodownload.cfg.old 2>/dev/null
                                        Upgrade_Autodownloadcfg;
                                fi

				if [ ! -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/queue.cfg ]; then
					if [ -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/newconfig/queue.cfg ]; then
						cp ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/newconfig/queue.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/queue.cfg
					elif [ -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/${NLS_LOCALE}/newconfig/queue.cfg ]; then
						cp ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/${NLS_LOCALE}/newconfig/queue.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/queue.cfg
					else
						cp ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/C/newconfig/queue.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/queue.cfg
					fi
					
				fi
				if [ ! -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/rpc.cfg ]; then
					if [ -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/newconfig/rpc.cfg ]; then
						cp ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/newconfig/rpc.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/rpc.cfg
					elif [ -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/${NLS_LOCALE}/newconfig/rpc.cfg ]; then
						cp ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/${NLS_LOCALE}/newconfig/rpc.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/rpc.cfg
					else
						cp ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/C/newconfig/rpc.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/rpc.cfg
					fi
					
				else
					${GREP} "sanpeer" ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/rpc.cfg >/dev/null 2>&1
					if [ $? -ne 0 ]; then
						if [ -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/newconfig/rpc.cfg ]; then
							cp ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/newconfig/rpc.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/rpc.cfg
						elif [ -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/${NLS_LOCALE}/newconfig/rpc.cfg ]; then
							cp ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/${NLS_LOCALE}/newconfig/rpc.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/rpc.cfg
						else
							cp ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/C/newconfig/rpc.cfg ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/config/rpc.cfg
						fi
					fi
				fi
				Update_Svr_Config
			fi
		fi					
	fi
}
Update_Oracfg()
{
	AGENT_CFG=/opt/CA/BABcmagt/agent.cfg
	OLD_AGENT_CFG=/opt/CA/BABcmagt/agent.cfg.v9
	grep "OracleAgent" ${AGENT_CFG} >/dev/null 2>&1
	if [ $? -eq 0 ]; then
		return 0
	fi
	echo "" >>${AGENT_CFG}
	echo "[22]" >>${AGENT_CFG}
	echo "# Oracle Agent" >>${AGENT_CFG}
	echo "NAME	OracleAgent" >>${AGENT_CFG}
	echo "VERSION	11.5.0" >>${AGENT_CFG}
	echo "HOME    ${ORA_PREFIX:-/opt/CA}/BABoraagt" >>${AGENT_CFG}
	echo "#ENV    BAB_HOME=/opt/CA/BrightStorARCserve" >>${AGENT_CFG}
	echo "ENV     CAS_ENV_ORACLE_AGENT_HOME=${ORA_PREFIX:-/opt/CA}/BABoraagt" >>${AGENT_CFG}
	TEMP_RM=`grep ORACLE_RM_USERNAME $OLD_AGENT_CFG 2>/dev/null`
	echo "$TEMP_RM" >>${AGENT_CFG}
	TEMP_RM=`grep ORACLE_RM_PASSWORD $OLD_AGENT_CFG 2>/dev/null`
	echo "$TEMP_RM" >>${AGENT_CFG}
	echo "#ENV    CA_ENV_NUM_OF_REST_BUFF=" >>${AGENT_CFG}
	echo "ENV     DAYS_ORAGENTD_LOGS_RETAINED=30" >>${AGENT_CFG}
	echo "ENV     CAS_INITIATED=1" >>${AGENT_CFG}
	echo "ENV     ORACLE_SHUTDOWN_TYPE=immediate" >>${AGENT_CFG}
	echo "#ENV    NLS_LANG=american" >>${AGENT_CFG}
	echo "ENV     NLS_DATE_FORMAT=MM/DD/YYYY/HH24:MI:SS" >>${AGENT_CFG}
	echo "ENV     LD_LIBRARY_PATH=/usr/lib:${ORA_PREFIX:-/opt/CA}/BABoraagt:${ORA_PREFIX:-/opt/CA}/BABoraagt/lib:/opt/CA/BABcmagt:/opt/CA/CAlib:$LD_LIBRARY_PATH" >>${AGENT_CFG}
	echo "BROWSER oraclebr" >>${AGENT_CFG}
	echo "AGENT	oragentd" >>${AGENT_CFG}
}
Update_Apacfg()
{
	if [ -f ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl.upg ];then
		mv -f ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl.upg ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "#new implementation" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "shm" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "#" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "# * CDFS *" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "#" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "cdfs" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "cdrfs" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "cdrom" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "hsfs" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "iso9660" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
		echo "# # # # #" >> ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl
	fi
	for cfgfile in fs.cfg apacheagent.cfg dir.cntl
	do 
		if [ -f ${APA_PREFIX:-/opt/CA}/BABapagent/${cfgfile}.upg ];then
			merge_file ${APA_PREFIX:-/opt/CA}/BABapagent/${cfgfile}.upg ${APA_PREFIX:-/opt/CA}/BABapagent/${cfgfile} ${APA_PREFIX:-/opt/CA}/BABapagent/${cfgfile}.new
			mv -f ${APA_PREFIX:-/opt/CA}/BABapagent/${cfgfile}.new ${APA_PREFIX:-/opt/CA}/BABapagent/${cfgfile}
		fi
	done
}
Update_Uagcfg()
{
	if [ -f ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl.upg ];then
		mv -f ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl.upg ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		if [ $UAGENT9_OLD_INSTALLED -ne 0 ]; then
		echo "#new implementation" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "shm" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "sysfs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "usbfs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "subfs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "#" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "# * CDFS *" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "#" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "cdfs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "cdrfs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "cdrom" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "hsfs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "iso9660" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "nfsd" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "lofs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		echo "# # # # #" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		fi
		if [ $UAG_NEED_UPGRADE -ne 0 ]; then
			echo "#new implementation" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
			echo "sysfs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
			echo "usbfs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
			echo "subfs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
			echo "nfsd" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
			echo "lofs" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
			echo "# # # # #" >> ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl
		fi
	fi
	for cfgfile in cabr.cfg groom.cntl mergescan.cfg uag.cfg uag.cntl uagres.cntl
	do 
		if [ -f ${UAG_PREFIX:-/opt/CA}/BABuagent/${cfgfile}.upg ];then
			if [ $DEBIAN -ne 1 ]; then
				merge_file ${UAG_PREFIX:-/opt/CA}/BABuagent/${cfgfile}.upg ${UAG_PREFIX:-/opt/CA}/BABuagent/${cfgfile} ${UAG_PREFIX:-/opt/CA}/BABuagent/${cfgfile}.new
			fi
			mv -f ${UAG_PREFIX:-/opt/CA}/BABuagent/${cfgfile}.upg ${UAG_PREFIX:-/opt/CA}/BABuagent/${cfgfile}
		fi
	done
}
merge_file ()
{
        if [ $# -ne 3 ]
        then
                return
        fi
        in_file1=$1
        in_file2=$2
        out_file=$3
        AWK=awk
        GREP=egrep
        CAT=cat

        list_in_file2=$(sed -e '
                        /^#/d; /^ *$/d; s/\\/\\\\/g
                        s/\./\\\./g; s/\*/\\\*/g
                        s/\[/\\\[/g; s/\]/\\\]/g
                        s/\$$/\\\$/g; s/^\^/\\\^/g' $in_file2 | $AWK '
                        {if ( length(comon_list) > 0) {
                        comon_list=sprintf("%s|^%s" ,comon_list,$1)
                        }
                        else
                        {
                        comon_list=sprintf("^%s" ,$1)
                        }
                        }
                        END{
                        if ( length(comon_list) > 0 ) {
                        printf("%s", comon_list)
                        }
                        else
                        {
                        print
                        }
                        }

                        ' )

        if [  "${list_in_file2}" != "" ]
        then
                list_comm=$(${GREP} -w "(${list_in_file2})" ${in_file1} | sed -e '
                        s/\\/\\\\/g
                        s/\./\\\./g; s/\*/\\\*/g
                        s/\[/\\\[/g; s/\]/\\\]/g
                        s/\$$/\\\$/g; s/^\^/\\\^/g' | $AWK '
                        {if ( length(comon_list) > 0) {
                        comon_list=sprintf("%s|^%s" ,comon_list,$1)
                        }
                        else
                        {
                        comon_list=sprintf("^%s" ,$1)
                        }
                        }
                        END{
                        if ( length(comon_list) > 0 ) {
                        printf("%s", comon_list)
                        }
                        else
                        {
                        print
                        }
                        }

                        ' )

        fi

        if [ "$list_comm" != "" ]
        then
               grep_common="${GREP} -w  ($list_comm)"
               grep_no_common="${GREP} -w -v ($list_comm)"

               ${CAT} $in_file2 | ${GREP} "^#" > $out_file
               #option in both files
               ${CAT} $in_file1 | ${GREP} -v "(^#|^ *$)" | $grep_common >> $out_file
               #option only in file 1
               ${CAT}  $in_file1 | ${GREP} -v "(^#|^ *$)" | $grep_no_common >> $out_file
               #option only in file 2
               ${CAT} $in_file2 | ${GREP} -v "(^#|^ *$)" | ${GREP} -v "^\/boot\/boot\*.b" | $grep_no_common >> $out_file
        else


               ${CAT}  $in_file2 | ${GREP}  "^#"  > $out_file
               #option only in file 1
               ${CAT}  $in_file1 | ${GREP} -v "(^#|^ *$)" >> $out_file
               #option only in file 2
               ${CAT}  $in_file2 | ${GREP} -v "(^#|^ *$)" | ${GREP} -v "^\/boot\/boot\*.b"  >> $out_file
        fi
}

install_manager_product()
{
	rpm -q BABmgr >/dev/null 2>&1
	if [ $? -ne 0 ] ; then
		rpm -q BABsvr >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
                        install_server_product
		fi
                startDial &
                if [ $SERVER_NEED_UPGRADE -eq 1 ];then
	                cd $DEPOT/$ARC_DEPOT && rpm -i --ignoresize $RPM_FORCE_FLAG --noscripts $ARC_RELOC $AS6MGR >/dev/null 2>&1
                fi
                cd $DEPOT/$ARC_DEPOT && rpm -i --ignoresize $RPM_FORCE_FLAG $ARC_RELOC $AS6MGR >${TMPFILENAME} 2>&1
		check $? BABmgr
	fi
}

install_base_product_sdo()
{
	BASE_INSTALLED_MSG=""
	rpm -q BABmgr >/dev/null 2>&1
	if [ $? -ne 0 -o $SERVER_NEED_UPGRADE -eq 1 ] ; then
		BASE_INSTALLED_MSG="YES"
		check_calicense	
		if [ $AS9SVR_OLD_INSTALLED -ne 0 -o $SERVER_NEED_UPGRADE -eq 1 ];then
                	echo -e "    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_100} ]"
                else
                	echo -e "    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_96} ]"
		fi
                if [ $SERVER_NEED_UPGRADE -eq 1 ];then
	                rpm -i --ignoresize $RPM_FORCE_FLAG --noscripts $ARC_RELOC $AS6SVR $AS6MGR >/dev/null 2>&1
                fi
		rpm -i --ignoresize $RPM_FORCE_FLAG $ARC_RELOC $AS6SVR $AS6MGR 
		install_status=$?
		if [ $install_status -eq 0 ]; then
			AS9SVR_SUCCEED_INSTALL=1
			SERVER_INSTALLED_MSG="YES"
			if [ $AS9SVR_OLD_INSTALLED -ne 0 ];then
				BAB_HOME=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve; export BAB_HOME
				PATH=$BAB_HOME/sbin:$BAB_HOME/bin:/usr/bin:/bin:/sbin:/usr/sbin:$PATH; export PATH
				LD_LIBRARY_PATH=/opt/CA/SharedComponents/lib:$BAB_HOME/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
	
				Upgrade_Server 
			elif [ $SERVER_NEED_UPGRADE -eq 1 ]; then
				AddCircularLog
				FSDUpgrade
				AddParaQueue
				Run_alterDB
				Run_AutoStrtStop
			fi
		fi
		$NLS_UTILITY_FILE -u ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/nls.cfg CA_NLS_LANG $NLS_LANG $NLS_LOCALE
		if [ $install_status -ne 0 ]; then
                        echo -e "    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_98} ]"
                        exit $install_status
		else
			if [ $AS9SVR_OLD_INSTALLED -ne 0 -o $SERVER_NEED_UPGRADE -eq 1 ];then
	                        echo -e "$BK_LINE_FLAG    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_103} ]"
			else
	                        echo -e "$BK_LINE_FLAG    Server & Manager                         (BABsvr&BABmgr)  ==> [ ${INST_MSG_97} ]"
			fi
			if [ "X${HTTPD2_FLAG}" = "XYES" ]; then
				if [ -f /usr/sbin/httpd2 ]; then
					ln -sf /usr/sbin/httpd2 ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/sbin/httpd > /dev/null 2>&1
				else
					ln -sf `which httpd2` ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/sbin/httpd > /dev/null 2>&1
				fi
			fi
			$NLS_UTILITY_FILE -u ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/lib/nls/nls.cfg CA_NLS_LANG $NLS_LANG $NLS_LOCALE
			if [ $SERVER_NEED_UPGRADE -eq 1 ];then
				if [ -f ${ARC_PREFIX:-/opt/CA}/BrightStorARCserve/bin/lang_setup ]; then
					BAB_HOME=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve
					export BAB_HOME
					cp ${BAB_HOME}/httpd/newconf/mime.types ${BAB_HOME}/httpd/conf/ >/dev/null 2>&1
					${BAB_HOME}/bin/lang_setup -l
				fi
			fi
		fi
	else
		if [ "$BASE_INSTALLED_MSG" != "YES" ]; then
			BASE_INSTALLED_MSG="YES"
			echo
			echo $INST_BASE_ALREADY_INSTALLED
			echo
			exit 4
		fi
	fi
if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" -a "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
	echo -e "    iGateway                                 (iGateway)       ==> [ ${INST_MSG_96} ]"
	./$IGATEWAY_FILE -s 
	install_status=$?
	if [ $install_status -eq 1 ]; then
                echo -e "    iGateway                                 (iGateway)       ==> [ ${INST_MSG_99} ]"
	else
		if [ $install_status -ne 0 ];then
	                echo -e "    iGateway                                 (iGateway)       ==> [ ${INST_MSG_98} ]"
		else
	                echo -e "    iGateway                                 (iGateway)       ==> [ ${INST_MSG_97} ]"
		fi
	fi

	echo -e "    iSponsor                                 (iSponsor)       ==> [ ${INST_MSG_96} ]"
    	if [ "X$Portal_Server_Name" != "X" ]; then
      		./$ISPONSOR_FILE -s -P $Portal_Server_Name -f 
    	else
      		./$ISPONSOR_FILE -s -f 
    	fi
	install_status=$?
	if [ $install_status -eq 1 ]; then
                echo -e "    iSponsor                                 (iSponsor)       ==> [ ${INST_MSG_98} ]"
	else
		if [ $install_status -ne 0 ];then
	                echo -e "    iSponsor                                 (iSponsor)       ==> [ ${INST_MSG_99} ]"
		else
	                echo -e "    iSponsor                                 (iSponsor)       ==> [ ${INST_MSG_97} ]"
		fi
	fi
fi
}

install_igateway_product()
{
        	echo -e "    iGateway                                 (iGateway)       ==> [ ${INST_MSG_96} ]\c"
                startDial &
		$DEPOT/$ARC_DEPOT/$IGATEWAY_FILE -s >${TMPFILENAME} 2>&1
		install_status=$?
		check $install_status iGateway
		if [ $install_status -eq 1 ]; then
	                echo -e "$BK_LINE_FLAG    iGateway                                 (iGateway)       ==> [ ${INST_MSG_99} ]"
		else
			if [ $install_status -ne 0 ];then
		                echo -e "$BK_LINE_FLAG    iGateway                                 (iGateway)       ==> [ ${INST_MSG_98} ]"
			else
		                echo -e "$BK_LINE_FLAG    iGateway                                 (iGateway)       ==> [ ${INST_MSG_97} ]"
			fi
		fi

}

install_isponsor_product()
{
        	echo -e "    iSponsor                                 (iSponsor)       ==> [ ${INST_MSG_96} ]\c"
                startDial &
	    	if [ "$Portal_Server_Name" != "" ]; then
	      		$DEPOT/$ARC_DEPOT/$ISPONSOR_FILE -s -P $Portal_Server_Name -f >${TMPFILENAME} 2>&1
	    	else
	      		$DEPOT/$ARC_DEPOT/$ISPONSOR_FILE -s -f >${TMPFILENAME} 2>&1
	    	fi
		install_status=$?
		check $install_status iSponsor
		if [ $install_status -eq 1 ]; then
	                echo -e "$BK_LINE_FLAG    iSponsor                                 (iSponsor)       ==> [ ${INST_MSG_98} ]"
		else
			if [ $install_status -ne 0 ];then
		                echo -e "$BK_LINE_FLAG    iSponsor                                 (iSponsor)       ==> [ ${INST_MSG_99} ]"
			else
		                echo -e "$BK_LINE_FLAG    iSponsor                                 (iSponsor)       ==> [ ${INST_MSG_97} ]"
			fi
		fi

}

install_calicense_product()
{
rpm_ver=`rpm --version | tail -c6`
	isInstalled $CALICENSE_OLD
	if [ $? -eq 0 ];then
		CALICENSE_OLD_INSTALLED=1
	fi
	
	isInstalled $CALICENSE9_OLD
	if [ $? -eq 0 ];then
		CALICENSE9_OLD_INSTALLED=1
	fi
#	rpm -q ca-lic >/dev/null 2>&1
        if [ ! -d /opt/CA ]; then
                mkdir -p /opt/CA >/dev/null 2>&1;
        fi	
	if [ "X${LIC_INST}" != "XYES" ] ; then
                echo -e "${INST_MSG_126}\c"    
	        if [ $EXEC_MODE -eq $SDO_MODE ]; then
                	echo
                else
                	startDial &
                fi
		if [ $CALICENSE9_OLD_INSTALLED = 1 ]; then
			cp /opt/CA/ca_lic/ca.olf /tmp/ >/dev/null 2>&1
			cp /opt/CA/ca_lic/lic98.log /tmp/ >/dev/null 2>&1
			rpm -e --nodeps $CALICENSE9_OLD >/dev/null 2>&1
		fi
		if [ $CALICENSE_OLD_INSTALLED = 1 ]; then
			cp /opt/CA/ca_lic/ca.olf /tmp/ >/dev/null 2>&1
			cp /opt/CA/ca_lic/lic98.log /tmp/ >/dev/null 2>&1
			rpm -e --nodeps $CALICENSE_OLD >/dev/null 2>&1
		fi
	        if [ $EXEC_MODE -eq $SDO_MODE ]; then
		        if [ "$License_Path" = "" ]; then
				if  [ "X$CASHCOMP" = "X" ]; then
					./$CALICENSE /opt/CA/SharedComponents 
					if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" ] && [ "$rpm_ver" = "4.1.1" ]; then
						./$CALICENSE /opt/CA/SharedComponents 
					fi
				else
					./$CALICENSE $CASHCOMP 
					if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" ] && [ "$rpm_ver" = "4.1.1" ]; then
						./$CALICENSE $CASHCOMP 
					fi
				fi
		        else
				./$CALICENSE $License_Path 
				if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" ] && [ "$rpm_ver" = "4.1.1" ]; then
					./$CALICENSE $License_Path 
				fi
		        fi
	        else
	        	if [ "$License_Path" = "" ]; then
				if  [ "X$CASHCOMP" = "X" ]; then
					cd $DEPOT/$LICDIR && ./$CALICENSE /opt/CA/SharedComponents >${TMPFILENAME} 2>&1
					if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" ] && [ "$rpm_ver" = "4.1.1" ]; then
						cd $DEPOT/$LICDIR && ./$CALICENSE /opt/CA/SharedComponents >${TMPFILENAME} 2>&1
					fi
				else
					cd $DEPOT/$LICDIR && ./$CALICENSE $CASHCOMP >${TMPFILENAME} 2>&1
					if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" ] && [ "$rpm_ver" = "4.1.1" ]; then
						cd $DEPOT/$LICDIR && ./$CALICENSE $CASHCOMP >${TMPFILENAME} 2>&1
					fi
				fi
	        	else
				cd $DEPOT/$LICDIR && ./$CALICENSE $License_Path >${TMPFILENAME} 2>&1
				if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" ] && [ "$rpm_ver" = "4.1.1" ]; then
					cd $DEPOT/$LICDIR && ./$CALICENSE $License_Path >${TMPFILENAME} 2>&1
				fi
	        	fi
	        fi
	        rc=$?
	        if [ $EXEC_MODE -ne $SDO_MODE ]; then
			check $rc ca-lic
		fi
		if [ $rc -ne 0 ]; then
	                echo
	                echo "$INST_MSG_124"
	                echo
	                exit $rc
		else
			. /etc/profile.CA >/dev/null 2>&1 	#export the CASHCOMP environment variable
			if [ $CALICENSE9_OLD_INSTALLED = 1 -o $CALICENSE_OLD_INSTALLED = 1 ]; then
				if [ -d $CASHCOMP/ca_lic ]; then
					mv /tmp/ca_lic/ca.olf $CASHCOMP/ca_lic/ >/dev/null 2>&1
					mv /tmp/ca_lic/lic98.log $CASHCOMP/ca_lic/ >/dev/null 2>&1
				fi
			fi
			if [ -f $CASHCOMP/ca_lic/licrmt ]; then
				mv $CASHCOMP/ca_lic/licrmt $CASHCOMP/ca_lic/temp_licrmt >/dev/null 2>&1
			fi
			cp $DEPOT/$LICDIR/prod_codes.txt $CASHCOMP/ca_lic/ >/dev/null 2>&1
                        [ -f $CASHCOMP/ca_lic/lic98.so ] && \
			strings $CASHCOMP/ca_lic/lic98.so|grep "LIC98 BUILD INFO"|head -1|grep "\/1.60.0\/Feb.*2004\/" >/dev/null 2>&1
			if [ $? -eq 0 ]; then
			  cp $DEPOT/$LICDIR/lic98.so $CASHCOMP/ca_lic/ >/dev/null 2>&1
			fi
			LIC_LANG="EN"
			case $NLS_LANG in
				C)
					LIC_LANG="EN"
					;;
				fr)
					LIC_LANG="FR"
					;;
				sp)
					LIC_LANG="SP"
					;;
				de)
					LIC_LANG="DE"
					;;
				tc)
					LIC_LANG="TC"
					;;
				sc)
					LIC_LANG="SC"
					;;
				ja)
					LIC_LANG="JA_UTF8"
					;;
				ja_euc)
					LIC_LANG="JA_EUC"
					;;
				ja_sjis)
					LIC_LANG="JA"
					;;
				it)
					LIC_LANG="IT"
					;;
				ko)
					LIC_LANG="KO"
					;;
				pt)
					LIC_LANG="PT"
					;;
				*)
					LIC_LANG="EN"
					;;
			esac
			
			$CASHCOMP/ca_lic/lic98err/install_lang ${LIC_LANG} >/dev/null 2>&1 #run script to configure language of lic98
			LIC_INST="YES"
			echo "[ $INST_MSG_1 ]"
			echo
		fi
	fi

}

install_calicense_product_sdo()
{
		echo
		echo $INST_CALICENSE_INSTALLING
		echo
	        if [ ! -d /opt/CA ]; then
	                mkdir -p /opt/CA >/dev/null 2>&1;
	        fi
		$DEPOT/$CALICENSE /opt/CA/SharedComponents
		check_sdo $? ca-lic
		mv /opt/CA/SharedComponents/ca_lic/licrmt /opt/CA/SharedComponents/ca_lic/temp_licrmt >/dev/null 2>&1
		cp $DEPOT/prod_codes.txt /opt/CA/SharedComponents/ca_lic/ >/dev/null 2>&1
		strings $CASHCOMP/ca_lic/lic98.so|grep "LIC98 BUILD INFO"|head -1|grep "\/1.60.0\/Feb.*2004\/" >/dev/null 2>&1
		if [ $? -eq 0 ]; then
		  cp $DEPOT/$LICDIR/lic98.so /opt/CA/SharedComponents/ca_lic/ >/dev/null 2>&1
		fi
}

check_calicense()
{
	rpm -q ca-lic >/dev/null 2>&1
	if [ $? -ne 0 ] ; then
		echo
		echo $INST_ERR_CALICENSE_CHECK
		echo 
		exit 3
	else
		echo
		echo $INST_CALICENSE_ALREADY_INSTALLED
		echo
	fi
}

install_caagent_product()
{
	install_calicense_product

	rpm -q BABcmagt >/dev/null 2>&1
	if [ $? -ne 0 -o $CAAGENT_NEED_UPGRADE -eq 1 ] ; then
		if [ $ASAGENT9_OLD_INSTALLED -ne 0 -o $CAAGENT_NEED_UPGRADE -eq 1 ];then
	        	echo -e "    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_100} ]\c"
	        else
	        	echo -e "    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_96} ]\c"
		fi
                startDial &
		if [ $CAAGENT_NEED_UPGRADE -eq 1 ];then
			cp /opt/CA/BABcmagt/agent.cfg /opt/CA/BABcmagt/agent.cfg.v11 >/dev/null 2>&1
                	cd $DEPOT/$CAG_DEPOT && rpm -i $RPM_FORCE_FLAG --noscripts $ASAGENT >/dev/null 2>&1
		fi
		cd $DEPOT/$CAG_DEPOT && rpm -i $RPM_FORCE_FLAG $ASAGENT >${TMPFILENAME} 2>&1
		check $? BABcmagt
		if [ $? -ne 0 ]; then
	                echo -e "$BK_LINE_FLAG    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_98} ]"
		else
			if [ $ASAGENT9_OLD_INSTALLED -ne 0 -o $CAAGENT_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_103} ]"
		        else
		                echo -e "$BK_LINE_FLAG    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_97} ]"
				CAAGENT_SUCCEED_INSTALL=1
			fi
			if [ ! -r ${DSPKG_LST} ]; then
				/opt/CA/BABcmagt/dsCheckPkgs >/dev/null 2>&1
			fi
			$NLS_UTILITY_FILE -u /opt/CA/BABcmagt/nls/nls.cfg CA_NLS_LANG $NLS_LANG $NLS_LOCALE
		fi
		if [ $ASAGENT9_OLD_INSTALLED -ne 0 ];then
		  
			REMOVE_PKG=$ASAGENT9_OLD
			if [ "$REMOVE_PKG" != "" ];then
				INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
				if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
					INSTALLED_PREFIX="/opt/CA"
				fi
				cp ${INSTALLED_PREFIX}/CAagent/agent.cfg /opt/CA/BABcmagt/agent.cfg.v9 2>/dev/null
				cp ${INSTALLED_PREFIX}/CAagent/nls/nls.cfg /opt/CA/BABcmagt/nls/nls.cfg.v9 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/CAagent/logs /opt/CA/BABcmagt/ 2>/dev/null
			fi					
		elif [ $CAAGENT_NEED_UPGRADE -eq 1 ];then
			sed -e "s%BABagntux%BABuagent%" /opt/CA/BABcmagt/agent.cfg.v11 > /opt/CA/BABcmagt/agent.cfg
			sed -e "s%11.0.0%11.5.0%" -e "s%11.1.0%11.5.0%" /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.v11
			mv -f /opt/CA/BABcmagt/agent.cfg.v11 /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
			rm -f /opt/CA/BABcmagt/uninstall_sp
			Update_Agent_36
		fi
	else
                echo -e "    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_99} ]"
	fi
        if [ ${CFGAGTAUTOSTRTSTOP} -eq 1 ]
        then
           if [ -x /opt/CA/BABcmagt/caagent_autostrtstop ]
           then
                    /opt/CA/BABcmagt/caagent_autostrtstop y >/dev/null 2>&1
           fi
        fi
}

install_caagent_product_sdo()
{
	check_calicense
	rpm -q BABcmagt >/dev/null 2>&1
	if [ $? -ne 0 -o $CAAGENT_NEED_UPGRADE -eq 1 ] ; then
		if [ $ASAGENT9_OLD_INSTALLED -ne 0 -o $CAAGENT_NEED_UPGRADE -eq 1 ];then
	        	echo -e "    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_100} ]"
	        	shutdown_caagent >/dev/null 2>&1
	        else
	        	echo -e "    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_96} ]"
		fi
		if [ $CAAGENT_NEED_UPGRADE -eq 1 ];then
			cp /opt/CA/BABcmagt/agent.cfg /opt/CA/BABcmagt/agent.cfg.v11 >/dev/null 2>&1
                	rpm -i $RPM_FORCE_FLAG --noscripts $ASAGENT >/dev/null 2>&1
		fi
		rpm -i $RPM_FORCE_FLAG $ASAGENT
		rc=$?
		if [ $rc -ne 0 ]; then
	                echo -e "$BK_LINE_FLAG    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_98} ]"
		else
			CAAGENT_SUCCEED_INSTALL=1
			if [ $ASAGENT9_OLD_INSTALLED -ne 0 -o $CAAGENT_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_103} ]"
		        else
		                echo -e "$BK_LINE_FLAG    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_97} ]"
			fi
			if [ ! -r ${DSPKG_LST} ]; then
				/opt/CA/BABcmagt/dsCheckPkgs >/dev/null 2>&1
			fi
			$NLS_UTILITY_FILE -u /opt/CA/BABcmagt/nls/nls.cfg CA_NLS_LANG $NLS_LANG $NLS_LOCALE
		fi
		if [ $ASAGENT9_OLD_INSTALLED -ne 0 ];then
		  
			REMOVE_PKG=$ASAGENT9_OLD
			if [ "$REMOVE_PKG" != "" ];then
				INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
				if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
					INSTALLED_PREFIX="/opt/CA"
				fi
				cp ${INSTALLED_PREFIX}/CAagent/agent.cfg /opt/CA/BABcmagt/agent.cfg.v9 2>/dev/null
				cp ${INSTALLED_PREFIX}/CAagent/nls/nls.cfg /opt/CA/BABcmagt/nls/nls.cfg.v9 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/CAagent/logs /opt/CA/BABcmagt/ 2>/dev/null
			fi					
		elif [ $CAAGENT_NEED_UPGRADE -eq 1 ];then
			sed -e "s%BABagntux%BABuagent%" /opt/CA/BABcmagt/agent.cfg.v11 > /opt/CA/BABcmagt/agent.cfg
			sed -e "s%11.0.0%11.5.0%" -e "s%11.1.0%11.5.0%" /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.v11
			mv -f /opt/CA/BABcmagt/agent.cfg.v11 /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
			Update_Agent_36
		fi
	        if [ "${AGENTS_AUTO_START}" = "YES" ]
	        then
	           if [ -x /opt/CA/BABcmagt/caagent_autostrtstop ]
	           then
	                    /opt/CA/BABcmagt/caagent_autostrtstop y >/dev/null 2>&1
	           fi
	        fi
		$NLS_UTILITY_FILE -u /opt/CA/BABcmagt/nls/nls.cfg CA_NLS_LANG $NLS_LANG $NLS_LOCALE
	else
		echo
		echo $INST_CAAGENT_ALREADY_INSTALLED
		echo	
		if [ $SDO_PACKAGE_NUM -eq 13 ]; then
			exit 4
		fi
	fi
}

install_nasagent_product()
{
	rpm -q BABnas >/dev/null 2>&1
	if [ $? -ne 0 -o $NAS_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABsvr >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
	                printf "$INST_NAS_ERR1\n" "NDMP NAS Option" >> ${INSTALL_LOG} 2>&1
	                echo -e "    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_98} ]"
		else
			if [ $NAS9_OLD_INSTALLED -ne 0  -o $NAS_NEED_UPGRADE -eq 1 ];then
	                        echo -e "    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_100} ]\c"
                        else
                        	echo -e "    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_96} ]\c"
	                fi
                        startDial &
                	if [ $NAS_NEED_UPGRADE -eq 1 ];then
	                	cd $DEPOT/$NAS && rpm -i $RPM_FORCE_FLAG --noscripts $NAS_RELOC $NAS_PKG >/dev/null 2>&1
                	fi
	                cd $DEPOT/$NAS && rpm -i $RPM_FORCE_FLAG $NAS_RELOC $NAS_PKG  >${TMPFILENAME} 2>&1
			check $? BABnas
			if [ $? -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_98} ]"
			else
				if [ $NAS9_OLD_INSTALLED -ne 0  -o $NAS_NEED_UPGRADE -eq 1 ];then
			                echo -e "$BK_LINE_FLAG    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_103} ]"
			        else
			                echo -e "$BK_LINE_FLAG    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_97} ]"
					NASAGENT_SUCCEED_INSTALL=1
				fi
				update_dspkg_lst BABnas
				
			fi
		fi
	else
                echo -e "    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_99} ]"
	fi
}

install_nasagent_product_sdo()
{
	rpm -q BABnas >/dev/null 2>&1
	if [ $? -ne 0 -o $NAS_NEED_UPGRADE -eq 1 ] ; then
		echo -e $INST_NASAGENT_INSTALLING
		
		rpm -q BABsvr >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
			echo
	                printf "$INST_NAS_ERR1\n" "NDMP NAS Option" 
			echo
			exit 3
		fi

		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		fi
		if [ $NAS9_OLD_INSTALLED -ne 0  -o $NAS_NEED_UPGRADE -eq 1 ]; then
	                echo -e "    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_100} ]\c"
                else
                       	echo -e "    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_96} ]\c"
	        fi
                if [ $NAS_NEED_UPGRADE -eq 1 ]; then
	               	rpm -i $RPM_FORCE_FLAG --noscripts $NAS_RELOC $NAS_PKG >/dev/null 2>&1
                fi
		rpm -i $RPM_FORCE_FLAG $NAS_RELOC $NAS_PKG
		rc=$?
		if [ $rc -ne 0 ]; then
		        echo -e "$BK_LINE_FLAG    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_98} ]"
		        exit $rc
		else
			if [ $NAS9_OLD_INSTALLED -ne 0  -o $NAS_NEED_UPGRADE -eq 1 ]; then
		                echo -e "$BK_LINE_FLAG    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_103} ]"
		        else
		                echo -e "$BK_LINE_FLAG    NDMP NAS Option                          (BABnas)         ==> [ ${INST_MSG_97} ]"
				NASAGENT_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABnas
		fi
	else
		echo
		echo $INST_NAS_ALREADY_INSTALLED
		echo
		exit 4
	fi
}

install_uagent_product()
{
	rpm -q BABagntux > /dev/null 2>&1
	if [ $? -ne 0 -o $UAG_NEED_UPGRADE -eq 1 ] ; then
		if [ $UAGENT9_OLD_INSTALLED -ne 0 -o $UAG_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_100} ]\c"
                else
                        echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
 		if [ $UAG_NEED_UPGRADE -ne 0 ];then
			INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' BABagntux 2>/dev/null`
			if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
				INSTALLED_PREFIX="/opt/CA"
			fi
			cp ${INSTALLED_PREFIX}/BABuagent/fs.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/cabr.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/cabr.cfg.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/groom.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/groom.cntl.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/mergescan.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/mergescan.cfg.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/uag.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cfg.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/uag.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cntl.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/uagres.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uagres.cntl.upg 2>/dev/null
                fi
                if [ $UAG_NEED_UPGRADE -eq 1 ];then
	                cd $DEPOT/$UAG_DEPOT && rpm -i $RPM_FORCE_FLAG --noscripts $UAG_RELOC $UAGENT >/dev/null 2>&1
                fi
                cd $DEPOT/$UAG_DEPOT && rpm -i $RPM_FORCE_FLAG $UAG_RELOC $UAGENT >${TMPFILENAME} 2>&1
		rc=$?
		if [ $UAGENT9_OLD_INSTALLED -ne 0  ];then
			REMOVE_PKG=$UAGENT9_OLD
			if [ "$REMOVE_PKG" != "" ];then
				INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
				if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
					INSTALLED_PREFIX="/opt/CA"
				fi
				cp ${INSTALLED_PREFIX}/uagent/fs.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/cabr.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/cabr.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/groom.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/groom.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/mergescan.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/mergescan.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/uag.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/uag.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/uagres.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uagres.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/logs/* ${UAG_PREFIX:-/opt/CA}/BABuagent/logs/ 2>/dev/null
			fi
		
                fi
		if [ $UAGENT9_OLD_INSTALLED -ne 0 -o $UAG_NEED_UPGRADE -ne 0 ];then
                	Update_Uagcfg >/dev/null 2>&1
                	${UAG_PREFIX:-/opt/CA}/BABuagent/uagent start >/dev/null 2>&1
                fi
		check $rc BABagntux
		if [ $? -ne 0 ]; then
                echo -e "$BK_LINE_FLAG    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_98} ]"
		else
			if [ $UAGENT9_OLD_INSTALLED -ne 0 -o $UAG_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_103} ]"
		                rm -f /usr/bin/uagent >/dev/null 2>&1
		                ln -s ${UAG_PREFIX:-/opt/CA}/BABuagent/uagent /usr/bin/ >/dev/null 2>&1
		        else
		                echo -e "$BK_LINE_FLAG    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_97} ]"
				UAGENT_SUCCEED_INSTALL=1
			fi
			solve_lib_name
		fi
		AddAgentEnv
	else
                echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_99} ]"
	fi
}

install_uagent_product_sdo()
{
	rpm -q BABagntux > /dev/null 2>&1
	if [ $? -ne 0 -o $UAG_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			if [ $UAGENT9_OLD_INSTALLED -ne 0 -o $UAG_NEED_UPGRADE -eq 1 ];then
	                        echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_100} ]"
	                else
	                        echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_96} ]"
	                fi
	 		if [ $UAG_NEED_UPGRADE -ne 0 ];then
				INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' BABagntux 2>/dev/null`
				if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
					INSTALLED_PREFIX="/opt/CA"
				fi
				cp ${INSTALLED_PREFIX}/BABuagent/fs.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/BABuagent/cabr.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/cabr.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/BABuagent/groom.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/groom.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/BABuagent/mergescan.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/mergescan.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/BABuagent/uag.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/BABuagent/uag.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/BABuagent/uagres.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uagres.cntl.upg 2>/dev/null
	                fi
                	if [ $UAG_NEED_UPGRADE -eq 1 ];then
	                	rpm -i $RPM_FORCE_FLAG --noscripts $UAG_RELOC $UAGENT >/dev/null 2>&1
                	fi
			rpm -i $RPM_FORCE_FLAG $UAG_RELOC $UAGENT
			rc=$?
			if [ $rc -ne 0 ]; then
		                echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_98} ]"
	                        exit $rc
			else
				if [ $UAGENT9_OLD_INSTALLED -ne 0  ];then
					REMOVE_PKG=$UAGENT9_OLD
					if [ "$REMOVE_PKG" != "" ];then
						INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
						if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
							INSTALLED_PREFIX="/opt/CA"
						fi
						cp ${INSTALLED_PREFIX}/uagent/fs.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/uagent/cabr.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/cabr.cfg.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/uagent/groom.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/groom.cntl.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/uagent/mergescan.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/mergescan.cfg.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/uagent/uag.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cfg.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/uagent/uag.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cntl.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/uagent/uagres.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uagres.cntl.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/uagent/logs/* ${UAG_PREFIX:-/opt/CA}/BABuagent/logs/ 2>/dev/null
					fi
				
		                fi
				if [ $UAGENT9_OLD_INSTALLED -ne 0 -o $UAG_NEED_UPGRADE -ne 0 ];then
		                	Update_Uagcfg >/dev/null 2>&1
		                	${UAG_PREFIX:-/opt/CA}/BABuagent/uagent start >/dev/null 2>&1
			                echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_103} ]"
			                rm -f /usr/bin/uagent >/dev/null 2>&1
			                ln -s ${UAG_PREFIX:-/opt/CA}/BABuagent/uagent /usr/bin/ >/dev/null 2>&1
			        else
			                echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_97} ]"
				fi
				UAGENT_SUCCEED_INSTALL=1
				AddAgentEnv
				solve_lib_name

			fi
		fi
	else
		echo
		echo $INST_UAGENT_ALREADY_INSTALLED
		echo
		exit 4
	fi
}

install_oraagent_product()
{
	rpm -q BABora >/dev/null 2>&1
	if [ $? -ne 0 -o $ORA_NEED_UPGRADE -eq 1 ] ; then
		if [ $ORA9_OLD_INSTALLED -ne 0 -o $ORA_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
                if [ $ORA_NEED_UPGRADE -eq 1 ];then
	                cd $DEPOT/$ORACLE && rpm -i $RPM_FORCE_FLAG --noscripts $ORA_RELOC $ORA_PKG >/dev/null 2>&1
                fi
                cd $DEPOT/$ORACLE && rpm -i $RPM_FORCE_FLAG $ORA_RELOC $ORA_PKG >${TMPFILENAME} 2>&1
		check $? BABora
		if [ $? -ne 0 ]; then
                echo -e "$BK_LINE_FLAG    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_98} ]"
		else
			if [ $ORA9_OLD_INSTALLED -ne 0 -o $ORA_NEED_UPGRADE -eq 1 ];then
	                echo -e "$BK_LINE_FLAG    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_103} ]"
	                else
	                echo -e "$BK_LINE_FLAG    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_97} ]"
			ORAAGENT_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABora
		fi

		if [ $ORA9_OLD_INSTALLED -ne 0  ];then
			REMOVE_PKG=$ORA9_OLD
			if [ "$REMOVE_PKG" != "" ];then
				INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
				if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
					INSTALLED_PREFIX="/opt/CA"
				fi
				cp ${INSTALLED_PREFIX}/CAora/sbt.cfg ${ORA_PREFIX:-/opt/CA}/BABoraagt/ 2>/dev/null
				cp ${INSTALLED_PREFIX}/CAora/instance.cfg ${ORA_PREFIX:-/opt/CA}/BABoraagt/ 2>/dev/null
				cp ${INSTALLED_PREFIX}/CAora/logs/* ${ORA_PREFIX:-/opt/CA}/BABoraagt/logs/ 2>/dev/null
				chmod 666 ${ORA_PREFIX:-/opt/CA}/BABoraagt/logs/*.log 2>/dev/null
				if [ -f /opt/CA/BABcmagt/agent.cfg.v9 ]; then
					grep "OracleAgent" /opt/CA/BABcmagt/agent.cfg.v9 >/dev/null 2>&1
					if [ $? -eq 0 ]; then
						Update_Oracfg >/dev/null 2>&1
						Update_Agent_22 >/dev/null 2>&1
					fi
				fi
			fi
		elif [ $ORA_NEED_UPGRADE -eq 1 ]; then
			Update_Agent_22 >/dev/null 2>&1
		fi

	else
                echo -e "    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_99} ]"
	fi
}

install_oraagent_product_sdo()
{
	rpm -q BABora >/dev/null 2>&1
	if [ $? -ne 0 -o $ORA_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			if [ $ORA9_OLD_INSTALLED -ne 0 -o $ORA_NEED_UPGRADE -eq 1 ];then
	                        echo -e "    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_100} ]"
	                else
	                	echo -e "    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_96} ]"
	                fi
	                if [ $ORA_NEED_UPGRADE -eq 1 ];then
		                rpm -i $RPM_FORCE_FLAG --noscripts $ORA_RELOC $ORA_PKG >/dev/null 2>&1
	                fi
			rpm -i $RPM_FORCE_FLAG $ORA_RELOC $ORA_PKG
			rc=$?
			if [ $rc -ne 0 ]; then
	                	echo -e "$BK_LINE_FLAG    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_98} ]"
	                        exit $rc
			else
				if [ $ORA9_OLD_INSTALLED -ne 0  ];then
					REMOVE_PKG=$ORA9_OLD
					if [ "$REMOVE_PKG" != "" ];then
						INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
						if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
							INSTALLED_PREFIX="/opt/CA"
						fi
						cp ${INSTALLED_PREFIX}/CAora/sbt.cfg ${ORA_PREFIX:-/opt/CA}/BABoraagt/ 2>/dev/null
						cp ${INSTALLED_PREFIX}/CAora/instance.cfg ${ORA_PREFIX:-/opt/CA}/BABoraagt/ 2>/dev/null
						cp ${INSTALLED_PREFIX}/CAora/logs/* ${ORA_PREFIX:-/opt/CA}/BABoraagt/logs/ 2>/dev/null
						chmod 666 ${ORA_PREFIX:-/opt/CA}/BABoraagt/logs/*.log 2>/dev/null
						if [ -f /opt/CA/BABcmagt/agent.cfg.v9 ]; then
							grep "OracleAgent" /opt/CA/BABcmagt/agent.cfg.v9 >/dev/null 2>&1
							if [ $? -eq 0 ]; then
								Update_Oracfg >/dev/null 2>&1
								Update_Agent_22 >/dev/null 2>&1
							fi
						fi
					fi
				elif [ $ORA_NEED_UPGRADE -eq 1 ]; then
					Update_Agent_22 >/dev/null 2>&1				
				fi
				if [ $ORA9_OLD_INSTALLED -ne 0 -o $ORA_NEED_UPGRADE -eq 1 ];then
		                	echo -e "$BK_LINE_FLAG    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_103} ]"
		                else
		                	echo -e "$BK_LINE_FLAG    Backup Agent for Oracle                  (BABora)         ==> [ ${INST_MSG_97} ]"
				fi
				ORAAGENT_SUCCEED_INSTALL=1
				update_dspkg_lst BABora
			fi
	
		fi
	else
		echo
		echo $INST_ORAAGENT_ALREADY_INSTALLED
		echo
		exit 4
	fi
}

install_apagent_product()
{
	rpm -q BABapagent >/dev/null 2>&1
	if [ $? -ne 0 -o $APA_NEED_UPGRADE -eq 1 ] ; then
		if [ $APAGENT9_OLD_INSTALLED -ne 0 -o $APA_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
		if [ $APA_NEED_UPGRADE -ne 0  ];then
			INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' BABapagent 2>/dev/null`
			if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
				INSTALLED_PREFIX="/opt/CA"
			fi
			cp ${INSTALLED_PREFIX}/BABapagent/fs.cfg ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cfg.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABapagent/apacheagent.cfg ${APA_PREFIX:-/opt/CA}/BABapagent/apacheagent.cfg.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABapagent/fs.cntl ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABapagent/dir.cntl ${APA_PREFIX:-/opt/CA}/BABapagent/dir.cntl 2>/dev/null
		fi
                if [ $APA_NEED_UPGRADE -eq 1 ];then
	               	cd $DEPOT/$APACHE && rpm -i $RPM_FORCE_FLAG --noscripts $APA_RELOC $APACHE_PKG >/dev/null 2>&1
                fi
                cd $DEPOT/$APACHE && rpm -i $RPM_FORCE_FLAG $APA_RELOC $APACHE_PKG >${TMPFILENAME} 2>&1
		rc=$?
		if [ $APAGENT9_OLD_INSTALLED -ne 0  ];then
			REMOVE_PKG=$APAGENT9_OLD
			if [ "$REMOVE_PKG" != "" ];then
				INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
				if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
					INSTALLED_PREFIX="/opt/CA"
				fi
				cp ${INSTALLED_PREFIX}/apacheagent/fs.cfg ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/apacheagent/apacheagent.cfg ${APA_PREFIX:-/opt/CA}/BABapagent/apacheagent.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/apacheagent/fs.cntl ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/apacheagent/dir.cntl ${APA_PREFIX:-/opt/CA}/BABapagent/dir.cntl 2>/dev/null
				cp ${INSTALLED_PREFIX}/apacheagent/logs/* ${APA_PREFIX:-/opt/CA}/BABapagent/logs/ 2>/dev/null
				if [ -f /opt/CA/BABcmagt/agent.cfg.v9 ]; then
					grep "ApacheAgent" /opt/CA/BABcmagt/agent.cfg.v9 >/dev/null 2>&1
					if [ $? -eq 0 ]; then
						${APA_PREFIX:-/opt/CA}/BABapagent/apagentsetup -u >/dev/null 2>&1
					fi
				fi
			fi
		
		fi
		
		if [ $APAGENT9_OLD_INSTALLED -ne 0 -o $APA_NEED_UPGRADE -ne 0 ];then
                	Update_Apacfg >/dev/null 2>&1
                fi
		check $rc BABapagent
		if [ $? -ne 0 ]; then
                echo -e "$BK_LINE_FLAG    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_98} ]"
		else
			if [ $APAGENT9_OLD_INSTALLED -ne 0 -o $APA_NEED_UPGRADE -eq 1 ];then
	                echo -e "$BK_LINE_FLAG    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_103} ]"
	                else
	                echo -e "$BK_LINE_FLAG    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_97} ]"
			APAGENT_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABapagent
		fi

	else
                echo -e "    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_99} ]"
	fi

}

install_apagent_product_sdo()
{
	rpm -q BABapagent >/dev/null 2>&1
	if [ $? -ne 0 -o $APA_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			if [ $APAGENT9_OLD_INSTALLED -ne 0 -o $APA_NEED_UPGRADE -eq 1 ];then
	                        echo -e "    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_100} ]"
	                else
	                	echo -e "    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_96} ]"
	                fi
			if [ $APA_NEED_UPGRADE -ne 0  ];then
				INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' BABapagent 2>/dev/null`
				if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
					INSTALLED_PREFIX="/opt/CA"
				fi
				cp ${INSTALLED_PREFIX}/BABapagent/fs.cfg ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/BABapagent/apacheagent.cfg ${APA_PREFIX:-/opt/CA}/BABapagent/apacheagent.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/BABapagent/fs.cntl ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/BABapagent/dir.cntl ${APA_PREFIX:-/opt/CA}/BABapagent/dir.cntl 2>/dev/null
			fi
                	if [ $APA_NEED_UPGRADE -eq 1 ];then
	               		rpm -i $RPM_FORCE_FLAG --noscripts $APA_RELOC $APACHE_PKG >/dev/null 2>&1
                	fi
			rpm -i $RPM_FORCE_FLAG $APA_RELOC $APACHE_PKG
			rc=$?
			if [ $rc -ne 0 ]; then
	                	echo -e "$BK_LINE_FLAG    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_98} ]"
	                	exit $rc
			else
				if [ $APAGENT9_OLD_INSTALLED -ne 0  ];then
					REMOVE_PKG=$APAGENT9_OLD
					if [ "$REMOVE_PKG" != "" ];then
						INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
						if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
							INSTALLED_PREFIX="/opt/CA"
						fi
						cp ${INSTALLED_PREFIX}/apacheagent/fs.cfg ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cfg.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/apacheagent/apacheagent.cfg ${APA_PREFIX:-/opt/CA}/BABapagent/apacheagent.cfg.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/apacheagent/fs.cntl ${APA_PREFIX:-/opt/CA}/BABapagent/fs.cntl.upg 2>/dev/null
						cp ${INSTALLED_PREFIX}/apacheagent/dir.cntl ${APA_PREFIX:-/opt/CA}/BABapagent/dir.cntl 2>/dev/null
						cp ${INSTALLED_PREFIX}/apacheagent/logs/* ${APA_PREFIX:-/opt/CA}/BABapagent/logs/ 2>/dev/null
						if [ -f /opt/CA/BABcmagt/agent.cfg.v9 ]; then
							grep "ApacheAgent" /opt/CA/BABcmagt/agent.cfg.v9 >/dev/null 2>&1
							if [ $? -eq 0 ]; then
								${APA_PREFIX:-/opt/CA}/BABapagent/apagentsetup -u >/dev/null 2>&1
							fi
						fi
					fi
				
				fi
				
				if [ $APAGENT9_OLD_INSTALLED -ne 0 -o $APA_NEED_UPGRADE -ne 0 ];then
		                	Update_Apacfg >/dev/null 2>&1
			                echo -e "$BK_LINE_FLAG    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_103} ]"
		                else
			                echo -e "$BK_LINE_FLAG    Backup Agent for Apache Web Server       (BABapagent)     ==> [ ${INST_MSG_97} ]"
				fi
				APAGENT_SUCCEED_INSTALL=1
				update_dspkg_lst BABapagent
			fi
		fi
	else
		echo
		echo $INST_APAGENT_ALREADY_INSTALLED
		echo
		exit 4
	fi

}

install_mysqlagent_product()
{
	rpm -q BABmysql >/dev/null 2>&1
	if [ $? -ne 0 -o $MYQ_NEED_UPGRADE -eq 1 ] ; then
		if [ $MYSQL9_OLD_INSTALLED -ne 0 -o $MYQ_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
                if [ $MYQ_NEED_UPGRADE -eq 1 ]; then
                	cd $DEPOT/$MYSQL && rpm -i $RPM_FORCE_FLAG --noscripts $MYQ_RELOC $MYSQL_PKG >/dev/null 2>&1
                fi
                cd $DEPOT/$MYSQL && rpm -i $RPM_FORCE_FLAG $MYQ_RELOC $MYSQL_PKG >${TMPFILENAME} 2>&1
		check $? BABmysql
		if [ $? -ne 0 ]; then
                echo -e "$BK_LINE_FLAG    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_98} ]"
		else
			if [ $MYSQL9_OLD_INSTALLED -ne 0 -o $MYQ_NEED_UPGRADE -eq 1 ];then
	                echo -e "$BK_LINE_FLAG    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_103} ]"
	                else
	                echo -e "$BK_LINE_FLAG    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_97} ]"
			MYSQLAGENT_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABmysql
		fi

		if [ $MYSQL9_OLD_INSTALLED -ne 0  ];then
			REMOVE_PKG=$MYSQL9_OLD
			if [ "$REMOVE_PKG" != "" ];then
				INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
				if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
					INSTALLED_PREFIX="/opt/CA"
				fi
				cp ${INSTALLED_PREFIX}/CAMysql/instance.cfg ${MYQ_PREFIX:-/opt/CA}/BABmysql/ 2>/dev/null
				cp ${INSTALLED_PREFIX}/CAMysql/logs/* ${MYQ_PREFIX:-/opt/CA}/BABmysql/logs/ 2>/dev/null
				if [ -f /opt/CA/BABcmagt/agent.cfg.v9 ]; then
					grep "MysqlAgent" /opt/CA/BABcmagt/agent.cfg.v9 >/dev/null 2>&1
					if [ $? -eq 0 ]; then
						${MYQ_PREFIX:-/opt/CA}/BABmysql/mqsetup -u >/dev/null 2>&1
					fi
				fi
			fi
		
		fi
	else
                echo -e "    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_99} ]"
	fi
}

install_mysqlagent_product_sdo()
{
	rpm -q BABmysql >/dev/null 2>&1
	if [ $? -ne 0 -o $MYQ_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			if [ $MYSQL9_OLD_INSTALLED -ne 0 -o $MYQ_NEED_UPGRADE -eq 1 ];then
	                        echo -e "    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_100} ]"
	                else
	                	echo -e "    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_96} ]"
	                fi
	                if [ $MYQ_NEED_UPGRADE -eq 1 ]; then
	                	rpm -i $RPM_FORCE_FLAG --noscripts $MYQ_RELOC $MYSQL_PKG >/dev/null 2>&1
	                fi
			rpm -i $RPM_FORCE_FLAG $MYQ_RELOC $MYSQL_PKG
			rc=$?
			if [ $rc -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_98} ]"
		                exit $rc
			else
				MYSQLAGENT_SUCCEED_INSTALL=1
				if [ $MYSQL9_OLD_INSTALLED -ne 0 -o $MYQ_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_103} ]"
		                else
		                echo -e "$BK_LINE_FLAG    Backup Agent for MySQL                   (BABmysql)       ==> [ ${INST_MSG_97} ]"
				fi
				if [ $MYSQL9_OLD_INSTALLED -ne 0  ];then
					REMOVE_PKG=$MYSQL9_OLD
					if [ "$REMOVE_PKG" != "" ];then
						INSTALLED_PREFIX=`rpm -q --queryformat '%{installprefix}' $REMOVE_PKG 2>/dev/null`
						if [ "$INSTALLED_PREFIX" = "" -o "$INSTALLED_PREFIX" = "(none)" ] ; then
							INSTALLED_PREFIX="/opt/CA"
						fi
						cp ${INSTALLED_PREFIX}/CAMysql/instance.cfg ${MYQ_PREFIX:-/opt/CA}/BABmysql/ 2>/dev/null
						cp ${INSTALLED_PREFIX}/CAMysql/logs/* ${MYQ_PREFIX:-/opt/CA}/BABmysql/logs/ 2>/dev/null
						if [ -f /opt/CA/BABcmagt/agent.cfg.v9 ]; then
							grep "MysqlAgent" /opt/CA/BABcmagt/agent.cfg.v9 >/dev/null 2>&1
							if [ $? -eq 0 ]; then
								${MYQ_PREFIX:-/opt/CA}/BABmysql/mqsetup -u >/dev/null 2>&1
							fi
						fi
					fi
				
				fi
				update_dspkg_lst BABmysql
			fi
	
		fi
	else
		echo
		echo $INST_MYSQLAGENT_ALREADY_INSTALLED
		echo
		exit 4
	fi
}
install_drooption_product()
{
        rpm -q BABdr >/dev/null 2>&1
        if [ $? -ne 0 -o $DRO_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABsvr >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
	                printf "$INST_NAS_ERR1\n" "Disaster Recovery Option" >> ${INSTALL_LOG} 2>&1
                        echo -e "    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_98} ]"
		else
			if [ $DRO9_OLD_INSTALLED -ne 0 -o $DRO_NEED_UPGRADE -eq 1 ];then
	                        echo -e "    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_100} ]\c"
                        else
                        	echo -e "    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_96} ]\c"
	                fi
                        startDial &
                	if [ $DRO_NEED_UPGRADE -eq 1 ];then
	               		cd $DEPOT/$DROOPTION && rpm -i $RPM_FORCE_FLAG --noscripts $NAS_RELOC $DRO_PKG >/dev/null 2>&1
                	fi
	                cd $DEPOT/$DROOPTION && rpm -i $RPM_FORCE_FLAG $NAS_RELOC $DRO_PKG >${TMPFILENAME} 2>&1
	                check $? BABdr
			if [ $? -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_98} ]"
			else
			if [ $DRO9_OLD_INSTALLED -ne 0 -o $DRO_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_103} ]"
		        else
		                echo -e "$BK_LINE_FLAG    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_97} ]"
		                DROOPTION_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABdr
			fi
		fi
        else
                echo -e "    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_99} ]"
        fi
}
install_drooption_product_sdo()
{
	rpm -q BABdr >/dev/null 2>&1
	if [ $? -ne 0 -o $DRO_NEED_UPGRADE -eq 1 ] ; then
		
		rpm -q BABsvr >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
			echo
	                printf "$INST_NAS_ERR1\n" "Disaster Recovery Option" 
			echo
			exit 3
		else
			if [ $DRO9_OLD_INSTALLED -ne 0 -o $DRO_NEED_UPGRADE -eq 1 ]; then
	                        echo -e "    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_100} ]\c"
                        else
                        	echo -e "    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_96} ]\c"
	                fi
                	if [ $DRO_NEED_UPGRADE -eq 1 ]; then
	               		rpm -i $RPM_FORCE_FLAG --noscripts $NAS_RELOC $DRO_PKG >/dev/null 2>&1
                	fi
			rpm -i $RPM_FORCE_FLAG $NAS_RELOC $DRO_PKG
			rc=$?
			if [ $rc -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_98} ]"
		                exit $rc
			else
				if [ $DRO9_OLD_INSTALLED -ne 0 -o $DRO_NEED_UPGRADE -eq 1 ]; then
		                	echo -e "$BK_LINE_FLAG    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_103} ]"
		        	else
		                	echo -e "$BK_LINE_FLAG    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_97} ]"
		                	DROOPTION_SUCCEED_INSTALL=1
				fi
				update_dspkg_lst BABdr
			fi
		fi
	else
		echo
                echo -e "    Disaster Recovery Option                 (BABdr)          ==> [ ${INST_MSG_99} ]"
		echo
		exit 4
	fi
}
install_sanoption_product()
{
        rpm -q BABsan >/dev/null 2>&1
        if [ $? -ne 0 -o $SAN_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABsvr >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
	                printf "$INST_NAS_ERR1\n" "Storage Area Network (SAN) Option" >> ${INSTALL_LOG} 2>&1
                        echo -e "    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_98} ]"
		else
			if [ $SAN_NEED_UPGRADE -eq 1 ];then
	                        echo -e "    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_100} ]\c"
                        else
                        	echo -e "    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_96} ]\c"
	                fi
                        startDial &
                	if [ $SAN_NEED_UPGRADE -eq 1 ];then
	               		cd $DEPOT/$SANOPTION && rpm -i $RPM_FORCE_FLAG --noscripts $NAS_RELOC $SAN_PKG >/dev/null 2>&1
                	fi
	                cd $DEPOT/$SANOPTION && rpm -i $RPM_FORCE_FLAG $NAS_RELOC $SAN_PKG >${TMPFILENAME} 2>&1
	                check $? BABsan
			if [ $? -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_98} ]"
			else
			if [ $SAN_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_103} ]"
		        else
		                echo -e "$BK_LINE_FLAG    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_97} ]"
		                SANOPTION_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABsan
			fi
		fi
        else
                        echo -e "    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_99} ]"
        fi
}
install_sanoption_product_sdo()
{
	rpm -q BABsan >/dev/null 2>&1
	if [ $? -ne 0 -o $SAN_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABsvr >/dev/null 2>&1
		if [ $? -ne 0 ] ; then
			echo
	                printf "$INST_NAS_ERR1\n" "Storage Area Network (SAN) Option" 
			echo
			exit 3
		else
			if [ $SAN_NEED_UPGRADE -eq 1 ]; then
	                        echo -e "    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_100} ]\c"
                        else
                        	echo -e "    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_96} ]\c"
	                fi
                	if [ $SAN_NEED_UPGRADE -eq 1 ]; then
	               		rpm -i $RPM_FORCE_FLAG --noscripts $NAS_RELOC $SAN_PKG >/dev/null 2>&1
                	fi
	                rpm -i $RPM_FORCE_FLAG $NAS_RELOC $SAN_PKG
			rc=$?
			if [ $? -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_98} ]"
		                exit $rc
			else
				if [ $SAN_NEED_UPGRADE -eq 1 ]; then
		                	echo -e "$BK_LINE_FLAG    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_103} ]"
		        	else
		                	echo -e "$BK_LINE_FLAG    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_97} ]"
		                	SANOPTION_SUCCEED_INSTALL=1
				fi
				update_dspkg_lst BABsan
			fi
		fi
	else
		echo
                        echo -e "    Storage Area Network (SAN) Option        (BABsan)         ==> [ ${INST_MSG_99} ]"
		echo
		exit 4
	fi
}

install_ingagent_product()
{
	rpm -q BABing >/dev/null 2>&1
	if [ $? -ne 0 -o $ING_NEED_UPGRADE -eq 1 ] ; then
		if [ $ING_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
                if [ $ING_NEED_UPGRADE -eq 1 ]; then
                	cd $DEPOT/$ING && rpm -i $RPM_FORCE_FLAG --noscripts $ING_RELOC $ING_PKG >/dev/null 2>&1
                fi
                cd $DEPOT/$ING && rpm -i $RPM_FORCE_FLAG $ING_RELOC $ING_PKG >${TMPFILENAME} 2>&1
		check $? BABing
		if [ $? -ne 0 ]; then
                echo -e "$BK_LINE_FLAG    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_98} ]"
		else
			if [ $ING_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_103} ]"
		        else
		                echo -e "$BK_LINE_FLAG    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_97} ]"
				INGAGENT_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABing
		fi
	else
                echo -e "    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_99} ]"
	fi
}

install_ingagent_product_sdo()
{
	rpm -q BABing >/dev/null 2>&1
	if [ $? -ne 0 -o $ING_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			if [ $ING_NEED_UPGRADE -eq 1 ]; then
	                        echo -e "    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_100} ]"
	                else
	                	echo -e "    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_96} ]"
	                fi
                if [ $ING_NEED_UPGRADE -eq 1 ]; then
                	rpm -i $RPM_FORCE_FLAG --noscripts $ING_RELOC $ING_PKG >/dev/null 2>&1
                fi
                        rpm -i $RPM_FORCE_FLAG $ING_RELOC $ING_PKG 
			rc=$?
			if [ $rc -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_98} ]"
		                exit $rc
			else
				if [ $ING_NEED_UPGRADE -eq 1 ];then
		                	echo -e "$BK_LINE_FLAG    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_103} ]"
		                else
		                	echo -e "$BK_LINE_FLAG    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_97} ]"
					INGAGENT_SUCCEED_INSTALL=1
				fi
				update_dspkg_lst BABing
			fi
		fi
	else
		echo
                echo -e "    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ${INST_MSG_99} ]"
		echo
		exit 4
	fi
}
uninstall_avengine_product()
{
	if [ $INO_NEED_UNINSTALL -eq 1 ] ;then
  		echo -e "    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_138} ]\c"
  		startDial &
  		av_rc=0
		if [ "$CAIGLBL0000" != "" -a -f $CAIGLBL0000/ino/.BABave -a -x $CAIGLBL0000/ino/scripts/deinstall ];then			
			$CAIGLBL0000/ino/scripts/deinstall >${TMPFILENAME} 2>&1
			av_rc=$?
			if [  -f $CAIGLBL0000/ino/.BABave ] ;then
				rm -f $CAIGLBL0000/ino/.BABave >${TMPFILENAME} 2>&1
			fi			
		elif [ $INO9_OLD_INSTALLED -eq 1 ]; then
			rpm -e --noscripts $INO9_OLD >/dev/null 2>&1
			av_rc=$?
		else
			rpm -q AVEngine >/dev/null 2>&1
			if [ $? -eq 0 ];then
				rpm -e AVEngine >/dev/null 2>&1
				av_rc=$?
			fi
		fi
		
		check $av_rc AVEngine
		if [ $av_rc -ne 0 ]; then
                	echo -e "$BK_LINE_FLAG    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_140} ]"
                else
                	echo -e "$BK_LINE_FLAG    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_139} ]"
                fi
	fi 	
}
install_avengine_product()
{

	
	Get_CAIGLBL0000
	

	if [ "$CAIGLBL0000" = "" -o ! -f $CAIGLBL0000/ino/.BABave ] ;then		
		if [ $INO9_OLD_INSTALLED -eq 1 -o $INO_NEED_UPGRADE -eq 1 ]; then
                	echo -e "    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
	
		if [ $INO9_OLD_INSTALLED -eq 1 ]; then	
                	rpm -e --justdb $INO9_OLD >/dev/null 2>&1
		elif [ $INO_NEED_UPGRADE -eq 1 ];then
			rpm -e --justdb AVEngine >/dev/null 2>&1
		fi
		
                cd $DEPOT/$INO && rpm -i $RPM_FORCE_FLAG $INO_RELOC $INO_PKG >${TMPFILENAME} 2>&1
		av_rc=$?
		if [ $av_rc -eq 0 ] ;then
			#clean up package recorde from RPM db
			rpm -e --justdb AVEngine  >${TMPFILENAME} 2>&1
			av_rc=$?
			#mark BAB AVEngine installed 
			Get_CAIGLBL0000
			if [ ! -f $CAIGLBL0000/ino/.BABave ] ;then
				touch $CAIGLBL0000/ino/.BABave >${TMPFILENAME} 2>&1
			fi
		fi
		check $av_rc AVEngine
		if [ $av_rc -ne 0 ]; then
                echo -e "$BK_LINE_FLAG    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_98} ]"
		else
		if [ $INO9_OLD_INSTALLED -eq 1 ]; then
                echo -e "$BK_LINE_FLAG    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_103} ]"
                else
                echo -e "$BK_LINE_FLAG    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_97} ]"
		fi
		fi
	else
                echo -e "    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_99} ]"
	fi

}

install_avengine_product_sdo()
{

	Get_CAIGLBL0000
	if [ "$CAIGLBL0000" = "" -o ! -f $CAIGLBL0000/ino/.BABave ] ;then
		if [ $INO9_OLD_INSTALLED -eq 1 -o $INO_NEED_UPGRADE -eq 1 ]; then
                	echo -e "    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_100} ]"
                else
                	echo -e "    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_96} ]"
                fi
		if [ $INO9_OLD_INSTALLED -eq 1 ]; then
                	rpm -e $INO9_OLD >/dev/null 2>&1
		else
			rpm -e AVEngine >/dev/null 2>&1
		fi
		rpm -i $RPM_FORCE_FLAG $INO_RELOC $INO_PKG
		rc=$?
		if [ $rc -eq 0 ]; then
			#clean up package recorde from RPM db
			rpm -e --justdb AVEngine  
			rc=$?

			#mark BAB AVEngine installed 
			Get_CAIGLBL0000
			if [ ! -f $CAIGLBL0000/ino/.BABave ] ;then
				touch $CAIGLBL0000/ino/.BABave 
			fi
			
		fi
		if [ $rc -ne 0 ]; then
                	echo -e "$BK_LINE_FLAG    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_98} ]"
                	exit $rc
		else
			if [ $INO9_OLD_INSTALLED -eq 1 ]; then
                		echo -e "$BK_LINE_FLAG    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_103} ]"
               		else
                		echo -e "$BK_LINE_FLAG    eTrust Antivirus Engine                  (AVEngine)       ==> [ ${INST_MSG_97} ]"
			fi
		fi
	else
		echo 
		echo $INST_AVENGINE_ALREADY_INSTALLED
		echo
		exit 4
	fi
}

install_notesagent_product()
{
	rpm -q BABlotus >/dev/null 2>&1
	if [ $? -ne 0 -o $NOTES_NEED_UPGRADE -eq 1 ] ; then
		if [ $NOTES_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
                if [ $NOTES_NEED_UPGRADE -eq 1 ]; then
                	cd $DEPOT/$NOTES && rpm -i $RPM_FORCE_FLAG --noscripts $NOTES_RELOC $NOTES_PKG >/dev/null 2>&1
                fi
                cd $DEPOT/$NOTES && rpm -i $RPM_FORCE_FLAG $NOTES_RELOC $NOTES_PKG >${TMPFILENAME} 2>&1
		check $? BABlotus
		if [ $? -ne 0 ]; then
                	echo -e "$BK_LINE_FLAG    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_98} ]"
		else
			if [ $NOTES_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_103} ]"
		        else
	                	echo -e "$BK_LINE_FLAG    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_97} ]"
				NOTESAGENT_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABlotus
		fi
	else
                echo -e "    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_99} ]"
	fi
}

install_notesagent_product_sdo()
{
	rpm -q BABlotus >/dev/null 2>&1
	if [ $? -ne 0 -o $NOTES_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			if [ $NOTES_NEED_UPGRADE -eq 1 ]; then
	                        echo -e "    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_100} ]"
	                else
	                	echo -e "    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_96} ]"
	                fi
                if [ $NOTES_NEED_UPGRADE -eq 1 ]; then
                	rpm -i $RPM_FORCE_FLAG --noscripts $NOTES_RELOC $NOTES_PKG >/dev/null 2>&1
                fi
                        rpm -i $RPM_FORCE_FLAG $NOTES_RELOC $NOTES_PKG 
			rc=$?
			if [ $rc -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_98} ]"
		                exit $rc
			else
				if [ $NOTES_NEED_UPGRADE -eq 1 ];then
			                echo -e "$BK_LINE_FLAG    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_103} ]"
		                else
			                echo -e "$BK_LINE_FLAG    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_97} ]"
					NOTESAGENT_SUCCEED_INSTALL=1
				fi
				update_dspkg_lst BABlotus
			fi
		fi
	else
		echo
                echo -e "    Backup Agent for Lotus Domino            (BABlotus)       ==> [ ${INST_MSG_99} ]"
		echo
		exit 4
	fi
}

install_sapagent_product()
{
	rpm -q BABsap >/dev/null 2>&1
	if [ $? -ne 0 -o $SAP_NEED_UPGRADE -eq 1 ] ; then
		if [ $SAP_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
                if [ $SAP_NEED_UPGRADE -eq 1 ]; then
                	cd $DEPOT/$SAP && rpm -i $RPM_FORCE_FLAG --noscripts $SAP_RELOC $SAP_PKG >/dev/null 2>&1
                fi
                cd $DEPOT/$SAP && rpm -i $RPM_FORCE_FLAG $SAP_RELOC $SAP_PKG >${TMPFILENAME} 2>&1
		check $? BABsap
		if [ $? -ne 0 ]; then
                	echo -e "$BK_LINE_FLAG    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_98} ]"
		else
			if [ $SAP_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_103} ]"
		        else
	                	echo -e "$BK_LINE_FLAG    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_97} ]"
				SAPAGENT_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABsap
		fi
	else
                echo -e "    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_99} ]"
	fi
	rpm -q BABbaim >/dev/null 2>&1
	if [ $? -ne 0 -o $SAP_NEED_UPGRADE -eq 1 ] ; then
		if [ $SAP_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
                if [ $SAP_NEED_UPGRADE -eq 1 ]; then
                	cd $DEPOT/$SAP && rpm -i $RPM_FORCE_FLAG --noscripts $SAP_RELOC $BAIM_PKG >/dev/null 2>&1
                fi
                cd $DEPOT/$SAP && rpm -i $RPM_FORCE_FLAG $SAP_RELOC $BAIM_PKG >${TMPFILENAME} 2>&1
		check $? BABbaim
		if [ $? -ne 0 ]; then
                	echo -e "$BK_LINE_FLAG    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_98} ]"
		else
			if [ $SAP_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_103} ]"
		        else
	                	echo -e "$BK_LINE_FLAG    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_97} ]"
				if [ "$SAPAGENT_SUCCEED_INSTALL" != "1" ]; then
				  SAPAGENT_SUCCEED_INSTALL=0
				fi
			fi
			update_dspkg_lst BABbaim
		fi
	else
                echo -e "    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_99} ]"
	fi
}

install_sapagent_product_sdo()
{
	rpm -q BABsap >/dev/null 2>&1
	if [ $? -ne 0 -o $SAP_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			if [ $SAP_NEED_UPGRADE -eq 1 ]; then
	                        echo -e "    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_100} ]"
	                else
	                	echo -e "    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_96} ]"
	                fi
                if [ $SAP_NEED_UPGRADE -eq 1 ]; then
                	rpm -i $RPM_FORCE_FLAG --noscripts $SAP_RELOC $SAP_PKG >/dev/null 2>&1
                fi
                        rpm -i $RPM_FORCE_FLAG $SAP_RELOC $SAP_PKG 
			rc=$?
			if [ $rc -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_98} ]"
		                exit $rc
			else
				if [ $SAP_NEED_UPGRADE -eq 1 ];then
		                	echo -e "$BK_LINE_FLAG    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_103} ]"
		                else
		                	echo -e "$BK_LINE_FLAG    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_97} ]"
				 	SAPAGENT_SUCCEED_INSTALL=1
				fi
				update_dspkg_lst BABsap
			fi
		fi
	else
		echo
                echo -e "    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ ${INST_MSG_99} ]"
		echo
		exit 4
	fi
	rpm -q BABbaim >/dev/null 2>&1
	if [ $? -ne 0 -o $SAP_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			if [ $SAP_NEED_UPGRADE -eq 1 ]; then
	                        echo -e "    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_100} ]"
	                else
	                	echo -e "    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_96} ]"
	                fi
                if [ $SAP_NEED_UPGRADE -eq 1 ]; then
                	rpm -i $RPM_FORCE_FLAG --noscripts $SAP_RELOC $BAIM_PKG >/dev/null 2>&1
                fi
                        rpm -i $RPM_FORCE_FLAG $SAP_RELOC $BAIM_PKG 
			rc=$?
			if [ $rc -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_98} ]"
		                exit $rc
			else
				if [ $SAP_NEED_UPGRADE -eq 1 ];then
		                	echo -e "$BK_LINE_FLAG    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_103} ]"
		                else
		                	echo -e "$BK_LINE_FLAG    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_97} ]"
					if [ "$SAPAGENT_SUCCEED_INSTALL" != "1" ]; then
					  SAPAGENT_SUCCEED_INSTALL=0
					fi
				fi
				update_dspkg_lst BABbaim
			fi
		fi
	else
		echo
                echo -e "    Backup Agent Integration Module          (BABbaim)        ==> [ ${INST_MSG_99} ]"
		echo
		exit 4
	fi
}

install_haragent_product()
{
	rpm -q BABharagt >/dev/null 2>&1
	if [ $? -ne 0 -o $HAR_NEED_UPGRADE -eq 1 ] ; then
		if [ $HAR_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
                if [ $HAR_NEED_UPGRADE -eq 1 ]; then
                	cd $DEPOT/$HAR && rpm -i $RPM_FORCE_FLAG --noscripts $HAR_RELOC $HAR_PKG >/dev/null 2>&1
                fi
                cd $DEPOT/$HAR && rpm -i $RPM_FORCE_FLAG $HAR_RELOC $HAR_PKG >${TMPFILENAME} 2>&1
		check $? BABharagt
		if [ $? -ne 0 ]; then
                	echo -e "$BK_LINE_FLAG    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_98} ]"
		else
			if [ $HAR_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_103} ]"
		        else
	                	echo -e "$BK_LINE_FLAG    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_97} ]"
				HARAGENT_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABharagt
		fi
	else
                echo -e "    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_99} ]"
	fi
}

install_haragent_product_sdo()
{
	rpm -q BABharagt >/dev/null 2>&1
	if [ $? -ne 0 -o $HAR_NEED_UPGRADE -eq 1 ] ; then
		rpm -q BABcmagt > /dev/null 2>&1
		if [ $? -ne 0 ]; then
			echo
			echo $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			if [ $HAR_NEED_UPGRADE -eq 1 ];then
                        	echo -e "    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_100} ]"
                	else
                		echo -e "    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_96} ]"
                	fi
                if [ $HAR_NEED_UPGRADE -eq 1 ]; then
                	rpm -i $RPM_FORCE_FLAG --noscripts $HAR_RELOC $HAR_PKG >/dev/null 2>&1
                fi
                        rpm -i $RPM_FORCE_FLAG $HAR_RELOC $HAR_PKG 
			rc=$?
			if [ $rc -ne 0 ]; then
		                echo -e "$BK_LINE_FLAG    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_98} ]"
		                exit $rc
			else
				if [ $HAR_NEED_UPGRADE -eq 1 ];then
		                	echo -e "$BK_LINE_FLAG    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_103} ]"
		                else
		        	        echo -e "$BK_LINE_FLAG    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_97} ]"
					HARAGENT_SUCCEED_INSTALL=1
				fi
				update_dspkg_lst BABharagt
			fi
		fi
	else
		echo
                echo -e "    Backup Agent for Harvest                 (BABharagt)      ==> [ ${INST_MSG_99} ]"
		echo
		exit 4
	fi
}

install_oesagent_product()
{
	rpm -q BABoes >/dev/null 2>&1
	if [ $? -ne 0 -o $OES_NEED_UPGRADE -eq 1 ] ; then
		if [ $OES_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Backup Agent for Novell OES              (BABoes)         ==> [ ${INST_MSG_100} ]\c"
                else
                	echo -e "    Backup Agent for Novell OES              (BABoes)         ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
                if [ $OES_NEED_UPGRADE -eq 1 ]; then
                	cd $DEPOT/$OES_DEPOT && rpm -i $RPM_FORCE_FLAG --noscripts $OES_RELOC $OESAGENT >/dev/null 2>&1
                fi
                cd $DEPOT/$OES_DEPOT && rpm -i $RPM_FORCE_FLAG $OES_RELOC $OESAGENT >${TMPFILENAME} 2>&1
		check $? BABoes
		if [ $? -ne 0 ]; then
                	echo -e "$BK_LINE_FLAG    Backup Agent for Novell OES              (BABoes)         ==> [ ${INST_MSG_98} ]"
		else
			if [ $OES_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Backup Agent for Novell OES              (BABoes)         ==> [ ${INST_MSG_103} ]"
		        else
	                	echo -e "$BK_LINE_FLAG    Backup Agent for Novell OES              (BABoes)         ==> [ ${INST_MSG_97} ]"
				OESAGENT_SUCCEED_INSTALL=1
			fi
			update_dspkg_lst BABoes
		fi
	else
                echo -e "    Backup Agent for Novell OES              (BABoes)         ==> [ ${INST_MSG_99} ]"
	fi
}

install_document()
{
	if [ "X${INSTALL_DOC}" = "XYES" ]; then
		if [ "X$DOCUMENT_ROOT" != "X" -a -r $DOCUMENT_ROOT ]; then
			if [ "X$NLS_LANG" = "X" ]; then
				NLS_LANG="C"
			fi
			if [ -d $DEPOT/doc/${NLS_LANG%_*} ]; then
				echo
				printf "$INST_MSG_101" "$DOCUMENT_ROOT/doc"
				mkdir $DOCUMENT_ROOT/doc >/dev/null 2>&1
				rm -rf $DOCUMENT_ROOT/doc/* >/dev/null 2>&1
		                cp -fR $DEPOT/doc/${NLS_LANG%_*}/* $DOCUMENT_ROOT/doc/ >/dev/null 2>&1
		                INST_DOCS_SUC_FLAG=$?
		                chmod -x $DOCUMENT_ROOT/doc/*.pdf $DOCUMENT_ROOT/doc/*.PDF $DOCUMENT_ROOT/doc/*.PDX $DOCUMENT_ROOT/doc/*.pdx >/dev/null 2>&1
				if [ $INST_DOCS_SUC_FLAG -ne 0 ] ; then
					echo -e $INST_DOCS_NOT_LOCATE
				else
					echo -e $INST_DOCS_SUCCESS
				fi
			else
				echo -e $INST_DOCS_NOT_LOCATE
			fi	
		else
			echo -e $INST_DOCS_NOT_LOCATE
		fi
	fi
}

SET_PARAMETER_NAME()
{
	PARA_SERVER=server
#	PARA_AVENGINE=avengine
	PARA_NASAGENT=nasagent
	PARA_ORAGENT=oragent
	PARA_APAGENT=apagent
	PARA_MQAGENT=mqagent
	PARA_SANOPTION=sanoption
	PARA_DROOPTION=drooption
	PARA_INGAGENT=ingagent
}

GET_PARA_LIST()
{
	PARA_LIST=""

	if [ $AS9SVR_SEL_INSTALL -eq 1 ]; then
		PARA_LIST="$PARA_LIST $PARA_SERVER"
	fi

	if [ $NASAGENT_SEL_INSTALL -eq 1 ]; then
		PARA_LIST="$PARA_LIST $PARA_NASAGENT"
	fi
	
	if [ $ORAAGENT_SEL_INSTALL -eq 1 ]; then
		PARA_LIST="$PARA_LIST $PARA_ORAGENT"
	fi
	
	if [ $APAGENT_SEL_INSTALL -eq 1 ]; then
		PARA_LIST="$PARA_LIST $PARA_APAGENT"
	fi
	
	if [ $MYSQLAGENT_SEL_INSTALL -eq 1 ]; then
		PARA_LIST="$PARA_LIST $PARA_MQAGENT"
	fi

        if [ $DROOPTION_SEL_INSTALL -eq 1 ]; then
                PARA_LIST="$PARA_LIST $PARA_DROOPTION"
        fi

        if [ $SANOPTION_SEL_INSTALL -eq 1 ]; then
                PARA_LIST="$PARA_LIST $PARA_SANOPTION"
        fi

        if [ $INGAGENT_SEL_INSTALL -eq 1 ]; then
                PARA_LIST="$PARA_LIST $PARA_INGAGENT"
        fi

}

displayLogLocation()
{ 
        echo
        touch ${INSTALL_LOG} >/dev/null 2>&1
        echo "${INST_MSG_28}                           ==> [ ${INSTALL_LOG} ]"
        echo
}

install_pkg_linux()
{
    	select_pkg_linux
	echo
	
	if [ "$ARC_PREFIX" != "" -a $REALLOCAT_FLAG -eq 0 ] ; then
		DOCUMENT_ROOT="$ARC_PREFIX/BrightStorARCserve"
	else
		DOCUMENT_ROOT="/opt/CA/BrightStorARCserve"
	fi

	get_config
	stop_all
    	if [ $? -ne 0 ]; then
	    	echo "$INST_MSG_111"
	    	exit $?
	fi

        # display log file location
        if [ $EXEC_MODE -ne $SLNT_MODE ] ; then
    		displayLogLocation
        fi
	if [ $AS9SVR_SEL_INSTALL -eq 1 ]; then
		install_server_product
		install_manager_product
		if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" -a "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" -a "X${Portal_Install}" = "XYES" ]; then
			install_igateway_product
			install_isponsor_product
		fi
	fi
	
	if [ $BEB_CMG_REQUESTED -eq 1 ]; then
		install_caagent_product
	fi

	if [ $AS9MGR_SEL_INSTALL -eq 1 ]; then
		install_manager_product
	fi
	
	if [ $NASAGENT_SEL_INSTALL -eq 1 ]; then
		install_nasagent_product
	fi
	
	if [ $UAGENT_SEL_INSTALL -eq 1 ]; then
		install_uagent_product
	fi
	
	if [ $ORAAGENT_SEL_INSTALL -eq 1 ]; then
		install_oraagent_product
	fi
	
	if [ $APAGENT_SEL_INSTALL -eq 1 ]; then
		install_apagent_product
	fi

	if [ $MYSQLAGENT_SEL_INSTALL -eq 1 ]; then
		install_mysqlagent_product
	fi
	
	if [ $DROOPTION_SEL_INSTALL -eq 1 ]; then
		install_drooption_product
	fi

	if [ $SANOPTION_SEL_INSTALL -eq 1 ]; then
		install_sanoption_product
	fi

        if [ $INGAGENT_SEL_INSTALL -eq 1 ]; then
                install_ingagent_product
        fi

        if [ $NOTESAGENT_SEL_INSTALL -eq 1 ]; then
                install_notesagent_product
        fi

        if [ $SAPAGENT_SEL_INSTALL -eq 1 ]; then
                install_sapagent_product
        fi

        if [ $HARAGENT_SEL_INSTALL -eq 1 ]; then
                install_haragent_product
        fi

        if [ $OESAGENT_SEL_INSTALL -eq 1 ]; then
                install_oesagent_product
        fi

	if [ $AVENGINE_SEL_INSTALL -eq 1 ]; then
		install_avengine_product
	fi
	
	if [ $INO_NEED_UNINSTALL -eq 1 ];then
		uninstall_avengine_product
	fi
	
	if [ $EXEC_MODE -eq $SDO_MODE ]; then
		sp_inst=install_sdo
	else
		sp_inst=install_silent
	fi
	if [ -x "$DEPOT/sp2/$sp_inst" ]; then
		echo -e "    Service Pack 2                                            ==> [ ${INST_MSG_96} ]\c"
		startDial &
		$DEPOT/sp2/$sp_inst -f
		sp_inst_result=$?
		touch ${DialFile} >/dev/null 2>&1
		sleep 1
		if [ $sp_inst_result -eq 0 ]; then
		  echo -e "$BK_LINE_FLAG    Service Pack 2                                            ==> [ ${INST_MSG_97} ]"
		else
	          echo -e "$BK_LINE_FLAG    Service Pack 2                                            ==> [ ${INST_MSG_98} ]"
	        fi
 	fi

	if [ $AS9SVR_SUCCEED_INSTALL -eq 1 -o $SVR_ALREADY_INSTALLED -eq 1 ]; then
		install_document
		if [ "$LINUX_DIST" = "MandrakeSoft" -a "$SETUP_PROFILE_MANDRAKE" = "YES" ]; then
		  Update_Profile_Mandrake
		fi
	fi
	
	if [ $AS9SVR_OLD_INSTALLED -eq 1 -o $AS9MGR_OLD_INSTALLED -eq 1 -o $ASAGENT9_OLD_INSTALLED -eq 1 -o $UAGENT9_OLD_INSTALLED -eq 1 -o $ORA9_OLD_INSTALLED -eq 1 -o $MYSQL9_OLD_INSTALLED -eq 1 -o $APAGENT9_OLD_INSTALLED -eq 1 -o $DRO9_OLD_INSTALLED -eq 1 -o $NAS9_OLD_INSTALLED -eq 1 ]; then
		echo
		echo "$INST_MSG_20"
		echo
		if [ $EXEC_MODE -ne $SLNT_MODE ]; then
			echo -e "$INST_MSG_6"
			read
		fi
#		if [ $EXEC_MODE -ne $SLNT_MODE ]; then
#			GET_INSTALL_FLAG2
#			if [ $INSTALL_FLAG -eq 1 ];then
#				echo
#		                echo -e "$INST_MSG_21"
#		                startDial &
#				remove_as9_pkg >${TMPFILENAME} 2>&1
#				check 0 "remove" >/dev/null 2>&1
#				echo
#			fi
#		else
				echo
		                echo -e "$INST_MSG_21"
		                startDial &
				remove_as9_pkg >${TMPFILENAME} 2>&1
				check 0 "remove" >/dev/null 2>&1
				echo
#		fi
	fi

	if [ -x /usr/bin/caagent ]; then
		/usr/bin/caagent start >/dev/null 2>&1
	fi
	if [ -x /usr/bin/uagent ]; then
		/usr/bin/uagent start >/dev/null 2>&1
	fi		
}

debian_install_package()
{
	if [ $EXEC_MODE -ne $RESP_MODE ]; then
		detect_old_pkg
	fi
	dpkg -l |grep babcmagt >/dev/null 2>&1
	if [ $? -ne 0 -o $CAAGENT_NEED_UPGRADE -eq 1 ] ; then
		if [ $ASAGENT9_OLD_INSTALLED -ne 0 -o $CAAGENT_NEED_UPGRADE -eq 1 ];then
	        	echo -e "    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_100} ]\c"
	        else
	        	echo -e "    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_96} ]\c"
		fi
                startDial &
		if [ $CAAGENT_NEED_UPGRADE -eq 1 ];then
			cp /opt/CA/BABcmagt/agent.cfg /opt/CA/BABcmagt/agent.cfg.v11 >/dev/null 2>&1
		fi
               	dpkg -i ${DEPOT}/${DEB_ASAGENT} >>${TMPFILENAME} 2>&1
	
		rc=$?
		check $rc babcmagt
		if [ $? -ne 0 ]; then
	                echo -e "$BK_LINE_FLAG    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_98} ]"
		else
			if [ $ASAGENT9_OLD_INSTALLED -ne 0 -o $CAAGENT_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_103} ]"
		        else
		                echo -e "$BK_LINE_FLAG    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_97} ]"
				CAAGENT_SUCCEED_INSTALL=1
			fi
			$NLS_UTILITY_FILE -u /opt/CA/BABcmagt/nls/nls.cfg CA_NLS_LANG $NLS_LANG $NLS_LOCALE
		fi
		if [ $ASAGENT9_OLD_INSTALLED -ne 0 ];then
		  
			REMOVE_PKG=$ASAGENT9_OLD
			if [ "$REMOVE_PKG" != "" ];then
				INSTALLED_PREFIX="/opt/CA"
				cp ${INSTALLED_PREFIX}/CAagent/agent.cfg /opt/CA/BABcmagt/agent.cfg.v9 2>/dev/null
				cp ${INSTALLED_PREFIX}/CAagent/nls/nls.cfg /opt/CA/BABcmagt/nls/nls.cfg.v9 2>/dev/null
				cp -a ${INSTALLED_PREFIX}/CAagent/logs /opt/CA/BABcmagt/ 2>/dev/null
			fi					
		fi
	else
                echo -e "    Common Agent Module                      (BABcmagt)       ==> [ ${INST_MSG_99} ]"
	fi

	dpkg -l |grep babagntux >/dev/null 2>&1
	if [ $? -ne 0 -o $UAG_NEED_UPGRADE -eq 1 ] ; then
		if [ $UAGENT9_OLD_INSTALLED -ne 0 -o $UAG_NEED_UPGRADE -eq 1 ];then
                        echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_100} ]\c"
                else
                        echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_96} ]\c"
                fi
                startDial &
 		if [ $UAG_NEED_UPGRADE -ne 0 ];then
			INSTALLED_PREFIX="/opt/CA"
			cp ${INSTALLED_PREFIX}/BABuagent/fs.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/cabr.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/cabr.cfg.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/groom.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/groom.cntl.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/mergescan.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/mergescan.cfg.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/uag.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cfg.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/uag.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cntl.upg 2>/dev/null
			cp ${INSTALLED_PREFIX}/BABuagent/uagres.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uagres.cntl.upg 2>/dev/null
                fi
                touch /tmp/blank >/dev/null 2>&1
                dpkg -i ${DEPOT}/${DEB_UAGENT} < /tmp/blank >>${TMPFILENAME} 2>&1
		rc=$?
		rm -f /tmp/blank >/dev/null 2>&1
		if [ $UAGENT9_OLD_INSTALLED -ne 0 ];then
			REMOVE_PKG=$UAGENT9_OLD
			if [ "$REMOVE_PKG" != "" ];then
				INSTALLED_PREFIX="/opt/CA"
				cp ${INSTALLED_PREFIX}/uagent/fs.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/fs.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/cabr.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/cabr.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/groom.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/groom.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/mergescan.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/mergescan.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/uag.cfg ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cfg.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/uag.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uag.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/uagres.cntl ${UAG_PREFIX:-/opt/CA}/BABuagent/uagres.cntl.upg 2>/dev/null
				cp ${INSTALLED_PREFIX}/uagent/logs/* ${UAG_PREFIX:-/opt/CA}/BABuagent/logs/ 2>/dev/null
			fi
		
                fi
		if [ $UAGENT9_OLD_INSTALLED -ne 0 -o $UAG_NEED_UPGRADE -ne 0 ];then
                	Update_Uagcfg >/dev/null 2>&1
                	${UAG_PREFIX:-/opt/CA}/BABuagent/uagent start >/dev/null 2>&1
                fi
		check $rc BABagntux
		if [ $? -ne 0 ]; then
                echo -e "$BK_LINE_FLAG    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_98} ]"
		else
			if [ $UAGENT9_OLD_INSTALLED -ne 0 -o $UAG_NEED_UPGRADE -eq 1 ];then
		                echo -e "$BK_LINE_FLAG    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_103} ]"
		                rm -f /usr/bin/uagent >/dev/null 2>&1
		                ln -s ${UAG_PREFIX:-/opt/CA}/BABuagent/uagent /usr/bin/ >/dev/null 2>&1
		        else
		                echo -e "$BK_LINE_FLAG    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_97} ]"
				UAGENT_SUCCEED_INSTALL=1
			        if [ ${CFGAGTAUTOSTRTSTOP} -eq 1 ]
			        then
			           if [ -x /opt/CA/BABcmagt/caagent_autostrtstop ]
			           then
			                    /opt/CA/BABcmagt/caagent_autostrtstop y >/dev/null 2>&1
			           fi
			        fi
			fi
		fi

	else
                echo -e "    Client Agent for Linux                   (BABagntux)      ==> [ ${INST_MSG_99} ]"
	fi
	if [ $CAAGENT_NEED_UPGRADE -eq 1 -a -f /opt/CA/BABcmagt/agent.cfg.v11 ];then
		sed -e "s%BABagntux%BABuagent%" /opt/CA/BABcmagt/agent.cfg.v11 > /opt/CA/BABcmagt/agent.cfg
		sed -e "s%11.0.0%11.5.0%" /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.v11
		mv -f /opt/CA/BABcmagt/agent.cfg.v11 /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
	fi

       	if [ $EXEC_MODE -eq $SDO_MODE ]; then
		sp_inst=install_sdo
	else
		sp_inst=install_silent
	fi
	if [ -x "$DEPOT/sp2/$sp_inst" ]; then
		echo -e "    Service Pack 2                                            ==> [ ${INST_MSG_96} ]\c"
		startDial &
		$DEPOT/sp2/$sp_inst -f
		sp_inst_result=$?
		touch ${DialFile} >/dev/null 2>&1
		sleep 1
		if [ $sp_inst_result -eq 0 ]; then
		  echo -e "$BK_LINE_FLAG    Service Pack 2                                            ==> [ ${INST_MSG_97} ]"
		else
		  echo -e "$BK_LINE_FLAG    Service Pack 2                                            ==> [ ${INST_MSG_98} ]"
		fi
	fi

	if [ $ASAGENT9_OLD_INSTALLED -eq 1 -o $UAGENT9_OLD_INSTALLED -eq 1 ]; then
		echo
		echo "$INST_MSG_20"
		echo
		if [ $EXEC_MODE -ne $SLNT_MODE ]; then
			echo -e "$INST_MSG_6"
			read
		fi
				echo
		                echo -e "$INST_MSG_21"
		                startDial &
				remove_as9_pkg >${TMPFILENAME} 2>&1
				check 0 "remove" >/dev/null 2>&1
				echo
	fi
	if [ -x /usr/bin/caagent ]; then
		/usr/bin/caagent start >/dev/null 2>&1
	fi
	if [ -x /usr/bin/uagent ]; then
		/usr/bin/uagent start >/dev/null 2>&1
	fi		
        if [ "${AGENTS_AUTO_START}" = "YES" -a $EXEC_MODE -eq $SLNT_MODE ]
        then
           if [ -x /opt/CA/BABcmagt/caagent_autostrtstop ]
           then
                    /opt/CA/BABcmagt/caagent_autostrtstop y >/dev/null 2>&1
           fi
        fi
}

debian_install_uagent_sdo()
{
	ret=`dpkg -l babagntux | grep babagntux | awk '{print $1}'` >/dev/null 2>&1
	ret1=`dpkg -l |grep babagntux` >/dev/null 2>&1
	
	if [ "$ret" = "pn" -o "$ret1" = "" ] ; then
		printf "$INST_UAGENT_INSTALLING_DEBIAN" "/opt/CA/BABuagent"
		ret=`dpkg -l babcmagt | grep babcmagt | awk '{print $1}'` >/dev/null 2>&1
		ret1=`dpkg -l | grep babcmagt` > /dev/null 2>&1
		if [ "$ret" = "pn" -o "$ret1" = "" ] ; then
			echo -e $INST_CAAGENT_NEEDED
			echo
			exit 3
		else
			echo $INST_CAAGENT_ALREADY_INSTALLED
			echo
		fi

		dpkg -i ${DEB_UAGENT}
		check $? babagntux
	else
		echo $INST_UAGENT_ALREADY_INSTALLED
		echo
		exit 4
	fi
}

debian_install_caagent_sdo()
{
	ret=`dpkg -l babcmagt | grep babcmagt | awk '{print $1}'` >/dev/null 2>&1
	ret1=`dpkg -l | grep babcmagt` > /dev/null 2>&1
	if [ "$ret" = "pn" -o "$ret1" = "" ] ; then
		echo -e $INST_CAAGENT_INSTALLING
		dpkg -i ${DEB_ASAGENT}
		check $? babcmagt
	        if [ ${CFGAGTAUTOSTRTSTOP} -eq 1 ]
	        then
	           if [ -x /opt/CA/BABcmagt/caagent_autostrtstop ]
	           then
	                    /opt/CA/BABcmagt/caagent_autostrtstop y >/dev/null 2>&1
	           fi
	        fi
	else
		echo $INST_CAAGENT_ALREADY_INSTALLED
		echo
if [ $AGENTS_DIR -ne 1 ]; then
		exit 4
fi
	fi
}

Check_Platform()
{
	LINUX_DIST=$(getDistributor)
	VERSION=$(${DEPOT}/${MISC}/$CAUNAME -r)
	export VERSION 
	ARCH=$(${DEPOT}/${MISC}/$CAUNAME -m)
	export ARCH
	
	if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" ]; then
		echo >/dev/null
	else
		if [ $AGENTS_DIR -eq 1 ]; then
			rtn=$(version_compare $VERSION "2.2.14" )
			if [ $rtn -eq 2 ];then
				echo $INST_LINUX_NOT_SUPPORT
				exit 1
			fi
#			rtn=$(version_compare $VERSION "2.6.11" )
#			if [ $rtn -eq 1 ];then
#				DIST_TOO_NEW="YES"
#			fi

                  case "$LINUX_DIST" in
                          RedHat)
                                  rtn=$(version_compare $VERSION "2.6.18")
                                  if [ $rtn -eq 1 ];then
                                          DIST_TOO_NEW="YES"
                                  fi
                          ;;
                          SuSE|UnitedLinux)
                                  rtn=$(version_compare $VERSION "2.6.16")
                                  if [ $rtn -eq 1 ];then
                                          DIST_TOO_NEW="YES"
                                  fi
                          ;;
                  esac

		else
			if [ "X${LINUX_DIST}" = "X" -a $DEBIAN -eq 1 ] ; then
				echo -e $INST_LINUX_NOT_SUPPORT_SVR
				exit 1
			elif [ "X${LINUX_DIST}" = "X" ] ; then
				echo -e $INST_LINUX_NOT_SUPPORT
				exit 1
			fi
			DIST_TOO_NEW=""
			OS_NOT_CERTIFIED=""
			
			case "$LINUX_DIST" in
				RedHat)  
					#redhat kernel version 
					rtn=$(version_compare $VERSION "2.4.2" )
					if [ $rtn -eq 2 ];then
						echo $INST_REDHAT_MINIMAL
						exit 1
					fi
					rtn=$(version_compare $VERSION "2.6.18" )
					if [ $rtn -eq 1 ];then
						DIST_TOO_NEW="YES"
					fi
					if [ -f /etc/redhat-release ]; then
						cat /etc/redhat-release | ${GREP} 'release 6|release 5|release 4|release 3|3.0' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -ne 0 ]; then
							OS_NOT_CERTIFIED="YES"
						fi
						cat /etc/redhat-release | ${GREP} 'release 3' | ${GREP} 'WS' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -eq 0 ]; then
							OS_NOT_CERTIFIED="YES"
						fi
					elif ! rpm -q VMnix > /dev/null 2>&1; then
						OS_NOT_CERTIFIED="YES"
					elif [ $AGENTS_DIR -ne 1 ]; then
						echo -e $INST_LINUX_NOT_SUPPORT_SVR
						exit 1
					fi
					;;
				RedFlag) 
					# Red Flag 3.0's kernel version is 2.4.7
					rtn=$(version_compare $VERSION "2.4.7" )
					if [ $rtn -eq 2 ];then
						echo $INST_REDFLAG_MINIMAL
						exit 1
					fi
					rtn=$(version_compare $VERSION "2.6.9" )
					if [ $rtn -eq 1 ];then
						DIST_TOO_NEW="YES"
					fi
					if [ -f /etc/redflag-release ]; then
						cat /etc/redflag-release | ${GREP} 'release 3|release 4|release 5.0' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -ne 0 ]; then
							OS_NOT_CERTIFIED="YES"
						fi
					else
						OS_NOT_CERTIFIED="YES"
					fi
					;;
				TurboLinux) 
					# TurboLinux 
					rtn=$(version_compare $VERSION "2.4.2" )
					if [ $rtn -eq 2 ];then
						echo $INST_TURBO_MINIMAL
						exit 1
					fi
					rtn=$(version_compare $VERSION "2.6.8" )
					if [ $rtn -eq 1 ];then
						DIST_TOO_NEW="YES"
					fi
					if [ -f /etc/turbolinux-release ]; then
						cat /etc/turbolinux-release | ${GREP} '8|10' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -ne 0 ]; then
							OS_NOT_CERTIFIED="YES"
						fi
					else
						OS_NOT_CERTIFIED="YES"
					fi
					;;
				SuSE|UnitedLinux)    
					# S.u.S.E 
					rtn=$(version_compare $VERSION "2.4.2" )
					if [ $rtn -eq 2 ];then
						echo $INST_SUSE_MINIMAL
						exit 1
					fi
					# now support suse 10 with kernel 2.6.16
					rtn=$(version_compare $VERSION "2.6.16" )
					if [ $rtn -eq 1 ];then
						DIST_TOO_NEW="YES"
					fi
					if [ -f /etc/SuSE-release ]; then
						cat /etc/SuSE-release | ${GREP} 'SLES-8|8.|9.|10|7.' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -ne 0 ]; then
							OS_NOT_CERTIFIED="YES"
						fi
						cat /etc/SuSE-release | ${GREP} 'Novell Linux Desktop 9|Desktop 1.0' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -eq 0 ]; then
							OS_NOT_CERTIFIED="YES"
						fi
					elif [ -f /etc/UnitedLinux-release ]; then
						cat /etc/UnitedLinux-release | ${GREP} '1.0' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -ne 0 ]; then
							OS_NOT_CERTIFIED="YES"
						fi			
					else
						OS_NOT_CERTIFIED="YES"
					fi
					;;
				MIRACLE)
					# Miracle Linux 2.0's kernel version is 2.4.7	
					rtn=$(version_compare $VERSION "2.4.7" )
					if [ $rtn -eq 2 ];then
						echo $INST_MIRACLE_MINIMAL
						exit 1
					fi 	
					rtn=$(version_compare $VERSION "2.6.9" )
					if [ $rtn -eq 1 ];then
						DIST_TOO_NEW="YES"
					fi
					if [ -f /etc/miraclelinux-release ]; then
						cat /etc/miraclelinux-release | ${GREP} 'V2.1|V2.0|V4.0' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -ne 0 ]; then
							OS_NOT_CERTIFIED="YES"
						fi
					else
						OS_NOT_CERTIFIED="YES"
					fi
					;;		           
				MandrakeSoft|Mandrakesoft)
					# MandrakeSoft Corporate release 3.0's kernel version is 2.6.3	
					rtn=$(version_compare $VERSION "2.6.3" )
					if [ $rtn -eq 2 ];then
						echo $INST_MANDRAKE_MINIMAL
						exit 1
					fi 	
					rtn=$(version_compare $VERSION "2.6.3" )
					if [ $rtn -eq 1 ];then
						DIST_TOO_NEW="YES"
					fi
					if [ -f /etc/mandrake-release ]; then
						cat /etc/mandrake-release | ${GREP} '3.0' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -ne 0 ]; then
							OS_NOT_CERTIFIED="YES"
						fi
						cat /etc/mandrake-release | ${GREP} '10' | $GREP -v $GREP_S 1>/dev/null 2>&1
						if [ $? -eq 0 ]; then
							echo -e $INST_LINUX_IN_AGENT_DIRECTORY
							exit 1
						fi
					else
						OS_NOT_CERTIFIED="YES"
					fi
					;;    
				*)
					echo -e $INST_LINUX_NOT_SUPPORT
					exit 1
					;;
			esac
		
		fi
			if [ "X${DIST_TOO_NEW}" = "XYES" -a $EXEC_MODE -ne $SLNT_MODE ]; then
				echo "$INST_MSG_27"
				GET_INSTALL_FLAG2
				if [ $INSTALL_FLAG -ne 1 ];then
					echo 
					echo "$INST_USER_EXIT"
					echo
					exit 0
				fi
			fi
			if [ "X${OS_NOT_CERTIFIED}" = "XYES" ]; then
				if [ $EXEC_MODE -eq $SLNT_MODE ]; then
					echo -e $INST_LINUX_NOT_SUPPORT >> ${INSTALL_LOG}
                                        echo -e $INST_LINUX_NOT_SUPPORT_SVR >> ${INSTALL_LOG}
					exit 1				
					
				elif [ $INSTALL_FORCE_FLAG -eq 1 -o $EXEC_MODE -eq $RESP_MODE ]; then
					tput bold >/dev/null 2>&1
					echo
					tput rmso >/dev/null 2>&1
				else
					echo -e $INST_LINUX_NOT_SUPPORT
					echo -e $INST_LINUX_NOT_SUPPORT_SVR
					exit 1				
				fi
			fi
	fi
}
not_debian_install_package()
{
#	Check_Platform
	
	if [ $EXEC_MODE -ne $RESP_MODE ]; then
		detect_old_pkg
	fi
	typeset -i PROBLEMS_FOUND

	PROBLEMS_FOUND=0


	if [ "$LINUX_DIST" = "TurboLinux" -a $EXEC_MODE -ne $RESP_MODE ] ; then
		#  Test libstdc++ version and whether libstdc++-compat is installed
		#  We need the libstdc++.so.2.9 capability from RPM to operate on
		#  TurboLinux 6.0 (released 01/31/2000)
		
		LIBSTDCPP_VERSION=$(version_installed libstdc++)
		rtn=$(version_compare $LIBSTDCPP_VERSION "2.9" )
		if [ $rtn -eq 2   ] ; then
			printf "$INST_LIBC_REQUIRED" "$LIBSTDCPP_VERSION" | fmt -${MARGIN}
			PROBLEMS_FOUND=PROBLEMS_FOUND+1
		else
			rpm -q turbo-compat-fix 1>/dev/null 2>&1
			if [ $? -ne 0 ] ; then
				cd $DEPOT/$MISC && rpm -i $TURBOFIX
				if [ $? -ne 0 ] ; then
					printf "$INST_TURBOFIX_REQUIRED" "$LINUX_DIST" | fmt -${MARGIN}
					exit 2
				fi
			else
				echo $INST_TURBOFIX_INSTALLED_ALREADY
				echo
			fi 
		fi
	fi

	if [ $EXEC_MODE -ne $RESP_MODE ] ; then
		if [ $PROBLEMS_FOUND -eq 1 ] ; then
			echo -e $INST_PROBLEM_FOUND | fmt -${MARGIN}
			exit 2
		elif [ $PROBLEMS_FOUND -gt 1 ] ; then
			echo -e $INST_PROBLEMS_FOUND | fmt -${MARGIN}
			exit 2
		fi
		verify_rpm
		
		if [ $REALLOCAT_FLAG -ne 0 ] ; then
			ARC_PREFIX="/opt/CA"
		fi
	fi

	TEMP_ARC_PREFIX=$ARC_PREFIX
	get_config
	if [ $EXEC_MODE -ne $SLNT_MODE ] ; then
		if [ "${CALIB}" = "" -o $EXEC_MODE -eq $RESP_MODE ] ; then
				CALIB=$TEMP_ARC_PREFIX/SharedComponents/lib
		fi 
	else
		if [ "${CALIB}" = "" ] ; then
			ANS=${SLNT_COMP_LIB_PATH}
			if [ "$ANS" = "" ]
			then
				CALIB=$TEMP_ARC_PREFIX/SharedComponents/lib
			else
				CALIB=${ANS}
			fi   	
			export CALIB
		fi 
	fi
	install_pkg_linux
}

prompt_response_location()
{
  echo "$INST_MSG_10"
  echo "$INST_MSG_11" 
  res_loc_correct=0
  while [ $res_loc_correct -eq 0 ]
  do
	  echo -e "$INST_MSG_12"
	  read RES_LOC
	  if [ "$RES_LOC" != "" ]
	  then
	    RESPONSE_FILE=$RES_LOC
	  else
	    RESPONSE_FILE="/tmp/install_bab.rsp"
	  fi
	   
        if [ -d $RESPONSE_FILE ]; then
          echo "$INST_MSG_13"
        else
	  if [ -f $RESPONSE_FILE ]
	  then
	    /bin/rm $RESPONSE_FILE 2> /dev/null
	  fi
	    
	  touch $RESPONSE_FILE 2> /dev/null
	  if [ $? -ne 0 ] ; then
	  	echo "$INST_MSG_13"
	  else
	  	res_loc_correct=1
	  fi
        fi
  done
}

create_response_file()
{
    if [ -f $RESPONSE_FILE ] ; then
    	rm -fr $RESPONSE_FILE
    fi
    touch $RESPONSE_FILE
    if [ $? -ne 0 ] ; then
    	exit 1
    fi
	echo "#################################################################" >>$RESPONSE_FILE
	echo "# BrightStor ARCserve Backup Installation Response File       #" >>$RESPONSE_FILE
	echo "#                                                               #" >>$RESPONSE_FILE
	echo "# Common Items                                                  #" >>$RESPONSE_FILE
	echo "PREFIX_ROOT=${ARC_PREFIX:-/opt/CA}" >>$RESPONSE_FILE
	echo "SLNT_COMP_LIB_PATH=${CALIB}" >> $RESPONSE_FILE
	echo "License_Path=$License_Path" >> $RESPONSE_FILE
	if [ "${AGENTS_AUTO_START}" = "YES" ] ; then
		echo "AGENTS_AUTO_START=YES" >> $RESPONSE_FILE
	fi
	echo "NLS_LANG=$NLS_LANG" >> $RESPONSE_FILE
	echo "NLS_LOCALE=$NLS_LOCALE" >> $RESPONSE_FILE
	echo "">>$RESPONSE_FILE
            	if [ $AS9SVR_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Server & Manager                                          #" >>$RESPONSE_FILE
			echo "SERVER_INSTALL=YES">>$RESPONSE_FILE
			echo "Portal_Install=$Portal_Install">>$RESPONSE_FILE
			echo "Portal_Server_Name=$Portal_Server_Name">>$RESPONSE_FILE
			echo "INSTALL_DOC=${INSTALL_DOC}">>$RESPONSE_FILE
			if [ "$LINUX_DIST" = "MandrakeSoft" ]; then
			  echo "SETUP_PROFILE_MANDRAKE=${SETUP_PROFILE_MANDRAKE}">>$RESPONSE_FILE
			fi
			echo "">>$RESPONSE_FILE
		fi
            	if [ $NASAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     NDMP NAS Option                                           #" >>$RESPONSE_FILE
			echo "NAS_INSTALL=YES">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $DROOPTION_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Disaster Recovery Option                                  #" >>$RESPONSE_FILE
			echo "DRO_INSTALL=YES">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $SANOPTION_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Storage Area Network (SAN) Option                               #" >>$RESPONSE_FILE
			echo "SAN_INSTALL=YES">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $UAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Backup Agent for Linux                                    #" >>$RESPONSE_FILE
			echo "UAGENT_INSTALL=YES">>$RESPONSE_FILE
			echo "UAG_PREFIX=${UAG_PREFIX}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $ORAAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Backup Agent for Oracle                                   #" >>$RESPONSE_FILE
			echo "ORA8_INSTALL=YES">>$RESPONSE_FILE
			echo "ORA_PREFIX=${ORA_PREFIX}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $APAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Backup Agent for Apache Web Server                        #" >>$RESPONSE_FILE
			echo "APACHE_INSTALL=YES">>$RESPONSE_FILE
			echo "APA_PREFIX=${APA_PREFIX}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $MYSQLAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Backup Agent for MYsql                                  #" >>$RESPONSE_FILE
			echo "MYSQL_INSTALL=YES">>$RESPONSE_FILE
			echo "MYQ_PREFIX=${MYQ_PREFIX}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $INGAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Enterprise Option for Advantage Ingres                          #" >>$RESPONSE_FILE
			echo "ING_INSTALL=YES">>$RESPONSE_FILE
			echo "ING_PREFIX=${ING_PREFIX}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $NOTESAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Backup Agent for Lotus Domino                             #" >>$RESPONSE_FILE
			echo "NOTES_INSTALL=YES">>$RESPONSE_FILE
			echo "NOTES_PREFIX=${NOTES_PREFIX}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $SAPAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Enterprise Option for SAP R/3 for Oracle                  #" >>$RESPONSE_FILE
			echo "SAP_INSTALL=YES">>$RESPONSE_FILE
			echo "SAP_PREFIX=${SAP_PREFIX}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $HARAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Backup Agent for Harvest                                  #" >>$RESPONSE_FILE
			echo "HAR_INSTALL=YES">>$RESPONSE_FILE
			echo "HAR_PREFIX=${HAR_PREFIX}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
            	if [ $OESAGENT_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     Backup Agent for OES                                      #" >>$RESPONSE_FILE
			echo "OES_INSTALL=YES">>$RESPONSE_FILE
			echo "OES_PREFIX=${OES_PREFIX}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi

            	if [ $AVENGINE_SEL_INSTALL -eq 1 ] ; then
	            	echo "#################################################################" >>$RESPONSE_FILE
			echo "#     eTrust Anti-virus Engine                                  #" >>$RESPONSE_FILE
			echo "AVENGINE_INSTALL=YES">>$RESPONSE_FILE
			echo "INO_PREFIX=${INO_PREFIX_TEMP}">>$RESPONSE_FILE
			echo "">>$RESPONSE_FILE
		fi
	echo "#                                                               #" >>$RESPONSE_FILE
	echo "# The end of response file                                      #" >>$RESPONSE_FILE
	echo "#################################################################" >>$RESPONSE_FILE
	return 0
}

Display_License_Menu()
{
	while [ 1 -eq 1 ]
	do
	  echo
	  echo "${INST_MENU_0}"
	  echo "${INST_MENU_1}"
	  echo "${INST_MENU_2}"
	  echo "${INST_MENU_3}"
	  echo "${INST_MENU_4}"
	  echo -e "${INST_MSG_113} \c"
	  read LICENSE_CHOICE
	  case $LICENSE_CHOICE in
	    1|2|3|4)
	        break
	        ;;
	    *)
	        echo "$INST_INVALID_CHOICE"
	        ;;
	  esac
	done 
}

Add_Key()
{
	key=$1
	if [ "$License_Path" = "" ]; then
	  UTIL_PATH=$CASHCOMP/ca_lic
	else
	  UTIL_PATH=$License_Path/ca_lic
	fi
	$UTIL_PATH/CALicense $key >/dev/null 2>&1
	return $?
}

Query_Key()
{
	key=$1
	code=$2
	if [ "$License_Path" = "" ]; then
	  UTIL_PATH=$CASHCOMP/ca_lic
	else
	  UTIL_PATH=$License_Path/ca_lic
	fi
	if [ "$code" = "" ]; then
	  $UTIL_PATH/CALicense $key -q >/dev/null 2>&1
	else
	  $UTIL_PATH/CALicense $key -c $code -q >/dev/null 2>&1
	fi
	return $?
}

Setup_License_Key()
{
	while [ 1 -eq 1 ]
	do
	  if [ "X${ARCH}" = "Xs390" -o "X${ARCH}" = "Xs390x" -o $AGENTS_DIR -eq 1 ]; then
	  	break
	  else
	  	Display_License_Menu
	  fi
	  if [ "$LICENSE_CHOICE" = "2" ]; then
	    echo -e "${INST_MSG_114} \c"
	    read license_key
	    Query_Key $license_key 3LSO
	    if [ $? -eq 0 ]; then
	       Add_Key $license_key
	       rc=$?
	       if [ $rc -eq 0 -o $rc -eq 245 -o $rc -eq 11 ]; then
	         echo "${INST_MSG_115}"
	         break
	       else
	         printf "${INST_MSG_120}\n"
	       fi
	    else
	       echo "${INST_MSG_116}"
	    fi
	  elif [ "$LICENSE_CHOICE" = "3" ]; then
	    echo -e "${INST_MSG_114} \c"
	    read license_key
	    Add_Key $license_key
	    rc=$?
	    if [ $rc -eq 0 -o $rc -eq 245 -o $rc -eq 11 ]; then
	       echo "${INST_MSG_115}"
	    else
	       printf "${INST_MSG_120}\n"
	       continue
	    fi
	    while [ 1 -eq 1 ]
	    do
	      getyn "${INST_MSG_117}" 0
	      if [ $? -eq 0 ]; then
	        return
	      else
	        echo -e "${INST_MSG_114} \c"
	        read license_key
	        Add_Key $license_key
	        rc=$?
	        if [ $rc -eq 0 -o $rc -eq 245 -o $rc -eq 11 ]; then
	           echo "${INST_MSG_115}"
	        else
	           printf "${INST_MSG_120}\n"
	           continue
	        fi
	      fi
	    done
	  else
	    break
	  fi
	done
}

Setup_LiveTrial_License_Key()
{
while [ 1 -eq 1 ]
do
	    echo -e "${INST_MSG_122} \c"
	    read license_key
	    # Check the key for LiveTrial.
	    Query_Key $license_key 3ALB
	    if [ $? -eq 0 ]; then
	       Add_Key $license_key
	       rc=$?
	       if [ $rc -eq 0 -o $rc -eq 245 -o $rc -eq 11 ]; then
	         echo "${INST_MSG_115}"
	         break
	       else
	         printf "${INST_MSG_120}\n"
	         getyn "${INST_MSG_123}" 0
	         if [ $? -eq 0 ]; then
	           break
	         else
	           continue
	         fi
	       fi
	    else
	       echo "${INST_MSG_116}"
	       getyn "${INST_MSG_123}" 0
	       if [ $? -eq 0 ]; then
	         break
	       else
	         continue
	       fi
	    fi
done
}

prepare_for_install()
{
	License_Path=""
	LICENSE_CHOICE=""
	LIC_CHECK="YES"

	PATH=/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin/
	OS=`uname -s`
	
	if [ "$OS" != "Linux" ] ; then
		echo
		echo $INST_ONLYFOR_LINUX
		echo
		exit 1
	fi
	
	eval `resize 2>/dev/null`
	MARGIN=${COLUMNS:-72}
	
	if [ $EXEC_MODE -ne $SLNT_MODE ]; then
		license_agreement
		view_notes
	fi
	
	#
	#  The user can override where we look by setting DEPOT in his environment
	#
	if [ $AGENTS_DIR -eq 1 ]; then
		if [ $EXEC_MODE -eq $RESP_MODE ] ; then
			prompt_response_location
		else
			verify_rpm
		fi
	
		#
		#-  To alleviate case handling in pathnames on CDFS
		#
			MISC=misc
			LICDIR=.
			CAUNAME=cauname
			TURBOFIX=turbofix.rpm
			UAGENT=babagtux.rpm
			ASAGENT=babcmagt.rpm
			ORA_PKG=babora.rpm
			DEB_UAGENT=babagtux.deb
			DEB_ASAGENT=babcmagt.deb
			CALICENSE=install_license
			DEB_CALICENSE=calicens.deb
			UAG_DEPOT=.
			CAG_DEPOT=.
			ORACLE=.
			
		if [ $EXEC_MODE -ne $RESP_MODE ] ; then
			if [ $DEBIAN -ne 1 ]
			then
			  ARCH=$(${DEPOT}/${MISC}/$CAUNAME -m)
			  export ARCH
			
			  if [ "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" ] ; then
				if [ ! -x $DEPOT/$MISC/$CAUNAME -o ! -f $DEPOT/$MISC/$TURBOFIX \
					-o ! -f $DEPOT/$UAG_DEPOT/$UAGENT -o ! -f $DEPOT/$CAG_DEPOT/$ASAGENT \
					-o ! -f $DEPOT/$LICDIR/$CALICENSE ] 
				then
					ALL_PACKAGES="($CAUNAME, $UAGENT, $ASAGENT, $ORA_PKG, $CALICENSE, $TURBOFIX)"
					for PKG in $DEPOT/$MISC/$CAUNAME $DEPOT/$UAG_DEPOT/$UAGENT $DEPOT/$CAG_DEPOT/$ASAGENT $DEPOT/$MISC/$TURBOFIX $DEPOT/$LICDIR/$CALICENSE $DEPOT/$ORACLE/$ORA_PKG
					do
						if [ ! -f $PKG ]; then
							printf "$INST_FILE_NOT_FOUND" "$PKG" | fmt -${MARGIN}
						fi
					done
					printf "$INST_PACKAGE_MISSING" "$ALL_PACKAGES" | fmt -${MARGIN}
					exit 1
				fi
			  else
				if [ ! -x $DEPOT/$MISC/$CAUNAME -o ! -f $DEPOT/$MISC/$TURBOFIX \
					-o ! -f $DEPOT/$UAG_DEPOT/$UAGENT -o ! -f $DEPOT/$CAG_DEPOT/$ASAGENT \
					-o ! -f $DEPOT/$LICDIR/$CALICENSE ] 
				then
					ALL_PACKAGES="($CAUNAME, $UAGENT, $ASAGENT, $CALICENSE, $TURBOFIX)"
					for PKG in $DEPOT/$MISC/$CAUNAME $DEPOT/$UAG_DEPOT/$UAGENT $DEPOT/$CAG_DEPOT/$ASAGENT $DEPOT/$MISC/$TURBOFIX $DEPOT/$LICDIR/$CALICENSE
					do
						if [ ! -f $PKG ]; then
							printf "$INST_FILE_NOT_FOUND" "$PKG" | fmt -${MARGIN}
						fi
					done
					printf "$INST_PACKAGE_MISSING" "$ALL_PACKAGES" | fmt -${MARGIN}
					exit 1
				fi
			  fi
			
				PATH=$PATH:$DEPOT/$MISC
			
			else
			
				if [ ! -f $DEPOT/$CAG_DEPOT/$DEB_ASAGENT -o ! -f $DEPOT/$UAG_DEPOT/$DEB_UAGENT ]
				then
					ALL_PACKAGES="($DEB_ASAGENT, $DEB_UAGENT)"
					printf "$INST_PACKAGE_MISSING_DEBIAN" "$ALL_PACKAGES" | fmt -${MARGIN}
					exit 1
				fi
			fi
		fi
	else	
		if [ $EXEC_MODE -eq $RESP_MODE ] ; then
			prompt_response_location
			ARC_PREFIX=/opt/CA
		else
			rpm -q BABsvr >/dev/null 2>&1
			if [ $? -ne 0 ] ; then
				if [ $EXEC_MODE -ne $SLNT_MODE ]; then
					ARC_PREFIX=/opt/CA
				else
					ARC_PREFIX=${PREFIX_ROOT}
				fi
			else
				ARC_PREFIX=`rpm -q --queryformat '%{installprefix}' BABsvr 2>/dev/null`
			fi
			
			if [ "$ARC_PREFIX" = "" -o "$ARC_PREFIX" = "(none)" ]; then
				ARC_PREFIX=/opt/CA
			fi
		
			verify_rpm
		fi
	
			#
			#-  To alleviate case handling in pathnames on CDFS
			#
			[ -d $DEPOT/$(to_upper bab) ] && ARC_DEPOT=$(to_upper bab)
			[ -z "$ARC_DEPOT" -a -d $DEPOT/bab ] && ARC_DEPOT=bab
			[ -z "$ARC_DEPOT" -a -d $DEPOT/$(to_lower bab) ] && ARC_DEPOT=$(to_lower bab)
			
			if [ "$ARC_DEPOT" = "$(to_upper bab)" ] ; then
				MISC=MISC
				LICDIR=LICENSE   
				CAUNAME=CAUNAME
				TURBOFIX=TURBOFIX.RPM
				AS6SVR=$(to_upper babsvr.RPM)
				AS6MGR=$(to_upper babmgr.RPM)
				UAGENT=$(to_upper babagtux.RPM)
				ASAGENT=$(to_upper babcmagt.RPM)
				DEB_UAGENT=BABAGTUX.DEB
				DEB_ASAGENT=BABCMAGT.DEB
				CALICENSE=INSTALL_LICENSE   
				DEB_CALICENSE=CALICENS.DEB
				INO=INOCULAN
				INO_PKG=AVENGINE.RPM
				DEB_INO_PKG=AVENGINE.DEB
				DROOPTION=DRO
				UAG_DEPOT=$(to_upper babagent)
				CAG_DEPOT=CMAGENT
				DRO_PKG=$(to_upper babdr.RPM)
				ORACLE=ORACLE
				ORA_PKG=$(to_upper babora.RPM)
				APACHE=APACHE
				APACHE_PKG=$(to_upper babapgnt.RPM)
				MYSQL=MYSQL
				MYSQL_PKG=$(to_upper babmysql.RPM)
				SAN_PKG=$(to_upper babsan.RPM)
				NAS=NAS
				SANOPTION=SAN
				NAS_PKG=$(to_upper babnas.RPM)
				ING=INGRES
				ING_PKG=$(to_upper babingres.RPM)
				OESAGENT=$(to_upper baboes.RPM)
				OES_DEPOT=OES
				NOTES=NOTES
				NOTES_PKG=$(to_upper babnotes.RPM)
				SAP=SAP
				SAP_PKG=$(to_upper babsap.RPM)
				BAIM_PKG=$(to_upper BABbaim.RPM)
				HAR=HAR
				HAR_PKG=$(to_upper babharagt.RPM)
				IGATEWAY_FILE=iGateway.sh
				ISPONSOR_FILE=iSponsor.sh
			elif [ "$ARC_DEPOT" = "bab" ] ; then
				MISC=misc
				LICDIR=license
				CAUNAME=cauname
				TURBOFIX=turbofix.rpm
				AS6SVR=babsvr.rpm
				AS6MGR=babmgr.rpm
				UAGENT=babagtux.rpm
				ASAGENT=babcmagt.rpm
				DEB_UAGENT=babagtux.deb
				DEB_ASAGENT=babcmagt.deb
				CALICENSE=install_license
				DEB_CALICENSE=calicens.deb
				INO=inoculan
				INO_PKG=AVEngine.rpm
				DEB_INO_PKG=AVEngine.deb
				DROOPTION=dro
				UAG_DEPOT=babagent
				CAG_DEPOT=cmagent
				DRO_PKG=babdr.rpm
				ORACLE=oracle
				ORA_PKG=babora.rpm
				APACHE=apache
				APACHE_PKG=babapgnt.rpm
				MYSQL=mysql
				MYSQL_PKG=babmysql.rpm
				SAN_PKG=babsan.rpm
		                SANOPTION=san
				NAS=nas
				NAS_PKG=babnas.rpm
				ING=ingres
				ING_PKG=babingres.rpm
				OESAGENT=baboes.rpm
				OES_DEPOT=oes
				NOTES=notes
				NOTES_PKG=babnotes.rpm
				SAP=sap
				SAP_PKG=babsap.rpm
				BAIM_PKG=BABbaim.rpm
				HAR=har
				HAR_PKG=babharagt.rpm
				IGATEWAY_FILE=iGateway.sh
				ISPONSOR_FILE=iSponsor.sh
			else
				MISC=misc
				LICDIR=license
				CAUNAME=cauname
				TURBOFIX=turbofix.rpm
				AS6SVR=$(to_lower babsvr.rpm)
				AS6MGR=$(to_lower babmgr.rpm)
				UAGENT=$(to_lower babagtux.rpm)
				ASAGENT=$(to_lower babcmagt.rpm)
				DEB_UAGENT=babagtux.deb
				DEB_ASAGENT=babcmagt.deb
				CALICENSE=install_license
				DEB_CALICENSE=calicens.deb
				INO=inoculan
				INO_PKG=avengine.rpm
				DEB_INO_PKG=avengine.deb
				DROOPTION=dro
				UAG_DEPOT=$(to_lower babagent)
				CAG_DEPOT=cmagent
				DRO_PKG=$(to_lower babdr.rpm)
				ORACLE=oracle
				ORA_PKG=$(to_lower babora.rpm)
				APACHE=apache
				APACHE_PKG=$(to_lower babapgnt.rpm)
				MYSQL=mysql
				MYSQL_PKG=$(to_lower babmysql.rpm)
				NAS=nas
				NAS_PKG=$(to_lower babnas.rpm)
		                SAN_PKG=$(to_lower babsan.rpm)
				ING=ingres
				ING_PKG=$(to_lower babingres.rpm)
				OESAGENT=baboes.rpm
				OES_DEPOT=oes
				NOTES=notes
				NOTES_PKG=$(to_lower babnotes.rpm)
				SAP=sap
				SAP_PKG=$(to_lower babsap.rpm)
				BAIM_PKG=$(to_lower BABbaim.rpm)
				HAR=har
				HAR_PKG=$(to_lower babharagt.rpm)
				IGATEWAY_FILE=iGateway.sh
				ISPONSOR_FILE=iSponsor.sh
			fi
			
			ARCH=$(${DEPOT}/${MISC}/$CAUNAME -m)
			export ARCH
			
		if [ $EXEC_MODE -ne $RESP_MODE -a "X${ARCH}" != "Xs390" -a "X${ARCH}" != "Xs390x" ] ; then
			if [ $DEBIAN -ne 1 ]
			then
				if [ -f $DEPOT/$MISC/$CAUNAME -a ! -x $DEPOT/$MISC/$CAUNAME ]; then
					chmod 555 $DEPOT/$MISC/$CAUNAME >/dev/null 2>&1
				fi
				if [ ! -x $DEPOT/$MISC/$CAUNAME -o ! -f $DEPOT/$ARC_DEPOT/$AS6SVR \
					-o ! -f $DEPOT/$UAG_DEPOT/$UAGENT -o ! -f $DEPOT/$CAG_DEPOT/$ASAGENT \
					-o ! -f $DEPOT/$APACHE/$APACHE_PKG  -o ! -f $DEPOT/$MYSQL/$MYSQL_PKG\
					-o ! -f $DEPOT/$ARC_DEPOT/$AS6MGR -o ! -f $DEPOT/$MISC/$TURBOFIX  \
					-o ! -f $DEPOT/$LICDIR/$CALICENSE  -o ! -f $DEPOT/$INO/$INO_PKG \
		                        -o ! -f $DEPOT/$ORACLE/$ORA_PKG  -o ! -f $DEPOT/$NAS/$NAS_PKG \
					-o ! -f $DEPOT/$SANOPTION/$SAN_PKG  -o ! -f $DEPOT/$DROOPTION/$DRO_PKG \
					-o ! -f $DEPOT/$ING/$ING_PKG -o ! -f $DEPOT/$NOTES/$NOTES_PKG \
					-o ! -f $DEPOT/$SAP/$SAP_PKG -o ! -f $DEPOT/$OES_DEPOT/$OESAGENT ] 
#					-o ! -f $DEPOT/$SAP/$SAP_PKG -o ! -f $DEPOT/$HAR/$HAR_PKG ] 
				then
#					ALL_PACKAGES="($CAUNAME, $AS6SVR, $AS6MGR, $UAGENT, $ASAGENT, $CALICENSE, $TURBOFIX, $INO_PKG, $ORA_PKG, $APACHE_PKG, $MYSQL_PKG, $NAS_PKG, $SAN_PKG, $DRO_PKG, $ING_PKG, $NOTES_PKG, $SAP_PKG, $HAR_PKG)"
					ALL_PACKAGES="($CAUNAME, $AS6SVR, $AS6MGR, $UAGENT, $ASAGENT, $CALICENSE, $TURBOFIX, $INO_PKG, $ORA_PKG, $APACHE_PKG, $MYSQL_PKG, $NAS_PKG, $SAN_PKG, $DRO_PKG, $ING_PKG, $NOTES_PKG, $SAP_PKG)"
					for PKG in $DEPOT/$MISC/$CAUNAME $DEPOT/$ARC_DEPOT/$AS6SVR $DEPOT/$UAG_DEPOT/$UAGENT \
						$DEPOT/$CAG_DEPOT/$ASAGENT $DEPOT/$APACHE/$APACHE_PKG $DEPOT/$MYSQL/$MYSQL_PKG \
						$DEPOT/$ARC_DEPOT/$AS6MGR $DEPOT/$MISC/$TURBOFIX $DEPOT/$LICDIR/$CALICENSE \
						$DEPOT/$INO/$INO_PKG $DEPOT/$ORACLE/$ORA_PKG $DEPOT/$NAS/$NAS_PKG \
						$DEPOT/$SANOPTION/$SAN_PKG $DEPOT/$DROOPTION/$DRO_PKG $DEPOT/$ING/$ING_PKG \
						$DEPOT/$NOTES/$NOTES_PKG $DEPOT/$SAP/$SAP_PKG $DEPOT/$OES_DEPOT/$OESAGENT
#						$DEPOT/$NOTES/$NOTES_PKG $DEPOT/$SAP/$SAP_PKG $DEPOT/$HAR/$HAR_PKG
					do
						if [ ! -f $PKG ]; then
							printf "$INST_FILE_NOT_FOUND" "$PKG" | fmt -${MARGIN}
						fi
					done
					printf "$INST_PACKAGE_MISSING" "$ALL_PACKAGES" | fmt -${MARGIN}
					exit 1
				fi
			
				PATH=$PATH:$DEPOT/$MISC
			
			else
			
				if [ ! -f $DEPOT/$CAG_DEPOT/$DEB_ASAGENT -o ! -f $DEPOT/$UAG_DEPOT/$DEB_UAGENT ]
				then
					ALL_PACKAGES="($DEB_ASAGENT, $DEB_UAGENT)"
					printf "$INST_PACKAGE_MISSING_DEBIAN" "$ALL_PACKAGES" | fmt -${MARGIN}
					exit 1
				fi
			fi
		fi
		
	fi
	#
	#-  Only root can install RPM packages
	#
	if [ $(id -u) -ne 0 ] ; then
		echo -e $INST_ONLY_ROOT
		exit 1
	fi
	Check_Platform
	if [ $EXEC_MODE -ne $SLNT_MODE -a $EXEC_MODE -ne $RESP_MODE -a $DEBIAN -ne 1 ]; then
	    	Setup_License_Path
		install_calicense_product
		if [ -f $DEPOT/.BrightStorLiveTrial ]; then
			Setup_LiveTrial_License_Key
		else
			if [ "${LIC_CHECK}" = "YES" ]; then
	        		(cd /; Setup_License_Key)
			fi
		fi
	elif [ $EXEC_MODE -eq $SLNT_MODE -a $DEBIAN -ne 1 ]; then
		install_calicense_product
	fi
}

prepare_for_install_agents()
{
	
	PATH=/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin/
	OS=`uname -s`
	
	if [ "$OS" != "Linux" ] ; then
		echo
		echo $INST_ONLYFOR_LINUX
		echo
		exit 1
	fi
	
	eval `resize 2>/dev/null`
	MARGIN=${COLUMNS:-72}
	
	if [ $EXEC_MODE -ne $SLNT_MODE ]; then
		license_agreement
		view_notes
	fi
	
	#
	#  The user can override where we look by setting DEPOT in his environment
	#
	
	if [ $EXEC_MODE -eq $RESP_MODE ] ; then
		prompt_response_location
	else
		verify_rpm
	fi

	#
	#-  To alleviate case handling in pathnames on CDFS
	#
		MISC=misc
		LICDIR=.
		CAUNAME=cauname
		TURBOFIX=turbofix.rpm
		UAGENT=babagtux.rpm
		ASAGENT=babcmagt.rpm
		DEB_UAGENT=babagtux.deb
		DEB_ASAGENT=babcmagt.deb
		CALICENSE=install_license
		DEB_CALICENSE=calicens.deb
		UAG_DEPOT=.
		CAG_DEPOT=.
		
	if [ $EXEC_MODE -ne $RESP_MODE ] ; then
		if [ $DEBIAN -ne 1 ]
		then
			if [ ! -x $DEPOT/$MISC/$CAUNAME -o ! -f $DEPOT/$MISC/$TURBOFIX \
				-o ! -f $DEPOT/$UAG_DEPOT/$UAGENT -o ! -f $DEPOT/$CAG_DEPOT/$ASAGENT \
				-o ! -f $DEPOT/$LICDIR/$CALICENSE ] 
			then
				ALL_PACKAGES="($CAUNAME, $UAGENT, $ASAGENT, $CALICENSE, $TURBOFIX)"
				for PKG in $DEPOT/$MISC/$CAUNAME $DEPOT/$UAG_DEPOT/$UAGENT $DEPOT/$CAG_DEPOT/$ASAGENT $DEPOT/$MISC/$TURBOFIX $DEPOT/$LICDIR/$CALICENSE
				do
					if [ ! -f $PKG ]; then
						printf "$INST_FILE_NOT_FOUND" "$PKG" | fmt -${MARGIN}
					fi
				done
				printf "$INST_PACKAGE_MISSING" "$ALL_PACKAGES" | fmt -${MARGIN}
				exit 1
			fi
		
			PATH=$PATH:$DEPOT/$MISC
		
		else
		
			if [ ! -f $DEPOT/$CAG_DEPOT/$DEB_ASAGENT -o ! -f $DEPOT/$UAG_DEPOT/$DEB_UAGENT ]
			then
				ALL_PACKAGES="($DEB_ASAGENT, $DEB_UAGENT)"
				printf "$INST_PACKAGE_MISSING_DEBIAN" "$ALL_PACKAGES" | fmt -${MARGIN}
				exit 1
			fi
		fi
	fi
	
	#
	#-  Only root can install RPM packages
	#
	if [ $(id -u) -ne 0 ] ; then
		echo -e $INST_ONLY_ROOT
		exit 1
	fi
}
prepare_for_install_sdo()
{
	
	PATH=/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin/
	OS=`uname -s`
	
	if [ "$OS" != "Linux" ] ; then
		echo
		echo $INST_ONLYFOR_LINUX
		echo
		exit 1
	fi
	
	eval `resize 2>/dev/null`
	MARGIN=${COLUMNS:-72}
	
	
	#
	#  The user can override where we look by setting DEPOT in his environment
	#
	
	rpm -q BABsvr >/dev/null 2>&1
	if [ $? -ne 0 ] ; then
		ARC_PREFIX=
	else
		ARC_PREFIX=`rpm -q --queryformat '%{installprefix}' BABsvr 2>/dev/null`
		NAS_PREFIX=$ARC_PREFIX
	fi
	
	if [ "$ARC_PREFIX" = "" -o "$ARC_PREFIX" = "(none)" ]; then
		echo "ARC_PREFIX is null"
		ARC_PREFIX=$PREFIX_ROOT
	fi
	
	verify_rpm

	if [ $REALLOCAT_FLAG -eq 0 ]; then 
		if [ $AS9SVR_OLD_INSTALLED -eq 1 ]; then
			ARC_PREFIX=`rpm -q --queryformat '%{installprefix}' $AS9SVR_OLD 2>/dev/null`
		fi
		if [ "$ARC_PREFIX" = "" -o "$ARC_PREFIX" = "(none)" ] ; then
			ARC_PREFIX=$PREFIX_ROOT
		fi

		if [ $UAGENT9_OLD_INSTALLED -eq 1 ]; then
			UAG_PREFIX=`rpm -q --queryformat '%{installprefix}' $UAGENT9_OLD 2>/dev/null`
		fi
		if [ "$UAG_PREFIX" = "" -o "$UAG_PREFIX" = "(none)" ] ; then
			UAG_PREFIX=$PREFIX_ROOT
		fi

		if [ $ORA9_OLD_INSTALLED -eq 1 ]; then
			ORA_PREFIX=`rpm -q --queryformat '%{installprefix}' $ORA9_OLD 2>/dev/null`
		fi
		if [ "$ORA_PREFIX" = "" -o "$ORA_PREFIX" = "(none)" ] ; then
			ORA_PREFIX=$PREFIX_ROOT
		fi

		if [ $APAGENT9_OLD_INSTALLED -eq 1 ]; then
			APA_PREFIX=`rpm -q --queryformat '%{installprefix}' $APAGENT9_OLD 2>/dev/null`
		fi
		if [ "$APA_PREFIX" = "" -o "$APA_PREFIX" = "(none)" ] ; then
			APA_PREFIX=$PREFIX_ROOT
		fi
	
		if [ $MYSQL9_OLD_INSTALLED -eq 1 ]; then
			MYQ_PREFIX=`rpm -q --queryformat '%{installprefix}' $MYSQL9_OLD 2>/dev/null`
		fi
		if [ "$MYQ_PREFIX" = "" -o "$MYQ_PREFIX" = "(none)" ] ; then
			MYQ_PREFIX=$PREFIX_ROOT
		fi

		if [ $INO9_OLD_INSTALLED -eq 1 ]; then
			INO_PREFIX=`rpm -q --queryformat '%{installprefix}' $INO9_OLD 2>/dev/null`
		fi
		if [ "$INO_PREFIX" = "" -o "$INO_PREFIX" = "(none)" ] ; then
			INO_PREFIX=$PREFIX_ROOT
		fi
		if [ "$OES_PREFIX" = "" -o "$OES_PREFIX" = "(none)" ] ; then
			OES_PREFIX=$PREFIX_ROOT
		fi
		echo
		echo $INST_MSG_FOR_PREFIX
		echo
		
	
		ARC_RELOC="--prefix $ARC_PREFIX"
		NAS_RELOC="--prefix $ARC_PREFIX"
		UAG_RELOC="--prefix $UAG_PREFIX"
		ORA_RELOC="--prefix $ORA_PREFIX"
		APA_RELOC="--prefix $APA_PREFIX"
		MYQ_RELOC="--prefix $MYQ_PREFIX"
		ING_RELOC="--prefix $ING_PREFIX"
		INO_RELOC="--prefix $INO_PREFIX"
		OES_RELOC="--prefix $OES_PREFIX"
	else
		ARC_RELOC=
		UAG_RELOC=
		INO_RELOC=
		NAS_RELOC=
		ORA_RELOC=
		APA_RELOC=
		MYQ_RELOC=
		ING_RELOC=
		OES_RELOC=
	fi

	
	#
	#-  To alleviate case handling in pathnames on CDFS
	#

	MISC=misc
	LICDIR=license
	CAUNAME=cauname
	TURBOFIX=turbofix.rpm
	AS6SVR=babsvr.rpm
	AS6MGR=babmgr.rpm
	UAGENT=babagtux.rpm
	ASAGENT=babcmagt.rpm
	DEB_UAGENT=babagtux.deb
	DEB_ASAGENT=babcmagt.deb
	CALICENSE=install_license
	DEB_CALICENSE=calicens.deb
	INO=inoculan
	INO_PKG=AVEngine.rpm
	DEB_INO_PKG=AVEngine.deb
	DRO_PKG=babdr.rpm
	ORACLE=oracle
	ORA_PKG=babora.rpm
	APACHE=apache
	APACHE_PKG=babapgnt.rpm
	MYSQL=mysql
	MYSQL_PKG=babmysql.rpm
	NAS=nas
	NAS_PKG=babnas.rpm
	SAN_PKG=babsan.rpm
	ING_PKG=babingres.rpm
	NOTES_PKG=babnotes.rpm
	SAP_PKG=babsap.rpm
	BAIM_PKG=BABbaim.rpm
	HAR_PKG=babharagt.rpm
	OESAGENT=^OESAGENT^.rpm
	IGATEWAY_FILE=iGateway.sh
	ISPONSOR_FILE=iSponsor.sh
		
	CAAGENT_SUCCEED_INSTALL=0
	AS9SVR_SUCCEED_INSTALL=0
	NASAGENT_SUCCEED_INSTALL=0
	UAGENT_SUCCEED_INSTALL=0
	ORAAGENT_SUCCEED_INSTALL=0
	APAGENT_SUCCEED_INSTALL=0
	MYSQLAGENT_SUCCEED_INSTALL=0
	SANOPTION_SUCCEED_INSTALL=0
	DROOPTION_SUCCEED_INSTALL=0
	INGAGENT_SUCCEED_INSTALL=0
	NOTESAGENT_SUCCEED_INSTALL=0
	SAPAGENT_SUCCEED_INSTALL=0
	HARAGENT_SUCCEED_INSTALL=0
	OESAGENT_SUCCEED_INSTALL=0
	#
	#-  Only root can install RPM packages
	#
	if [ $(id -u) -ne 0 ] ; then
		echo -e $INST_ONLY_ROOT
		exit 2
	fi
	
}

create_tmp_nlsfile()
{
	if [ ! -d /tmp ]  
	then
		mkdir -m 666 -p /tmp 2>/dev/null
	fi
	
	if [ -f ${TMP_NLSFILE} ] 
	then
		rm -f ${TMP_NLSFILE} 2>/dev/null
	fi
	
	NLS_DEPOT=${DEPOT}
	if [ -f $DEPOT_DIR/NLS/NLS.CFG ]
	then
		cp $DEPOT_DIR/NLS/NLS.CFG ${TMP_NLSFILE}
	else
		cp $DEPOT_DIR/nls/nls.cfg ${TMP_NLSFILE}
	fi
}
remove_tmp_nlsfile()
{
	if [ -f ${TMP_NLSFILE} ]
	then
		rm -f ${TMP_NLSFILE}
	fi
}
check_uppercase()
{
	UPPER_FLAG=FALSE
	#check which kind of directory is valid,upper or lower
	DEPOT_DIR=${DEPOT}
	if [ -d $DEPOT_DIR/NLS ] 
	then
		UPPER_FLAG=TRUE
	fi
}
#function get_config is required be called before this function for setting required variables
lang_menu()
{
	OLD_NLS_LANG=$NLS_LANG
	if [ "$LANG" = "" ] 
	then
		LANG=C
	fi
	
	NLS_LOCALE=$LANG
        NLS_LANG=`$NLS_UTILITY_FILE -c $LANG  $NLSMAPFILE 2>/dev/null`
        LC_CTYPE=`locale 2>/dev/null | grep LC_CTYPE | grep -v grep | cut -d"=" -f2| cut -d"\"" -f2`
	if [  "$NLS_LANG" = "C" -a "$LC_CTYPE" != "" ]
	then
	        LC_CTYPE_TYPE=`$NLS_UTILITY_FILE -c $LC_CTYPE  $NLSMAPFILE 2>/dev/null`
	        if [ "$LC_CTYPE_TYPE" != "$NLS_LANG" ]
	        then
	                NLS_LANG=$LC_CTYPE_TYPE
	                NLS_LOCALE=$LC_CTYPE
	        fi
	fi
	
        #If install script detects one of the Chinese/Japanese locales included in our map file then
        #we should switch to Chinese/Japanese by default without going through the language selection menu.
        if [ "$NLS_LANG" = "sc" -o "$NLS_LANG" = "tc" -o  "$NLS_LANG" = "ja_euc" -o "$NLS_LANG" = "ja_sjis" -o "$NLS_LANG" = "ja" ]
        then
                :
        else
		create_tmp_nlsfile
		
		${NLS_LIST_FILE} ${C_INSTALL_MESSAGES_PATH} ${TMP_NLSFILE} ${NLS_UTILITY_FILE} ${NLS_PATH} ${NLS_LOCALE}  $NLSMAPFILE
		
		NLS_LANG=`$NLS_UTILITY_FILE -g $TMP_NLSFILE "CA_NLS_LANG" 2>/dev/null`
                NLS_LOCALE=`$NLS_UTILITY_FILE -gl $TMP_NLSFILE "CA_NLS_LANG" 2>/dev/null`
		
		remove_tmp_nlsfile
	fi
}
read_nls()
{

		if [ "$UPPER_FLAG" = "TRUE" ] 
		then
			NLS_LIST_FILE=$DEPOT_DIR/NLS/NLS_LIST
			NLS_UTILITY_FILE=$DEPOT_DIR/NLS/NLS_UTILITY
			NLSCFGFILE=$DEPOT_DIR/NLS/NLS.CFG
			NLSMAPFILE=$DEPOT_DIR/NLS/NLS.MAP
		else
			NLS_LIST_FILE=$DEPOT_DIR/nls/nls_list
			NLS_UTILITY_FILE=$DEPOT_DIR/nls/nls_utility
			NLSCFGFILE=$DEPOT_DIR/nls/nls.cfg	
			NLSMAPFILE=$DEPOT_DIR/nls/nls.map
		fi
	
		if [ -f $NLSCFGFILE -a -x $NLS_UTILITY_FILE ]
		then
	
			NLS_LANG=`$NLS_UTILITY_FILE -g $NLSCFGFILE "CA_NLS_LANG" 2>/dev/null`
			NLS_LOCALE=`$NLS_UTILITY_FILE -gl $TMP_NLSFILE "CA_NLS_LANG" 2>/dev/null`
		fi
			
}
set_msgpath()
{
		if [ "$NLS_LANG" = "" ] 
		then
			NLS_LANG=C
		fi
		
		if [ "$UPPER_FLAG" = "TRUE" ] 
		then
			UPPER_LANG=`echo $NLS_LANG | tr "[:lower:]" "[:upper:]" `
			NLS_PATH=$DEPOT_DIR/NLS
			INSTALL_MESSAGES_PATH=$NLS_PATH/${UPPER_LANG}/INSTALL.MSG
			C_INSTALL_MESSAGES_PATH=$DEPOT_DIR/NLS/C/INSTALL.MSG
#			UPGRADE_MESSAGES_PATH=$NLS_PATH/${UPPER_LANG}/UPGRADE.MSG
			LIC_PATH=$NLS_PATH/${UPPER_LANG}/LICENSE.TXT
			INSTALL_NOTES=$DEPOT_DIR/INSTALL.${UPPER_LANG}.TXT
			INSTALL_README=$DEPOT_DIR/README.${UPPER_LANG}.TXT
			INSTALL_README_HTML=$DEPOT_DIR/README.${UPPER_LANG}.HTML
                        if [ "$ENC_FLAG" = "UTF-8" ]
                        then
                                for i in DE FR IT SP PT
                                do
                                        if [ "${UPPER_LANG}" = "${i}" -a -d ${NLS_PATH}/${i}_UTF8 ] ;then
                                                INSTALL_MESSAGES_PATH=$NLS_PATH/${UPPER_LANG}_UTF8/INSTALL.MSG
                                                LIC_PATH=$NLS_PATH/${UPPER_LANG}_UTF8/LICENSE.TXT
                                                INSTALL_NOTES=$DEPOT_DIR/INSTALL.${UPPER_LANG}_UTF8.TXT
                                                INSTALL_README=$DEPOT_DIR/README.${UPPER_LANG}_UTF8.TXT
                                                INSTALL_README_HTML=$DEPOT_DIR/README.${UPPER_LANG}_UTF8.HTML
                                        fi
                                done

                        fi
					
		else
			NLS_PATH=$DEPOT_DIR/nls
                        INSTALL_MESSAGES_PATH=$NLS_PATH/${NLS_LANG}/install.msg
                        C_INSTALL_MESSAGES_PATH=$DEPOT_DIR/nls/C/install.msg
#                       UPGRADE_MESSAGES_PATH=$NLS_PATH/${NLS_LANG}/upgrade.msg
                        LIC_PATH=$NLS_PATH/${NLS_LANG}/license.txt
                        INSTALL_NOTES=$DEPOT_DIR/install.${NLS_LANG}.txt
                        INSTALL_README=$DEPOT_DIR/readme.${NLS_LANG}.txt
                        INSTALL_README_HTML=$DEPOT_DIR/readme.${NLS_LANG}.html
			if [ "$ENC_FLAG" = "UTF-8" ]
			then
                		for i in de fr it sp pt ja
                		do
                        		if [ "${NLS_LANG}" = "${i}" -a -d ${NLS_PATH}/${i}_utf8 ] ;then
						INSTALL_MESSAGES_PATH=$NLS_PATH/${NLS_LANG}_utf8/install.msg
						LIC_PATH=$NLS_PATH/${NLS_LANG}_utf8/license.txt
						INSTALL_NOTES=$DEPOT_DIR/install.${NLS_LANG}_utf8.txt
						INSTALL_README=$DEPOT_DIR/readme.${NLS_LANG}_utf8.txt
						INSTALL_README_HTML=$DEPOT_DIR/readme.${NLS_LANG}_utf8.html
                        		fi
                		done

			fi
		fi
}
get_config()
{
	if [ -f ${INSTALL_MESSAGES_PATH} ]
	then
		. ${INSTALL_MESSAGES_PATH}
		THE_LIC_FILE=${LIC_PATH}
	elif [ -f ${C_INSTALL_MESSAGES_PATH} ]; then
		. ${C_INSTALL_MESSAGES_PATH}
		THE_LIC_FILE=${NLS_PATH}/C/license.txt
		NLS_LANG="C"
		NLS_LOCALE="C"
	else
		echo "Can not locate the file: ${INSTALL_MESSAGES_PATH}!"
		echo "Exiting..."
		exit 7
	fi

}

modify_rpm_config()
{
        TMPFILE=/tmp/rpmmacros.tmp.$$
        MY_RPM_VER=$(version_installed rpm)
        rtn=$(version_compare $MY_RPM_VER "4.2.0")
        ARCH=`arch`
        if [ $rtn -eq 1 -a "${ARCH}" = "ia64" ]
        then
            if [ -f /etc/rpm/macros ]; then
                sed 's/^[ \t]*\%\_autorelocate\_path/#%\_autorelocate\_path/g' /etc/rpm/macros > ${TMPFILE}
                mv -f ${TMPFILE} /etc/rpm/macros
            fi
            if [ -f /usr/lib/rpm/macros ]; then
                sed 's/^[ \t]*\%\_autorelocate\_path/#%\_autorelocate\_path/g' /usr/lib/rpm/macros > ${TMPFILE}
                mv -f ${TMPFILE} /usr/lib/rpm/macros
            fi
        fi
}

cfgAgtStrtStop ()
{
	if [ $EXEC_MODE -eq $SLNT_MODE  -o $EXEC_MODE -eq $SDO_MODE ] ; then
	        if [ "${AGENTS_AUTO_START}" = "YES" ] ; then
	        	CFGAGTAUTOSTRTSTOP=1
	        else
	        	CFGAGTAUTOSTRTSTOP=0
	        fi
	else
	    echo -e "$INST_MSG_14"
	    getyn "$INST_MSG_15" 1
	    if [ $? -eq 1 ]
	    then
	        if [ $EXEC_MODE -eq $RESP_MODE ]
	        then
	            AGENTS_AUTO_START="YES"
	        fi
	        CFGAGTAUTOSTRTSTOP=1
	    else
	        if [ $EXEC_MODE -eq $RESP_MODE ]
	        then
	            AGENTS_AUTO_START="NO"
	        fi
	        CFGAGTAUTOSTRTSTOP=0
	    fi
	fi
}

getyn ()
{
   if [ "$2" = 1 ] ; then
      default="y"
   else
      default="n"
   fi
   echo -e "$1? [y|n]:(${INST_MSG_127}: $default) \c"
   while read answer
   do
      if [ -z "$answer" ] ; then
         answer=$default
      fi
      case "$answer" in
         y*|Y*) YES=1;break;;
         n*|N*) YES=0;break;;
         *) echo -e "$1? [y|n]:(${INST_MSG_127}: $default) \c"
      esac
   done
   return $YES
}
view_readme()
{
	if [ ! -f ${INSTALL_README} ]; then
		INSTALL_README=${DEPOT}/readme.txt
	fi
        more $INSTALL_README
        echo -e "$INST_MSG_6"
        read dummy
}
Print_Cfg_Task ()
{
   if [ $AS9SVR_SUCCEED_INSTALL -eq 1 ]; then
     if [ $AS9SVR_OLD_INSTALLED -ne 1 -a $SERVER_NEED_UPGRADE -ne 1 ]
        then
                Print_Header
       echo "    Server & Manager                         (BABsvr & BABmgr)==> [ ${INST_MSG_40} ]"
       echo "    Server & Manager                         (BABsvr & BABmgr)==> [ csetup ]"
     elif [ $AS9SVR_OLD_INSTALLED -eq 1 ]; then
                Print_Header
       echo "    Server & Manager                         (BABsvr & BABmgr)==> [ ${INST_MSG_40} ]"
       echo "    Server & Manager                         (BABsvr & BABmgr)==> [  upgrade_ingres ]"
     elif [ $SERVER_NEED_UPGRADE -eq 1 -a $R11_UPGRADE -eq 1 ]; then
                Print_Header
       echo "    Server & Manager                         (BABsvr & BABmgr)==> [  upgrade_ingres ]"
     fi
   fi
   if [ $DROOPTION_SUCCEED_INSTALL -eq 1 -a $DRO9_OLD_INSTALLED -ne 1 -a $DRO_NEED_UPGRADE -ne 1 ]
        then
                Print_Header
      echo "    Disaster Recovery Option                 (BABdr)          ==> [ csetup ]"
   fi
   if [ $SANOPTION_SUCCEED_INSTALL -eq 1 -a $SAN_NEED_UPGRADE -ne 1 ]
        then
                Print_Header
      echo "    Storage Area Network (SAN) Option        (BABsan)         ==> [ csetup ]"
   fi
   if [ $NASAGENT_SUCCEED_INSTALL -eq 1 -a $NAS9_OLD_INSTALLED -ne 1 -a $NAS_NEED_UPGRADE -ne 1 ]
        then
                Print_Header
      echo "    NDMP NAS Option                          (BABnas)         ==> [ csetup ]"
   fi
#   if [ ${UAGENT_SUCCEED_INSTALL} -eq 1 ]
#        then
#                Print_Header
#      	if [ $AGENTS_DIR -ne 1 ]; then
#      		echo "    Client Agent for Linux                   (BABagntux)      ==> [ NONE ]"
#   	fi
#   fi
   if [ ${ORAAGENT_SUCCEED_INSTALL} -eq 1 -a $ORA9_OLD_INSTALLED -ne 1 -a $ORA_NEED_UPGRADE -ne 1 ]
        then
                Print_Header
      echo "    Backup Agent for Oracle                  (BABora)         ==> [ orasetup ]"
   fi
   if [ ${APAGENT_SUCCEED_INSTALL} -eq 1 -a $APAGENT9_OLD_INSTALLED -ne 1 -a $APA_NEED_UPGRADE -ne 1 ]
        then
                Print_Header
      echo "    Backup Agent for Apache Web Server       (BABapagent)     ==> [ apagentsetup ]"
   fi
   if [ ${INGAGENT_SUCCEED_INSTALL} -eq 1 ]
        then
                Print_Header
      echo "    Enterprise Option for Advantage Ingres   (BABing)         ==> [ ingsetup ]"
   fi
   if [ ${NOTESAGENT_SUCCEED_INSTALL} -eq 1 ]
        then
                Print_Header
      echo "    Backup Agent for Lotus Domino            (BABlotus)       ==> [ lotussetup ]"
   fi
   if [ ${SAPAGENT_SUCCEED_INSTALL} -eq 1 ]
        then
                Print_Header
      echo "    Enterprise Option for SAP R/3 for Oracle (BABsap)         ==> [ sapsetup ]"
   fi
   if [ ${HARAGENT_SUCCEED_INSTALL} -eq 1 ]
        then
                Print_Header
      echo "    Backup Agent for Harvest                 (BABharagt)      ==> [ hasetup ]"
   fi
   if [ ${MYSQLAGENT_SUCCEED_INSTALL} -eq 1 -a $MYSQL9_OLD_INSTALLED -ne 1 -a $MYQ_NEED_UPGRADE -ne 1 ]
        then
                Print_Header
      echo "    Backup Agent for MySQL                   (BABmysql)       ==> [ mqsetup ]"
   fi
   if [ $NASAGENT_SUCCEED_INSTALL -eq 1 -a $NAS9_OLD_INSTALLED -eq 1 ]
        then
                Print_Header
      echo -e "${INST_MSG_125}"
   fi

   if [ ${SAP_NEED_UPGRADE} -eq 1 ]; then
      Print_Header
      echo -e "    ${INST_MSG_133}"
      echo -e "    ${INST_MSG_134}"
   fi

   if [ "$LICENSE_CHOICE" = "1" ]; then
      echo
      echo "    ${INST_MSG_118}"
   elif [ "$LICENSE_CHOICE" = "4" ]; then
      echo
      echo "    ${INST_MSG_119}"
   fi
   Print_Trailer
}
Print_Header ()
{
        if [ "${HEADERFLAG}" -eq 0 ]
        then
                HEADERFLAG=1
      	if [ $AGENTS_DIR -ne 1 ]; then
           	echo 
      		echo "$INST_MSG_16" 
	fi
      		echo
        fi
}

Print_Trailer ()
{
        if [ "${HEADERFLAG}" -eq 1 ]
        then
           echo
           echo "$INST_MSG_17"
           echo "$INST_MSG_18"
        fi
}
Migration_ARC_Init()
{
	Portal_Server_Name=""
	Portal_Install="YES"
	AS6SVR_OLD=as7svr-7.0-1
	AS6MGR_OLD=as7mgr-7.0-1
	CALICENSE_OLD=calicense-1-3
	UAGENT_OLD=uagent-7.0-1
	ASAGENT_OLD=asagent-7.0-1
	ORA_OLD=CYEora8-7.0-211
	INO_OLD=AVEngine-6.0-Build54
	DRO_OLD=as7dro-1-1

	AS9SVR_OLD=as9svr-9.0-1
	AS9MGR_OLD=as9mgr-9.0-1
	CALICENSE_OLD=calicense-1-3
	CALICENSE9_OLD=calicense-9.0-1
	UAGENT9_OLD=uagent-9.0-1
	ASAGENT9_OLD=caagent-9.0-1
	ORA9_OLD=CAora-9.0-270
	INO9_OLD=AVEngine-6.1-1
	NAS9_OLD=nasagent-9.0-1
	DRO9_OLD=as9dro
	APAGENT9_OLD=apagent-9.0-1
	MYSQL9_OLD=CAMysql-9.0-220
	
	INO_OLD_INSTALLED=0
	AS6SVR_OLD_INSTALLED=0
	AS6MGR_OLD_INSTALLED=0
	CALICENSE_OLD_INSTALLED=0
	UAGENT_OLD_INSTALLED=0
	ASAGENT_OLD_INSTALLED=0
	ORA_OLD_INSTALLED=0
	DRO_OLD_INSTALLED=0
	INO9_OLD_INSTALLED=0
	AS9SVR_OLD_INSTALLED=0
	AS9MGR_OLD_INSTALLED=0
	CALICENSE9_OLD_INSTALLED=0
	UAGENT9_OLD_INSTALLED=0
	ASAGENT9_OLD_INSTALLED=0
	ORA9_OLD_INSTALLED=0
	DRO9_OLD_INSTALLED=0
	NAS9_OLD_INSTALLED=0
	APAGENT9_OLD_INSTALLED=0
	MYSQL9_OLD_INSTALLED=0

	CAAGENT_NEED_UPGRADE=0
	SERVER_NEED_UPGRADE=0
	MANAGER_NEED_UPGRADE=0
	R11_UPGRADE=0
	R115_RC2GM_UPGRADE=0
	R115_RC2GM_MSG=0
	UAG_NEED_UPGRADE=0
	NAS_NEED_UPGRADE=0
	DRO_NEED_UPGRADE=0
	SAN_NEED_UPGRADE=0
	ING_NEED_UPGRADE=0
	MYQ_NEED_UPGRADE=0
	APA_NEED_UPGRADE=0
	ORA_NEED_UPGRADE=0
	NOTES_NEED_UPGRADE=0
	SAP_NEED_UPGRADE=0
	HAR_NEED_UPGRADE=0
	OES_NEED_UPGRADE=0
	INO_NEED_UPGRADE=0
	INO_NEED_UNINSTALL=0

	SERVER_ALREADY_INSTALLED=0
	UAG_ALREADY_INSTALLED=0
	ING_ALREADY_INSTALLED=0
	MYQ_ALREADY_INSTALLED=0
	APA_ALREADY_INSTALLED=0
	ORA_ALREADY_INSTALLED=0	
	NOTES_ALREADY_INSTALLED=0
	SAP_ALREADY_INSTALLED=0
	HAR_ALREADY_INSTALLED=0
	OES_ALREADY_INSTALLED=0
	INO_ALREADY_INSTALLED=0

	BAB_COMPONENTS_UPGRADE=0
}
detect_old_pkg()
{
	echo
	echo -e "$INST_PROCESS_RUNNING\c"
	startDial &

	if [ -f ${DEPOT}/.RELVERSION ]; then
		CURRENT_BUILD=$(Get_BuildNum "${DEPOT}/.RELVERSION")
	elif [ -f ${DEPOT}/../.RELVERSION ]; then
		CURRENT_BUILD=$(Get_BuildNum "${DEPOT}/../.RELVERSION")
	else
		CURRENT_BUILD=0
	fi
	if [ "X${CURRENT_BUILD}" = "X" ]; then
		CURRENT_BUILD=0
	fi
	
	isInstalled $CALICENSE_OLD
	if [ $? -eq 0 ];then
		CALICENSE_OLD_INSTALLED=1
	fi
	
	isInstalled $CALICENSE9_OLD
	if [ $? -eq 0 ];then
		CALICENSE9_OLD_INSTALLED=1
	fi
	
	isInstalled BABcmagt
	if [ $? -eq 0 ];then
		CAAGENT_PREFIX=`rpm -q --queryformat '%{installprefix}' BABcmagt 2>/dev/null`
		Pre_B_Num=$(Get_BuildNum "${CAAGENT_PREFIX}/BABcmagt/RELVERSION")
		if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
			CAAGENT_NEED_UPGRADE=1
		fi
	fi
	isInstalled BABagntux
	if [ $? -eq 0 ];then
		UAG_PREFIX=`rpm -q --queryformat '%{installprefix}' BABagntux 2>/dev/null`
		Pre_B_Num=$(Get_BuildNum "${UAG_PREFIX}/BABuagent/RELVERSION")
		if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
			UAG_NEED_UPGRADE=1
		else
			UAG_ALREADY_INSTALLED=1
		fi
	fi

	isInstalled BABoes
	if [ $? -eq 0 ];then
		OES_PREFIX=`rpm -q --queryformat '%{installprefix}' BABoes 2>/dev/null`
		Pre_B_Num=$(Get_BuildNum "${OES_PREFIX}/BABoesagt/RELVERSION")
		if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
			OES_NEED_UPGRADE=1
		else
			OES_ALREADY_INSTALLED=1
		fi
	fi

	if [ $DEBIAN -eq 1 ]; then
		isInstalled babcmagt
		if [ $? -eq 0 ];then
			CAAGENT_PREFIX="/opt/CA"
			Pre_B_Num=$(Get_BuildNum "${CAAGENT_PREFIX}/BABcmagt/RELVERSION")
			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
				CAAGENT_NEED_UPGRADE=1
			fi
		fi
		isInstalled babagntux
		if [ $? -eq 0 ];then
			UAG_PREFIX="/opt/CA"
			Pre_B_Num=$(Get_BuildNum "${UAG_PREFIX}/BABuagent/RELVERSION")
			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
				UAG_NEED_UPGRADE=1
			else
				UAG_ALREADY_INSTALLED=1
			fi
		fi

		isInstalled caagent
		if [ $? -eq 0 ];then
			ASAGENT9_OLD_INSTALLED=1
		fi
	
		isInstalled uagent
		if [ $? -eq 0 ];then
			UAGENT9_OLD_INSTALLED=1
		fi
	fi

	isInstalled $ASAGENT9_OLD
	if [ $? -eq 0 ];then
		ASAGENT9_OLD_INSTALLED=1
	fi

	isInstalled $UAGENT9_OLD
	if [ $? -eq 0 ];then
		UAGENT9_OLD_INSTALLED=1
	fi
			
	isInstalled $ASAGENT_OLD
	if [ $? -eq 0 ];then
		ASAGENT_OLD_INSTALLED=1
	fi

	isInstalled $UAGENT_OLD
	if [ $? -eq 0 ];then
		UAGENT_OLD_INSTALLED=1
	fi
			
		isInstalled $ORA9_OLD
		if [ $? -eq 0 ];then
			ORA9_OLD_INSTALLED=1
		fi	

		isInstalled $ORA_OLD
		if [ $? -eq 0 ];then
			ORA_OLD_INSTALLED=1
		fi	

		isInstalled BABora
		if [ $? -eq 0 ];then
			ORA_PREFIX=`rpm -q --queryformat '%{installprefix}' BABora 2>/dev/null`
			Pre_B_Num=$(Get_BuildNum "${ORA_PREFIX}/BABoraagt/data/RELVERSION")
			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
				ORA_NEED_UPGRADE=1
			else
				ORA_ALREADY_INSTALLED=1
			fi
		fi

	if [ $AGENTS_DIR -ne 1 ]; then
		isInstalled $INO9_OLD
		if [ $? -eq 0 ];then
			INO9_OLD_INSTALLED=1
		fi
			
		isInstalled $AS9SVR_OLD
		if [ $? -eq 0 ];then
			AS9SVR_OLD_INSTALLED=1
		fi
	
		isInstalled $AS9MGR_OLD
		if [ $? -eq 0 ];then
			AS9MGR_OLD_INSTALLED=1
		fi
		if [ $AS9SVR_OLD_INSTALLED -eq 1 -o $AS9MGR_OLD_INSTALLED -eq 1 ];then
			if [ $AS9SVR_OLD_INSTALLED -eq 1 ] ;then
				AS9_PREFIX=`rpm -q --queryformat '%{installprefix}' $AS9SVR_OLD 2>/dev/null`
			else
				AS9_PREFIX=`rpm -q --queryformat '%{installprefix}' $AS9MGR_OLD 2>/dev/null`	
			fi
			if [ "$AS9_PREFIX" = "" -o "$AS9_PREFIX" = "(none)" ] ; then	
				AS9_PREFIX="/opt/CA"
			fi
		
			AS9_HOME=$AS9_PREFIX/ARCserve
			AS9_LD_PATH=/opt/CA/SharedComponents/lib:/opt/CA/CAlib:$AS9_HOME/lib:$LD_LIBRARY_PATH
			AS9_PATH=$AS9_HOME/bin:$AS9_HOME/sbin:$PATH
		fi
	
		isInstalled $MYSQL9_OLD
		if [ $? -eq 0 ];then
			MYSQL9_OLD_INSTALLED=1
		fi	
	
		isInstalled $APAGENT9_OLD
		if [ $? -eq 0 ];then
			APAGENT9_OLD_INSTALLED=1
		fi	
	
		isInstalled $DRO9_OLD
		if [ $? -eq 0 ];then
			DRO9_OLD_INSTALLED=1
		fi	
		
		isInstalled $NAS9_OLD
		if [ $? -eq 0 ];then
			NAS9_OLD_INSTALLED=1
		fi	
		
		isInstalled $INO_OLD
		if [ $? -eq 0 ];then
			INO_OLD_INSTALLED=1
		fi
			
		isInstalled $AS6SVR_OLD
		if [ $? -eq 0 ];then
			AS6SVR_OLD_INSTALLED=1
		fi
	
		isInstalled $AS6MGR_OLD
		if [ $? -eq 0 ];then
			AS6MGR_OLD_INSTALLED=1
		fi

		isInstalled $DRO_OLD
		if [ $? -eq 0 ];then
			DRO_OLD_INSTALLED=1
		fi
		
		isInstalled AVEngine
		if [ $? -eq 0 ];then			
			if [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ];then
				INO_NEED_UPGRADE=1
			else
				INO_NEED_UNINSTALL=1
			fi
		else
			Get_CAIGLBL0000
			if [ -f $CAIGLBL0000/ino/.BABave ] ;then
				if [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ];then
					INO_ALREADY_INSTALLED=1 
				else
					INO_NEED_UNINSTALL=1
				fi
			fi
		fi

		isInstalled BABsvr
		if [ $? -eq 0 ];then
			ARC_PREFIX=`rpm -q --queryformat '%{installprefix}' BABsvr 2>/dev/null`
			Pre_B_Num=$(Get_BuildNum "${ARC_PREFIX}/BrightStorARCserve/data/RELVERSION")
			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
				SERVER_NEED_UPGRADE=1
				MANAGER_NEED_UPGRADE=1
				isInstalled BABnas
				if [ $? -eq 0 ];then
					NAS_NEED_UPGRADE=1
				fi
				isInstalled BABdr
				if [ $? -eq 0 ];then
					DRO_NEED_UPGRADE=1
				fi
				isInstalled BABsan
				if [ $? -eq 0 ];then
					SAN_NEED_UPGRADE=1
				fi
			else
				SERVER_ALREADY_INSTALLED=1
			fi		
#			if [ $Pre_B_Num -lt 2339 -a $Pre_B_Num -ge 1668 ]; then
			if [ $Pre_B_Num -lt 2378 -a $Pre_B_Num -ge 1668 ]; then
				R11_UPGRADE=1
			elif [ $Pre_B_Num -ge 2079 ]; then
				R115_RC2GM_UPGRADE=1
			fi
		fi
			
if [ "X${NLS_LANG}" != "Xsc" -a "X${NLS_LANG}" != "Xtc" -a "X${NLS_LANG}" != "Xja_euc" -a "X${NLS_LANG}" != "Xja_sjis" -o "X$NLS_LANG" = "Xja" ]; then
		isInstalled BABing
		if [ $? -eq 0 ];then
			ING_PREFIX=`rpm -q --queryformat '%{installprefix}' BABing 2>/dev/null`
			Pre_B_Num=$(Get_BuildNum "${ING_PREFIX}/BABingagt/data/RELVERSION")
			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
				ING_NEED_UPGRADE=1
			else
				ING_ALREADY_INSTALLED=1
			fi
		fi
fi
			
		isInstalled BABmysql
		if [ $? -eq 0 ];then
			MYQ_PREFIX=`rpm -q --queryformat '%{installprefix}' BABmysql 2>/dev/null`
			Pre_B_Num=$(Get_BuildNum "${MYQ_PREFIX}/BABmysql/data/RELVERSION")
			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
				MYQ_NEED_UPGRADE=1
			else
				MYQ_ALREADY_INSTALLED=1
			fi
		fi
			
if [ "X${ARCH}" != "Xia64" -a "X${ARCH}" != "Xx86_64" ]; then
		isInstalled BABapagent
		if [ $? -eq 0 ];then
			APA_PREFIX=`rpm -q --queryformat '%{installprefix}' BABapagent 2>/dev/null`
			Pre_B_Num=$(Get_BuildNum "${APA_PREFIX}/BABapagent/RELVERSION")
			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
				APA_NEED_UPGRADE=1
			else
				APA_ALREADY_INSTALLED=1
			fi
		fi
fi
			
		isInstalled BABlotus
		if [ $? -eq 0 ];then
			NOTES_PREFIX=`rpm -q --queryformat '%{installprefix}' BABlotus 2>/dev/null`
			Pre_B_Num=$(Get_BuildNum "${NOTES_PREFIX}/BABlotusagt/data/RELVERSION")
			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
				NOTES_NEED_UPGRADE=1
			else
				NOTES_ALREADY_INSTALLED=1
			fi
		fi
		isInstalled BABsap
		if [ $? -eq 0 ];then
			SAP_PREFIX=`rpm -q --queryformat '%{installprefix}' BABsap 2>/dev/null`
			Pre_B_Num=$(Get_BuildNum "${SAP_PREFIX}/BABsapagt/data/RELVERSION")
			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
				SAP_NEED_UPGRADE=1
			else
				SAP_ALREADY_INSTALLED=1
			fi
		fi
#		isInstalled BABharagt
#		if [ $? -eq 0 ];then
#			HAR_PREFIX=`rpm -q --queryformat '%{installprefix}' BABharagt 2>/dev/null`
#			Pre_B_Num=$(Get_BuildNum "${HAR_PREFIX}/BABharagt/data/RELVERSION")
#			if [ $Pre_B_Num -lt $CURRENT_BUILD ]; then
#				HAR_NEED_UPGRADE=1
#			else
#				HAR_ALREADY_INSTALLED=1
#			fi
#		fi
	fi
		
	check 0 DETECT_OLD
	echo
	haveoldpkg
	return 0
}

Get_BuildNum()
{
	if [ -f $1 ]; then
		TEMPSTR1=`cat $1 |${AWK} -F'Build ' {'print $2'} 2>/dev/null`
		echo "${TEMPSTR1}"|${AWK} -F')' {'print $1'} 2>/dev/null
	else
		echo 0
	fi
}
#
# check wheher no pervious ARCserve edition package
#
haveoldpkg()
{
	if [  $CALICENSE_OLD_INSTALLED -eq 1 -o $INO_OLD_INSTALLED -eq 1 -o $DRO_OLD_INSTALLED -eq 1 -o $AS6SVR_OLD_INSTALLED -eq 1 -o $AS6MGR_OLD_INSTALLED  -eq 1 -o $ASAGENT_OLD_INSTALLED -eq 1 -o $UAGENT_OLD_INSTALLED -eq 1 -o $ORA_OLD_INSTALLED -eq 1 ] ; then
		echo "$INST_MSG_24"
		echo
		index=0
	
		if [ $CALICENSE_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo "   ${index}. ARCserve v7.0 License                     ($CALICENSE_OLD)"
		fi		
		if [ $AS6SVR_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo "   ${index}. ARCserve v7.0 Server                      ($AS6SVR_OLD)"
		fi		
		if [ $AS6MGR_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo "   ${index}. ARCserve v7.0 Manager                     ($AS6MGR_OLD)"
		fi		
		if [ $DRO_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo "   ${index}. ARCserve v7.0 Disaster Recovery Option    ($DRO_OLD)"
		fi		
		if [ $ASAGENT_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo "   ${index}. ARCserve v7.0 Common Agent                ($ASAGENT_OLD)"
		fi		
		if [ $UAGENT_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo "   ${index}. ARCserve v7.0 Backup Agent for Linux      ($UAGENT_OLD)"
		fi		
		if [ $ORA_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo "   ${index}. ARCserve v7.0 Backup Agent for Oracle     ($ORA_OLD)"
		fi		
		if [ $INO_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo "   ${index}. eTrust  Antivirus Engine v6.0             ($INO_OLD)"
		fi		
		echo
		echo "$INST_EXIT"
		exit 1
	elif [ $CALICENSE9_OLD_INSTALLED -eq 1 -o $DRO9_OLD_INSTALLED -eq 1 -o $INO9_OLD_INSTALLED -eq 1 -o $AS9SVR_OLD_INSTALLED -eq 1 -o $AS9MGR_OLD_INSTALLED  -eq 1 -o $ASAGENT9_OLD_INSTALLED -eq 1 -o $UAGENT9_OLD_INSTALLED -eq 1 -o $ORA9_OLD_INSTALLED -eq 1 -o $NAS9_OLD_INSTALLED -eq 1 -o $MYSQL9_OLD_INSTALLED -eq 1 -o $APAGENT9_OLD_INSTALLED -eq 1 ]
	then
		echo
		echo "$INST_MSG_23"
		index=0
	
		if [ $CALICENSE9_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 License                  (${CALICENSE9_OLD})"
		fi
		
		if [ $AS9SVR_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 Server                   (${AS9SVR_OLD})"
		fi		
	
		if [ $AS9MGR_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 Manager                  (${AS9MGR_OLD})"
		fi
	
		if [ $ASAGENT9_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 Common Agent             (${ASAGENT9_OLD})"
		fi
		
		if [ $UAGENT9_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 Backup Agent for Linux   (${UAGENT9_OLD})"
		fi
	
		if [ $DRO9_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 Disaster Recovery Option (${DRO9_OLD})"
		fi
	
		if [ $NAS9_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 NDMP NAS Option          (${NAS9_OLD})"
		fi
	
		if [ $APAGENT9_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 Backup Agent for Apache  (${APAGENT9_OLD})"
		fi
	
		if [ $MYSQL9_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 Backup Agent for MySQL   (${MYSQL9_OLD})"
		fi
	
		if [ $ORA9_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . BrightStor ARCserve Backup v9.0 Backup Agent for Oracle  (${ORA9_OLD})"
		fi
	
		if [ $INO9_OLD_INSTALLED -eq 1 ];then
			index=$(($index + 1 ))
			echo " . eTrust Antivirus Engine v6.1                             (${INO9_OLD})"
		fi
		BAB_COMPONENTS_UPGRADE=1
		echo 
	
		if [ $EXEC_MODE -ne $SLNT_MODE -a $EXEC_MODE -ne $SDO_MODE ]; then
			echo "$INST_MSG_25"
			GET_INSTALL_FLAG2
			if [ $INSTALL_FLAG -eq 1 ];then
				return 0
			else
				echo 
				echo "$INST_USER_EXIT"
				echo
				exit 0
			fi
			
		fi
	elif [ $CAAGENT_NEED_UPGRADE -eq 1 -o $SERVER_NEED_UPGRADE -eq 1 -o $UAG_NEED_UPGRADE -eq 1 \
		-o $NAS_NEED_UPGRADE -eq 1 -o $DRO_NEED_UPGRADE -eq 1 -o $SAN_NEED_UPGRADE -eq 1 \
		-o $ING_NEED_UPGRADE -eq 1 -o $MYQ_NEED_UPGRADE -eq 1 -o $APA_NEED_UPGRADE -eq 1 \
		-o $ORA_NEED_UPGRADE -eq 1 -o $NOTES_NEED_UPGRADE -eq 1 -o $SAP_NEED_UPGRADE -eq 1 \
		-o $HAR_NEED_UPGRADE -eq 1 -o $INO_NEED_UPGRADE -eq 1 -o $INO_NEED_UNINSTALL -eq 1 -o $OES_NEED_UPGRADE -eq 1 ]; then
		echo
		echo "$INST_MSG_108"
	
		if [ $SERVER_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABsvr&BABmgr)\n" "Server & Manager"
		fi
		
		if [ $CAAGENT_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABcmagt)\n" "Common Agent"
		fi
		
		if [ $UAG_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABagntux)\n" "Client Agent"
		fi
		
		if [ $NAS_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABnas)\n" "NDMP NAS Option"
		fi
		
		if [ $DRO_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABdr)\n" "Disaster Recovery Option"
		fi
		
		if [ $SAN_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABsan)\n" "Storage Area Network (SAN) Option"
		fi
		
		if [ $ORA_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABora)\n" "Agent for Oracle"
		fi
		
		if [ $APA_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABapagent)\n" "Agent for Apache Web Server"
		fi

		if [ $MYQ_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABmysql)\n" "Agent for MySQL"
		fi
		
		if [ $ING_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABing)\n" "Enterprise Option for Advantage Ingres"
		fi

		if [ $NOTES_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABlotus)\n" "Agent for Lotus Domino"
		fi

		if [ $SAP_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABsap)\n" "Enterprise Option for SAP R/3 for Oracle"
			printf " . %-40s (BABbaim)\n" "Backup Agent Integration Module"
		fi

		if [ $HAR_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABharagt)\n" "Agent for Harvest"
		fi

		if [ $OES_NEED_UPGRADE -eq 1 ];then
			printf " . %-40s (BABoes)\n" "Agent for Novell OES"
		fi

		if [ $INO_NEED_UPGRADE -eq 1 -o $INO_NEED_UNINSTALL -eq 1 ];then
			printf " . %-40s (AVEngine)\n" "eTrust Antivirus Engine"
		fi

		BAB_COMPONENTS_UPGRADE=1
		echo 
	
		if [ $EXEC_MODE -ne $SLNT_MODE -a $EXEC_MODE -ne $SDO_MODE ]; then
			echo "$INST_MSG_25"
			GET_INSTALL_FLAG2
			if [ $INSTALL_FLAG -eq 1 ];then
				return 0
			else
				echo 
				echo "$INST_USER_EXIT"
				echo
				exit 0
			fi
			
		fi
	else
		return 0
	fi
	
}
isInstalled()
{	

	CHECK_PKG=$1
	if [ $DEBIAN -eq 1 ]; then
		dpkg -l | grep $CHECK_PKG >/dev/null 2>&1
	else
		rpm -q ${CHECK_PKG} >/dev/null 2>&1
	fi
	if [ $? -ne 0 ] ;then
		return 1
	fi
	return 0
}
remove_as9_pkg()
{
	if [ $MYSQL9_OLD_INSTALLED -eq 1 ];then
		rpm -e $MYSQL9_OLD
	fi
	
	if [ $APAGENT9_OLD_INSTALLED -eq 1 ];then
		rpm -e $APAGENT9_OLD
	fi

	if [ $DRO9_OLD_INSTALLED -eq 1 ];then
		rpm -e $DRO9_OLD
	fi
	
	if [ $UAGENT9_OLD_INSTALLED -eq 1 ];then
		if [ $DEBIAN -eq 1 ]; then
			dpkg --purge uagent
			create_uagent_links
		else
			rpm -e $UAGENT9_OLD
			create_uagent_links
		fi
	fi

	if [ $ORA9_OLD_INSTALLED -eq 1 ];then
		rpm -e $ORA9_OLD
	fi

	if [ $NAS9_OLD_INSTALLED -eq 1 ];then
		rpm -e $NAS9_OLD
	fi

	if [ $AS9MGR_OLD_INSTALLED -eq 1 ];then
		NEW_BAB_HOME=$BAB_HOME
		BAB_HOME=$AS9_HOME
		export BAB_HOME

		NEW_LD_PATH=$LD_LIBRARY_PATH
		LD_LIBRARY_PATH=$AS9_LD_PATH
		export LD_LIBRARY_PATH
 
		NEW_PATH=$PATH
		PATH=$AS9_PATH
		export PATH

		rpm -e $AS9MGR_OLD

		BAB_HOME=$NEW_BAB_HOME
		export BAB_HOME

		LD_LIBRARY_PATH=$NEW_LD_PATH
		export LD_LIBRARY_PATH

		PATH=$NEW_PATH
		export PATH
	
	fi

	if [ $AS9SVR_OLD_INSTALLED -eq 1 ];then
		NEW_BAB_HOME=$BAB_HOME
		BAB_HOME=$AS9_HOME
		export BAB_HOME

		NEW_LD_PATH=$LD_LIBRARY_PATH
		LD_LIBRARY_PATH=$AS9_LD_PATH
		export LD_LIBRARY_PATH
 
		NEW_PATH=$PATH
		PATH=$AS9_PATH
		export PATH

		rpm -e $AS9SVR_OLD

		BAB_HOME=$NEW_BAB_HOME
		export BAB_HOME

		LD_LIBRARY_PATH=$NEW_LD_PATH
		export LD_LIBRARY_PATH

		PATH=$NEW_PATH
		export PATH
	
		create_lib_links
	fi		

	if [ $ASAGENT9_OLD_INSTALLED -eq 1 ];then
		if [ $DEBIAN -eq 1 ]; then
			dpkg --purge caagent
		else
			rpm -e $ASAGENT9_OLD
		fi
		create_caagent_links
		if [ -f /opt/CA/BABcmagt/agent.cfg.v9 ]; then
			TCP_PORT=`grep "TCP_PORT" /opt/CA/BABcmagt/agent.cfg.v9 | grep -v "6051"`
			if [ "$TCP_PORT" != "" ]; then
				sed -e "s%#TCP_PORT  6051%${TCP_PORT}%" /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.old
				cp /opt/CA/BABcmagt/agent.cfg.old /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
			fi
			UDP_PORT=`grep "UDP_PORT" /opt/CA/BABcmagt/agent.cfg.v9 | grep -v "6051"`
			if [ "$UDP_PORT" != "" ]; then
				sed -e "s%#UDP_PORT  6051%${UDP_PORT}%" /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.old
				cp /opt/CA/BABcmagt/agent.cfg.old /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
			fi
			ENABLE_FLAG_OLD=`grep "\[36\]" /opt/CA/BABcmagt/agent.cfg.v9`
			if [ "$ENABLE_FLAG_OLD" != "" ]; then
				sed -e s/"\[36\] DISABLED"/"${ENABLE_FLAG_OLD}"/ /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.old
				cp /opt/CA/BABcmagt/agent.cfg.old /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
			fi
		fi
	fi
}
#return 1:down
#return 0:running
bab_is_down () {

	CHD_LIST='caservd|cadiscov|cauthd|calogger|cadbd|camediad|caqd|cacommd'
	ps -el | $GREP $CHD_LIST | $GREP -v $GREP_S 1>/dev/null 2>&1
	if [ $? -ne 0 ] ;then
		return 1
	else
		return 0
	fi
}
set_bab_env()
{
	  ${ECHO} $LD_LIBRARY_PATH | $GREP "/opt/CA/SharedComponents/lib" >/dev/null 2>&1 
	  if [ $? -ne 0 ] 
	  then
	  	LD_LIBRARY_PATH="/opt/CA/SharedComponents/lib:$LD_LIBRARY_PATH"
	  fi
	  export LD_LIBRARY_PATH
if [ $EXEC_MODE -eq $SDO_MODE ]; then
	if [ $SERVER_NEED_UPGRADE -eq 1 ]; then
		BAB_HOME=${ARC_PREFIX:-/opt/CA}/BrightStorARCserve
	else
		BAB_HOME=${ARC_PREFIX:-/opt/CA}/ARCserve
	fi
	export BAB_HOME
fi
}
shutdown_caagent()
{

#  check if BrightStor Unix Client Agent is already started

#   ASD_COUNT=`caagent status 2>/dev/null | grep "running" | wc -l ` 
# cannot use grep running now, because it is localized.
   if [ -x /usr/bin/caagent ]
   then
                /usr/bin/caagent stop >/dev/null 2>&1
        ${ECHO} $UPG_CAAGENT_NOT_RUNNING
   fi
}
stop_all()
{

    if [ $AS9SVR_OLD_INSTALLED -ne 1 -a $SERVER_NEED_UPGRADE -ne 1 ]; then
    		if [ $ASAGENT9_OLD_INSTALLED -eq 1 -o $CAAGENT_NEED_UPGRADE -eq 1 ];then
    			shutdown_caagent
    		fi
    else
	    bab_is_down
	    if [ $? -eq 0 ] ;then
		
		${ECHO} 
		${ECHO} $UPG_STOP_SERVICE
		if [ $EXEC_MODE -eq $SLNT_MODE -o $EXEC_MODE -eq $SDO_MODE ]; then
			INSTALL_FLAG=1
		elif [ $EXEC_MODE -eq $REGR_MODE ]; then
			GET_INSTALL_FLAG2
		fi
		if [ $INSTALL_FLAG -eq 1 ];then
		
			set_bab_env
			
	    	  	if [ -x $BAB_HOME/sbin/cstop ] ;then
				
		  		$BAB_HOME/sbin/cstop 
		  		if [ $? -ne 0 ];then
		  			return 1 
		  		fi 
			fi 	      	  
	
	    	  	if [ -x $BAB_HOME/bin/stopgui ] ;then
				
		  		$BAB_HOME/bin/stopgui
		  		if [ $? -ne 0 ];then
		  			return 1 
		  		fi 	  		
			fi 
		 
	    	  	if [ -x $BAB_HOME/sbin/stopingres ] ;then
				
		  		$BAB_HOME/sbin/stopingres
		  		if [ $? -ne 0 ];then
		  			return 1 
		  		fi 	  		
			fi 

			shutdown_caagent		
		  	
		  	trytime=0
		  	endflag=0
		  	#try 30 times
		  	while [ $trytime -lt 30 -a $endflag -ne 1 ]
		  	do
		  		bab_is_down
		  		if [ $? -eq 1 ];then	  		
		  			endflag=1
		  		else
		  			trytime=$((trytime+1))
		  			sleep 5
		  		fi
		  	done
		  	return 0
		else
			return 0
		fi
	    fi
    fi
    return 0
}
check_encoding()
{
      OS=`uname -s`
      if [ "$OS" = "Linux" ]
      then
	KERNEL=`uname -r`
	ENC_FLAG="ISO8859"
	ENC_FLAG=`$NLS_UTILITY_FILE -e $KERNEL $NLSMAPFILE 2>/dev/null`
      fi
}

check_ARCserveIT()
{
if [ "$ARC_HOME" != "" ]; then
  if [ -r $ARC_HOME/data/RELVERSION ]; then
    TNG_VER=`cat $ARC_HOME/data/RELVERSION | grep "ARCserveIT" | grep "6.61" | grep -v grep`
    if [ "$TNG_VER" != "" ]; then
      echo
      echo "${INST_MSG_128}"
      echo "${INST_MSG_129}"
      echo "${INST_MSG_130}"
      echo
      exit 101
    fi
  fi
fi
}

Display_GUI_MSG()
{
if [ $AGENTS_DIR -ne 1 ]; then
  if [ $AS9SVR_SUCCEED_INSTALL -eq 1 ]; then
    if [ $SERVER_NEED_UPGRADE -eq 1 -o $AS9SVR_OLD_INSTALLED -eq 1 ]; then
      echo
      echo "${INST_MSG_131}"
      echo "${INST_MSG_132}"
    fi
  fi
fi
}
remove_old_pkg_sdo()
{
	if [ $MYSQL9_OLD_INSTALLED -eq 1 -a $MYSQLAGENT_SUCCEED_INSTALL -eq 1 ];then
		rpm -e --nodeps $MYSQL9_OLD
	fi
	
	if [ $APAGENT9_OLD_INSTALLED -eq 1 -a $APAGENT_SUCCEED_INSTALL -eq 1 ];then
		rpm -e --nodeps $APAGENT9_OLD
	fi

	if [ $UAGENT9_OLD_INSTALLED -eq 1 -a $UAGENT_SUCCEED_INSTALL -eq 1 ];then
		if [ $DEBIAN -eq 1 ]; then
			dpkg --purge uagent
			create_uagent_links
		else
			rpm -e --nodeps $UAGENT9_OLD
			create_uagent_links
			if [ -f /opt/CA/BABcmagt/agent.cfg.v9 ]; then
				TCP_PORT=`grep "TCP_PORT" /opt/CA/BABcmagt/agent.cfg.v9 | grep -v "6051"`
				if [ "$TCP_PORT" != "" ]; then
					sed -e "s%#TCP_PORT  6051%${TCP_PORT}%" /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.old
					cp /opt/CA/BABcmagt/agent.cfg.old /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
				fi
				UDP_PORT=`grep "UDP_PORT" /opt/CA/BABcmagt/agent.cfg.v9 | grep -v "6051"`
				if [ "$UDP_PORT" != "" ]; then
					sed -e "s%#UDP_PORT  6051%${UDP_PORT}%" /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.old
					cp /opt/CA/BABcmagt/agent.cfg.old /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
				fi
				ENABLE_FLAG_OLD=`grep "\[36\]" /opt/CA/BABcmagt/agent.cfg.v9`
				if [ "$ENABLE_FLAG_OLD" != "" ]; then
					sed -e s/"\[36\] DISABLED"/"${ENABLE_FLAG_OLD}"/ /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.old
					cp /opt/CA/BABcmagt/agent.cfg.old /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
				fi
			fi
		fi
	fi

	if [ $ORA9_OLD_INSTALLED -eq 1 -a $ORAAGENT_SUCCEED_INSTALL -eq 1 ];then
		rpm -e --nodeps $ORA9_OLD
	fi

	if [ $SERVER_NEED_UPGRADE -eq 1 -a $AS9SVR_SUCCEED_INSTALL -eq 1 ];then
		rpm -e BABdr >/dev/null 2>&1
		rpm -e BABnas >/dev/null 2>&1
		rpm -e BABsan >/dev/null 2>&1
	fi
	if [ $AS9SVR_OLD_INSTALLED -eq 1 -a $AS9SVR_SUCCEED_INSTALL -eq 1 ];then
		rpm -e $DRO9_OLD >/dev/null 2>&1
		rpm -e $NAS9_OLD >/dev/null 2>&1

		NEW_BAB_HOME=$BAB_HOME
		BAB_HOME=$AS9_HOME
		export BAB_HOME
	
		NEW_LD_PATH=$LD_LIBRARY_PATH
		LD_LIBRARY_PATH=$AS9_LD_PATH
		export LD_LIBRARY_PATH

		NEW_PATH=$PATH
		PATH=$AS9_PATH
		export PATH

		rpm -e --nodeps $AS9MGR_OLD
		rpm -e --nodeps $AS9SVR_OLD
		
		BAB_HOME=$NEW_BAB_HOME
		export BAB_HOME

		LD_LIBRARY_PATH=$NEW_LD_PATH
		export LD_LIBRARY_PATH

		PATH=$NEW_PATH
		export PATH

		create_lib_links
	fi		

	if [ $ASAGENT9_OLD_INSTALLED -eq 1 -a $CAAGENT_SUCCEED_INSTALL -eq 1 ];then
		if [ $DEBIAN -eq 1 ]; then
			dpkg --purge caagent
		else
			rpm -e --nodeps $ASAGENT9_OLD
		fi
		create_caagent_links
		if [ -f /opt/CA/BABcmagt/agent.cfg.v9 ]; then
			TCP_PORT=`grep "TCP_PORT" /opt/CA/BABcmagt/agent.cfg.v9 | grep -v "6051"`
			if [ "$TCP_PORT" != "" ]; then
				sed -e "s%#TCP_PORT  6051%${TCP_PORT}%" /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.old
				cp /opt/CA/BABcmagt/agent.cfg.old /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
			fi
			UDP_PORT=`grep "UDP_PORT" /opt/CA/BABcmagt/agent.cfg.v9 | grep -v "6051"`
			if [ "$UDP_PORT" != "" ]; then
				sed -e "s%#UDP_PORT  6051%${UDP_PORT}%" /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.old
				cp /opt/CA/BABcmagt/agent.cfg.old /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
			fi
			ENABLE_FLAG_OLD=`grep "\[36\]" /opt/CA/BABcmagt/agent.cfg.v9`
			if [ "$ENABLE_FLAG_OLD" != "" ]; then
				sed -e s/"\[36\] DISABLED"/"${ENABLE_FLAG_OLD}"/ /opt/CA/BABcmagt/agent.cfg > /opt/CA/BABcmagt/agent.cfg.old
				cp /opt/CA/BABcmagt/agent.cfg.old /opt/CA/BABcmagt/agent.cfg >/dev/null 2>&1
			fi
		fi
	fi
}

install_product_sdo()
{
	echo $INST_PROD_NUMBER_SDO $SDO_PACKAGE_NUM 

	get_config
	stop_all
    	if [ $? -ne 0 ]; then
	    	echo "$INST_MSG_111"
	    	exit $?
	fi

        echo
        touch ${INSTALL_LOG} >/dev/null 2>&1
        echo "${INST_MSG_28}                           ==> [ ${SDO_INSTALL_LOGFILE} ]"
        echo
	if [ $SDO_PACKAGE_NUM -eq 1 ]; then
		install_base_product_sdo 
	fi	
	if [ $SDO_PACKAGE_NUM -eq 2 ]; then
		if [ $DEBIAN -ne 1 ]; then
			install_uagent_product_sdo 
		else
			debian_install_uagent_sdo 
		fi
	fi	
	if [ $SDO_PACKAGE_NUM -eq 3 ]; then
		install_sanoption_product_sdo 
	fi
	if [ $SDO_PACKAGE_NUM -eq 4 ]; then
		install_drooption_product_sdo 
	fi
	if [ $SDO_PACKAGE_NUM -eq 5 ]; then
		install_nasagent_product_sdo 
	fi	
	if [ $SDO_PACKAGE_NUM -eq 6 ]; then
		install_oraagent_product_sdo 
	fi	
	if [ $SDO_PACKAGE_NUM -eq 7 ]; then
		install_apagent_product_sdo 
	fi
	if [ $SDO_PACKAGE_NUM -eq 8 ]; then
		install_mysqlagent_product_sdo 
	fi
	if [ $SDO_PACKAGE_NUM -eq 9 ]; then
		install_ingagent_product_sdo 
	fi	
#	FIXME:: OES agent has no Product number now.
#		Do we support SDO installation for OES agent?	
#	if [ $SDO_PACKAGE_NUM -eq 10 ]; then
#		install_oesagent_product_sdo 
#	fi
	if [ $SDO_PACKAGE_NUM -eq 10 ]; then
		install_avengine_product_sdo 
	fi	
	if [ $SDO_PACKAGE_NUM -eq 11 ]; then
		install_calicense_product 
		if [ $DEBIAN -ne 1 ]; then
			install_caagent_product_sdo 
		else
			debian_install_caagent_sdo 
		fi
		if [ $DEBIAN -ne 1 ]; then
			install_uagent_product_sdo 
		else
			debian_install_uagent_sdo 
		fi
	fi
	if [ $SDO_PACKAGE_NUM -eq 12 ]; then
		install_calicense_product 
	fi	
	if [ $SDO_PACKAGE_NUM -eq 13 ]; then
		if [ $DEBIAN -ne 1 ]; then
			install_caagent_product_sdo 
		else
			debian_install_caagent_sdo 
		fi
	fi	
	if [ $SDO_PACKAGE_NUM -eq 66 ]; then
		install_notesagent_product_sdo >>$SDO_INSTALL_LOGFILE 2>&1
	fi	
	if [ $SDO_PACKAGE_NUM -eq 67 ]; then
		install_sapagent_product_sdo >>$SDO_INSTALL_LOGFILE 2>&1
	fi
#	if [ $SDO_PACKAGE_NUM -eq 66 ]; then
#		install_haragent_product_sdo >>$SDO_INSTALL_LOGFILE 2>&1
#	fi
	if [ $SERVER_NEED_UPGRADE -eq 1 -o $AS9SVR_OLD_INSTALLED -eq 1 -o $AS9MGR_OLD_INSTALLED -eq 1 -o $ASAGENT9_OLD_INSTALLED -eq 1 -o $UAGENT9_OLD_INSTALLED -eq 1 -o $ORA9_OLD_INSTALLED -eq 1 -o $MYSQL9_OLD_INSTALLED -eq 1 -o $APAGENT9_OLD_INSTALLED -eq 1 -o $DRO9_OLD_INSTALLED -eq 1 -o $NAS9_OLD_INSTALLED -eq 1 ]; then
		echo
		echo "$INST_MSG_20"
		echo
		echo
#                echo -e "$INST_MSG_21"
		remove_old_pkg_sdo 
		echo
	fi
	if [ -x $DEPOT/sp2/install_sdo ]; then
		echo -e "    Service Pack 2                                            ==> [ ${INST_MSG_96} ]"
		$DEPOT/sp2/install_sdo
		sp_inst_result=$?
		if [ $sp_inst_result -eq 0 ]; then
 		 echo -e "    Service Pack 2                                            ==> [ ${INST_MSG_97} ]"
 		else
 		 echo -e "    Service Pack 2                                            ==> [ ${INST_MSG_98} ]"
 		fi
 
	fi
	if [ -x /usr/bin/caagent ]; then
		/usr/bin/caagent stop  >/dev/null 2>&1
		/usr/bin/caagent start >/dev/null 2>&1
	fi
	if [ -x /usr/bin/uagent ]; then
		/usr/bin/uagent start >/dev/null 2>&1
	fi		
}
init_prefixroot()
{
	UAG_PREFIX=$PREFIX_ROOT
	ORA_PREFIX=$PREFIX_ROOT
	APA_PREFIX=$PREFIX_ROOT
	MYQ_PREFIX=$PREFIX_ROOT
	ING_PREFIX=$PREFIX_ROOT
	INO_PREFIX=$PREFIX_ROOT
}
update_dspkg_lst()
{
	checked_pkg_name=$1
	checked_pkg_build=$CURRENT_BUILD
	if [ "$checked_pkg_name" = "" ]
	then
	        return
	fi
	if [ ! -r ${DSPKG_LST} ]; then
		return
	fi
	grep ${checked_pkg_name} ${DSPKG_LST} >/dev/null 2>&1
	if [ $? -ne 0 ]; then
		printf "%-20s%-10s\n" ${checked_pkg_name} ${checked_pkg_build} >> ${DSPKG_LST}
	else
		NEW_PKG_ITEM=`printf "%-20s%-10s\n" ${checked_pkg_name} ${checked_pkg_build} 2>/dev/null`
		OLD_PKG_ITEM=`grep ${checked_pkg_name} ${DSPKG_LST} 2>/dev/null `
		sed -e "s%${OLD_PKG_ITEM}%${NEW_PKG_ITEM}%" ${DSPKG_LST} > ${DSPKG_LST}.tmp
		cp ${DSPKG_LST}.tmp ${DSPKG_LST} >/dev/null 2>&1
		rm ${DSPKG_LST}.tmp >/dev/null 2>&1
	fi
}

check_for_sp()
{
    local build
    local home
    local sig
    local i

    [ -d "$DEPOT/sp2/updates" ] || return 1
    build="$(< ${DEPOT}/sp2/.RELVERSION)"
    build=${build%)}; build=${build##* }
    for i in "$DEPOT/sp2/updates/"*; do
        i=${i##*/}
        rpm -q $i > /dev/null 2>&1 || continue
        home=`rpm -q --queryformat '%{installprefix}' $i`
        case $i in
            BABsvr|BABmgr)
                sig="$(< $home/BrightStorARCserve/data/RELVERSION)";;
            BABcmagt)
                sig="$(< $home/BABcmagt/RELVERSION)";;
            BABagntux)
                sig="$(< $home/BABuagent/RELVERSION)";;
            BABmysql)
                sig="$(< $home/BABmysql/data/RELVERSION)";;
            BABora)
                sig="$(< $home/BABoraagt/data/RELVERSION)";;
            BABing)
                sig="$(< $home/BABingagt/data/RELVERSION)";;
            BABlotus)
                sig="$(< $home/BABlotusagt/data/RELVERSION)";;
        esac
        sig=${sig%)}; sig=${sig##* }
        [ $sig -gt $build ] || continue
        if [ $EXEC_MODE -eq $SDO_MODE ]; then
            [ -x $DEPOT/sp2/install_sdo ] && exec $DEPOT/sp2/install_sdo
        elif [ $EXEC_MODE -eq $SLNT_MODE ]; then
            [ -x $DEPOT/sp2/install_silent ] && exec $DEPOT/sp2/install_silent
        else
            [ -x $DEPOT/sp2/install ] && exec $DEPOT/sp2/install
        fi
        break
    done
}

##########################################################################
#
#-  Main section
#
SAVEMASK=`umask`
umask 022
TMP_NLSFILE=/tmp/nls.cfg
NLS_LANG=C
NLS_INITIAL_LANG=""
INSTALL_DOC=""
SETUP_PROFILE_MANDRAKE=""
DialFile="/tmp/.BrightstorDialFile"
RESPONSE_FILE_CRE=/tmp/install_bab.rsp
REGR_MODE=0
RESP_MODE=1
SLNT_MODE=2
SDO_MODE=3
EXEC_MODE=0
HEADERFLAG=0
echo $* |grep "\-\-force" >/dev/null 2>&1
if [ $? -eq 0 ]; then
	INSTALL_FORCE_FLAG=1
else
	INSTALL_FORCE_FLAG=0
fi
CFGAGTAUTOSTRTSTOP=0
THIS_SCRIPT=`basename $0`
if [ "$THIS_SCRIPT" = "install_response" ]
then
    EXEC_MODE=$RESP_MODE
elif [ "$THIS_SCRIPT" = "install_silent" ]
then
    EXEC_MODE=$SLNT_MODE
elif [ "$THIS_SCRIPT" = "install_sdo" ]
then
    EXEC_MODE=$SDO_MODE
fi

ECHO=" echo  -e "
GREP=egrep
GREP_S=grep
RPM_FORCE_FLAG="--nodeps --force -U"
if [ $EXEC_MODE -eq $REGR_MODE ]; then
	BK_LINE_FLAG="\r"
else
	BK_LINE_FLAG="\n"
fi

BOLD=`tput bold 2>/dev/null`
NORM=`tput rmso 2>/dev/null`
[ "$NORM" = "" ] && unset BOLD

Migration_ARC_Init
TMPFILENAME="/tmp/babsilentinstall.$$.log"
trap '' 2 3
THISDIR=`dirname $0`
HOMEDIR=`pwd`
ROOT_PATH=`echo $THISDIR | grep '^/'`
if [ "$ROOT_PATH" = "" ]; then
  THISDIR=$HOMEDIR/$THISDIR
fi
AWK="awk"

DEPOT=$THISDIR
cd $DEPOT
TEMP1=`dirname $DEPOT`
TEMP2=`dirname $TEMP1`
TEMP1=`basename $TEMP2`
#TEMP2=$TEMP1
#TEMP1=`basename $TEMP2`
if [ "X$TEMP1" = "Xagents" -o -f $DEPOT/.BrightStorARCserveAgtLinuxs390 -o -f $DEPOT/.BrightStorARCserveAgtLinux ]; then
	AGENTS_DIR=1
else
	AGENTS_DIR=0
fi
check_for_sp
check_uppercase

read_nls
check_encoding
set_msgpath
get_config
modify_rpm_config
PATH=/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin/:$PATH
if [ "$OS" != "Linux" ] ; then
	echo
	echo $INST_ONLYFOR_LINUX
	echo
	exit 1
fi

DSPKG_LST="/opt/CA/BABcmagt/dsCheckPkgs.lst"

typeset -i DEBIAN

VERSION=$(uname -r)
export VERSION

if [ $EXEC_MODE -eq $SDO_MODE ]; then
	if [ $# -ge 1 -a "X$1" = "X-f" ] ; then
		if [ "$2" = "" ]; then
			RESPONSE_FILE=sdo.rsp
		else
			RESPONSE_FILE=$2
		fi
		if [ -f $RESPONSE_FILE ]; then
		  PRODUCT_NUMBER=`cat $RESPONSE_FILE | grep "PRODUCT_NUMBER" | grep -v "^#" | cut -d= -f2`
		  PREFIX_ROOT=`cat $RESPONSE_FILE | grep "PREFIX_ROOT" | grep -v "^#" | cut -d= -f2`
		  SDO_INSTALL_LOGFILE=`cat $RESPONSE_FILE | grep "BAB_INSTALL_LOGFILE" | grep -v "^#" | cut -d= -f2`
		  AGENTS_AUTO_START=`cat $RESPONSE_FILE | grep "AGENTS_AUTO_START" | grep -v "^#" | cut -d= -f2`
		  NLS_LANG=`cat $RESPONSE_FILE | grep "NLS_LANG" | grep -v "^#" | cut -d= -f2`
		  NLS_LOCALE=`cat $RESPONSE_FILE | grep "NLS_LOCALE" | grep -v "^#" | cut -d= -f2`
		  if [ "X${NLS_LANG}" = "X" ]; then
		  	NLS_LANG="C"
		  fi
		  if [ "X${NLS_LOCALE}" = "X" ]; then
		  	NLS_LOCALE="C"
		  fi
		else
			echo $INST_RESPONSE_NOT_FOUND
			exit 7
		fi
		set_msgpath >>$SDO_INSTALL_LOGFILE 2>&1
		get_config  >>$SDO_INSTALL_LOGFILE 2>&1
		check_ARCserveIT >>$SDO_INSTALL_LOGFILE 2>&1
		if [ "$PREFIX_ROOT" = "" ]; then
		  PREFIX_ROOT=/opt/CA
		fi
		init_prefixroot
	
		touch $SDO_INSTALL_LOGFILE >/dev/null 2>&1
		if [ $? -ne 0 ]; then
#			if [ "$CA_SD_BASEDIR" = "" ]; then
			  SDO_INSTALL_LOGFILE=/tmp/BAB_SILENT_INSTALL.LOG
#			else
#			  SDO_INSTALL_LOGFILE=$CA_SD_BASEDIR/log/BAB_SILENT_INSTALL.LOG
#			fi
		fi
		echo "***********************************************************************" >>$SDO_INSTALL_LOGFILE 2>&1
		date >>$SDO_INSTALL_LOGFILE 2>&1
		echo "***********************************************************************" >>$SDO_INSTALL_LOGFILE 2>&1
		Verify_Tmp_Space >>$SDO_INSTALL_LOGFILE 2>&1
		rtn=$(version_compare $VERSION "2.2.17" )
		if [ $rtn -ne 2 -a -d /var/lib/dpkg -a -f /etc/debian_version ]  ## room for improvement
		then
			DEBIAN=1
		else
			DEBIAN=0
			echo $INST_KERNEL_SHOW >>$SDO_INSTALL_LOGFILE 2>&1
			echo >>$SDO_INSTALL_LOGFILE 2>&1
		fi
	
		detect_old_pkg >>$SDO_INSTALL_LOGFILE 2>&1
		prepare_for_install_sdo >>$SDO_INSTALL_LOGFILE 2>&1
#		get_config >>$SDO_INSTALL_LOGFILE 2>&1
		
		typeset -i SDO_PACKAGE_NUM
		typeset -i PRODUCT_NUMBER
		SDO_PACKAGE_NUM=${PRODUCT_NUMBER}
		if [ $SDO_PACKAGE_NUM -ge 1 -a $SDO_PACKAGE_NUM -le 13 -o $SDO_PACKAGE_NUM -eq 66 -o $SDO_PACKAGE_NUM -eq 67 ]; then
			check_apache_version
			install_product_sdo >>$SDO_INSTALL_LOGFILE 2>&1	
		else
			echo >>$SDO_INSTALL_LOGFILE 2>&1
			echo $INST_INVALID_PROD_NUM $SDO_PACKAGE_NUM >>$SDO_INSTALL_LOGFILE 2>&1
			echo >>$SDO_INSTALL_LOGFILE 2>&1
			exit 5
		fi
		Display_GUI_MSG >>$SDO_INSTALL_LOGFILE 2>&1
		echo >>$SDO_INSTALL_LOGFILE 2>&1
		echo -e "###########################################################################" >>$SDO_INSTALL_LOGFILE 2>&1
		echo >>$SDO_INSTALL_LOGFILE 2>&1
	if [ $AGENTS_DIR -ne 1 ]; then
		Print_Cfg_Task >>$SDO_INSTALL_LOGFILE 2>&1
	fi
		    if [ -s ${SDO_INSTALL_LOGFILE} ]; then
		      echo "    ${INST_MSG_28}                      ==> [ ${SDO_INSTALL_LOGFILE} ]" >>$SDO_INSTALL_LOGFILE 2>&1
		    fi
		echo -e "###########################################################################" >>$SDO_INSTALL_LOGFILE 2>&1
		echo >>$SDO_INSTALL_LOGFILE 2>&1
		exit 0
	elif [ $# -ge 1 -a "X$1" != "X-f" ] ; then
		SDO_INSTALL_LOGFILE=/tmp/BAB_SILENT_INSTALL.LOG
	    	echo >>$SDO_INSTALL_LOGFILE 2>&1
	    	echo $INST_INVALID_PARA >>$SDO_INSTALL_LOGFILE 2>&1
	    	echo >>$SDO_INSTALL_LOGFILE 2>&1
	    	exit 6		
	else
	    	echo
	    	printf "$INST_USAGE_DISP" "$THIS_SCRIPT"
	    	echo
	    	exit 9
	fi
elif [ $EXEC_MODE -eq $SLNT_MODE ]; then
		if [ $# -ge 1 -a "X$1" = "X-f" ]; then
			if [ "$2" = "" ]; then
			    	echo
			    	printf "$INST_USAGE_DISP" "$THIS_SCRIPT"
			    	echo
		               	exit 9
			else
				SLT_RESPONSE_FILE=$2
			fi
			if [ ! -r $SLT_RESPONSE_FILE ]
			then
				echo
				echo $INST_RESPONSE_NOT_FOUND
				exit 7
			else
				PATH=`pwd`:$PATH; export PATH
				. ${SLT_RESPONSE_FILE} >/dev/null 2>&1
				if [ $? -ne 0 ];then
					echo
					printf "${INST_MSG_109}" "${SLT_RESPONSE_FILE}"
					echo 
					exit 7 
				fi
			fi
		elif [ $# -ge 1 -a "X$1" = "X--upgrade" ]; then
			OLD_NLS_LANG=$NLS_LANG
			if [ "$LANG" = "" ] 
			then
				LANG=C
			fi
			
			NLS_LOCALE=$LANG
		        NLS_LANG=`$NLS_UTILITY_FILE -c $LANG  $NLSMAPFILE 2>/dev/null`
		        LC_CTYPE=`locale 2>/dev/null | grep LC_CTYPE | grep -v grep | cut -d"=" -f2| cut -d"\"" -f2`
			if [  "$NLS_LANG" = "C" -a "$LC_CTYPE" != "" ]
			then
			        LC_CTYPE_TYPE=`$NLS_UTILITY_FILE -c $LC_CTYPE  $NLSMAPFILE 2>/dev/null`
			        if [ "$LC_CTYPE_TYPE" != "$NLS_LANG" ]
			        then
			                NLS_LANG=$LC_CTYPE_TYPE
			                NLS_LOCALE=$LC_CTYPE
			        fi
			fi
			
			echo > /dev/null
		else
		    	echo
		    	printf "$INST_USAGE_DISP" "$THIS_SCRIPT"
		    	echo
	               	exit 9
		fi

	if [ $AGENTS_DIR -ne 1 ]; then
		FILESYS_COUNT=1
		set -a FILESYS_GROUP
		set -a SPACE_GROUP
		set -a CHOICE_ARR
	fi
		if [ "$PREFIX_ROOT" = "" ]; then
		  PREFIX_ROOT=/opt/CA
		fi
	
		INSTALL_LOG="/tmp/BAB_SILENT_INSTALL.LOG"

		touch $INSTALL_LOG >/dev/null 2>&1
		
		set_msgpath >>$INSTALL_LOG 2>&1
		get_config  >>$INSTALL_LOG 2>&1
		check_ARCserveIT >>$INSTALL_LOG 2>&1

		echo "***********************************************************************" >>$INSTALL_LOG 2>&1
		date >>$INSTALL_LOG 2>&1
		echo "***********************************************************************" >>$INSTALL_LOG 2>&1
	
		rtn=$(version_compare $VERSION "2.2.17" )
		if [ $rtn -ne 2 -a -d /var/lib/dpkg -a -f /etc/debian_version ]  ## room for improvement
		then
			DEBIAN=1
		else
			DEBIAN=0
			echo $INST_KERNEL_SHOW >>$INSTALL_LOG 2>&1
			echo >>$INSTALL_LOG 2>&1
		fi
		prepare_for_install >>$INSTALL_LOG 2>&1
#		get_config >>$INSTALL_LOG 2>&1
		Verify_Tmp_Space >>$INSTALL_LOG 2>&1
		if [ $DEBIAN -ne 1 ]
		then
			not_debian_install_package >>$INSTALL_LOG 2>&1
		else 
			debian_install_package >>$INSTALL_LOG 2>&1
		fi
		
		Display_GUI_MSG >>$INSTALL_LOG 2>&1
		echo >>$INSTALL_LOG 2>&1
		echo -e "###########################################################################" >>$INSTALL_LOG 2>&1
		echo >>$INSTALL_LOG 2>&1
	if [ $AGENTS_DIR -ne 1 ]; then
		Print_Cfg_Task >>$INSTALL_LOG 2>&1
	fi
		    if [ -s ${INSTALL_LOG} ]; then
		      echo "    ${INST_MSG_28}                      ==> [ ${INSTALL_LOG} ]" >>$INSTALL_LOG 2>&1
		    fi
		echo -e "###########################################################################" >>$INSTALL_LOG 2>&1
		echo >>$INSTALL_LOG 2>&1
elif [ $EXEC_MODE -eq $RESP_MODE ]; then
		
		lang_menu
		set_msgpath
		get_config
		
		rtn=$(version_compare $VERSION "2.2.17" )
		if [ $rtn -ne 2 -a -d /var/lib/dpkg -a -f /etc/debian_version ]  ## room for improvement
		then
			DEBIAN=1
		else
			DEBIAN=0
			echo $INST_KERNEL_SHOW
			echo
		fi
	if [ $AGENTS_DIR -ne 1 ]; then
		FILESYS_COUNT=1
		set -a FILESYS_GROUP
		set -a SPACE_GROUP
		set -a CHOICE_ARR
	fi
		prepare_for_install
		get_config
		if [ $DEBIAN -ne 1 ]
		then
			not_debian_install_package
		else 
			if [ -f $RESPONSE_FILE ] ; then
				rm -fr $RESPONSE_FILE
			fi
	                cfgAgtStrtStop
			touch $RESPONSE_FILE
			if [ $? -ne 0 ] ; then
				printf "$INST_MSG_26" "$RESPONSE_FILE"
				exit 1
			else
				if [ "${AGENTS_AUTO_START}" = "YES" ] ; then
					echo "AGENTS_AUTO_START=YES" >> $RESPONSE_FILE
				fi
				printf "$INST_MSG_22" "$RESPONSE_FILE"
				exit 0
			fi
		fi
else
		INSTALL_LOG=${TMPDIR:-/tmp}/BrightStorInstall`date '+%m%d%y-%H%M'.log`
		lang_menu
		set_msgpath
		get_config
		check_ARCserveIT
		#Check_Novell_SMS
		
		Verify_Tmp_Space 
		rtn=$(version_compare $VERSION "2.2.17" )
		if [ $rtn -ne 2 -a -d /var/lib/dpkg -a -f /etc/debian_version ]  ## room for improvement
		then
			DEBIAN=1
		else
			DEBIAN=0
			echo $INST_KERNEL_SHOW
			echo
		fi
	if [ $AGENTS_DIR -ne 1 ]; then
		FILESYS_COUNT=1
		set -a FILESYS_GROUP
		set -a SPACE_GROUP
		set -a CHOICE_ARR
	fi

		prepare_for_install
		get_config

		if [ $DEBIAN -ne 1 ]
		then
			not_debian_install_package
		else 
	                cfgAgtStrtStop
			debian_install_package
		fi
		
		Display_GUI_MSG
		echo
		echo -e "###########################################################################"
		echo
	if [ $AGENTS_DIR -ne 1 ]; then
		Print_Cfg_Task
	fi
		    if [ -s ${INSTALL_LOG} ]; then
		      echo "    ${INST_MSG_28}                      ==> [ ${INSTALL_LOG} ]"
		    fi
		echo -e "###########################################################################"
		echo
	        #if [ ${HEADERFLAG} -eq 1 ]; then
                  getyn "${INST_MSG_29}" 1
                  if [ $? -eq 1 ]
                  then
			view_readme
                  fi
		#fi
		echo
	if [ $AGENTS_DIR -ne 1 ]; then
		if [ $AS9SVR_SUCCEED_INSTALL -eq 1 ]; then
		  if [ $AS9SVR_OLD_INSTALLED -eq 1 -o $SERVER_NEED_UPGRADE -eq 1 ]; then
			if [ -x $BAB_HOME/sbin/checkqueuejobs ]; then
				if [ -d /etc/profile.d ]; then
					. /etc/profile.d/bab.sh >/dev/null 2>&1
				else
					. /etc/profile >/dev/null 2>&1
				fi
				$BAB_HOME/sbin/checkqueuejobs
			fi
		  fi

		if [ $SERVER_NEED_UPGRADE -eq 1 -a $R115_RC2GM_UPGRADE -eq 1 ]; then
		  IS390=`uname -m|grep s390`
		  if [ "$OS" = "Linux" -a  -z "$IS390" ]; then
				INGRESEIRPM=`rpm -qa | grep ca-ingres | grep EI`
				if [ "$INGRESEIRPM" != "" ]; then                         
					OPTION_CHECK=`grep "^INGRES_HOME_PATH" $BAB_HOME/config/cadbd.cfg | awk -F"=" '{print $2}'`
					if [ "$OPTION_CHECK" != "" ]; then
					  ING_HOME_PATH=`dirname $OPTION_CHECK`
					fi
					II_SYSTEM=$ING_HOME_PATH
					export II_SYSTEM
					INGRESINSTALLATINID=`su ingres -c $II_SYSTEM/ingres/bin/ingprenv 2>/dev/null | grep II_INSTALLATION |  cut -f2 -d '='`
					if [ "$INGRESINSTALLATINID" = "WV" ]; then
						${ECHO} 
						MSGRCBUILD="A prior installation of BrightStor ARCserve Backup r11.5 Beta/RC build has been detected. Please contact customer support at http://supportconnect.ca.com  for proper procedures to upgrade the database to full product."
						${ECHO} "${BOLD}    ${MSGRCBUILD}${NORM}"
						${ECHO} 
						R115_RC2GM_MSG=1
					fi
				fi
		  fi
		fi

		  if [ $SERVER_NEED_UPGRADE -eq 1 -a $R11_UPGRADE -eq 0 -a $R115_RC2GM_MSG -eq 0 ]; then
			getyn "${INST_MSG_41}" 1
	                if [ $? -eq 1 ]; then
				if [ -x $BAB_HOME/sbin/cstart ]; then
					$BAB_HOME/sbin/cstart
				else
					echo "${INST_MSG_42}"
				fi
	                fi
	           fi
		fi
	fi
		echo -e "$INST_DONE_THANKS"

fi
umask $SAVEMASK

