blob: 04c8a9af86c6e5b7974bc81b63c38bc05c47257d (
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
#! /bin/sh
set -e
# source debconf library
. /usr/share/debconf/confmodule
# debconf is not a registry, so we only fiddle with the default file if it
# does not exist
DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp" ]; then
cp -Rp "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp" "$DEFAULT_DISPLAY_MANAGER_FILE"
fi
if [ ! -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
DEFAULT_DISPLAY_MANAGER=kdm-trinity
if db_get shared/default-x-display-manager; then
DEFAULT_DISPLAY_MANAGER="$RET"
fi
if [ -n "$DEFAULT_DISPLAY_MANAGER" ]; then
DAEMON_NAME=
if db_get "$DEFAULT_DISPLAY_MANAGER"/daemon_name; then
DAEMON_NAME="$RET"
fi
if [ ! -n "$DAEMON_NAME" ]; then
# if we were unable to determine the name of the selected daemon (for
# instance, if the selected default display manager doesn't provide a
# daemon_name question), guess
DAEMON_NAME=$(which "$DEFAULT_DISPLAY_MANAGER" 2>/dev/null)
if [ ! -n "$DAEMON_NAME" ]; then
echo .
# FIXME - redo this part uses shell-lib.sh from xfree86
#warn "unable to determine path to default X display manager" \
# "$DEFAULT_DISPLAY_MANAGER; not updating" \
# "$DEFAULT_DISPLAY_MANAGER_FILE"
fi
fi
if [ -n "$DAEMON_NAME" ]; then
# FIXME - redo this part uses shell-lib.sh from xfree86
#observe "committing change of default X display manager"
echo "$DAEMON_NAME" > "$DEFAULT_DISPLAY_MANAGER_FILE"
fi
fi
fi
# remove the displaced old default display manager file if it exists
if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp" ]; then
rm "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp"
fi
# restarting the daemon may cause output to stdout
db_stop
# don't start kdm if we are upgrading without stopping it
NOSTART=
if [ -e /var/run/kdm-trinity.upgrade ]; then
NOSTART=yes
fi
# or if we're currently in X on the display it attempts to manage by default
for HOST in "" \
"localhost" \
"$(hostname 2> /dev/null)" \
"$(hostname -f 2> /dev/null)"; do
if echo "$DISPLAY" | grep -q "^$HOST:0.*"; then
NOSTART=yes
break
fi
done
# or if it's already running
if start-stop-daemon --stop --quiet --signal 0 --pid /var/run/kdm.pid --name kdm-trinity; then
NOSTART=yes
fi
# or if the options file says not to
if ! grep -qs ^restart-on-upgrade /etc/trinity/kdm/kdm.options; then
NOSTART=yes
fi
# md5sum of the stock Xservers shipped with KDE 3.3.2, which shipped with Sarge
SARGEXSERVERS=d3ab063f564492e0e31830f56ccd350e
CONFIGLEVEL=`grep -s ^ConfigVersion= /etc/trinity/kdm/kdmrc | sed s/^ConfigVersion=//`
if [ -e /etc/trinity/kdm/kdmrc ]; then
if dpkg --compare-versions "$CONFIGLEVEL" ge "2.3"; then
KDMRCUPDATED=yes
fi
fi
if [ -e /etc/trinity/kdm/Xservers ]; then
if [ `md5sum /etc/trinity/kdm/Xservers | sed s/\ .*$//` = $SARGEXSERVERS ]; then
XSERVERSUNCHANGED=yes
fi
fi
# With KDE 3.4, /etc/trinity/kdm/Xservers is no longer required, so we remove it, if
# the user has updated their kdmrc (if they haven't, kdm notices and keeps using
# Xservers), and if it wasn't touched, i.e. there are no local changes the user
# will want to merge into kdmrc.
case "$1" in
configure)
if [ ! -z $KDMRCUPDATED ] && [ ! -z $XSERVERSUNCHANGED ]; then
echo "Removing obsolete /etc/trinity/kdm/Xservers (detected no user changes)."
rm -f /etc/trinity/kdm/Xservers
elif [ ! -z $KDMRCUPDATED ] && [ -e /etc/trinity/kdm/Xservers ]; then
echo "Note that /etc/trinity/kdm/Xservers is no longer used by KDM."
echo "You must merge your changes (if any) into /etc/trinity/kdm/kdmrc manually."
echo "Otherwise, /etc/trinity/kdm/Xservers is safe to remove."
fi
rm -f /etc/init.d/kdm-trinity
ln -s /lib/init/upstart-job /etc/init.d/kdm-trinity
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
exit 0
|