diff options
author | François Andriot <[email protected]> | 2013-07-21 12:42:38 +0200 |
---|---|---|
committer | François Andriot <[email protected]> | 2013-07-21 12:42:38 +0200 |
commit | d2a5ae6eee8f77ba301f22a990fd68944c94d4ad (patch) | |
tree | 0bdfdcb57898584e87d89ab3a0172d5b6ce28ce6 /ubuntu/maverick/metapackages/rename-meta/debian/kdm-trinity.postinst | |
parent | 65166dbf185e59a4f874392b40c7f974e7ae5fb8 (diff) | |
parent | 0657be6a3626991da456db3946ed1ec316ce6fb7 (diff) | |
download | tde-packaging-d2a5ae6eee8f77ba301f22a990fd68944c94d4ad.tar.gz tde-packaging-d2a5ae6eee8f77ba301f22a990fd68944c94d4ad.zip |
Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/tde-packaging
Diffstat (limited to 'ubuntu/maverick/metapackages/rename-meta/debian/kdm-trinity.postinst')
-rw-r--r-- | ubuntu/maverick/metapackages/rename-meta/debian/kdm-trinity.postinst | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/ubuntu/maverick/metapackages/rename-meta/debian/kdm-trinity.postinst b/ubuntu/maverick/metapackages/rename-meta/debian/kdm-trinity.postinst new file mode 100644 index 000000000..e026f2bfe --- /dev/null +++ b/ubuntu/maverick/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 + |