:
# SCCSID(@(#)dosremove.sh	1.11 LCC) Modified 23:11:27 4/15/92
#############################################################################
# Script to remove MSDOS files
#############################################################################
#
#	Copyright (c) 1990-92 Locus Computing Corporation.
#	All rights reserved.
#	This is an unpublished work containing CONFIDENTIAL INFORMATION
#	that is the property of Locus Computing Corporation.
#	Any unauthorized use, duplication or disclosure is prohibited.
#
#############################################################################

DBIN=/usr/dbin
LIBM=/usr/lib/merge
IMAGEDIR=/usr/merge/image/std
PATH=/bin:/usr/bin:/usr/local/bin:/usr/dbin ; export PATH
TRACE=/dev/null
NULL=/dev/null
OPTION="$1"
[ -z "$OPTION" ] && OPTION=none

# DM is the domain for messages for this script.
# (The script "set_nls.sh" uses LIBM to set MFILE.)
DM="LCC.MERGE.UNIX.DOSINSTALL"
. $LIBM/set_nls.sh

ANS_Y="`lmfmsg $MFILE $DM.ANS_Y 2>>$NULL`"
ANS_N="`lmfmsg $MFILE $DM.ANS_N 2>>$NULL`"
ANS_Q="`lmfmsg $MFILE $DM.ANS_Q 2>>$NULL`"
[ -z "$ANS_Y" ] && ANS_Y=y
[ -z "$ANS_N" ] && ANS_N=n
[ -z "$ANS_Q" ] && ANS_N=q
Q_ANYWAY="`lmfmsg $MFILE $DM.Q_ANYWAY 2>>$NULL`"
[ -z "$Q_ANYWAY" ] && \
	Q_ANYWAY="Do you want to try to remove DOS anyway (y/n/q) ? "
Q_PROMPT="`lmfmsg $MFILE $DM.Q_PROMPT 2>>$NULL`"
[ -z "$Q_PROMPT" ] && Q_PROMPT="Please answer y or n or q\n"

# Prompt for one of two answers (plus the quit answer).
# Returns $FIRST_ANSWER for the first answer, $SECOND_ANSWER for the second,
# and $QUIT_ANSWER for 0 or ANS_Q.
FIRST_ANSWER=1
SECOND_ANSWER=2
QUIT_ANSWER=0
Get_Answer()
{
	while	echo "$3 \c">&2
	do	read ANS XXX
		[ "x$ANS" = "x$1" ] && return $FIRST_ANSWER
		[ "x$ANS" = "x$2" ] && return $SECOND_ANSWER
		[ "x$ANS" = "x0"  ] && return $QUIT_ANSWER
		[ "x$ANS" = "x$ANS_Q" ] && return $QUIT_ANSWER
		echo "$4">&2
	done
}

PROBLEMS=0
if [ ! -f $DBIN/dos.list ]
then
	# Error-- missing dos filelist.
	if [ "$OPTION" != "silent" ]
	then
		lmfmsg $MFILE $DM.RM_PROB >>$NULL 2>&1
		if [ $? -eq 0 ]
		then
			lmfmsg $MFILE $DM.RM_PROB
		else
			echo "Error: Problems removing DOS."
		fi
		if [ ! -f $DBIN/command.com ]
		then
			lmfmsg $MFILE $DM.IMPROPER >>$NULL 2>&1
			if [ $? -eq 0 ]
			then
				lmfmsg $MFILE $DM.IMPROPER
			else
				echo "DOS is not properly installed."
			fi
		else
			lmfmsg $MFILE $DM.RM_PROB_1 >>$NULL 2>&1
			if [ $? -eq 0 ]
			then
				lmfmsg $MFILE $DM.RM_PROB_1
			else
			 echo Missing filelist. Cannot uninstall DOS completely.
			fi
		fi
		Get_Answer "$ANS_Y" "$ANS_N" "$Q_ANYWAY" "$Q_PROMPT"
		if [ $? -ne $FIRST_ANSWER ]
		then
			lmfmsg $MFILE $DM.RM_ABORT >>$NULL 2>&1
			if [ $? -eq 0 ]
			then
				lmfmsg $MFILE $DM.RM_ABORT
			else
				echo "Aborting DOS removal.  No files removed."
			fi
			exit 1
		fi
	fi
	PROBLEMS=1
else
	# the dos.list file only lists files installed into $DBIN.
	cd $DBIN
	rm -f `cat $DBIN/dos.list`
fi

# Now remove files created/installed by DOS installation.

rm -f /usr/merge/image/config.mki
rm -f $IMAGEDIR/mono/*.img
rm -f $IMAGEDIR/cga/*.img
rm -f $IMAGEDIR/ega/*.img $IMAGEDIR/ega/ega.rom
rm -f $IMAGEDIR/vga/*.img $IMAGEDIR/vga/vga.rom
rmdir $IMAGEDIR/mono >> $TRACE 2>&1
rmdir $IMAGEDIR/cga  >> $TRACE 2>&1
rmdir $IMAGEDIR/ega  >> $TRACE 2>&1
rmdir $IMAGEDIR/vga  >> $TRACE 2>&1
rmdir $IMAGEDIR      >> $TRACE 2>&1
rmdir /usr/merge/image >> $TRACE 2>&1
rmdir /usr/merge     >> $TRACE 2>&1

rm -f $DBIN/version.dos
rm -f $DBIN/msdos.sys  $DBIN/io.sys
rm -f $DBIN/ibmdos.com $DBIN/ibmbio.com
rm -f $DBIN/dos.list
rm -f /usr/dbin/boot.dsk
rm -f /command.com
rm -f /country.sys
rmdir $DBIN >> $TRACE 2>&1

if [ $PROBLEMS -eq 1 ]
then
	[ "$OPTION" = "silent" ] && exit 1
	lmfmsg $MFILE $DM.RM_ALMOST >>$NULL 2>&1
	if [ $? -eq 0 ]
	then
		lmfmsg $MFILE $DM.RM_ALMOST
	else
		echo "Attempted DOS removal done."
	fi
	exit 1
fi
[ "$OPTION" = "silent" ] && exit 0
lmfmsg $MFILE $DM.RM_DONE >>$NULL 2>&1
if [ $? -eq 0 ]
then
	lmfmsg $MFILE $DM.RM_DONE
else
	echo "DOS removal done."
fi
exit 0
