From 91db53cef3536a45ab245d6f182fbd1c141583cf Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Tue, 20 Nov 2007 12:10:32 +0000 Subject: [PATCH] Move sysctl into it's own init script --- init.d.BSD/Makefile | 2 +- init.d.BSD/sysctl | 45 +++++++++++++++++++++++++++++++++++++++++++ init.d.Linux/Makefile | 2 +- init.d.Linux/sysctl | 38 ++++++++++++++++++++++++++++++++++++ init.d/bootmisc | 8 -------- 5 files changed, 85 insertions(+), 10 deletions(-) create mode 100644 init.d.BSD/sysctl create mode 100644 init.d.Linux/sysctl diff --git a/init.d.BSD/Makefile b/init.d.BSD/Makefile index b15b007b..ee03f7b9 100644 --- a/init.d.BSD/Makefile +++ b/init.d.BSD/Makefile @@ -1,5 +1,5 @@ DIR = /etc/init.d -BIN = clock +BIN = clock sysctl TOPDIR = .. include $(TOPDIR)/default.mk diff --git a/init.d.BSD/sysctl b/init.d.BSD/sysctl new file mode 100644 index 00000000..644b25a2 --- /dev/null +++ b/init.d.BSD/sysctl @@ -0,0 +1,45 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# 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. + +depend() { + use hostname + before bootmisc logger +} + +start() { + [ -e /etc/sysctl.conf ] || return 0 + + ebegin "Configuring kernel parameters" + local retval=0 var= comments= + while read var comments ; do + case "${var}" in + ""|"#"*) continue;; + esac + sysctl "${var}" >/dev/null || retval=1 + done < /etc/sysctl.conf + eend ${retval} "Some errors were encountered" + eend $? +} diff --git a/init.d.Linux/Makefile b/init.d.Linux/Makefile index 48ad03f7..3ed63756 100644 --- a/init.d.Linux/Makefile +++ b/init.d.Linux/Makefile @@ -1,5 +1,5 @@ DIR = /etc/init.d -BIN = clock consolefont keymaps modules numlock +BIN = clock consolefont keymaps modules numlock sysctl TOPDIR = .. include $(TOPDIR)/default.mk diff --git a/init.d.Linux/sysctl b/init.d.Linux/sysctl new file mode 100644 index 00000000..9ee59ef7 --- /dev/null +++ b/init.d.Linux/sysctl @@ -0,0 +1,38 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# 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. + +depend() { + use hostname + before bootmisc logger +} + +start() { + [ "${RC_SYS}" != "VPS" ] && return 0 + [ -e /etc/sysctl.conf ] || return 0 + ebegin "Configuring kernel parameters" + sysctl -p /etc/sysctl.conf >/dev/null + eend $? +} diff --git a/init.d/bootmisc b/init.d/bootmisc index c2db7dae..f17e8536 100755 --- a/init.d/bootmisc +++ b/init.d/bootmisc @@ -77,14 +77,6 @@ start() { cp /etc/nologin /etc/nologin.boot fi - if [ -e /etc/sysctl.conf -a ! -x /etc/init.d/sysctl ]; then - if [ "${RC_SYS}" != "VPS" ]; then - ebegin "Configuring kernel parameters" - sysctl -p /etc/sysctl.conf >/dev/null - eend $? - fi - fi - if ! mkdir /.test.$$ 2>/dev/null; then ewarn "Skipping /var and /tmp initialization (ro root?)" return 0