aboutsummaryrefslogtreecommitdiff
path: root/net-p2p/amule-devel/files/amuled.in
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/amule-devel/files/amuled.in')
-rw-r--r--net-p2p/amule-devel/files/amuled.in69
1 files changed, 69 insertions, 0 deletions
diff --git a/net-p2p/amule-devel/files/amuled.in b/net-p2p/amule-devel/files/amuled.in
new file mode 100644
index 000000000000..2d6af76340f7
--- /dev/null
+++ b/net-p2p/amule-devel/files/amuled.in
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# aMule RCng startup script
+# Ogirinal work from Gabriele Cecchetti (amule.org forum)
+#
+# PROVIDE: amuled
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable amuled at startup
+# amuled (bool): Set to "NO" by default.
+# Set it to "YES" to enable amuled
+# amuled_user (str): Set to user running amuled
+# (default 'aMule')
+# amuled_home (str): Set to home directory of user running amuled
+# (default /home/${amuled_user})
+
+. /etc/rc.subr
+
+name="amuled"
+rcvar=amuled_enable
+
+load_rc_config $name
+
+[ -z "$amuled_enable" ] && amuled_enable="NO"
+[ -z "$amuled_user" ] && amuled_user="aMule"
+[ -z "$amuled_home" ] && amuled_home="/home/${amuled_user}"
+
+required_dirs=${amuled_home}
+required_files="${amuled_home}/.aMule/amule.conf"
+
+start_cmd="${name}_start"
+stop_cmd="${name}_stop"
+
+amuled_start()
+{
+ if [ ! -f /var/run/${name}.run ]
+ then
+ su -l ${amuled_user} -c "amuled &" 2>>/var/log/${name}.log >>/var/log/${name}.log && touch /var/run/${name}.run
+ echo "Started ${name}."
+ echo `date` : "Started ${name}." >> /var/log/${name}.log
+ else
+ echo "${name} seems to be already running -- remove /var/run/${name}.run manually if needed."
+ fi
+}
+
+amuled_stop()
+{
+ if [ -f /var/run/${name}.run ]
+ then
+ # The following line is much better, but doesn't stop totally amuled
+ # su -l ${amuled_user} -c "amulecmd -c Shutdown" 2>>/var/log/${name}.log >>/var/log/${name}.log
+ # Since amuled catches SIGTERM, this way is preferred for now
+ killall -TERM amuled 2>>/var/log/${name}.log >>/var/log/${name}.log ; sleep 3
+ killall -KILL amuled 2>>/var/log/${name}.log >>/var/log/${name}.log
+ # Also kill amuleweb if needed
+ killall -KILL amuleweb 2>/dev/null >/dev/null
+ rm -f /var/run/${name}.run
+ echo "Stopped ${name}."
+ echo `date` : "Stopped ${name}." >> /var/log/${name}.log
+ else
+ echo "${name} doesn't seem to be running -- create /var/run/${name}.run if needed."
+ fi
+}
+
+run_rc_command "$1"