diff options
Diffstat (limited to 'net-p2p/deluge/files/deluged.init')
-rw-r--r-- | net-p2p/deluge/files/deluged.init | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/net-p2p/deluge/files/deluged.init b/net-p2p/deluge/files/deluged.init new file mode 100644 index 0000000..f9b2a30 --- /dev/null +++ b/net-p2p/deluge/files/deluged.init @@ -0,0 +1,71 @@ +#!/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 +} + +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" + 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}" + eend $? + + + if [[ "${DELUGEUI_START}" == "true" ]] ; then + ebegin "Starting Deluge" + 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} + eend $? + fi +} + +stop() { + ebegin "Stopping Deluged" + start-stop-daemon --stop --user "${DELUGED_USER}" \ + --name deluged --pidfile /var/run/deluged.pid + eend $? + + + if [[ "${DELUGEUI_START}" == "true" ]] ; then + ebegin "Stopping Deluge" + start-stop-daemon --stop --user "${DELUGED_USER}" \ + --name deluge --pidfile /var/run/deluge.pid + eend $? + fi +} |