#!/bin/sh # Slackware build script for "bitlbee". # Copyright 2007-2016 Michiel van Wessem, Leicester, United Kingdom # Copyright 2016 Marcel Saegebarth # Copyright 2016 Avinash H. Duduskar # Copyright 2023 Sergei Fedosoff # # 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