diff options
author | Paolo Pedroni <paolo.pedroni@iol.it> | 2016-02-17 11:24:42 +0100 |
---|---|---|
committer | Kristian Fiskerstrand <k_f@gentoo.org> | 2016-02-28 21:38:24 +0100 |
commit | 96117d3b7fc98d99bd11a4bf135cfb85fab87024 (patch) | |
tree | 9f033e6a9075d53755d2ca9bb634f66613563a78 /net-p2p | |
parent | sys-fs/cryptsetup: Removed old. (diff) | |
download | gentoo-96117d3b7fc98d99bd11a4bf135cfb85fab87024.tar.gz gentoo-96117d3b7fc98d99bd11a4bf135cfb85fab87024.tar.bz2 gentoo-96117d3b7fc98d99bd11a4bf135cfb85fab87024.zip |
net-p2p/deluge: unbundle startup scripts for deluge-web
Different startup scripts for daemon and web server. This fixes
bug #350213 (thanks to Cameron Tacklind <cameron@tacklind.com> for
inspiration, even though implemented slightly differently)
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/deluge/files/deluge-web.conf | 6 | ||||
-rw-r--r-- | net-p2p/deluge/files/deluge-web.init | 54 | ||||
-rw-r--r-- | net-p2p/deluge/files/deluged.conf-2 | 7 | ||||
-rw-r--r-- | net-p2p/deluge/files/deluged.init-2 | 54 |
4 files changed, 121 insertions, 0 deletions
diff --git a/net-p2p/deluge/files/deluge-web.conf b/net-p2p/deluge/files/deluge-web.conf new file mode 100644 index 000000000000..f0aad8ff11e7 --- /dev/null +++ b/net-p2p/deluge/files/deluge-web.conf @@ -0,0 +1,6 @@ +# /etc/conf.d/deluge-web +# Change this to the user you want to run deluged as. +# You may specify a group too, after a colon +DELUGE_WEB_USER="" +#DELUGE_WEB_HOME="" +DELUGE_WEB_OPTS="" diff --git a/net-p2p/deluge/files/deluge-web.init b/net-p2p/deluge/files/deluge-web.init new file mode 100644 index 000000000000..fc540e47346c --- /dev/null +++ b/net-p2p/deluge/files/deluge-web.init @@ -0,0 +1,54 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Id$ + +depend() { + need net +} + +checkconfig() { + if [ "${DELUGE_WEB_USER}" = "" ] ; then + eerror "Please edit /etc/conf.d/deluge-web" + eerror "You have to specify a user to run deluge-web as, as we will not run it as root!" + eerror "Modify DELUGE_WEB_USER to your needs (you can also add a group, after a colon)" + return 1 + fi + if ! getent passwd "${DELUGE_WEB_USER%:*}" >/dev/null ; then + eerror "Please edit /etc/conf.d/deluge-web" + eerror "Your user has to exist!" + return 1 + fi + if [ "${DELUGE_WEB_USER%:*}" = "${DELUGE_WEB_USER}" ] ; then + return 0 + else + if ! getent group "${DELUGE_WEB_USER#*:}" >/dev/null ; then + eerror "Please edit /etc/conf.d/deluge-web" + eerror "Your group has to exist too!" + return 1 + fi + fi + return 0 +} + +start() { + checkconfig || return $? + if [ "${DELUGE_WEB_HOME}" = "" ] ; then + DELUGE_WEB_USER_HOME=$(getent passwd "${DELUGE_WEB_USER%:*}" | cut -d ':' -f 6) + else + DELUGE_WEB_USER_HOME=${DELUGE_WEB_HOME} + fi + ebegin "Starting Deluge-Web" + start-stop-daemon --start --background --pidfile \ + /run/deluge-web.pid --make-pidfile \ + --exec /usr/bin/deluge-web --user "${DELUGE_WEB_USER%:*}" \ + -e HOME="${DELUGE_WEB_USER_HOME}" -- ${DELUGE_WEB_OPTS} + eend $? +} + +stop() { + ebegin "Stopping Deluge-Web" + start-stop-daemon --stop --user "${DELUGE_WEB_USER%:*}" \ + --pidfile /run/deluge-web.pid + eend $? +} diff --git a/net-p2p/deluge/files/deluged.conf-2 b/net-p2p/deluge/files/deluged.conf-2 new file mode 100644 index 000000000000..5c507c60353c --- /dev/null +++ b/net-p2p/deluge/files/deluged.conf-2 @@ -0,0 +1,7 @@ +# /etc/conf.d/deluged +# Change this to the user you want to run deluged as. +# You may specify a group too, after a colon +DELUGED_USER="" +# DELUGED_UMASK="0002" +# DELUGED_OPTS="-p 58846" + diff --git a/net-p2p/deluge/files/deluged.init-2 b/net-p2p/deluge/files/deluged.init-2 new file mode 100644 index 000000000000..082bf9dcdc6e --- /dev/null +++ b/net-p2p/deluge/files/deluged.init-2 @@ -0,0 +1,54 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Id$ + +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 "${DELUGED_USER%:*}" >/dev/null ; then + eerror "Please edit /etc/conf.d/deluged" + eerror "Your user has to exist!" + return 1 + fi + if [ "${DELUGED_USER%:*}" = "${DELUGED_USER}" ] ; then + return 0 + else + if ! getent group "${DELUGED_USER#*:}" >/dev/null ; 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 "${DELUGED_USER%:*}" | cut -d ':' -f 6) + else + DELUGED_USER_HOME=${DELUGED_HOME} + fi + ebegin "Starting Deluged" + start-stop-daemon --start --user "${DELUGED_USER%:*}" \ + --name deluged --pidfile /run/deluged.pid --background --make-pidfile \ + ${DELUGED_UMASK:+--umask ${DELUGED_UMASK}} \ + --exec /usr/bin/deluged -e HOME="${DELUGED_USER_HOME}" -- --do-not-daemonize ${DELUGED_OPTS} + eend $? +} + +stop() { + ebegin "Stopping Deluged" + start-stop-daemon --stop --user "${DELUGED_USER%:*}" \ + --name deluged --pidfile /run/deluged.pid + eend $? +} |