From 42b057edbe7608712446700df3a72da4c208fc78 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Tue, 20 Nov 2007 17:10:35 +0000 Subject: [PATCH] Add a rarpd init script and allow templates to add start-stop-daemon arguments --- conf.d.BSD/rarpd | 3 +++ init.d.BSD/rarpd | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ sh/runscript.sh | 6 ++++++ 3 files changed, 57 insertions(+) create mode 100644 conf.d.BSD/rarpd create mode 100644 init.d.BSD/rarpd diff --git a/conf.d.BSD/rarpd b/conf.d.BSD/rarpd new file mode 100644 index 00000000..37643f5e --- /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 00000000..e054d56c --- /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 6e711304..e5eb5c22 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}" }