#!/bin/bash

set -e

. /usr/share/debconf/confmodule

if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 }

# get a new password for DBA and DAV users
while :; do
	RET=""
	db_input high virtuoso-opensource-6.1/dba-password || true
	db_go
	db_get virtuoso-opensource-6.1/dba-password
	DBA_PW="$RET"
	if [ -z "$DBA_PW" ]; then
		# if no password is given, leave it to postint to handle
		break
	fi
	# otherwise prompt to confirm the password
	db_input high virtuoso-opensource-6.1/dba-password-again || true
	db_go
	db_get virtuoso-opensource-6.1/dba-password-again
	if [ "$RET" == "$DBA_PW" ]; then
		DBA_PW=''
		break
	fi
	# no match, so try again...
	db_input critical virtuoso-opensource-6.1/password-mismatch
	db_set virtuoso-opensource-6.1/dba-password "" 
	db_set virtuoso-opensource-6.1/dba-password-again ""
	db_go
done

# see if they want to change the ports in advance
db_input low virtuoso-opensource-6.1/http-server-port || true
db_input low virtuoso-opensource-6.1/db-server-port || true

# maybe register a DSN for the default instance?
db_get libvirtodbc0/register-odbc-driver || true
if [ "$RET" = "true" ] && [ -e /usr/bin/odbcinst ]; then
	# default to true since odbcinst is available
	db_set virtuoso-opensource-6.1/register-odbc-dsn "true" || true
	db_input low virtuoso-opensource-6.1/register-odbc-dsn || true
fi

db_go || true
