File: lessdisks-xconfigurator

package info (click to toggle)
lessdisks 0.5.3cvs.20040906-16
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,480 kB
  • ctags: 271
  • sloc: sh: 3,058; makefile: 92
file content (80 lines) | stat: -rwxr-xr-x 1,964 bytes parent folder | download
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
#!/bin/sh

# crude and rudimentary script to use xdebconfigurator
# to configure X and XF86Config

debconf_cache=/var/cache/debconf

dirs="$debconf_cache"

. /etc/lessdisks/server.config

# debconf get and set commands
d_get () {
  echo "GET $1" | debconf-communicate | awk '{print $2}'
}

d_set () {
  echo "SET $@" | debconf-communicate
}

if [ -z "$rw" ]; then
  rw=/var/state/lessdisks
fi

cd $rw

# TODO only populate the new debconf database with values relevent to dexconf,
#   which would save a lot of ram
tar cpf - $dirs | tar xpf - 

for a in $dirs ; do
  mount --bind $rw/$a $a
done

# TODO only use certain xdebconfigurator options...
xdebconfigurator > /tmp/somelogfile 2>&1

# TODO test for existance of debconf-communicate
keyboard_model="$(d_get xserver-xfree86/config/inputdevice/keyboard/model)"
if [ -z "$keyboard_model" ]; then
  echo "WARNING: keyboard not detected, setting keyboard model to pc104"
  d_set xserver-xfree86/config/inputdevice/keyboard/model pc104
fi

test -r $rw/etc/XF86Config && mv -f $rw/etc/XF86Config $rw/etc/XF86Config.old
test -r $rw/etc/XF86Config-4 && mv -f $rw/etc/XF86Config-4 $rw/etc/XF86Config-4.old
dexconf -o $rw/etc/XF86Config

cd $rw/etc

xserver_package=$(d_get shared/default-x-server)

case $xserver_package in
  xserver-xfree86) x_link=XFree86 ;;
  *) x=$(echo $xserver_package | cut -d "-" -f 2 | tr [A-Z] [a-z]) 
  XF86_$x ;;
esac

test -e X && mv -f X X.old
if [ -x /usr/bin/X11/$x_link ]; then
  ln -sf /usr/bin/X11/$x_link X
elif [ -x /usr/X11R6/bin/$x_link ]; then
  ln -sf /usr/X11R6/bin/$x_link X
elif [ -x /usr/bin/$x_link ]; then
  ln -sf /usr/bin/$x_link X
else
  echo "WARNING: X server $x_link not installed"
  echo "you may need to:"
  echo "apt-get install $xserver_package"
  # package can be installed later, so make a best guess...
  ln -sf /usr/bin/X11/$x_link X
  sleep 10
fi

# clear these out, since they take up so much ram...
for d in $dirs; do
  rm -rf $rw/$d
done

umount $dirs