summaryrefslogtreecommitdiff
path: root/beagle/debian-rfs/usr/share/debconf/confmodule
diff options
context:
space:
mode:
Diffstat (limited to 'beagle/debian-rfs/usr/share/debconf/confmodule')
-rw-r--r--beagle/debian-rfs/usr/share/debconf/confmodule91
1 files changed, 91 insertions, 0 deletions
diff --git a/beagle/debian-rfs/usr/share/debconf/confmodule b/beagle/debian-rfs/usr/share/debconf/confmodule
new file mode 100644
index 0000000..a82cbdb
--- /dev/null
+++ b/beagle/debian-rfs/usr/share/debconf/confmodule
@@ -0,0 +1,91 @@
+#!/bin/sh
+# This is a shell library to interface to the Debian configuration management
+# system.
+
+###############################################################################
+# Initialization.
+
+# Check to see if a FrontEnd is running.
+if [ ! "$DEBIAN_HAS_FRONTEND" ]; then
+ PERL_DL_NONLAZY=1
+ export PERL_DL_NONLAZY
+ # Since there is no FrontEnd, this program execs a FrontEnd.
+ # It will then run a new copy of $0 that can talk to it.
+ if [ "$DEBCONF_USE_CDEBCONF" ]; then
+ exec /usr/lib/cdebconf/debconf $0 "$@"
+ else
+ exec /usr/share/debconf/frontend $0 "$@"
+ fi
+fi
+
+# Only do this once.
+if [ -z "$DEBCONF_REDIR" ]; then
+ # Redirect standard output to standard error. This prevents common
+ # mistakes by making all the output of the postinst or whatever
+ # script is using this library not be parsed as confmodule commands.
+ #
+ # To actually send something to standard output, send it to fd 3.
+ exec 3>&1
+ if [ "$DEBCONF_USE_CDEBCONF" ]; then
+ exec 1>&5
+ else
+ exec 1>&2
+ fi
+ DEBCONF_REDIR=1
+ export DEBCONF_REDIR
+fi
+
+###############################################################################
+# Commands.
+
+_db_cmd () {
+ IFS=' ' printf '%s\n' "$*" >&3
+ # Set to newline to get whole line.
+ IFS='
+' read -r _db_internal_line
+ # Disgusting, but it's the only good way to split the line,
+ # preserving all other whitespace.
+ RET="${_db_internal_line#[! ][ ]}"
+ case ${_db_internal_line%%[ ]*} in
+ 1) # escaped data
+ RET="$(printf '%s' "$RET" | debconf-escape -u)"
+ return 0
+ ;;
+ esac
+ return ${_db_internal_line%%[ ]*}
+}
+
+db_capb () { _db_cmd "CAPB $@"; }
+db_set () { _db_cmd "SET $@"; }
+db_reset () { _db_cmd "RESET $@"; }
+db_title () { _db_cmd "TITLE $@"; }
+db_input () { _db_cmd "INPUT $@"; }
+db_beginblock () { _db_cmd "BEGINBLOCK $@"; }
+db_endblock () { _db_cmd "ENDBLOCK $@"; }
+db_go () { _db_cmd "GO $@"; }
+db_get () { _db_cmd "GET $@"; }
+db_register () { _db_cmd "REGISTER $@"; }
+db_unregister () { _db_cmd "UNREGISTER $@"; }
+db_subst () { _db_cmd "SUBST $@"; }
+db_fset () { _db_cmd "FSET $@"; }
+db_fget () { _db_cmd "FGET $@"; }
+db_purge () { _db_cmd "PURGE $@"; }
+db_metaget () { _db_cmd "METAGET $@"; }
+db_version () { _db_cmd "VERSION $@"; }
+db_clear () { _db_cmd "CLEAR $@"; }
+db_settitle () { _db_cmd "SETTITLE $@"; }
+db_previous_module () { _db_cmd "PREVIOUS_MODULE $@"; }
+db_info () { _db_cmd "INFO $@"; }
+db_progress () { _db_cmd "PROGRESS $@"; }
+db_data () { _db_cmd "DATA $@"; }
+db_x_loadtemplatefile () { _db_cmd "X_LOADTEMPLATEFILE $@"; }
+
+# An old alias for input.
+db_text () {
+ db_input $@
+}
+
+# Cannot read a return code, since there is none and it would block.
+db_stop () {
+ echo STOP >&3
+}