#!/bin/sh
# Copyright (C) 2002, 2007, Hitachi, Ltd.
# after installation script
# Agent for Solaris

PPNO_KIND=2
if [ $PPNO_KIND -eq 1 ] ; then
	LST_HTMCOMM_MSG=">     cpio: HTM-CommonFiles Completed."
elif [ $PPNO_KIND -eq 2 ] ; then
	LST_HTMCOMM_MSG=">     cpio: HTM-CommonFiles Completed."
elif [ $PPNO_KIND -eq 3 ] ; then
	LST_HTMCOMM_MSG=">     cpio: Specific Files Completed."
fi

# Set environment: Variables
THIS_PP="Agent for Solaris"
THIS_SH="after installation script"
JP1PC_HOME=/opt/jp1pc
PPDL_DIR=/opt/jp1pc/jp1pc_AGTETMP
AGTU_DIR=/opt/jp1pc/jp1pc_AGTUTMP
V6_DIR=/opt/jp1pc_V6
V7_DIR=/opt/jp1pc_V7
AGTU_TAR=HTMAGT4P.tar
AGTE_TAR=HTMAGT4E.tar
PPINST_DIR=/
MDLCVT_BKUP=$JP1PC_HOME/bin/mdlcvt_bkup
MDLCVT_EXEC=$JP1PC_HOME/bin/mdlcvt_exec
GETPINFCMD=$JP1PC_HOME/bin/getpinfo


JPCDBCTRL=$JP1PC_HOME/tools/jpcdbctrl
SERVICEKEY="agte"

DELETECMD="rm -r"
CHMODCMD="/usr/bin/chmod"
COPYCMD="cp -p"
MOVECMD=mv
LST_INDIV=./lst_inst_$SERVICEKEY.lst
LST_HTMCOMM=./lst_inst_htmcomm.lst

# Sub routine: print_log()
print_log()
{
        if [ $? -eq 0 ]
        then
                echo "$1"
        else
                echo "$2"
		exit 1
        fi
}

# delete tempolary and exit script
exit_function(){
        if [ $? -eq 0 ]
        then
                echo "$1"
        else
                echo "$2"
                cd /
                if [ -d $PPDL_DIR ] ; then
                        echo ">         /bin/rm -rf $PPDL_DIR"
                        /bin/rm -rf $PPDL_DIR
                fi
                if [ -f $JP1PC_HOME/$AGTU_TAR ] ; then
                        echo ">         /bin/rm -f $JP1PC_HOME/$AGTU_TAR"
                        /bin/rm -f $JP1PC_HOME/$AGTU_TAR
                fi
                echo "> Script failed(exit 1): $THIS_SH"
		exit 1
        fi
}

exit_function2()
{
	cd /
	if [ -d $PPDL_DIR ] ; then
		echo ">         /bin/rm -rf $PPDL_DIR"
		/bin/rm -rf $PPDL_DIR
	fi
	if [ -d $AGTU_DIR ] ; then
		echo ">         /bin/rm -rf $AGTU_DIR"
		/bin/rm -rf $AGTU_DIR
	fi
	if [ -f $JP1PC_HOME/$AGTE_TAR ] ; then
		echo ">         /bin/rm -f $JP1PC_HOME/$AGTE_TAR"
		/bin/rm -f $JP1PC_HOME/$AGTE_TAR
	fi
	if [ -f $JP1PC_HOME/$AGTU_TAR ] ; then
		echo ">         /bin/rm -f $JP1PC_HOME/$AGTU_TAR"
		/bin/rm -f $JP1PC_HOME/$AGTU_TAR
	fi
	echo "> Script failed(exit 1): $THIS_SH"
	exit 1
}

# Sub routine: File_Copy() ###########################################################
File_Copy() {
#
#  File_Copy arg1 arg2
#     arg1:Base path
#     arg2:Dist path
#  return 0 :copy success
#  return 1 :arg1 file no exist
#  return 2 :copy faild
#

	if [ -f $2 ] ; then
		echo ">     file update [ $1 -> $2 ]"
	else
		echo ">     file copy [ $1 -> $2 ]"
	fi

	if [ -f $1 ] ; then
		cp -p $1 $2
		if [ $? -ne 0 ] ; then
			echo ">     file copy failed"
			return 2
		fi
	else
		echo ">     file no exist $1"
		return 1
	fi
	return 0

}

