79 lines
1.5 KiB
Plaintext
79 lines
1.5 KiB
Plaintext
#!/sbin/runscript
|
|
#
|
|
# $Id$
|
|
#
|
|
# description: Starts and stops the MBSE BBS.
|
|
#
|
|
# For Gentoo GNU/Linux (by Capitán X).
|
|
|
|
# Find the MBSE_ROOT from the /etc/passwd file.
|
|
|
|
MBSE_ROOT=`cat /etc/passwd | grep mbse: | awk -F ':' '{ print $6}'`
|
|
|
|
if [ "${MBSE_ROOT}" = "" ]; then
|
|
echo "MBSE BBS: No 'mbse' user in the password file."
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -d ${MBSE_ROOT} ]; then
|
|
echo "MBSE BBS: Home directory '${MBSE_ROOT}' not found."
|
|
exit 1
|
|
fi
|
|
|
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin:${MBSE_ROOT}/bin
|
|
DAEMON=${MBSE_ROOT}/bin/mbtask
|
|
NAME=mbsebbs
|
|
DESC="MBSE BBS"
|
|
|
|
export MBSE_ROOT
|
|
|
|
depend() {
|
|
use net xinetd
|
|
need localmount
|
|
}
|
|
|
|
start() {
|
|
|
|
ebegin "Starting mbse"
|
|
rm -f ${MBSE_ROOT}/var/run/*
|
|
rm -f ${MBSE_ROOT}/var/sema/*
|
|
rm -f ${MBSE_ROOT}/var/*.LCK
|
|
rm -f ${MBSE_ROOT}/tmp/mb*
|
|
su mbse -c '${MBSE_ROOT}/bin/mbtask' >/dev/null
|
|
echo -n "mbtask "
|
|
sleep 2
|
|
if [ -f ${MBSE_ROOT}/etc/config.data ]; then
|
|
su mbse -c '${MBSE_ROOT}/bin/mbstat open -quiet'
|
|
echo -n "opened "
|
|
fi
|
|
eend $? "Loading error."
|
|
|
|
}
|
|
|
|
stop() {
|
|
|
|
ebegin "Stopping mbse"
|
|
if [ -f ${MBSE_ROOT}/var/run/mbtask ]; then
|
|
echo -n "logoff users "
|
|
su mbse -c '${MBSE_ROOT}/bin/mbstat close wait -quiet' >/dev/null
|
|
echo -n " stopping mbtask"
|
|
kill `cat ${MBSE_ROOT}/var/run/mbtask`
|
|
i=10
|
|
doit=1
|
|
while let 'i > 0' && let 'doit != 0'
|
|
do
|
|
if [ -f ${MBSE_ROOT}/var/run/mbtask ]; then
|
|
echo -n "."
|
|
sleep 1
|
|
let i=i-1
|
|
else
|
|
doit=0
|
|
fi
|
|
done
|
|
if [ -f ${MBSE_ROOT}/var/run/mbtask ]; then
|
|
kill -9 `cat ${MBSE_ROOT}/var/run/mbtask`
|
|
fi
|
|
fi
|
|
eend $? "Stopping error."
|
|
}
|