aboutsummaryrefslogtreecommitdiffstats
path: root/net-im/thelounge/files/thelounge.in
diff options
context:
space:
mode:
Diffstat (limited to 'net-im/thelounge/files/thelounge.in')
-rw-r--r--net-im/thelounge/files/thelounge.in76
1 files changed, 76 insertions, 0 deletions
diff --git a/net-im/thelounge/files/thelounge.in b/net-im/thelounge/files/thelounge.in
new file mode 100644
index 0000000..bac52c4
--- /dev/null
+++ b/net-im/thelounge/files/thelounge.in
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+# PROVIDE: thelounge
+# REQUIRE: NETWORKING
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name="thelounge"
+rcvar="thelounge_enable"
+
+load_rc_config "${name}"
+
+: ${thelounge_enable:="NO"}
+: ${thelounge_user:="thelounge"}
+: ${thelounge_group:="thelounge"}
+: ${thelounge_data_dir:="/var/db/thelounge"}
+: ${thelounge_log_file:="/var/log/thelounge.log"}
+
+pidfile="/var/run/${name}.pid"
+
+start_cmd="${name}_start"
+stop_cmd="${name}_stop"
+status_cmd="${name}_status"
+
+thelounge_start()
+{
+ if [ -f "${pidfile}" ] && kill -0 $(cat "${pidfile}") 2>/dev/null; then
+ echo "${name} is already running."
+ return 1
+ fi
+
+ install -d -o "${thelounge_user}" -g "${thelounge_group}" -m 0750 \
+ "${thelounge_data_dir}" || return 1
+
+ if [ ! -e "${thelounge_log_file}" ]; then
+ install -o "${thelounge_user}" -g "${thelounge_group}" -m 0640 \
+ /dev/null "${thelounge_log_file}" || return 1
+ fi
+
+ echo "Starting ${name}."
+
+ /usr/sbin/daemon \
+ -f \
+ -p "${pidfile}" \
+ -o "${thelounge_log_file}" \
+ -u "${thelounge_user}" \
+ /usr/bin/env \
+ PATH="%%PREFIX%%/bin:/usr/bin:/bin" \
+ THELOUNGE_HOME="${thelounge_data_dir}" \
+ %%PREFIX%%/bin/node %%PREFIX%%/libexec/thelounge/index.js start
+}
+
+thelounge_stop()
+{
+ if [ -f "${pidfile}" ]; then
+ echo "Stopping ${name}."
+ kill $(cat "${pidfile}") 2>/dev/null
+ rm -f "${pidfile}"
+ else
+ echo "${name} is not running."
+ fi
+}
+
+thelounge_status()
+{
+ if [ -f "${pidfile}" ] && kill -0 $(cat "${pidfile}") 2>/dev/null; then
+ echo "${name} is running as pid $(cat "${pidfile}")."
+ else
+ rm -f "${pidfile}"
+ echo "${name} is not running."
+ return 1
+ fi
+}
+
+run_rc_command "$1"