# Sub routine: FileVersion_Check() #######################################################
FileVersion_Check() {
#
#  Version_Check arg1 arg2
#     arg1:This PP VV,RR,XX,YY
#     arg2:Installed PP VV,RR,XX,YY
#  return 0 :new or equal Version
#  return 1 :old Version
#  return 2 :Parameter Error
#

	if [ $# -ne 2 ]; then
		return 2
	fi

	#period=`echo "$2" | grep '\,'`
	comma=`echo "$2" | grep '\.'`
	if [ -n "$comma" ]; then
		SEP="."
	else
		SEP=","
	fi

	WORKAREA1=`echo "$1" | awk -F$SEP '{ print $1 }'`
	WORKAREA2=`echo "$2" | awk -F$SEP '{ print $1 }'`
	if [ "$WORKAREA1" -lt "$WORKAREA2" ] ; then

		return 1

	elif [ "$WORKAREA1" -gt "$WORKAREA2" ] ; then

		return 0
	fi

	WORKAREA1=`echo "$1" | awk -F$SEP '{ print $2 }'`
	WORKAREA2=`echo "$2" | awk -F$SEP '{ print $2 }'`
	if [ "$WORKAREA1" -lt "$WORKAREA2" ] ; then

		return 1

	elif [ "$WORKAREA1" -gt "$WORKAREA2" ] ; then

		return 0
	fi

	WORKAREA1=`echo "$1" | awk -F$SEP '{ print $3 }'`
	WORKAREA2=`echo "$2" | awk -F$SEP '{ print $3 }'`
	if [ "$WORKAREA1" -lt "$WORKAREA2" ] ; then

		return 1

	elif [ "$WORKAREA1" -gt "$WORKAREA2" ] ; then

		return 0
	fi

	WORKAREA1=`echo "$1" | awk -F$SEP '{ print $4 }'`
	WORKAREA2=`echo "$2" | awk -F$SEP '{ print $4 }'`
	if [ "$WORKAREA1" -lt "$WORKAREA2" ] ; then

		return 1

	elif [ "$WORKAREA1" -gt "$WORKAREA2" ] ; then

		return 0
	fi

	return 0

}

# Sub routine : compare the version of files 
CMP_FILEVER() {
# arg1      : target file path
# return val: 0 current file <= installing file
#             1 current file > installing file
#             2 parameter error

	path=$1
	current=`strings -a $JP1PC_HOME/$path | grep 'File Version' | awk -F: '{print $2}'`
	#echo "current file version=$current"
	if [ -n "$current" ]; then
		#Compare using version of files
		installing=`strings -a $path | grep 'File Version' | awk -F: '{print $2}'`
		#echo "installing file version=$installing"
		FileVersion_Check "$installing" "$current"
		return $?
	else
		#if version was nothing, file comparison is time stamp of file.
		CMP_FILETIME $path
		return $?
	fi
}

# Sub routine : compare the time stamp of files
CMP_FILETIME() {
# arg1      : target file path
# return val: 0 current file <= installing file
#             1 current file > installing file

	dir=`dirname $1`
	file=`basename $1`
	#Compare using date of files
	rc1=`find $JP1PC_HOME/$dir -name $file -newer $dir/$file 2>/dev/null`
	if [ -z "$rc1" ]; then
#		rc2=`find $dir -name $file -newer $JP1PC_HOME/$dir/$file 2>/dev/null`
#		if [ -z "$rc2" -o -n "$rc2" ]; then
			return 0
#		fi
	else
		return 1
	fi
}

#Sub routine: MdlcvtEvaluate()
#
#	arg1: mdlcvt_exec return value
#
#	ret:  0   normal termination
#             -1  invalid argument
MdlcvtEvaluate()
{
	RET=0
	if [ $# -ne 1 ]; then
		return -1
	fi

	VAL=$1
	case $VAL in
		0)
			echo ">     $MDLCVT_EXEC: Execution completed."
			;;
		1)
			echo ">     $MDLCVT_EXEC: *.ini file updating failed."
			;;
		2)
			echo ">     $MDLCVT_EXEC: Database updating failed."
			;;
		3)
			echo ">     $MDLCVT_EXEC: Index updating failed."
			;;
		10)
			echo ">     $MDLCVT_EXEC: Not found jpccvtmdl."
			;;
		11)
			echo ">     $MDLCVT_EXEC: Not found jpciniupdate."
			;;
		12)
			echo ">     $MDLCVT_EXEC: Not found jpcmkindex."
			;;
		100)
			echo ">     $MDLCVT_EXEC: The environment is invalid."
			;;
		*)
			echo ">     $MDLCVT_EXEC: An error occurred."
			;;
	esac
	return $RET
}

#Sub routine: jpcdbctrlEvaluate()
#
#	arg1: jpcdbctrl return value
#
#	ret:  0   normal termination
#             -1  invalid argument
jpcdbctrlEvaluate()
{
	RET=0
	if [ $# -ne 1 ]; then
		return -1
	fi

	VAL=$1
	case $VAL in
		0)
			echo ">     $JPCDBCTRL: Execution completed."
			;;
		1)
			echo ">     $JPCDBCTRL: An argument is invalid."
			;;
		2)
			echo ">     $JPCDBCTRL: Permission denied."
			;;
		4)
			echo ">     $JPCDBCTRL: The service processes are not stopped."
			;;
		5)
			echo ">     $JPCDBCTRL: The specified service is not installed."
			;;
		10)
			echo ">     $JPCDBCTRL: The command is being executed."
			;;
		12)
			echo ">     $JPCDBCTRL: The version of the specified Store service is off the subject of the setup processing."
			;;
		100)
			echo ">     $JPCDBCTRL: Environment is invalid."
			;;
		102)
			echo ">     $JPCDBCTRL: The specified logical host or instance is not set up."
			;;
		200)
			echo ">     $JPCDBCTRL: Memory is insufficient."
			;;
		210)
			echo ">     $JPCDBCTRL: The disk capacity is insufficient."
			;;
		211)
			echo ">     $JPCDBCTRL: A backup file or directory is inaccessible."
			;;
		255)
			echo ">     $JPCDBCTRL: An unexpected error occurred"
			;;
		*)
			echo ">     $JPCDBCTRL: An error occurred."
			;;
	esac
	return $RET
}

