File: //lib/tasksel/tasksel-debconf
#!/bin/sh
# because debconf sucks
. /usr/share/debconf/confmodule
set -e
# This is a bit nasty, but it lets tasksel proper determine which tasks have
# been preseeded. We should probably just use debconf for all of tasksel
# instead, and then we could get rid of this nonsense.
if [ "$1" = --get ]; then
shift
tmpfile=$1
question=$2
db_get $question
echo "$RET" >$tmpfile
exit 0
fi
tmpfile=$1
choices="$2"
choicestrans="$3"
defaults="$4"
question=$5
db_settitle tasksel/title
db_subst $question CHOICES_C "$choices"
db_subst $question CHOICES "$choicestrans"
# Allow tasksel/first to be preseeded. If it has a non-empty value or
# is marked as seen, then it must have been preseeded, and that
# overrides any defaults set by tasksel.
if [ "$question" = "tasksel/first" ]; then
db_get $question
value="$RET"
db_fget $question seen
if [ -z "$value" ] && [ "$RET" = false ]; then
db_set $question "$defaults"
fi
else
db_set $question "$defaults"
fi
db_input high $question || true
db_go # note: intentionally unguarded
db_fset $question seen false
db_get $question
echo "$RET" >$tmpfile