freebsd-ports/net-p2p/deluge-cli/files/deluge_web.in
Ruslan Makhmatkhanov aaf4dfde48 net-p2p/deluge: split out CLI part
By popular demand split out deluge onto CLI part and GUI part to let users with
headless servers or users who do not want to install all the GTK2 stuff install
just deluge with minimal required dependencies.
deluge-cli port was introduced, that let user to run in CLI mode and to control
the queue via web-interface.

This change requires all the users of net-p2p/deluge to deinstall it first and
then install the required part:
- net-p2p/deluge-cli if GTK2 GUI is not required
- net-p2p/deluge to get the graphical client (net-p2p/deluge-cli will be
installed as a dependency)

Requested by:	many
2016-10-26 16:52:22 +00:00

82 lines
1.9 KiB
Bash

#!/bin/sh
# $FreeBSD$
#
# PROVIDE: deluge_web
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# MANDATORY:
#
# deluge_web_enable (bool): Set to NO by default.
# Set it to YES to enable deluge_web.
#
# deluge_web_user (str): The UNPRIVILEGED user to run as
#
# OPTIONAL:
#
# deluge_web_flags (str): Set as needed
# See deluge-web(1) for more information
#
# deluge_web_confdir (path): Set to /home/$deluge_web_user/.config/deluge
# by default
#
# deluge_web_loglevel (str): Set to "error" by default
#
# deluge_web_logfile (path): Set to /var/tmp/deluge_web.log by default
. /etc/rc.subr
name="deluge_web"
rcvar=${name}_enable
command=%%PREFIX%%/bin/deluge-web
command_interpreter=%%PYTHON_CMD%%
start_precmd=${name}_prestart
stop_postcmd=${name}_poststop
deluge_web_prestart()
{
if [ "$deluge_web_user" = 'asjklasdfjklasdf' ]; then
err 1 "You must set deluge_web_user to a real, unprivileged user"
fi
if [ ! -d "/var/run/${name}" ]; then
if [ -e "/var/run/${name}" ]; then
unlink /var/run/${name}
fi
mkdir -p /var/run/${name}
fi
if [ ! -d "/home/${deluge_web_user}/.python-eggs" ]; then
mkdir -p /home/${deluge_web_user}/.python-eggs
fi
chmod 0755 /var/run/${name}
chown -R $deluge_web_user /var/run/${name}
chown -R $deluge_web_user /home/${deluge_web_user}/.python-eggs
export PYTHON_EGG_CACHE="/home/${deluge_web_user}/.python-eggs"
}
deluge_web_poststop()
{
[ -e "$deluge_web_logfile" -a ! -s "$deluge_web_logfile" ] &&
unlink $deluge_web_logfile
}
load_rc_config $name
: ${deluge_web_enable:="NO"}
: ${deluge_web_user:="asjklasdfjklasdf"}
: ${deluge_web_confdir:="/home/${deluge_web_user}/.config/deluge"}
: ${deluge_web_loglevel:="error"}
: ${deluge_web_logfile:="/var/tmp/${name}.log"}
required_dirs="$deluge_web_confdir"
command_args="-f -c $required_dirs -L $deluge_web_loglevel -l $deluge_web_logfile"
run_rc_command "$1"