#Sub routine: ChangeInfoJpcagt()
ChangeInfoJpcagt()
{
	if [ $# -ne 5 ]; then
		return 1
	fi
	JPCAGTINIMODEL=$1
	SECTION1=$2
	SECTION2=$3
	STRING1=$4
	STRING2=$5
	if [ ! -f $JPCAGTINIMODEL ]; then
		return 2
	fi
	LINE_END=`/bin/wc -l $JPCAGTINIMODEL | /bin/awk '{print ($1)}'`
	LINE_OBJ=`/bin/grep -n $SECTION1 $JPCAGTINIMODEL | /bin/awk -F: '{print ($1)}'`
	if [ -z "$LINE_OBJ" ]; then
		return 3
	fi
	LINE_TMP1=`/usr/bin/expr $LINE_END - $LINE_OBJ`
	LINE_TMP2=`/bin/tail -$LINE_TMP1 $JPCAGTINIMODEL | \
	/bin/grep -n $SECTION2 | /bin/head -1 | /bin/awk -F: '{print ($1)}'`
	if [ -z "$LINE_TMP2" ]; then
	LINE_NEXT=$LINE_END
	else
		LINE_NEXT=`expr $LINE_OBJ + $LINE_TMP2`
	fi
	/bin/sed -n "$LINE_OBJ,$LINE_NEXT s/$STRING1/$STRING2/g"\;"1,$LINE_END p" \
	< $JPCAGTINIMODEL > $JPCAGTINIMODEL.$$
	/bin/mv $JPCAGTINIMODEL.$$ $JPCAGTINIMODEL
	return 0
}

####
#### File Permission Setting
####

#Sub routine: ChangePermissionDBFile()
ChangePermissionDBFile()
{
    CP_DBDIR_DBFILE=$1

    for DBFILE in `find $CP_DBDIR_DBFILE -name "*.DB" 2>/dev/null`
    do
        if [ -f "$DBFILE" ]; then
            $CHMODCMD 644 $DBFILE
        fi
    done
    for IDXFILE in `find $CP_DBDIR_DBFILE -name "*.IDX" 2>/dev/null`
    do
        if [ -f "$IDXFILE" ]; then
            $CHMODCMD 644 $IDXFILE
        fi
    done
    for LCKFILE in `find $CP_DBDIR_DBFILE -name "*.LCK" 2>/dev/null`
    do
        if [ -f "$LCKFILE" ]; then
            $CHMODCMD 644 $LCKFILE
        fi
    done
}

#Sub routine: ChangePermissionDBFilefromIni()
ChangePermissionDBFilefromIni()
{
    CP_DBDIR_DBFROMINI=$1
    CP_INIFILE_DBFROMINI="$2"
    CP_INISECTION="$3"
    CP_INILABEL="$4"

    if [ -f "$CP_INIFILE_DBFROMINI" ]; then
        INIDBDIR=`$GETPINFCMD S "$CP_INIFILE_DBFROMINI" "$CP_INISECTION" "$CP_INILABEL"`
        if [ $? -eq 0  -a ! -z "$INIDBDIR" ]; then
            FULLPATH=`echo "$INIDBDIR" | grep "^/"`
            if [ -z "$FULLPATH" ]; then
                INIDBDIR=$CP_DBDIR_DBFROMINI/$INIDBDIR
            fi
            ChangePermissionDBFile $INIDBDIR
        fi
    fi
}

#Sub routine: ChangePermissionStoreDBFile()
ChangePermissionStoreDBFile()
{
    CP_DBDIR_STORE=$1
    CP_INIFILE_STORE=""

    if [ $# -eq 2 ]; then
        CP_INIFILE_STORE=$2
    fi

    ChangePermissionDBFile $CP_DBDIR_STORE

    if [ ! -z "$CP_INIFILE_STORE" ]; then
        INISECTION="Data Section"
        ChangePermissionDBFilefromIni "$CP_DBDIR_STORE" "$CP_INIFILE_STORE" "$INISECTION" "Store Dir"
        ChangePermissionDBFilefromIni "$CP_DBDIR_STORE" "$CP_INIFILE_STORE" "$INISECTION" "Backup Dir"
        ChangePermissionDBFilefromIni "$CP_DBDIR_STORE" "$CP_INIFILE_STORE" "$INISECTION" "Partial Backup Dir"
        ChangePermissionDBFilefromIni "$CP_DBDIR_STORE" "$CP_INIFILE_STORE" "$INISECTION" "Import Dir"
    fi
}

#Sub routine: ChangePermissionLogAndStatusFile()
ChangePermissionLogAndStatusFile()
{
    CP_CHANGEFILE=$1

#	if [ -f "$CP_CHANGEFILE/status.dat" ]; then
#		$CHMODCMD 600 "$CP_CHANGEFILE/status.dat"
#	fi
    CP_LOGDIR=$CP_CHANGEFILE/log
    if [ -d "$CP_LOGDIR" ]; then
        for LOGFILE in `ls $CP_LOGDIR/msglog* 2>/dev/null`
        do
            if [ -f "$LOGFILE" ]; then
                $CHMODCMD 666 "$LOGFILE"
            fi
        done
        for LOGFILE in `ls $CP_LOGDIR/nslog* 2>/dev/null`
        do
            if [ -f "$LOGFILE" ]; then
                $CHMODCMD 666 "$LOGFILE"
            fi
        done
        for LOGFILE in `ls $CP_LOGDIR/msgdat* 2>/dev/null`
        do
                if [ -f "$LOGFILE" ]; then
                $CHMODCMD 666 "$LOGFILE"
            fi
        done
        for LOGFILE in `ls $CP_LOGDIR/nsdat* 2>/dev/null`
        do
            if [ -f "$LOGFILE" ]; then
                $CHMODCMD 666 "$LOGFILE"
            fi
        done
        for LOGFILE in `ls $CP_LOGDIR/jpclog* 2>/dev/null`
        do
            if [ -f "$LOGFILE" ]; then
                $CHMODCMD 666 "$LOGFILE"
            fi
        done
    fi
}

#Sub routine: ChangePermissionAgentCollectorFile()
ChangePermissionAgentCollectorFile()
{
    CP_CHANGEDIR_COL=$1
    CP_INIFILE=$CP_CHANGEDIR_COL/jpcagt.ini

    if [ -f "$CP_INIFILE" ]; then
        $CHMODCMD 600 $CP_INIFILE
    fi
    ChangePermissionLogAndStatusFile "$CP_CHANGEDIR_COL"
}

#Sub routine: ChangePermissionAgentStoreFile()
ChangePermissionAgentStoreFile()
{
    CP_CHANGEDIR_STO=$1
    CP_INIFILE=$CP_CHANGEDIR_STO/jpcsto.ini

    if [ -f "$CP_INIFILE" ]; then
        $CHMODCMD 644 $CP_INIFILE
    fi
    if [ -d "$CP_CHANGEDIR_STO/backup" ]; then
        $CHMODCMD 755 $CP_CHANGEDIR_STO/backup
    fi

    ChangePermissionStoreDBFile "$CP_CHANGEDIR_STO" "$CP_INIFILE"
    ChangePermissionLogAndStatusFile "$CP_CHANGEDIR_STO"
}

#Sub routine: ChangePermissionAgentSingleFile()
ChangePermissionSingleAgentFile()
{
    CP_PRODID=$1
    CP_PATH=$2

    CP_CHANGEDIR_SAGENT="$CP_PATH/agt$CP_PRODID"
    ChangePermissionAgentCollectorFile "$CP_CHANGEDIR_SAGENT/agent"
    ChangePermissionAgentStoreFile "$CP_CHANGEDIR_SAGENT/store"
}

# Write log header
echo "> ##############################################################################"
echo "> #           :    $THIS_PP"
echo "> # Script starts: $THIS_SH"
echo "> # date:          \c"
date

#####################################################
# agte install
#####################################################

# Make $PPDL_DIR dir
if [ ! -d $PPDL_DIR ]; then
        mkdir $PPDL_DIR
        print_log ">     mkdir $PPDL_DIR: Completed." ">     mkdir $PPDL_DIR: Failed."
        chmod 755 $PPDL_DIR
        chown root:sys $PPDL_DIR
fi

/usr/bin/cp $JP1PC_HOME/$AGTE_TAR $PPDL_DIR/.
/bin/rm -rf $JP1PC_HOME/$AGTE_TAR
cd $PPDL_DIR
tar pxvf $AGTE_TAR
/bin/rm -rf $AGTE_TAR

INST_FLG=0
if [ ! -f $JP1PC_HOME/instagte.ini ] ; then
	INST_FLG=1
fi

#VUP install support(0700)
REINST_FLG=0
#if [ -f $JP1PC_HOME/instagte.ini ] ; then    I00201
	# Reinstall
	REINST_FLG=1

	echo ">     Start VUP process(mdlcvt_bkup)."
	if [ -x $MDLCVT_BKUP ] ; then
		$MDLCVT_BKUP $JP1PC_HOME $SERVICEKEY
	else
		echo ">     $MDLCVT_BKUP: No such file exists or permission was denied."
		exit_function2
	fi
	RET=$?
	case $RET in
		0)
			echo ">     $MDLCVT_BKUP: Execution completed."
			;;
		1)
			echo ">     $MDLCVT_BKUP: Backup failed."
			exit_function2
			;;
		100)
			echo ">     $MDLCVT_BKUP: The environment is invalid."
			exit_function2
			;;
		*)
			echo ">     $MDLCVT_BKUP: An error occurred."
			exit_function2
			;;
	esac
	echo ">     Terminate VUP process(mdlcvt_bkup)."
