diff options
Diffstat (limited to 'net-dns/ddclient/files/ddclient.initd-r2')
-rw-r--r-- | net-dns/ddclient/files/ddclient.initd-r2 | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/net-dns/ddclient/files/ddclient.initd-r2 b/net-dns/ddclient/files/ddclient.initd-r2 new file mode 100644 index 000000000000..2e6acaa100eb --- /dev/null +++ b/net-dns/ddclient/files/ddclient.initd-r2 @@ -0,0 +1,44 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Default location if not specified in /etc/conf.d/ddclient +PIDFILE=${PIDFILE:-/var/run/ddclient/ddclient.pid} + +depend() { + before cron + need net + use dns logger squid +} + +checkconfig() { + local conf="/etc/ddclient/ddclient.conf" + + if [ -e "${conf}" ] ; then + if [ -n "$(find /etc/ddclient -maxdepth 1 -name ddclient.conf -perm +0044)" ] ; then + eerror "${conf} must not be world or group readable. Try:" + eerror " chmod 600 ${conf}" + eerror " chown ddclient:ddclient ${conf}" + return 1 + fi + else + eerror "${conf} is needed to run ddclient" + eerror "There is a sample file in /etc/ddclient/" + return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --user ddclient --exec /usr/sbin/ddclient \ + --name ddclient --pidfile "${PIDFILE}" -- -pid="${PIDFILE}" + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --signal USR1 --pidfile "${PIDFILE}" + eend $? +} |