53 lines
1.6 KiB
Bash
53 lines
1.6 KiB
Bash
|
#!/bin/bash
|
||
|
#
|
||
|
# $Id: rundoor.sh,v 1.8 2004/11/05 11:53:47 mbse Exp $
|
||
|
#
|
||
|
# Never call this script directly, create a symlink to this file with the
|
||
|
# name of the door. For example to run the door ilord do:
|
||
|
# cd /opt/mbse/bin
|
||
|
# ln -s rundoor.sh ilord
|
||
|
#
|
||
|
# In the bbs menu use the following line for Opt. Data:
|
||
|
# /opt/mbse/bin/ilord /N [novirtual]
|
||
|
#
|
||
|
# The optional "novirtual" second paramter disables the use of the virtual
|
||
|
# comport in dosemu, this is for dos programs that are not doors.
|
||
|
#
|
||
|
# This is for dosemu 1.2.0 and later and runs the door as user.
|
||
|
#
|
||
|
# by Redy Rodriguez and Michiel Broek.
|
||
|
|
||
|
DOOR=`basename $0`
|
||
|
COMMANDO="\"doors $DOOR $*\r\""
|
||
|
DOSDRIVE=${MBSE_ROOT}/var/dosemu/c
|
||
|
|
||
|
# Prepare users home directory and node directory
|
||
|
if [ "$1" != "" ]; then
|
||
|
mkdir -p $DOSDRIVE/doors/node$1 >/dev/null 2>&1
|
||
|
# Copy door*.sys to dos partition
|
||
|
cat ~/door.sys >$DOSDRIVE/doors/node$1/door.sys
|
||
|
cat ~/door32.sys >$DOSDRIVE/doors/node$1/door32.sys
|
||
|
# Create .dosemu directory for the user.
|
||
|
if [ ! -d $HOME/.dosemu ]; then
|
||
|
mkdir $HOME/.dosemu
|
||
|
fi
|
||
|
# Looks cheap, see above, but this does an upgrade too
|
||
|
if [ ! -d $HOME/.dosemu/drives ]; then
|
||
|
mkdir $HOME/.dosemu/drives
|
||
|
fi
|
||
|
# Create .dosemu/disclaimer in user home to avoid warning
|
||
|
if [ ! -f $HOME/.dosemu/disclaimer ]; then
|
||
|
touch $HOME/.dosemu/disclaimer
|
||
|
fi
|
||
|
else
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# run the dos emulator with the door.
|
||
|
if [ "$2" == "novirtual" ]; then
|
||
|
/usr/bin/dosemu.bin -f ${MBSE_ROOT}/etc/dosemu/dosemu.conf -I "`echo -e keystroke $COMMANDO`"
|
||
|
else
|
||
|
/usr/bin/dosemu.bin -f ${MBSE_ROOT}/etc/dosemu/virtual.conf -I "`echo -e keystroke $COMMANDO`"
|
||
|
fi
|
||
|
|