#fi                                           I00201

# Copy PP files $PPDL_DIR to $JP1PC_HOME
#echo "> Copy $PPDL_DIR to $JP1PC_HOME with 'cpio' command.\n"
cd $PPDL_DIR/opt/jp1pc
if [ $PPNO_KIND -eq 1 ] ; then
	echo "./agte/agent/Japanese.dat" >> $LST_INDIV
fi
cat $LST_INDIV | \
/usr/bin/cpio -pdmuv $JP1PC_HOME
RET=$?
if [ $RET -eq 0 ] ; then
	echo ">     cpio: IndividualFiles Completed."
else
	echo ">     cpio: IndividualFiles Failed."
	exit_function2
fi

exec 3<&0 <$LST_HTMCOMM
while read x
do
	#Analyze the line of $LST_HTMCOMM
	typ=`echo $x | awk -F, '{printf $1}'`
	pth=`echo $x | awk -F, '{printf $2}'`
	if [ -n "$typ" ]; then
		if [ "$typ" != 'V' -a "$typ" != 'T' -a "$typ" != 'F' ]; then
			#default comparison parameter is time stamp of file.
			typ='T'
		fi
	else
		typ='T'
	fi
	if [ -n "$pth" ]; then
		#if $pth was directory, process loop will skip.
		if [ -d $JP1PC_HOME/$pth ]; then
			continue
		fi
		rc=0
		if [ -f $JP1PC_HOME/$pth ]; then
			case $typ in
				'V')	CMP_FILEVER $pth
					rc=$?
					;;
				'T')	CMP_FILETIME $pth
					rc=$?
					;;
				'F')	:
					;;
			esac
		fi
		#evaluate to the return value of comparison.
		if [ $rc -eq 0 ]; then
			echo $pth | cpio -pdmuv $JP1PC_HOME
			ret=$?
			if [ $ret -ne 0 ]; then
				echo "copying failed. <$pth>"
			fi
		else
			echo "copying skipped. <$pth>"
		fi
	fi
