/usr/lib/tasksel/tasksel-debconf is in tasksel 3.34ubuntu11.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #!/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
|