8
8
db_set isdnvboxserver/dummy donetwice # next time, do it again
11
if [ ! -c $DEVDIR/ttyI6 ]; then
12
if grep 'type devfs' /proc/mounts >/dev/null; then
16
echo "Note: running MAKEDEV to create ISDN tty devices in /dev..."
17
/sbin/MAKEDEV isdn-tty
10
21
# Do this first, so we can shortcut the rest
11
22
if ! egrep -q '#-- isdn(vboxserver|utils) begin' /etc/inittab; then
12
23
# I hate having to cater for history
13
24
if ! egrep -q vboxgetty /etc/inittab; then
14
25
db_get isdnvboxserver/doinit || true
15
26
if [ $RET = yes ]; then
16
28
cat >>/etc/inittab <<EOF
17
29
#-- isdnvboxserver begin
18
I6:2345:respawn:/usr/sbin/vboxgetty -d /dev/ttyI6
30
I6:2345:respawn:/usr/sbin/vboxgetty -d $DEVDIR/ttyI6
19
31
#-- isdnvboxserver end
22
34
cat >>/etc/inittab <<EOF
23
35
#-- isdnvboxserver begin
24
#I6:2345:respawn:/usr/sbin/vboxgetty -d /dev/ttyI6
36
#I6:2345:respawn:/usr/sbin/vboxgetty -d $DEVDIR/ttyI6
25
37
#-- isdnvboxserver end
30
# restart with possibly changed parameters
31
if killall -q vboxgetty 2>/dev/null; then
34
for i in /var/run/vboxgetty-*.pid; do
35
kill `cat $i 2>/dev/null || true` 2>/dev/null || true # sheesh
42
if grep vboxgetty /etc/inittab >/dev/null; then
43
# perhaps inittab still contains the pre-devfs device name,
44
# check it and give a notice if it's wrong (either way).
45
DEV=`grep vboxgetty /etc/inittab | sed 's,.*-d *\(/dev[^ ]*\).*,\1,'`
46
if [ -z "$DEV" ]; then
47
: # ok, no device found?
49
if [ -c "$DEV" ]; then
52
oldDEVDIR=`expr "$DEV" : "\(.*\)/"`
53
if [ "$oldDEVDIR" != "$DEVDIR" ]; then
54
db_get isdnvboxserver/devfs_inittab || true
59
# restart with possibly changed parameters
60
if killall -q vboxgetty 2>/dev/null; then
63
for i in /var/run/vboxgetty-*.pid; do
64
kill `cat $i 2>/dev/null || true` 2>/dev/null || true # sheesh
39
69
# Doing this now isn't so bad, even though perhaps the config files
54
# if ! grep -q '^vbox:' /etc/passwd; then
84
# if ! getent passwd vbox; then
55
85
# stderr="`adduser --system --home /var/spool/vbox --ingroup dialout --disabled-password --gecos 'vbox daemons' vbox 2>&1`"
56
86
# if [ $? -ne 0 ]; then
57
87
# db_subst isdnvboxserver/adduserfailed MSG "$stderr"
65
95
if [ -s /etc/isdn/vboxgetty.conf ]; then
67
97
eval `perl -- - /etc/isdn/vboxgetty.conf <<'EOF'
68
while (<>) { last if m,^port /dev/ttyI6,; }
99
if (m,^port (/dev/(isdn/)?)ttyI6,) {
100
print "oldDEVDIR=$1\n";
71
106
if (/^\s+spooldir\s+(\S+)/) {
92
131
VBOX_USER=`echo "$RET" | tr -d ' '`
93
132
if [ ! -z "$VBOX_USER" ]; then
94
133
db_get isdnvboxserver/password || true
95
VBOX_PASSWORD=$(echo "$RET" | tr -d ' ')
134
VBOX_PASSWORD=$(echo "$RET" | sed 's,^ *,,' | sed 's, *$,,')
97
136
db_get isdnvboxserver/daemonuser || true
98
137
VBOX_DUSER=`echo "$RET" | tr -d ' '`
172
211
VBOX_USERSPOOL=/vvaarr/ssppooooll/vvbbooxx/doesntexist_2
174
213
# now we're free to create the new one
175
mkdir -p "$VBOX_SPOOL"
214
mkdir -p "$VBOX_SPOOL/incoming" "$VBOX_SPOOL/messages"
215
cp /usr/share/isdnvboxserver/default/standard.tcl "$VBOX_SPOOL/."
176
216
db_subst isdnvboxserver/spoolcreate NEWSPOOL "$VBOX_SPOOL"
177
217
db_input low isdnvboxserver/spoolcreate || true
214
254
elif [ ! -d "$VBOX_SPOOL" ]; then
215
255
# on initial installation it won't exist, and "old" name == new name
216
256
# so create it here if necessary
217
mkdir -p "$VBOX_SPOOL"
257
mkdir -p "$VBOX_SPOOL/incoming" "$VBOX_SPOOL/messages"
258
cp /usr/share/isdnvboxserver/default/standard.tcl "$VBOX_SPOOL/."
218
259
db_subst isdnvboxserver/spoolcreate NEWSPOOL "$VBOX_SPOOL"
219
260
db_input low isdnvboxserver/spoolcreate || true
241
282
if [ ! -z "$VBOX_DUSER" ]; then
242
VBOX_USERHOME=`grep "^$VBOX_DUSER:" /etc/passwd | cut -f6 -d:`
283
VBOX_USERHOME=`getent passwd "$VBOX_DUSER" | cut -f6 -d:`
243
284
if [ ! -z "$VBOX_USERHOME" ]; then
244
285
if [ -d "$VBOX_SPOOL" ]; then
245
286
chown -R "$VBOX_DUSER" "$VBOX_SPOOL"
275
316
mv -f /etc/isdn/vboxgetty.conf /etc/isdn/vboxgetty.conf.bak || echo "mv 4 failed"
276
317
perl -- - > /etc/isdn/vboxgetty.conf <<EOF
277
318
open(STDIN, '/etc/isdn/vboxgetty.conf.bak');
278
while (<>) { print; last if m,^port /dev/ttyI6,; }
319
while (<>) { print; last if m,^port /dev/(isdn/)?ttyI6,; }