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
|
#!/bin/sh
# Debian wdm package configuration script
# Copyright 2001 Branden Robinson.
# Copyright 2005 Vladimir Shakhov.
# 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=wdm
DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
# set default display manager
db_get shared/default-x-display-manager
OLD_DEFAULT="$RET"
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
# hack to upgrade from /usr/X11/bin/wdm to /usr/bin/wdm
# for versions upgrade from early than 1.28-2
NEW_WDM_DAEMON="/usr/bin/wdm"
OLD_WDM_INSTALLED="no"
if grep -qsv $NEW_WDM_DAEMON $DEFAULT_DISPLAY_MANAGER_FILE ; then
OLD_WDM_INSTALLED="yes"
fi
if [ "$OWNERS" != "$CHOICES" ]; then
echo "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=$(basename "$(grep -v '^[[:space:]]*#' \
"$DEFAULT_DISPLAY_MANAGER_FILE" |
head -n 1)")
if [ -n "$CURRENT_DEFAULT" ]; then
if ! which "$CURRENT_DEFAULT" >/dev/null 2>&1; then
echo "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
echo "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
# vim:set ai et sts=2 sw=2 tw=0:
|