done
exec 0<&3 3<&-
echo $LST_HTMCOMM_MSG

cd /
echo "> Remove temporary PP files: /bin/rm -rf $PPDL_DIR"
/bin/rm -rf $PPDL_DIR


# Make *.ini files
if [ ! -f $JP1PC_HOME/agte/agent/jpcagt.ini ] ; then
	echo ">     Create: $JP1PC_HOME/agte/agent/jpcagt.ini"
	echo ">     /usr/bin/cp -p $JP1PC_HOME/agte/agent/jpcagt.ini.model $JP1PC_HOME/agte/agent/jpcagt.ini"
	/usr/bin/cp -p $JP1PC_HOME/agte/agent/jpcagt.ini.model $JP1PC_HOME/agte/agent/jpcagt.ini
	exit_function ">     Completed." ">     Failed."
fi
if [ ! -f $JP1PC_HOME/agte/store/jpcsto.ini ] ; then
	echo ">     Create: $JP1PC_HOME/agte/store/jpcsto.ini"
	echo ">     /usr/bin/cp -p $JP1PC_HOME/agte/store/jpcsto.ini.model $JP1PC_HOME/agte/store/jpcsto.ini"
	/usr/bin/cp -p $JP1PC_HOME/agte/store/jpcsto.ini.model $JP1PC_HOME/agte/store/jpcsto.ini
	exit_function ">     Completed." ">     Failed."
fi
if [ ! -x $JP1PC_HOME/tools/jpcagtsetup ] ; then
	echo ">     $JP1PC_HOME/tools/jpcagtsetup: No such file exists or permission was denied."
	echo "> # Script failed(exit 1): $THIS_SH"
	echo "> ##############################################################################"
	exit_function2
fi
echo ">     $JP1PC_HOME/tools/jpcagtsetup agte -s"
$JP1PC_HOME/tools/jpcagtsetup agte -s
exit_function ">     Completed." ">     Failed."
#VUP install support(0700)
#if [ $REINST_FLG -eq 1 ] ; then    I00201
	if [ -x $MDLCVT_EXEC ] ; then
		echo ">     Start VUP process(mdlcvt_exec)."
		$MDLCVT_EXEC $JP1PC_HOME $SERVICEKEY
		RET_CMD=$?
		MdlcvtEvaluate $RET_CMD
		if [ $RET_CMD -ne 0 ] ; then
			#abnormal termination
			exit_function2
		fi
		echo ">     Terminate VUP process(mdlcvt_exec)."
	else
		echo ">     $MDLCVT_EXEC: No such file exists or permission was denied."
		exit_function2
	fi
#fi                                 I00201

if [ $INST_FLG -eq 1 ] ; then
	if [ -x $JPCDBCTRL ] ; then
		echo ">     Start VUP process(jpcdbctrl)."
		$JPCDBCTRL setup -key agte
		RET_CMD=$?
		jpcdbctrlEvaluate $RET_CMD
		if [ $RET_CMD -ne 0 ] ; then
			#abnormal termination
			exit_function2
		fi
	else
		echo ">     $JPCDBCTRL: No such file exists or permission was denied."
		exit_function2
	fi
	echo ">     Change mod: $JP1PC_HOME/agte/store/jpcsto.ini"
	/usr/bin/chmod 644 $JP1PC_HOME/agte/store/jpcsto.ini
