summaryrefslogtreecommitdiff
path: root/beagle/debian-rfs/usr/share/debconf/confmodule.sh
diff options
context:
space:
mode:
Diffstat (limited to 'beagle/debian-rfs/usr/share/debconf/confmodule.sh')
-rw-r--r--beagle/debian-rfs/usr/share/debconf/confmodule.sh100
1 files changed, 100 insertions, 0 deletions
diff --git a/beagle/debian-rfs/usr/share/debconf/confmodule.sh b/beagle/debian-rfs/usr/share/debconf/confmodule.sh
new file mode 100644
index 0000000..415b361
--- /dev/null
+++ b/beagle/debian-rfs/usr/share/debconf/confmodule.sh
@@ -0,0 +1,100 @@
+#!/bin/sh
+# This is a shell library to interface to the Debian configration management
+# system.
+#
+# This library is obsolete. Do not use.
+
+###############################################################################
+# Initialization.
+
+# Check to see if a FrontEnd is running.
+if [ ! "$DEBIAN_HAS_FRONTEND" ]; then
+ PERL_DL_NONLAZY=1
+ export PERL_DL_NONLAZY
+ # Ok, this is pretty crazy. Since there is no FrontEnd, this
+ # program execs a FrontEnd. It will then run a new copy of $0 that
+ # can talk to it.
+ exec /usr/share/debconf/frontend $0 $*
+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 1>&2
+ DEBCONF_REDIR=1
+ export DEBCONF_REDIR
+fi
+
+# For internal use, send text to the frontend.
+_command () {
+ echo $* >&3
+}
+
+echo "WARNING: Using deprecated debconf compatibility library."
+
+###############################################################################
+# Commands.
+
+# Generate subroutines for all commands that don't have special handlers.
+# Each command must be listed twice, once in lower case, once in upper.
+# Doing that saves us a lot of calls to tr at load time. I just wish shell had
+# an upper-case function.
+old_opts="$@"
+for i in "capb CAPB" "set SET" "reset RESET" "title TITLE" \
+ "input INPUT" "beginblock BEGINBLOCK" "endblock ENDBLOCK" "go GO" \
+ "get GET" "register REGISTER" "unregister UNREGISTER" "subst SUBST" \
+ "fset FSET" "fget FGET" "visible VISIBLE" "purge PURGE" \
+ "metaget METAGET" "exist EXIST" \
+ "x_loadtemplatefile X_LOADTEMPLATEFILE"; do
+ # Break string up into words.
+ set -- $i
+ eval "db_$1 () {
+ _command \"$2 \$@\"
+ read _RET
+ old_opts="\$@"
+ set -- \$_RET
+ shift
+ RET="\$*"
+ set -- \$old_opts
+ unset old_opts
+ }"
+done
+# $@ was clobbered above, unclobber.
+set -- $old_opts
+unset old_opts
+
+# By default, 1.0 protocol version is sent to the frontend. You can
+# pass in a different version to override this.
+db_version () {
+ if [ "$1" ]; then
+ _command "VERSION $1"
+ else
+ _command "VERSION 1.0"
+ fi
+ # Not quite correct, but not worth fixing in obsolete code.
+ read -r RET
+}
+
+# Here for backwards compatibility.
+db_go () {
+ _command "GO"
+ read -r RET
+ if [ "$RET" = 30 ]; then
+ RET='back'
+ fi
+}
+
+# Just an alias for input. It tends to make more sense to use this to display
+# text, since displaying text isn't really asking for input.
+db_text () {
+ db_input $@
+}
+
+# Cannot read a return code, since there is none and we would block.
+db_stop () {
+ echo STOP >&3
+}