summaryrefslogtreecommitdiffstats
path: root/debian/wheezy/metapackages/rename-meta/debian/kdm-trinity.postinst
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2013-07-18 02:23:03 +0200
committerSlávek Banko <slavek.banko@axis.cz>2013-07-20 04:25:20 +0200
commitc14d4f07234a1d66523bbf89b96f1b8388db923d (patch)
treeb0471132823394bad211096e06a234f90946620e /debian/wheezy/metapackages/rename-meta/debian/kdm-trinity.postinst
parentc7debbe08c7830f26b7080b5f84381202983e5b6 (diff)
downloadtde-packaging-c14d4f07234a1d66523bbf89b96f1b8388db923d.tar.gz
tde-packaging-c14d4f07234a1d66523bbf89b96f1b8388db923d.zip
Fix unregistration kdm-trinity as the default display manager in rename-meta on Debian and Ubuntu
Diffstat (limited to 'debian/wheezy/metapackages/rename-meta/debian/kdm-trinity.postinst')
-rw-r--r--debian/wheezy/metapackages/rename-meta/debian/kdm-trinity.postinst89
1 files changed, 89 insertions, 0 deletions
diff --git a/debian/wheezy/metapackages/rename-meta/debian/kdm-trinity.postinst b/debian/wheezy/metapackages/rename-meta/debian/kdm-trinity.postinst
new file mode 100644
index 000000000..e026f2bfe
--- /dev/null
+++ b/debian/wheezy/metapackages/rename-meta/debian/kdm-trinity.postinst
@@ -0,0 +1,89 @@
+#! /bin/sh
+# postinst script for kdm-trinity
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# debconf may not be available if some massive purging is going on
+HAVE_DEBCONF=
+if [ -e /usr/share/debconf/confmodule ]; then
+ . /usr/share/debconf/confmodule
+ HAVE_DEBCONF=yes
+fi
+
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+ if [ -n "$HAVE_DEBCONF" ]; then
+ # disown this question
+ db_unregister shared/default-x-display-manager || true
+ # does the question still exist?
+ if db_get shared/default-x-display-manager; then
+ if db_metaget shared/default-x-display-manager owners; 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 "$RET"
+ fi
+ DEFAULT_DISPLAY_MANAGER=
+ if db_get shared/default-x-display-manager; then
+ DEFAULT_DISPLAY_MANAGER="$RET"
+ fi
+ # are we removing the currently selected display manager?
+ if [ -n "$DEFAULT_DISPLAY_MANAGER" ]; then
+ if [ "kdm-trinity" = "$DEFAULT_DISPLAY_MANAGER" ]; then
+ if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+ if db_get "$DEFAULT_DISPLAY_MANAGER/daemon_name"; then
+ # does the display manager file reference the current default? if
+ # so, remove it because it will now be wrong
+ if [ -n "$RET" ]; then
+ if [ "$(cat "$DEFAULT_DISPLAY_MANAGER_FILE")" = "$RET" ]; then
+ rm "$DEFAULT_DISPLAY_MANAGER_FILE"
+ fi
+ fi
+ fi
+ fi
+ # ask the user to choose a new default
+ db_fset shared/default-x-display-manager seen false
+ db_input critical shared/default-x-display-manager || true
+ db_go
+ # if the default display manager file doesn't exist, write it with
+ # the path to the new default display manager
+ if [ ! -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+ DEFAULT_DISPLAY_MANAGER=
+ if db_get shared/default-x-display-manager; then
+ DEFAULT_DISPLAY_MANAGER="$RET"
+ fi
+ if [ -n "$DEFAULT_DISPLAY_MANAGER" ]; then
+ # FIXME - redo this part uses shell-lib.sh from xfree86
+ #warn "new default display manager has been selected; please be" \
+ # "sure to run \"dpkg-reconfigure $RET\" to ensure that it" \
+ # "is configured"
+ 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
+ echo "$DAEMON_NAME" > "$DEFAULT_DISPLAY_MANAGER_FILE"
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+
+exit 0
+