fi

echo ">     Change mod: $JP1PC_HOME/agte/agent/jpcagt.ini"
/usr/bin/chmod 600 $JP1PC_HOME/agte/agent/jpcagt.ini

if [ -f $JP1PC_HOME/setup/update/jpccomm.ini.update ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/setup/update/jpccomm.ini.update"
	/bin/rm -f $JP1PC_HOME/setup/update/jpccomm.ini.update
	exit_function ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/setup/update/jpccomm.ini.update.lck ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/setup/update/jpccomm.ini.update.lck"
	/bin/rm -f $JP1PC_HOME/setup/update/jpccomm.ini.update.lck
	exit_function ">     Completed." ">     Failed."
fi
if [ -d $JP1PC_HOME/setup/update/agte ] ; then
	echo ">     /bin/rm -rf $JP1PC_HOME/setup/update/agte"
	/bin/rm -rf $JP1PC_HOME/setup/update/agte
	exit_function ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agte/store/jpcsto ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agte/store/jpcsto"
	/bin/rm -f $JP1PC_HOME/agte/store/jpcsto
	exit_function ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agte/store/stpqlpr ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agte/store/stpqlpr"
	/bin/rm -f $JP1PC_HOME/agte/store/stpqlpr
	exit_function ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agte/store/jpcdbarrange ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agte/store/jpcdbarrange"
	/bin/rm -f $JP1PC_HOME/agte/store/jpcdbarrange
	exit_function ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agte/store/stocvt ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agte/store/stocvt"
	/bin/rm -f $JP1PC_HOME/agte/store/stocvt
	exit_function ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agte/store/stoidx ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agte/store/stoidx"
	/bin/rm -f $JP1PC_HOME/agte/store/stoidx
	exit_function ">     Completed." ">     Failed."
fi

# Change File Permission
echo ">     $CHMODCMD: Change Agent File Permission(prodid=e)"
ChangePermissionSingleAgentFile e $JP1PC_HOME
echo ">     Change Agent File Permission: Completed."

if [ $PPNO_KIND -eq 1 ] ; then
	# Delete Old - patch directory
	if [ -d $JP1PC_HOME/agte/patch ] ; then
		/bin/rm -rf $JP1PC_HOME/agte/patch
		echo ">     /bin/rm -rf $JP1PC_HOME/agte/patch"
	fi
	echo "> # Script completed:  $THIS_SH"
	echo "> ##############################################################################"
	exit 0
fi

#####################################################
# agtu install
#####################################################

LST_INDIV=./lst_inst_agtu.lst

# Make $AGTU_DIR dir
if [ ! -d $AGTU_DIR ]; then
        /bin/mkdir $AGTU_DIR
        print_log ">     mkdir $AGTU_DIR: Completed." ">     mkdir $AGTU_DIR: Failed."
        chmod 755 $AGTU_DIR
        chown root:sys $AGTU_DIR
fi

/bin/cp $JP1PC_HOME/$AGTU_TAR $AGTU_DIR/.
/bin/rm -rf $JP1PC_HOME/$AGTU_TAR
cd $AGTU_DIR
tar pxvf $AGTU_TAR

INST_FLG=0
if [ ! -f $JP1PC_HOME/instagtu.ini ] ; then
	INST_FLG=1
fi

#/usr/bin/cp $JP1PC_HOME/$AGTU_TAR .
#/bin/rm -rf $JP1PC_HOME/$AGTU_TAR
#tar pxvf $AGTU_TAR
#/bin/rm -rf $AGTU_TAR
SERVICEKEY="agtu"


PPDL_DIR=$V7_DIR


#VUP install support(0700)
REINST_FLG=0
#if [ -f $JP1PC_HOME/instagtu.ini ] ; then    I00201
	# Reinstall
	REINST_FLG=1

	echo ">     Start VUP process(mdlcvt_bkup)."
	if [ -x $MDLCVT_BKUP ] ; then
		$MDLCVT_BKUP $JP1PC_HOME $SERVICEKEY
	else
		echo ">     $MDLCVT_BKUP: No such file exists or permission was denied."
		exit_function2
	fi
	RET=$?
	case $RET in
		0)
			echo ">     $MDLCVT_BKUP: Execution completed."
			;;
		1)
			echo ">     $MDLCVT_BKUP: Backup failed."
			exit_function2
			;;
		100)
			echo ">     $MDLCVT_BKUP: The environment is invalid."
			exit_function2
			;;
		*)
			echo ">     $MDLCVT_BKUP: An error occurred."
			exit_function2
			;;
	esac
	echo ">     Terminate VUP process(mdlcvt_bkup)."
#fi                                           I00201

