#!/bin/sh

. /usr/share/debconf/confmodule

license=oracle-license-v1-1

errmsg()
{
	echo >&2 ''
	echo >&2 "$@"
	echo >&2 "try 'dpkg-reconfigure debconf' to select a frontend other than noninteractive"
	echo >&2 ''
}

db_get shared/accepted-$license
if [ "$RET" = "true" ]; then
	echo "$license license has already been accepted" >&2
	exit 0
fi

# facilitate backup capability per debconf-devel(7)
STATE=1
while true; do
	case "$STATE" in
	0)  # Ensure going back from license presentment is harmless
		STATE=1 
		continue
	;;   
	1)  # Present license
		db_fset shared/present-$license seen false
		if ! db_input critical shared/present-$license ; then
			errmsg "$license license could not be presented"
			exit 2
		fi
		db_fset shared/accepted-$license seen false
		if ! db_input critical shared/accepted-$license ; then
			errmsg "$license agree question could not be asked"
			exit 2
		fi
	;;      
	2)  # Determine users' choice
		db_get shared/accepted-$license
		 if [ "$RET" = "true" ]; then
			# License accepted
			exit 0
		fi
		# Error on decline license (give user chance to back up)
		db_input critical shared/error-$license
        ;;      
	3)  # User has confirmed declining license
		echo "user did not accept the $license license" >&2
		exit 1
        ;;   
	*)  # Unknown state
		echo "$license license state unknown: $STATE" >&2
		exit 2
        ;;   
	esac
	if db_go; then
		STATE=$(($STATE + 1))
	else
		STATE=$(($STATE - 1))
	fi
done
 
#DEBHELPER#

# proper exit (0 or 1) above
errmsg "$license license could not be presented / was not accepted"
exit 2