|
|
|
#!/bin/sh
|
|
|
|
# Debian tdm package configuration script
|
|
|
|
# stolen from the xdm scripts
|
|
|
|
# Copyright 2000--2003 Branden Robinson.
|
|
|
|
# Licensed under the GNU General Public License, version 2. See the file
|
|
|
|
# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# source debconf library
|
|
|
|
. /usr/share/debconf/confmodule
|
|
|
|
|
|
|
|
THIS_PACKAGE=tdm-trinity
|
|
|
|
|
|
|
|
# set default display manager
|
|
|
|
DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
|
|
|
|
|
|
|
|
OWNERS=
|
|
|
|
if db_metaget shared/default-x-display-manager owners; then
|
|
|
|
OWNERS="$RET"
|
|
|
|
fi
|
|
|
|
|
|
|
|
CHOICES=
|
|
|
|
if db_metaget shared/default-x-display-manager choices; then
|
|
|
|
CHOICES="$RET"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$OWNERS" != "$CHOICES" ]; then
|
|
|
|
# FIXME - redo this part uses shell-lib.sh from xfree86
|
|
|
|
# observe "X display managers now available are \"$OWNERS\""
|
|
|
|
db_subst shared/default-x-display-manager choices "$OWNERS"
|
|
|
|
db_fset shared/default-x-display-manager seen false
|
|
|
|
fi
|
|
|
|
|
|
|
|
# debconf is not a registry; use the current contents of the default display
|
|
|
|
# manager file to pre-answer the question if possible
|
|
|
|
if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
|
|
|
|
CURRENT_DEFAULT=$(grep -v '^[[:space:]]*#' \
|
|
|
|
"$DEFAULT_DISPLAY_MANAGER_FILE" |
|
|
|
|
head -n 1)
|
|
|
|
# the debconf configuration stores the package name,
|
|
|
|
# while the configuration files point to the binary name
|
|
|
|
# therefore tdm-trinity package name must be used for the tdm binary
|
|
|
|
if [ "$CURRENT_DEFAULT" = "/usr/bin/tdm" ]; then
|
|
|
|
CURRENT_DEFAULT=${THIS_PACKAGE}
|
|
|
|
else
|
|
|
|
CURRENT_DEFAULT=$(basename $CURRENT_DEFAULT)
|
|
|
|
fi
|
|
|
|
if [ -n "$CURRENT_DEFAULT" ]; then
|
|
|
|
# if ! which "$CURRENT_DEFAULT" > /dev/null 2>&1; then
|
|
|
|
# echo .
|
|
|
|
# FIXME - redo this part uses shell-lib.sh from xfree86
|
|
|
|
#observe "default display manager \"$CURRENT_DEFAULT\" specified in" \
|
|
|
|
# "$DEFAULT_DISPLAY_MANAGER_FILE does not exist or is not" \
|
|
|
|
# "executable"
|
|
|
|
# fi
|
|
|
|
db_set shared/default-x-display-manager "$CURRENT_DEFAULT"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
CURRENT_DEFAULT=
|
|
|
|
if db_get shared/default-x-display-manager; then
|
|
|
|
CURRENT_DEFAULT="$RET"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
db_input high shared/default-x-display-manager || true
|
|
|
|
db_go
|
|
|
|
|
|
|
|
# using this display manager?
|
|
|
|
NEW_DEFAULT=
|
|
|
|
if db_get shared/default-x-display-manager; then
|
|
|
|
NEW_DEFAULT="$RET"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# move the default display manager file if we're going to change it
|
|
|
|
if [ -n "$NEW_DEFAULT" ]; then
|
|
|
|
if [ "$NEW_DEFAULT" != "$CURRENT_DEFAULT" ]; then
|
|
|
|
if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
|
|
|
|
# FIXME - redo this part uses shell-lib.sh from xfree86
|
|
|
|
# observe "preparing to change default X display manager from" \
|
|
|
|
# "\"$CURRENT_DEFAULT\" to \"$NEW_DEFAULT\""
|
|
|
|
mv "$DEFAULT_DISPLAY_MANAGER_FILE" \
|
|
|
|
"$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
exit 0
|