#!/bin/sh # Debian kdm 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=kdm-kde3 # 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) # both the binaries for kdm and kdm-kde4 share the same basename # so we need to check if it's kdm-kde4 or another display manager if [ "$CURRENT_DEFAULT" = "/usr/lib/kde4/bin/kdm" ]; then CURRENT_DEFAULT=${THIS_PACKAGE}-kde4 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