~ubuntu-branches/ubuntu/jaunty/isdnutils/jaunty-proposed

« back to all changes in this revision

Viewing changes to debian/isdnvboxserver.postinst

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2004-09-04 08:20:20 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040904082020-g641px056lshw203
Tags: 1:3.3.0.20040728-2
* Put libcapi20 development files into new libcapi20-dev package,
  change libcapi20 soname to libcapi20-3, conflict with existing
  versions of packages depending on libcapi20-3 (closes: #268767).
* Update debconf translation strings (closes: #268716).
* Update french debconf translation (closes: #269666).

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
 
8
8
db_set isdnvboxserver/dummy donetwice # next time, do it again
9
9
 
 
10
DEVDIR=/dev
 
11
if [ ! -c $DEVDIR/ttyI6 ]; then
 
12
    if grep 'type devfs' /proc/mounts >/dev/null; then
 
13
        DEVDIR=/dev/isdn
 
14
    else
 
15
        cd /dev
 
16
        echo "Note: running MAKEDEV to create ISDN tty devices in /dev..."
 
17
        /sbin/MAKEDEV isdn-tty
 
18
    fi
 
19
fi
 
20
 
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
 
27
 
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
20
32
EOF
21
33
        else
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
26
38
EOF
27
39
        fi
28
40
    fi
29
41
else
30
 
    # restart with possibly changed parameters
31
 
    if killall -q vboxgetty 2>/dev/null; then
32
 
        : # ok
33
 
    else
34
 
        for i in /var/run/vboxgetty-*.pid; do
35
 
            kill `cat $i 2>/dev/null || true` 2>/dev/null || true # sheesh
36
 
        done
 
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?
 
48
        else
 
49
            if [ -c "$DEV" ]; then
 
50
                : # ok
 
51
            else
 
52
                oldDEVDIR=`expr "$DEV" : "\(.*\)/"`
 
53
                if [ "$oldDEVDIR" != "$DEVDIR" ]; then
 
54
                    db_get isdnvboxserver/devfs_inittab || true
 
55
                    db_go
 
56
                fi
 
57
            fi
 
58
        fi
 
59
        # restart with possibly changed parameters
 
60
        if killall -q vboxgetty 2>/dev/null; then
 
61
            : # ok
 
62
        else
 
63
            for i in /var/run/vboxgetty-*.pid; do
 
64
                kill `cat $i 2>/dev/null || true` 2>/dev/null || true # sheesh
 
65
            done
 
66
        fi
37
67
    fi
38
68
fi
39
69
# Doing this now isn't so bad, even though perhaps the config files
51
81
fi
52
82
 
53
83
# DONT ADD A USER!
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
66
96
    # only use ttyI6
67
97
    eval `perl -- - /etc/isdn/vboxgetty.conf <<'EOF'
68
 
        while (<>) { last if m,^port /dev/ttyI6,; }
 
98
        while (<>) {
 
99
            if (m,^port (/dev/(isdn/)?)ttyI6,) {
 
100
                print "oldDEVDIR=$1\n";
 
101
                last;
 
102
            }
 
103
        }
69
104
        while (<>) {
70
105
            last if m,^port,;
71
106
            if (/^\s+spooldir\s+(\S+)/) {
75
110
        }
76
111
EOF
77
112
    `
 
113
    if [ "$oldDEVDIR" != "$DEVDIR/" ]; then
 
114
        db_get isdnvboxserver/devfs_vboxgettyconf || true
 
115
        db_go
 
116
    fi
78
117
fi
79
118
if [ -s /etc/isdn/vboxd.conf ]; then
80
119
    eval `perl -- - /etc/isdn/vboxd.conf <<'EOF'
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, *$,,')
96
135
fi
97
136
db_get isdnvboxserver/daemonuser || true
98
137
VBOX_DUSER=`echo "$RET" | tr -d ' '`
172
211
            VBOX_USERSPOOL=/vvaarr/ssppooooll/vvbbooxx/doesntexist_2
173
212
        else
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
178
218
            db_go
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
220
261
    db_go
239
280
#XXXfi
240
281
 
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,; }
279
320
        while (<>) {
280
321
            if (m,^port,) {
281
322
            print;