summaryrefslogtreecommitdiffstats
path: root/tasksel-debconf
diff options
context:
space:
mode:
Diffstat (limited to 'tasksel-debconf')
-rwxr-xr-xtasksel-debconf35
1 files changed, 35 insertions, 0 deletions
diff --git a/tasksel-debconf b/tasksel-debconf
new file mode 100755
index 0000000..1d54110
--- /dev/null
+++ b/tasksel-debconf
@@ -0,0 +1,35 @@
+#!/bin/sh
+# because debconf sucks
+. /usr/share/debconf/confmodule
+set -e
+
+# provide an exit path, and abort if none is possible
+db_capb backup
+
+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's marked as seen, then
+# it must have been preseeded, and that overrides any defaults set by
+# tasksel.
+if [ "$question" = "tasksel/first" ]; then
+ db_fget $question seen
+ if [ "$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