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
|
#!/bin/sh
# Debian bubble package post-installation script
# Copyright 1998, 1999 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
package=bubble
xserver=wibble
serverbin=wobble
cleanup () {
# unroll changes in bubble preinst
for file in /etc/X11/newxserver.$package; do
if [ -e $file ]; then
rm $file
fi
done;
}
trap "echo ;\
echo 'Received signal. Aborting configuration of bubble package.' ;\
echo -n 'Cleaning up...' ;\
cleanup ;\
echo 'done.' ;\
echo ;\
exit 1" 1 2 3 15
case "$1" in
configure) ;;
abort-upgrade|abort-remove|abort-deconfigure)
cleanup
exit 0 ;;
esac
if [ -d /usr/doc -a ! -e /usr/doc/bubble -a -d /usr/share/doc/bubble ]; then
ln -sf ../share/doc/bubble /usr/doc/bubble
fi
# I know there is redundant logic in some of the following, I'll rewrite it
# pretty someday
# while I'm at it, switch to string variables instead of numeric ones
fixname=0
prompt=0
oldxserverpresent=0
oldxserver=`head -1 /etc/X11/Xserver`
servername=`echo $oldxserver | sed 's/X11R6\/bin/bin\/X11/'`
if [ -x $oldxserver ]; then
oldxserverpresent=1
fi
if [ $oldxserverpresent = 1 ]; then
# case 1: we're just upgrading the existing server
if [ "$oldxserver" = "/usr/bin/X11/$serverbin" ]; then
prompt=0
# case 2: we're just upgrading, but need to canonicalize the pathname
elif [ "$servername" = "/usr/bin/X11/$serverbin" ]; then
fixname=1
# case 3: we're installing a new X server
elif [ -e /etc/X11/newxserver.$package ]; then
rm /etc/X11/newxserver.$package
prompt=1
$condecho
echo "Current default X server $oldxserver found."
echo -n "Do you want to make $xserver the default instead? (y/n) [n] "
default=n
# case 4: we're upgrading an alternative X server already installed
else
prompt=0
fi
else # old server not present
prompt=1
$condecho
echo -n "No default X server previously set, or previous default has been "
echo "removed."
echo -n "Do you want to make the $xserver X server the default? (y/n) [y] "
default=y
fi
if [ $prompt = 1 ]; then
condecho=echo
read input
case "$input" in
Y|y) input=y ;;
N|n) input=n ;;
'') input=$default ;;
*)
echo "'$input' not understood. Using default of '$default'."
input=$default
;;
esac
fi
if [ "$input" = "y" -o $fixname = 1 ]; then
mv /etc/X11/Xserver /etc/X11/Xserver.debian.$$
sed -e "1s/^.*$/\\/usr\\/bin\\/X11\\/$serverbin/" \
/etc/X11/Xserver.debian.$$ > /etc/X11/Xserver
rm /etc/X11/Xserver.debian.$$
if [ $fixname = 0 ]; then
$condecho
echo "The $xserver X server is now the default."
condecho=echo
fi
fi
# invoke xserver-configure
if command -v xserver-configure > /dev/null 2>&1; then
. /usr/sbin/xserver-configure
fi
exit
|