summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Pedroni <paolo.pedroni@iol.it>2016-02-17 11:24:42 +0100
committerKristian Fiskerstrand <k_f@gentoo.org>2016-02-28 21:38:24 +0100
commit96117d3b7fc98d99bd11a4bf135cfb85fab87024 (patch)
tree9f033e6a9075d53755d2ca9bb634f66613563a78 /net-p2p
parentsys-fs/cryptsetup: Removed old. (diff)
downloadgentoo-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.conf6
-rw-r--r--net-p2p/deluge/files/deluge-web.init54
-rw-r--r--net-p2p/deluge/files/deluged.conf-27
-rw-r--r--net-p2p/deluge/files/deluged.init-254
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 $?
+}