#!/bin/sh
# Copyright 2006 Gentoo Foundation
# Copyright 2007 Roy Marples
+# All rights reserved
-# dnsmasq-resolv.conf updater
+# dnsmasq subscriber for resolvconf
# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * 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.
-# * Neither the name of the above listed copyright holder nor the
-# names of its contributors may be used to endorse or promote products
-# derived from this software without specific prior written permission.
+# modification, are permitted provided that the following conditions
+# are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * 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 ``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 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,
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT
+# OWNER 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.
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# This is very important!
# We assume that we are a local dns cache - after all, why would a server
# so we need to validate a few things first.
# Check for DBus support in the binary
DBUS=no
-if [ -s "${PREFIX}"/var/run/dbus.pid -a "${PREFIX}"/var/run/dnsmasq.pid ]; then
+if [ -s "${PREFIX}"/var/run/dbus.pid -a -s "${PREFIX}"/var/run/dnsmasq.pid ]; then
if dnsmasq --version 2>/dev/null | \
grep -q "^Compile time options.*[[:space:]]DBus[[:space:]]" \
; then
printf "${NEWRESOLV}" > "${DNSMASQRESOLV}"
fi
+[ -x /sbin/runscript ] && INIT_EXTRA="--quiet --nodeps"
+
if [ "${RELOAD}" = "yes" ]; then
if [ -x "${PREFIX}"/etc/init.d/dnsmasq ]; then
- /etc/init.d/dnsmasq --quiet --nodeps conditionalrestart
- elif [ -x "${PREFIX}"/etc/rc.d/dnsmasq ]; then
+ /etc/init.d/dnsmasq ${INIT_EXTRA} conditionalrestart
+ elif [ -x "${PREFIX}"/etc/rc.d/dnsmasq -a -s /var/run/dnsmasq.pid ]; then
+ kill -0 $(cat /var/run/dnsmasq.pid) && \
"${PREFIX}"/etc/rc.d/dnsmasq restart
fi
fi
if [ "${DBUS}" = "yes" ]; then
if [ "${RELOAD}" != "yes" ]; then
if [ -x "${PREFIX}"/etc/init.d/dnsmasq ]; then
- /etc/init.d/dnsmasq --quiet reload
+ /etc/init.d/dnsmasq ${INIT_EXTRA} reload
elif [ -x "${PREFIX}"/etc/rc.d/dnsmasq ]; then
"${PREFIX}"/etc/rc.d/dnsmasq reload
fi