0
Files
slackbuilds/bitlbee/rc.bitlbee
2023-11-19 18:01:40 +03:00

95 lines
2.7 KiB
Bash

#!/bin/sh
# Slackware build script for "bitlbee".
# Copyright 2007-2016 Michiel van Wessem, Leicester, United Kingdom
# Copyright 2016 Marcel Saegebarth <marc@mos6581.de>
# Copyright 2016 Avinash H. Duduskar <avinash.duduskar@gmail.com>
# Copyright 2023 Sergei Fedosoff <eleksir@gmail.com>
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# /etc/rc.d/rc.bitlbee - Start/stop/restart the bitlbee daemon.
# To make bitlbee start automatically at boot, make this
# file executable: chmod 0755 /etc/rc.d/rc.bitlbee and add it
# to slackware's startup scripts (ie: rc.local)
#
source /etc/defaults/bitlbee
BITLBEE_CONFIG="/etc/bitlbee/bitlbee.conf"
PIDFILE="/run/bitlbee.pid"
SOCKFILE="/run/bitlbee.sock"
bitlbee_start() {
# make sure bitlbee isn't running yet
if [ ! -f $PIDFILE ]; then
/usr/sbin/bitlbee -P $PIDFILE $BITLBEE_OPTS
else
echo "bitlbee is already active and running under PID: $(cat $PIDFILE)"
echo "if you think this is wrong, remove the offending PID file"
echo "and restart bitlbee"
exit 1
fi
}
bitlbee_stop() {
echo -n "Stopping bitlbee..."
if [ -r $PIDFILE ]; then
kill $(cat $PIDFILE)
for i in 1 2 3; do
if [ -f $PIDFILE ]; then
sleep 1
fi
done
if [ -r $PIDFILE ]; then
kill -9 $(cat $PIDFILE) 2>/dev/null
rm $PIDFILE
fi
echo "done"
else
echo "Unable to find $PIDFILE and stop bitlbee"
fi
}
# Let's see how we are being called.
case "$1" in
start)
bitlbee_start
;;
stop)
bitlbee_stop
;;
restart)
bitlbee_stop
sleep 3
bitlbee_start
;;
*)
echo "Usage: $(basename $0) {start|stop|restart}"
exit 1
;;
esac