#!/bin/sh

MD5_CMD="/bin/md5sum"
CRYPT_CMD='/apps/app/mycrypt'
SQLITE_CMD='/bin/sqlite3'
USER_CMD='/apps/app/usercmd'
LIST_FILE="/tmp/packlist"
SQL_SCRIPT='/apps/update/dbupdate.sql'
DB_FILE='/data/local/user.db'
#MMC_DB_FILE='/mnt/mmc/user.db'

#
#	Verify all files listed in package list file.
#
#	return	0	:	All files is OK.
#			1	:	Some files may be destroied.
#
Error=0
if [ -x ${MD5_CMD} -a -f ${LIST_FILE} ] ; then
	showstr 10 200 "Verify files, please wait ...            "&

	#
	#	Verify file with size and md5 code.
	#
	cd /apps
	$MD5_CMD -sc ${LIST_FILE}
	Error=$?
fi

#
#	Update database with SQL script file.
#
if [ ${Error} -eq 0 ] ; then
	if [ -f ${SQL_SCRIPT} ] ; then
		#${CRYPT_CMD} -d ${SQL_SCRIPT} > /tmp/$$.sql
		#mv /tmp/$$.sql ${SQL_SCRIPT}
		${SQLITE_CMD} ${DB_FILE} < ${SQL_SCRIPT}
	fi

	if [ -f ${SQL_SCRIPT} -a -x ${SQLITE_CMD} ] ; then
		cat ${SQL_SCRIPT} | ${SQLITE_CMD} ${DB_FILE}
		rm ${SQL_SCRIPT}
		/bin/sync
	fi
	/bin/touch ${SQL_SCRIPT}
fi

if [ -x ${USER_CMD} -a -f ${USER_CMD} ] ; then
	#showstr 10 200 "excute user cmd, please wait ...            "&
	$USER_CMD
	/bin/sync
fi

#echo "Error=$Error"

#
# Return 0(successed) to compatable with old versions.
#
exit ${Error}
