Grr, final bit of confirmation has a shell quirk show up. I suspect there likely should be more backslashes on the sed command, but the attached is what is confirmed to work.
-- (\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/) \BS ( | ehem+sig...@m5p.com PGP 87145445 | ) / \_CS\ | _____ -O #include <stddisclaimer.h> O- _____ | / _/ 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445
#! /bin/sh # # Written by Miquel van Smoorenburg <miqu...@cistron.nl>. # Modified for Debian GNU/Linux by Ian Murdock <imurd...@gnu.ai.mit.edu> # and Axel Beckert <a...@deuxchevaux.org>. # Adjusted for use as an ifupdown hook script by Elliott Mitchell # <ehem+deb...@m5p.com>. # ### BEGIN INIT INFO # Provides: udhcpd # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start busybox udhcpd at boot time ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/udhcpd NAME=udhcpd DESC="very small Busybox based DHCP server" DHCPD_OPTS="-S" # Additional options given to the server test -x $DAEMON || exit 0 case "${IF_DHCPD_ENABLE}" in udhcpd) # *we* and not some other DHCP server are enabled ;; true|yes|1) # the DHCP server is enabled ;; *) exit 0 ;; esac # Include defaults if available [ -e /etc/default/udhcpd ] && . /etc/default/udhcpd set -e # Base location of configuration if relative path is given [ -z "${DHCPD_CONFIG_DIR}" ] && DHCPD_CONFIG_DIR=/etc # Has a configuration file been explicitly specified? Optionally add directory if [ -n "${IF_DHCPD_CONFIG}" ] then if [ "${IF_DHCPD_CONFIG}" = "${IF_DHCPD_CONFIG#/}" ] then IF_DHCPD_CONFIG=${DHCPD_CONFIG_DIR}/${IF_DHCPD_CONFIG} fi # Probe the location, first try ifupdown's logical name, then physical name elif [ -e "${DHCPD_CONFIG_DIR}/udhcpd.${LOGICAL}.conf" ] then IF_DHCPD_CONFIG="${DHCPD_CONFIG_DIR}/udhcpd.${LOGICAL}.conf" elif [ -e "${DHCPD_CONFIG_DIR}/udhcpd.${IFACE}.conf" ] then IF_DHCPD_CONFIG="${DHCPD_CONFIG_DIR}/udhcpd.${IFACE}.conf" else IF_DHCPD_CONFIG="${DHCPD_CONFIG_DIR}/udhcpd.conf" fi # Has the .pid file been specified? Is it relative? if [ -n "${IF_DHCPD_PIDFILE}" ] then if [ "${IF_DHCPD_PIDFILE}" = "${IF_DHCPD_PIDFILE#/}" ] then IF_DHCPD_PIDFILE=/run/${IF_DHCPD_PIDFILE} fi # Look for the .pid file in the configuration file else if grep -q -E -e^\[\[:space:]]\*pidfile\[\[:space:]] ${IF_DHCPD_CONFIG} then IF_DHCPD_PIDFILE=`grep -E -e^\[\\\[:space:]]\*pidfile\[\\\[:space:]] ${IF_DHCPD_CONFIG} | sed -es/^\[\\\[:space:]]\*pidfile\[\\\[:space:]]\\\\+//` else IF_DHCPD_PIDFILE=/run/udhcpd.pid fi fi # This works better for us [ "${VERBOSITY}" = 0 ] && VERBOSITY="" case "$MODE" in start) [ -n "${VERBOSITY}" ] && echo -n "Starting $DESC: " start-stop-daemon --start ${VERBOSITY:+--verbose} \ --pidfile ${IF_DHCPD_PIDFILE} --oknodo --exec $DAEMON \ -- ${IF_DHCPD_OPTS:-${DHCPD_OPTS}} ${IF_DHCPD_CONFIG} [ -n "${VERBOSITY}" ] && echo "$NAME." ;; stop) [ -n "${VERBOSITY}" ] && echo -n "Stopping $DESC: " start-stop-daemon --stop ${VERBOSITY:+--verbose} \ --pidfile ${IF_DHCPD_PIDFILE} --oknodo --exec $DAEMON [ -n "${VERBOSITY}" ] && echo "$NAME." ;; *) echo "Usage: $0 {start|stop}" >&2 exit 1 ;; esac exit 0