From d81def80b00a3dbcb4f8980f4503c4d659b48a2a Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Fri, 23 Nov 2007 12:04:11 +0000 Subject: Move /etc/conf.d/rc to /etc/rc.conf. Lowercase all configurable variables, non configurations remain uppercase. Replace rc_env_bool with rc_yesno. Split localmount info procfs (Linux) and dumpon, savecore (BSD) --- init.d.misc/Makefile | 5 +++ init.d.misc/named | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++ init.d.misc/ntpd | 59 ++++++++++++++++++++++++++ 3 files changed, 180 insertions(+) create mode 100644 init.d.misc/Makefile create mode 100644 init.d.misc/named create mode 100644 init.d.misc/ntpd (limited to 'init.d.misc') diff --git a/init.d.misc/Makefile b/init.d.misc/Makefile new file mode 100644 index 00000000..c50e550a --- /dev/null +++ b/init.d.misc/Makefile @@ -0,0 +1,5 @@ +DIR = /etc/init.d +BIN = $(CONTENTS) + +TOPDIR = .. +include $(TOPDIR)/default.mk diff --git a/init.d.misc/named b/init.d.misc/named new file mode 100644 index 00000000..4b2a1175 --- /dev/null +++ b/init.d.misc/named @@ -0,0 +1,116 @@ +#!/sbin/runscript +# 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/named +command_args=${named_args} +pidfile=/var/run/named/pid +name="Domain Name server" +extra_commands="reload" + +namedb=/etc/namedb +named_uid=${named_uid:-bind} + +depend() { + provide dns + need localmount + after bootmisc +} + +start_pre() { + if [ -n "${named_chroot}" ]; then + # Create (or update) the chroot directory structure + if [ -r /etc/mtree/BIND.chroot.dist ]; then + mtree -deU -f /etc/mtree/BIND.chroot.dist -p "${named_chroot}" + else + ewarn "/etc/mtree/BIND.chroot.dist missing," + ewarn "chroot directory structure not updated" + fi + + if [ ! -d "${named_chroot}"/. ]; then + eerror "chroot directory ${named_chroot} missing" + exit 1 + fi + + # Create /etc/namedb symlink + if [ ! -L "${namedb}" ]; then + if [ -d "${namedb}" ]; then + ewarn "named chroot: ${namedb} is a directory!" + elif [ -e "${namedb}" ]; then + ewarn "named chroot: ${namedb} exists!" + else + ln -s "${named_chroot}${namedb}" "${namedb}" + fi + else + # Make sure it points to the right place. + ln -shf "${named_chroot}${namedb}" "${namedb}" + fi + + case "${RC_UNAME}" in + *BSD|DragonFly) + # Mount a devfs in the chroot directory if needed + umount "${named_chroot}"/dev 2>/dev/null + mount -t devfs dev "${named_chroot}"/dev + devfs -m "${named_chroot}"/dev ruleset devfsrules_hide_all + devfs -m "${named_chroot}"/dev rule apply path null unhide + devfs -m "${named_chroot}"/dev rule apply path random unhide + ;; + esac + + # Copy local timezone information if it is not up to date. + if [ -r /etc/localtime ]; then + cmp -s /etc/localtime "${named_chroot}/etc/localtime" || + cp -p /etc/localtime "${named_chroot}/etc/localtime" + fi + + command_args="${command_args} -t ${named_chroot}" + + ln -fs "${named_chroot}${pidfile}" "${pidfile}" + fi + + if [ ! -s "${named_chroot}${namedb}/rndc.conf" ]; then + local confgen="${command%/named}/rndc-confgen -a -b256 -u ${named_uid} \ + -c ${named_chrootdir}/etc/namedb/rndc.key" + if [ -s "${named_chroot}${namedb}/rndc.key" ]; then + local getuser="stat -f%Su" + [ "${RC_UNAME}" = "Linux" ] && getuser="stat -c%U" + case $(${getuser} "${named_chroot}${namedb}"/rndc.key) in + root|"${named_uid}") ;; + *) ${confgen} ;; + esac + else + ${confgen} + fi + fi +} + +reload() { + rndc reload +} + +stop_post() { + if [ -n "${named_chroot}" -a -c "${named_chroot}"/dev/null ]; then + umount "${named_chroot}"/dev 2>/dev/null || true + fi +} diff --git a/init.d.misc/ntpd b/init.d.misc/ntpd new file mode 100644 index 00000000..000bf366 --- /dev/null +++ b/init.d.misc/ntpd @@ -0,0 +1,59 @@ +#!/sbin/runscript +# 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. + +ntpd_config=${ntpd_config:-/etc/ntp.conf} +ntpd_drift=${ntpd_drift:-/var/db/ntpd.drift} + +command=/usr/sbin/ntpd +pidfile=/var/run/ntpd.pid +command_args="${ntpd_args} -c ${ntpd_config} -f ${ntpd_drift} -p ${pidfile}" +name="Network Time Protocol Daemon" + +depend() { + use dns + need localmount + after bootmisc ntp-client +} + +start_pre() { + if [ ! -r "${ntpd_config}" ]; then + eerror "${ntpd_config} is not readable" + exit 1 + fi + + if [ -n "${ntpd_chroot}" ]; then + case "${RC_UNAME}" in + *BSD|DragonFly) + if [ ! -c "${ntpd_chroot}/dev/clockctl" ]; then + rm -f "${ntpd_chroot}/dev/clockctl" + (cd /dev; /bin/pax -rw -pe clockctl "${ntpd_chroot}/dev") + fi + ;; + esac + ln -fs "${ntpd_chroot}${ntpd_drift}" "${ntpd_drift}" + + command_args="${command_args} -u ntpd:ntpd -i ${ntpd_chroot}" + fi +} -- cgit v1.2.3