File: postinst

package info (click to toggle)
xserver-rage128 0.990906-4
  • links: PTS
  • area: non-free
  • in suites: potato
  • size: 2,628 kB
  • ctags: 4
  • sloc: sh: 300; makefile: 32
file content (114 lines) | stat: -rw-r--r-- 2,997 bytes parent folder | download | duplicates (2)
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