#!/bin/sh # Copyright (c) 1995-2014 SUSE Linux AG, Nuernberg, Germany. # All rights reserved. # # Author: Martin Caj # # /etc/init.d/bitlbee # # and it's symbolic link # # /usr/sbin/rcbitlbee # ### BEGIN INIT INFO # Provides: bitlbee # Required-Start: $remote_fs $syslog # Should-Start: # Required-Stop: $remote_fs $syslog # Should-Stop: # Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: Start bitblee IM to IRC gateway # Short-Description: IM to IRC gateway ### END INIT INFO # Check for missing binaries (stale symlinks should not happen) BITLBEE_BIN="/usr/sbin/bitlbee" BITLBEE_ETC="/etc/bitlbee" BITLBEE_PIDDIR="/var/run/bitlbee" BITLBEE_PID=""$BITLBEE_PIDDIR"/bitlbee.pid" BITLBEE_PARAM="-p $BITLBEE_PID" test -x $BITLBEE_BIN || { echo "$BITLBEE_BIN not installed"; if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } # /var/run might be tmfs, so if $BITLBEE_PIDDIR not exist yet create it now. if [ ! -d "$BITLBEE_PIDDIR" ]; then /bin/mkdir -p "$BITLBEE_PIDDIR" /bin/chown bitlbee.bitlbee "$BITLBEE_PIDDIR" fi # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status # rc_status check and set local and overall rc status # rc_status -v ditto but be verbose in local rc status # rc_status -v -r ditto and clear the local rc status # rc_status -s display "skipped" and exit with status 3 # rc_status -u display "unused" and exit with status 3 # rc_failed set local and overall rc status to failed # rc_failed set local and overall rc status to # rc_reset clear local rc status (overall remains) # rc_exit exit appropriate to overall rc status # rc_active checks whether a service is activated by symlinks # rc_splash arg sets the boot splash screen to arg (if active) . /etc/rc.status # First reset status of this service rc_reset # Return values acc. to LSB for all commands but status: # 0 - success # 1 - generic or unspecified error # 2 - invalid or excess argument(s) # 3 - unimplemented feature (e.g. "reload") # 4 - user had insufficient privileges # 5 - program is not installed # 6 - program is not configured # 7 - program is not running # 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) # # Note that starting an already running service, stopping # or restarting a not-running service as well as the restart # with force-reload (in case signaling is not supported) are # considered a success. case "$1" in start) echo -n "Starting bitlbee server" startproc $BITLBEE_PARAM $BITLBEE_BIN rc_status -v ;; stop) echo -n "Shutting down bitlbee server" killproc -TERM $BITLBEE_BIN rc_status -v ;; try-restart) $0 status >/dev/null && $0 restart rc_status ;; restart) $0 stop $0 start rc_status ;; # force-reload) # echo -n "Reload console mouse support (bitlbee)" # $0 stop && $0 start # rc_status # ;; # reload) # echo -n "Reload console mouse support (bitlbee)" # rc_failed 3 # rc_status -v # ;; status) echo -n "Checking for bitlbee server: " checkproc $BITLBEE_BIN rc_status -v ;; probe) BITLBEE_RESTART="False" for file in "$BITLBEE_SYSCONFIG" "$BITLBEE_ETC"/* ; do test "$file" -nt "$BITLBEE_PID" && BITLBEE_RESTART="True" done test "$BITLBEE_RESTART" = "True" && echo restart ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" exit 1 ;; esac rc_exit