summaryrefslogtreecommitdiffstats
path: root/ubuntu/maverick/tdebase/debian/kdm-trinity.config
blob: 3525d77400d6081df26f017586a2b29c0fb56166 (plain)
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
#!/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-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)
  # 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