aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/transmission/files/transmission-daemon.initd.2')
-rw-r--r--net-p2p/transmission/files/transmission-daemon.initd.2136
1 files changed, 136 insertions, 0 deletions
diff --git a/net-p2p/transmission/files/transmission-daemon.initd.2 b/net-p2p/transmission/files/transmission-daemon.initd.2
new file mode 100644
index 0000000..f68c3f6
--- /dev/null
+++ b/net-p2p/transmission/files/transmission-daemon.initd.2
@@ -0,0 +1,136 @@
+#!/sbin/runscript
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/files/transmission-daemon.initd.2,v 1.1 2009/06/20 12:55:37 ssuominen Exp $
+
+# Read options from conf.d file, or set sensible defaults
+allowed=${allowed:-127.0.0.1}
+blocklist=${blocklist:-no}
+watch_dir=${watch_dir:-}
+config_dir=${config_dir:-/var/transmission/config}
+port=${port:-9091}
+auth=${auth:-no}
+username=${username:-}
+password=${password:-}
+download_dir=${download_dir:=/var/transmission/downloads}
+peerport=${peerport:-51413}
+portmap=${portmap:-no}
+peerlimit_global=${peerlimit_global:-240}
+peerlimit_torrent=${peerlimit_torrent:-60}
+encryption=${encryption:-preferred}
+bind_address_ipv4=${bind_address_ipv4:-}
+bind_address_ipv6=${bind_address_ipv6:-}
+rpc_bind_address=${rpc_bind_address:-}
+
+# Misc options
+pidfile=${pidfile:-/var/run/transmission.pid}
+logfile=${logfile:-}
+runas_user=${runas_user:-}
+
+
+# Convert settings into stuff that transmission-daemon can grok as arguments
+allowed_opt="--allowed ${allowed}"
+
+blocklist_opt="--no-blocklist"
+if [ "x${blocklist}" = "xyes" ]; then
+ blocklist_opt="--blocklist"
+fi
+
+watch_dir_opt="--no-watch-dir"
+if [ -n "${watch_dir}" ]; then
+ watch_dir_opt="--watch-dir ${watch_dir}"
+fi
+
+config_dir_opt="--config-dir ${config_dir}"
+
+port_opt="--port ${port}"
+
+auth_opt="--no-auth"
+username_opt=""
+password_opt=""
+if [ "x${auth}" = "xyes" ]; then
+ auth_opt="--auth"
+ # Set username and password also
+ username_opt="--username ${username}"
+ password_opt="--password ${password}"
+fi
+
+download_dir_opt="--download-dir ${download_dir}"
+
+peerport_opt="--peerport ${peerport}"
+
+portmap_opt="--no-portmap"
+if [ "x${portmap}" = "xyes" ]; then
+ portmap_opt="--portmap"
+fi
+
+peerlimit_global_opt="--peerlimit-global ${peerlimit_global}"
+
+peerlimit_torrent_opt="--peerlimit-torrent ${peerlimit_torrent}"
+
+case "${encryption}" in
+ 'required') encryption_opt="--encryption-required" ;;
+ 'tolerated') encryption_opt="--encryption-tolerated" ;;
+ *) encryption_opt="--encryption-preferred" ;;
+esac
+
+bind_address_ipv4_opt=""
+if [ -n "${bind_address_ipv4}" ]; then
+ bind_address_ipv4_opt="--bind-address-ipv4 ${bind_address_ipv4}"
+fi
+
+bind_address_ipv6_opt=""
+if [ -n "${bind_address_ipv6}" ]; then
+ bind_address_ipv6_opt="--bind-address-ipv6 ${bind_address_ipv6}"
+fi
+
+rpc_bind_address_opt=""
+if [ -n "${rpc_bind_address}" ]; then
+ rpc_bind_address_opt="--rpc-bind-address ${rpc_bind_address}"
+fi
+
+# Note: works only on systems with sys-apps/openrc
+logfile_opt=""
+if [ -n "${logfile}" ]; then
+ logfile_opt="--stdout ${logfile} --stderr ${logfile}"
+fi
+
+# Note: works only on systems with sys-apps/openrc
+# This could be done in baselayout-1 with --chuid, but since
+# openrc detection is vague at best (b.g.o #270646), just ignore it.
+runas_user_opt=""
+if [ -n "${runas_user}" ]; then
+ runas_user_opt="--user ${runas_user}"
+fi
+
+# Actual init script stuff below this line
+
+opts="start stop"
+description="Transmission is a fast, easy and free bittorrent client"
+description_start="Start transmission-daemon server and web interface"
+description_stop="Stop transmission-daemon server and web interface"
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting transmission daemon"
+ start-stop-daemon --start --quiet --background --make-pidfile \
+ --pidfile ${pidfile} ${runas_user_opt} \
+ ${logfile_opt} --exec \
+ /usr/bin/transmission-daemon -- --foreground ${allowed_opt} \
+ ${blocklist_opt} ${watch_dir_opt} ${config_dir_opt} ${port_opt} \
+ ${auth_opt} ${username_opt} ${password_opt} ${download_dir_opt} \
+ ${peerport_opt} ${portmap_opt} ${peerlimit_global_opt} \
+ ${peerlimit_torrent_opt} ${encryption_opt} \
+ ${bind_address_ipv4_opt} ${bind_address_ipv6_opt} ${rpc_bind_address_opt}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping transmission daemon"
+ start-stop-daemon --stop --quiet --retry TERM/45/QUIT/15 \
+ --pidfile ${pidfile}
+ eend $?
+}