summaryrefslogtreecommitdiff
path: root/init.d.misc
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2007-11-23 12:04:11 +0000
committerRoy Marples <roy@marples.name>2007-11-23 12:04:11 +0000
commitd81def80b00a3dbcb4f8980f4503c4d659b48a2a (patch)
tree64a5df4281620cacbc1f03838d42e88167886fc9 /init.d.misc
parentf077f179edaeb746b267421baa29ec751c38b713 (diff)
downloadopenrc-d81def80b00a3dbcb4f8980f4503c4d659b48a2a.tar.gz
openrc-d81def80b00a3dbcb4f8980f4503c4d659b48a2a.tar.bz2
openrc-d81def80b00a3dbcb4f8980f4503c4d659b48a2a.tar.xz
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)
Diffstat (limited to 'init.d.misc')
-rw-r--r--init.d.misc/Makefile5
-rw-r--r--init.d.misc/named116
-rw-r--r--init.d.misc/ntpd59
3 files changed, 180 insertions, 0 deletions
diff --git a/init.d.misc/Makefile b/init.d.misc/Makefile
new file mode 100644
index 0000000..c50e550
--- /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 0000000..4b2a117
--- /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 0000000..000bf36
--- /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
+}