#!/sbin/runscript # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License, v2 or later # $Header: /var/cvsroot/gentoo-x86/net-p2p/deluge/files/deluged.init,v 1.5 2009/02/17 15:32:17 armin76 Exp $ depend() { need net } checkconfig() { if [[ "${DELUGED_USER}" == "" ]] ; then eerror "Please edit /etc/conf.d/deluged" eerror "You have to specify a user to run deluged as, as we will not run it as root!" eerror "Modify DELUGED_USER to your needs (you can also add a group, after a colon)" return 1 fi if ! `getent passwd | cut -d ':' -f 1 | grep $( echo "${DELUGED_USER}" | cut -d ':' -f 1 ) -sq` ; then eerror "Please edit /etc/conf.d/deluged" eerror "Your user has to exist!" return 1 fi if ! `echo "${DELUGED_USER}" | grep ':' -sq` ; then return 0 else if ! `cut -d ':' -f 1 /etc/group | grep $( echo "${DELUGED_USER}" | cut -d ':' -f 2 ) -sq` ; then eerror "Please edit /etc/conf.d/deluged" eerror "Your group has to exist too!" return 1 fi fi return 0 } hasgroup() { if ! `echo "${DELUGED_USER}" | grep ':' -sq` ; then return 1 else return 0 fi } start() { checkconfig || return $? if [[ "${DELUGED_HOME}" == "" ]] ; then DELUGED_USER_HOME=`getent passwd | grep ^$( echo "${DELUGED_USER}" | cut -d ':' -f 1 ): | cut -d ':' -f 6` else DELUGED_USER_HOME="${DELUGED_HOME}" fi ebegin "Starting Deluged" if [ ! hasgroup ] ; then start-stop-daemon --start --user "${DELUGED_USER}" \ --name deluged --pidfile /var/run/deluged.pid --background --make-pidfile \ --exec /usr/bin/deluged -c "${DELUGED_USER}" -e HOME=${DELUGED_USER_HOME} -- --do-not-daemonize "${DELUGED_OPTS}" else start-stop-daemon --start --chuid "${DELUGED_USER}" \ --name deluged --pidfile /var/run/deluged.pid --background --make-pidfile \ --exec /usr/bin/deluged -e HOME=${DELUGED_USER_HOME} -- --do-not-daemonize "${DELUGED_OPTS}" fi eend $? if [[ "${DELUGEUI_START}" == "true" ]] ; then ebegin "Starting Deluge" if [ ! hasgroup ] ; then start-stop-daemon --start --background --pidfile \ /var/run/deluge.pid --make-pidfile \ --exec /usr/bin/deluge -c "${DELUGED_USER}" \ -e HOME="${DELUGED_USER_HOME}" -- ${DELUGEUI_OPTS} else start-stop-daemon --start --background --pidfile \ /var/run/deluge.pid --make-pidfile \ --exec /usr/bin/deluge --chuid "${DELUGED_USER}" \ -e HOME="${DELUGED_USER_HOME}" -- ${DELUGEUI_OPTS} fi eend $? fi } stop() { ebegin "Stopping Deluged" if [ ! hasgroup ] ; then start-stop-daemon --stop --user "${DELUGED_USER}" \ --name deluged --pidfile /var/run/deluged.pid else start-stop-daemon --stop --chuid "${DELUGED_USER}" \ --name deluged --pidfile /var/run/deluged.pid fi eend $? if [[ "${DELUGEUI_START}" == "true" ]] ; then ebegin "Stopping Deluge" if [ ! hasgroup ] ; then start-stop-daemon --stop --user "${DELUGED_USER}" \ --name deluge --pidfile /var/run/deluge.pid else start-stop-daemon --stop --chuid "${DELUGED_USER}" \ --name deluge --pidfile /var/run/deluge.pid fi eend $? fi }