This file is indexed.

/usr/share/debconf/confmodule.sh is in debconf 1.5.61.

This file is owned by root:root, with mode 0o644.

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
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
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                                                           
}