#!/bin/sh # postinst script for debathena-cluster-login-config # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-remove' # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package #DEBHELPER# package=debathena-cluster-login-config ours=.debathena theirs=.debathena-orig undivert_unlink_symlink() { file="$1" ourfile="$2" theirfile="$3" if [ ! -L "$file" ] || \ [ "$(readlink "$file")" != "$(basename "$ourfile")" -a \ "$(readlink "$file")" != "$(basename "$theirfile")" ]; then echo "*** OMINOUS WARNING ***: $file is not linked to either $(basename "$ourfile") or $(basename "$theirfile")" >&2 else rm -f "$file" fi } undivert_unlink_divert() { file="$1" if [ ! -L "$file" ] && [ ! -e "$file" ]; then dpkg-divert --remove --rename --package "$package" "$file" else echo "Not removing diversion of $file by $package" >&2 fi } undivert_unlink() { prefix=$1 suffix=$2 file=$prefix$suffix ourfile=$prefix$ours$suffix theirfile=$prefix$theirs$suffix undivert_unlink_symlink "$file" "$ourfile" "$theirfile" undivert_unlink_divert "$file" "$package" } cleanup_old_diversion() { file="$1" if dpkg-divert --list "${file}" | grep -Fxq "diversion of ${file} to ${file}${theirs} by ${package}"; then undivert_unlink "$file" fi } rm_conffile() { local PKGNAME="$1" # Unused local CONFFILE="$2" if [ -f "$CONFFILE".dpkg-del ]; then rm -f "$CONFFILE".dpkg-del fi } case "$1" in configure) gdm_version="$(dpkg-query -W -f '${Version}' gdm)" if dpkg --compare-versions "$gdm_version" ge '2.25.2~'; then cleanup_old_diversion /etc/gdm/gdm.conf.debathena cleanup_old_diversion /etc/gdm/gdm.conf-custom.debathena fi if dpkg --compare-versions "$2" lt 1.24~; then rm_conffile debathena-cluster-login-config "/etc/event.d/ttymsg" rm_conffile debathena-cluster-login-config "/etc/init/ttymsg.conf" fi # Shut down sshd and reload gdm. if hash invoke-rc.d; then invoke-rc.d ssh stop invoke-rc.d gdm reload || true else /etc/init.d/ssh stop /etc/init.d/gdm reload || true fi # Make sure the gettys are running initctl stop ttymsg >/dev/null 2>&1 || true for i in $(seq 1 6); do initctl stop "tty$i" >/dev/null 2>&1 || true initctl start "tty$i" >/dev/null 2>&1 || true done # Configure dns-nameservers if they're not there if ! egrep -q '^[[:space:]]+dns-nameservers' /etc/network/interfaces; then echo ' dns-nameservers 18.70.0.160 18.71.0.151 18.72.0.3' >>/etc/network/interfaces /usr/share/update-notifier/notify-reboot-required fi # Attempt to initially set the root password. /usr/sbin/athena-root-password # Set mandatory gconf key values. gcsrc=xml:readwrite:/etc/gconf/gconf.xml.mandatory gc="gconftool-2 --direct --config-source=$gcsrc --set" gcunset="gconftool-2 --direct --config-source=$gcsrc --unset" # gnome-screensaver $gc -t bool /apps/gnome-screensaver/logout_enabled true $gc -t int /apps/gnome-screensaver/logout_delay 20 $gc -t string /apps/gnome-screensaver/logout_command \ "/usr/bin/gnome-session-save --force-logout" # KLUDGE: gnome-screensaver can overwrite its internal # logout_command setting with the embedded_keyboard_command # value (http://bugzilla.gnome.org/show_bug.cgi?id=573495). # So work around the problem by setting the latter to the same # value as the former. This should be removed after the bug # has been fixed. Also disable the embedded_keyboard to ensure # that this value is not used otherwise. $gc -t string /apps/gnome-screensaver/embedded_keyboard_command \ "/usr/bin/gnome-session-save --force-logout" $gc -t bool /apps/gnome-screensaver/embedded_keyboard_enabled false $gc -t bool /apps/gnome-screensaver/user_switch_enabled false $gc -t bool /apps/gnome-screensaver/lock_enabled true $gc -t int /apps/gnome-screensaver/lock_delay 1 # fast-user-switch-applet $gc -t bool /apps/fast-user-switch-applet/show_active_users_only true $gc -t bool /apps/fast-user-switch-applet/show_guest_login false # gnome-power-manager $gc -t bool /apps/gnome-power-manager/general/can_hibernate false $gc -t bool /apps/gnome-power-manager/general/can_suspend false # We set this true in earlier versions, before settings were # undone in the prerm script, but we want it unset now. $gcunset /desktop/gnome/lockdown/disable_user_switching # Set up gconf defaults. gcsrc=xml:readwrite:/etc/gconf/gconf.xml.defaults gc="gconftool-2 --direct --config-source=$gcsrc --set" $gc -t string \ /desktop/gnome/session/required_components/windowmanager \ "metacity" cat >>/etc/sudoers <&2 exit 1 ;; esac