# Copy PP files $AGTU_DIR$PPDL_DIR to $JP1PC_HOME
cd $AGTU_DIR$PPDL_DIR
echo "> Copy $AGTU_DIR$PPDL_DIR to $JP1PC_HOME with 'cpio' command.\n"

cat $LST_INDIV | \
/usr/bin/cpio -pdmuv $JP1PC_HOME
RET=$?
if [ $RET -eq 0 ] ; then
	echo ">     cpio: IndividualFiles Completed."
else
	echo ">     cpio: IndividualFiles Failed."
	exit_function2
fi

cd /
echo "> Remove temporary PP files: /bin/rm -rf $AGTU_DIR"
/bin/rm -rf $AGTU_DIR


# Make *.ini files
if [ ! -f $JP1PC_HOME/agtu/agent/jpcagt.ini ] ; then
	echo ">     Create: $JP1PC_HOME/agtu/agent/jpcagt.ini"
	echo ">     /usr/bin/cp -p $JP1PC_HOME/agtu/agent/jpcagt.ini.model $JP1PC_HOME/agtu/agent/jpcagt.ini"
	/usr/bin/cp -p $JP1PC_HOME/agtu/agent/jpcagt.ini.model $JP1PC_HOME/agtu/agent/jpcagt.ini
	print_log ">     Completed." ">     Failed."
fi
if [ ! -f $JP1PC_HOME/agtu/store/jpcsto.ini ] ; then
	echo ">     Create: $JP1PC_HOME/agtu/store/jpcsto.ini"
	echo ">     /usr/bin/cp -p $JP1PC_HOME/agtu/store/jpcsto.ini.model $JP1PC_HOME/agtu/store/jpcsto.ini"
	/usr/bin/cp -p $JP1PC_HOME/agtu/store/jpcsto.ini.model $JP1PC_HOME/agtu/store/jpcsto.ini
	print_log ">     Completed." ">     Failed."
fi
if [ ! -f $JP1PC_HOME/agtu/agent/evfile ] ; then
	echo ">     Create: $JP1PC_HOME/agtu/agent/evfile"
	echo ">     /usr/bin/cp -p $JP1PC_HOME/agtu/agent/evfile.model $JP1PC_HOME/agtu/agent/evfile"
	/usr/bin/cp -p $JP1PC_HOME/agtu/agent/evfile.model $JP1PC_HOME/agtu/agent/evfile
	print_log ">     Completed." ">     Failed."
	/usr/bin/chmod 644 $JP1PC_HOME/agtu/agent/evfile
fi
if [ ! -f $JP1PC_HOME/agtu/agent/wgfile ] ; then
	echo ">     Create: $JP1PC_HOME/agtu/agent/wgfile"
	echo ">     /usr/bin/cp -p $JP1PC_HOME/agtu/agent/wgfile.model $JP1PC_HOME/agtu/agent/wgfile"
	/usr/bin/cp -p $JP1PC_HOME/agtu/agent/wgfile.model $JP1PC_HOME/agtu/agent/wgfile
	print_log ">     Completed." ">     Failed."
	/usr/bin/chmod 644 $JP1PC_HOME/agtu/agent/wgfile
fi
if [ ! -f $JP1PC_HOME/agtu/agent/jpcuser/jpcuser.ini ] ; then
	echo ">     Create: $JP1PC_HOME/agtu/agent/jpcuser/jpcuser.ini"
	echo ">     /usr/bin/cp -p $JP1PC_HOME/agtu/agent/jpcuser/jpcuser.ini.model $JP1PC_HOME/agtu/agent/jpcuser/jpcuser.ini"
	/usr/bin/cp -p $JP1PC_HOME/agtu/agent/jpcuser/jpcuser.ini.model $JP1PC_HOME/agtu/agent/jpcuser/jpcuser.ini
	print_log ">     Completed." ">     Failed."
	/usr/bin/chmod 600 $JP1PC_HOME/agtu/agent/jpcuser/jpcuser.ini
fi
if [ ! -x $JP1PC_HOME/tools/jpcagtsetup ] ; then
	echo ">     $JP1PC_HOME/tools/jpcagtsetup: No such file exists or permission was denied."
	echo "> # Script failed(exit 1): $THIS_SH"
	echo "> ##############################################################################"
	exit 1
fi
echo ">     $JP1PC_HOME/tools/jpcagtsetup agtu -s"
$JP1PC_HOME/tools/jpcagtsetup agtu -s
print_log ">     Completed." ">     Failed."
#VUP install support(0700)
#if [ $REINST_FLG -eq 1 ] ; then    I00201
	if [ -x $MDLCVT_EXEC ] ; then
		echo ">     Start VUP process(mdlcvt_exec)."
		$MDLCVT_EXEC $JP1PC_HOME $SERVICEKEY
		RET_CMD=$?
		MdlcvtEvaluate $RET_CMD
		if [ $RET_CMD -ne 0 ] ; then
			#abnormal termination
			exit 1
		fi
		echo ">     Terminate VUP process(mdlcvt_exec)."
	else
		echo ">     $MDLCVT_EXEC: No such file exists or permission was denied."
		exit 1
	fi
#fi                                 I00201

