#!/bin/bash
#
# transmission-daemon   The startup script for the Transmission BitTorrent daemon client.
#
# chkconfig: 2345 99 01
# description: Transmission is a BitTorrent client daemon.
# pidfile: /var/run/transmission-daemon.pid
# processname: transmission-daemon
# config: /etc/sysconfig/transmission-daemon
#
# This is a modified/merged version of the original init scripts from:
# - http://jasonfriedland.blogspot.com/2009/07/init-script-for-transmission-daemon-on.html
# - Lennart A. JÃ.tte, based on Rob Howell's script
# - Maarten Van Coile & others (on IRC)
# - Nick Howitt for ClearOS

# source function library
. /etc/rc.d/init.d/functions

# Get network config
. /etc/sysconfig/network

[ "${NETWORKING}" = "no" ] && exit 0

# Defaults
#TRANSMISSION_HOME="/var/lib/transmission/.config/transmission-daemon"

DAEMON_ARGS="-b -t -a \"*.*.*.*\" -e /var/log/transmission/transmission.log"

# Configuration overrides
[ -e /etc/sysconfig/transmission-daemon ] && source /etc/sysconfig/transmission-daemon

# Environment
DAEMON="/usr/bin/transmission-daemon"
DAEMON_USER="transmission"
TRANSMISSION_USERDIR=`getent passwd $DAEMON_USER | cut -d: -f6`
TRANSMISSION_HOME="$TRANSMISSION_USERDIR/.config/transmission-daemon"
DAEMON_PROCESS="transmission-daemon"
DAEMON_PIDFILE="/var/run/$DAEMON_PROCESS.pid"
DAEMON_LOCKFILE="/var/lock/subsys/$DAEMON_PROCESS"

[ -x "$DAEMON" ] || exit 0

RETVAL=0

# See how we were called.
case "$1" in
  start)
	echo -n $"Starting $DAEMON_PROCESS: "

	if [ -n "$TRANSMISSION_HOME" ]; then
		export TRANSMISSION_HOME
	fi

	daemon --check $DAEMON --user "$DAEMON_USER" --pidfile $DAEMON_PIDFILE $DAEMON $DAEMON_ARGS
	RETVAL=$?

	if [ $RETVAL = 0 ]; then
		touch $DAEMON_LOCKFILE
		/sbin/pidof -o %PPID -x $DAEMON_PROCESS -s > $DAEMON_PIDFILE
	fi

	echo
	;;
  stop)
	echo -n $"Stopping $DAEMON_PROCESS: "
	killproc $DAEMON
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f $DAEMON_LOCKFILE -f $DAEMON_PIDFILE
	;;
  status)
	status -p $DAEMON_PIDFILE $DAEMON_PROCESS
	RETVAL=$?
	;;
  restart|reload)
	$0 stop
	$0 start
	RETVAL=$?
	;;
  condrestart)
	if test "x`/sbin/pidof $DAEMON_PROCESS`" != x; then
		$0 stop
		$0 start
		RETVAL=$?
	fi
	;;
  *)
	echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
	exit 1
esac

exit $RETVAL
