aboutsummaryrefslogtreecommitdiff
path: root/net/boinc-client/files/boinc.sh.in
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-06-02 21:08:23 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-06-02 21:08:23 +0000
commite820243a1dd67996c46872888d54ad383dfe8455 (patch)
tree2dcf4baa1f4772583078f588202b9afdce122a09 /net/boinc-client/files/boinc.sh.in
parente8819c2c20c16d53603af5952fa03b5dfa1be6bb (diff)
Notes
Diffstat (limited to 'net/boinc-client/files/boinc.sh.in')
-rw-r--r--net/boinc-client/files/boinc.sh.in50
1 files changed, 50 insertions, 0 deletions
diff --git a/net/boinc-client/files/boinc.sh.in b/net/boinc-client/files/boinc.sh.in
new file mode 100644
index 000000000000..81fe8fc5460b
--- /dev/null
+++ b/net/boinc-client/files/boinc.sh.in
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# $FreeBSD$
+
+# PROVIDE: boinc
+# REQUIRE: LOGIN
+# KEYWORD: FreeBSD
+
+. %%RC_SUBR%%
+
+name="boinc"
+rcvar=`set_rcvar`
+
+boinc_user=%%BOINC_USER%%
+boinc_home=%%BOINC_HOME%%
+program_file=%%BOINC_BINARY%%
+program_path=%%PREFIX%%/lib/boinc/${program_file}
+syslog_facility=daemon.err
+
+load_rc_config $name
+: ${boinc_enable="NO"}
+
+start_cmd=boinc_start
+stop_cmd=boinc_stop
+
+boinc_start() {
+ if checkyesno boinc_enable
+ then
+ if [ ! -x ${program_path} ]
+ then
+ logger -sp ${syslog_facility} -t ${program_file} \
+ "unable to start: ${program_path} is missing."
+ exit 72
+ fi
+ if ps axo ucomm | egrep ${program_file}; then
+ logger -sp ${syslog_facility} -t ${program_file} \
+ "unable to start: ${program_file} is already running."
+ exit 72
+ fi
+ echo "Starting BOINC client."
+ export LD_LIBRARY_PATH=%%LOCALBASE%%/lib/boinc
+ idprio 31 su - ${boinc_user} -c "${program_path} ${boinc_flags} >/dev/null &"
+ fi
+}
+
+boinc_stop() {
+ killall ${program_file} 2> /dev/null
+}
+
+run_rc_command "$1"