summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2007-11-20 17:10:35 +0000
committerRoy Marples <roy@marples.name>2007-11-20 17:10:35 +0000
commit42b057edbe7608712446700df3a72da4c208fc78 (patch)
tree10f4ffa12f82da7b57a27b6c13fd02a2ac7c1001
parenta12da90fb324fa5d88e4cc753ffcf680b70251b3 (diff)
downloadopenrc-42b057edbe7608712446700df3a72da4c208fc78.tar.gz
openrc-42b057edbe7608712446700df3a72da4c208fc78.tar.bz2
openrc-42b057edbe7608712446700df3a72da4c208fc78.tar.xz
Add a rarpd init script and allow templates to add start-stop-daemon arguments
-rw-r--r--conf.d.BSD/rarpd3
-rw-r--r--init.d.BSD/rarpd48
-rwxr-xr-xsh/runscript.sh6
3 files changed, 57 insertions, 0 deletions
diff --git a/conf.d.BSD/rarpd b/conf.d.BSD/rarpd
new file mode 100644
index 0000000..37643f5
--- /dev/null
+++ b/conf.d.BSD/rarpd
@@ -0,0 +1,3 @@
+# To start rarpd only for a given interface, set the
+# following variable. Otherwise we listen on all interfaces.
+#RARPD_INTERFACE="rl0"
diff --git a/init.d.BSD/rarpd b/init.d.BSD/rarpd
new file mode 100644
index 0000000..e054d56
--- /dev/null
+++ b/init.d.BSD/rarpd
@@ -0,0 +1,48 @@
+#!/sbin/runscript
+# Copyright 1999-2007 Gentoo Foundation
+# Copyright 2007 Roy Marples
+# All rights reserved
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+
+command=/usr/sbin/rarpd
+command_args="-f ${RARPD_ARGS}"
+pidfile=/var/run/rarpd.pid
+name="Reverse ARP Daemon"
+
+if [ -z "${RARPD_INTERFACE}" ]; then
+ command_args="${command_args} -a"
+else
+ command_args="${command_args} ${RARPD_INTERFACE}"
+fi
+command_background="YES"
+
+depend() {
+ need localmount
+ after bootmisc
+
+ if [ -z "${RARPD_INTERFACE}" ]; then
+ need net
+ else
+ net net."${RARPD_INTERFACE}"
+ fi
+}
diff --git a/sh/runscript.sh b/sh/runscript.sh
index 6e71130..e5eb5c2 100755
--- a/sh/runscript.sh
+++ b/sh/runscript.sh
@@ -95,10 +95,16 @@ if [ -n "${command}" ]; then
if ! type start >/dev/null 2>&1; then
start() {
ebegin "Starting ${name:-${SVCNAME}}"
+ case "${command_background}" in
+ [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
+ start_stop_daemon_args="${start_stop_daemon_args} --background --pidfile"
+ ;;
+ esac
start-stop-daemon --start \
--exec ${command} \
${procname:+--name} ${procname} \
${pidfile:+--pidfile} ${pidfile} \
+ ${start_stop_daemon_args} \
-- ${command_args}
eend $? "Failed to start ${SVCNAME}"
}