diff options
Diffstat (limited to 'debian/lightdm.prerm')
-rw-r--r-- | debian/lightdm.prerm | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/debian/lightdm.prerm b/debian/lightdm.prerm new file mode 100644 index 0000000..84e020e --- /dev/null +++ b/debian/lightdm.prerm @@ -0,0 +1,65 @@ +#!/bin/bash +# Debian lightdm package pre-removal script +# © 2010 Yves-Alexis Perez, using lightdm script which is +# Copyright 2001 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>. +# Acknowlegements to Stephen Early, Mark Eichin, and Manoj Srivastava. + +set -e + +THIS_PACKAGE=lightdm +DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager + +if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then + if [ -e /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule + # 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 + db_metaget shared/default-x-display-manager owners + db_subst shared/default-x-display-manager choices "$RET" + db_get shared/default-x-display-manager + # are we removing the currently selected display manager? + if [ "$THIS_PACKAGE" = "$RET" ]; then + if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then + db_get "$RET"/daemon_name + if [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" = "$RET" ]; then + rm "$DEFAULT_DISPLAY_MANAGER_FILE" + 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 display manager file doesn't exist, write it with the path + # to the new default display manager + if [ ! -e $DEFAULT_DISPLAY_MANAGER_FILE ]; then + db_get shared/default-x-display-manager + echo "Please be sure to run \"dpkg-reconfigure $RET\"." + db_get "$RET"/daemon_name + echo "$RET" > "$DEFAULT_DISPLAY_MANAGER_FILE" + fi + fi + fi + fi +fi + +if [ "$1" = "remove" ]; then + if [ -x /etc/init.d/lightdm ]; then + nostop= + for hostname in "" "localhost" "$(hostname)" "$(hostname -f)"; do + if echo $DISPLAY | grep -q "^$hostname:0.*"; then + nostop=yes + fi + done + if [ -z $nostop ]; then + invoke-rc.d lightdm stop + fi + fi +fi + +#DEBHELPER# + +exit 0 |