if [ $INST_FLG -eq 1 ] ; then
	if [ -x $JPCDBCTRL ] ; then
		echo ">     Start VUP process(jpcdbctrl)."
		$JPCDBCTRL setup -key agtu
		RET_CMD=$?
		jpcdbctrlEvaluate $RET_CMD
		if [ $RET_CMD -ne 0 ] ; then
			#abnormal termination
			exit_function2
		fi
	else
		echo ">     $JPCDBCTRL: No such file exists or permission was denied."
		exit_function2
	fi
	echo ">     Change mod: $JP1PC_HOME/agtu/store/jpcsto.ini"
	/usr/bin/chmod 644 $JP1PC_HOME/agtu/store/jpcsto.ini
fi

ChangeInfoJpcagt $JP1PC_HOME/agtu/agent/jpcagt.ini.model "^\[\[DEVD]]" "^\[\[.*]]" "^Log=N" "Log=Y"
ChangeInfoJpcagt $JP1PC_HOME/agtu/agent/jpcagt.ini.model "^\[\[FSL]]" "^\[\[.*]]" "^Log=N" "Log=Y"
ChangeInfoJpcagt $JP1PC_HOME/agtu/agent/jpcagt.ini.model "^\[\[FSR]]" "^\[\[.*]]" "^Log=N" "Log=Y"
/usr/bin/chmod 444 $JP1PC_HOME/agtu/agent/jpcagt.ini.model
/usr/bin/chown root:sys $JP1PC_HOME/agtu/agent/jpcagt.ini.model

ChangeInfoJpcagt $JP1PC_HOME/agtu/agent/jpcagt.ini "^\[\[DEVD]]" "^\[\[.*]]" "^Log=N" "Log=Y"
ChangeInfoJpcagt $JP1PC_HOME/agtu/agent/jpcagt.ini "^\[\[FSL]]" "^\[\[.*]]" "^Log=N" "Log=Y"
ChangeInfoJpcagt $JP1PC_HOME/agtu/agent/jpcagt.ini "^\[\[FSR]]" "^\[\[.*]]" "^Log=N" "Log=Y"
/usr/bin/chmod 600 $JP1PC_HOME/agtu/agent/jpcagt.ini
/usr/bin/chown root:sys $JP1PC_HOME/agtu/agent/jpcagt.ini

/bin/rm -rf $JP1PC_HOME/agtu/doc

if [ -f $JP1PC_HOME/setup/update/jpccomm.ini.update ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/setup/update/jpccomm.ini.update"
	/bin/rm -f $JP1PC_HOME/setup/update/jpccomm.ini.update
	print_log ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/setup/update/jpccomm.ini.update.lck ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/setup/update/jpccomm.ini.update.lck"
	/bin/rm -f $JP1PC_HOME/setup/update/jpccomm.ini.update.lck
	print_log ">     Completed." ">     Failed."
fi
if [ -d $JP1PC_HOME/setup/update/agtu ] ; then
	echo ">     /bin/rm -rf $JP1PC_HOME/setup/update/agtu"
	/bin/rm -rf $JP1PC_HOME/setup/update/agtu
	print_log ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agtu/store/jpcsto ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agtu/store/jpcsto"
	/bin/rm -f $JP1PC_HOME/agtu/store/jpcsto
	print_log ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agtu/store/stpqlpr ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agtu/store/stpqlpr"
	/bin/rm -f $JP1PC_HOME/agtu/store/stpqlpr
	print_log ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agtu/store/jpcdbarrange ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agtu/store/jpcdbarrange"
	/bin/rm -f $JP1PC_HOME/agtu/store/jpcdbarrange
	print_log ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agtu/store/stocvt ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agtu/store/stocvt"
	/bin/rm -f $JP1PC_HOME/agtu/store/stocvt
	print_log ">     Completed." ">     Failed."
fi
if [ -f $JP1PC_HOME/agtu/store/stoidx ] ; then
	echo ">     /bin/rm -f $JP1PC_HOME/agtu/store/stoidx"
	/bin/rm -f $JP1PC_HOME/agtu/store/stoidx
	print_log ">     Completed." ">     Failed."
fi
if [ -d $JP1PC_HOME/patch_files/agtu/patch_backup_dir ] ; then
	echo ">     /bin/rm -rf $JP1PC_HOME/patch_files/agtu/patch_backup_dir"
	/bin/rm -rf $JP1PC_HOME/patch_files/agtu/patch_backup_dir
	print_log ">     Completed." ">     Failed."
fi

# Change File Permission
echo ">     $CHMODCMD: Change Agent File Permission(prodid=u)"
ChangePermissionSingleAgentFile u $JP1PC_HOME
echo ">     Change Agent File Permission: Completed."

# Delete Old - patch directory
if [ -d $JP1PC_HOME/agte/patch ] ; then
	/bin/rm -rf $JP1PC_HOME/agte/patch
	echo ">     /bin/rm -rf $JP1PC_HOME/agte/patch"
fi

echo "> # Script completed:  $THIS_SH"
echo "> ##############################################################################"
exit 0
