From daf93977641201f16c477b075ce9055a1da8f7b3 Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Tue, 19 Jul 2016 15:56:06 -0500 Subject: init.d: combine sysctl scripts We had separate sysctl scripts for each operating system. However, there is no need to do this since we can detect the operating system at runtime with $RC_UNAME. --- init.d/sysctl.in | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 init.d/sysctl.in (limited to 'init.d/sysctl.in') diff --git a/init.d/sysctl.in b/init.d/sysctl.in new file mode 100644 index 00000000..05f5c4c1 --- /dev/null +++ b/init.d/sysctl.in @@ -0,0 +1,57 @@ +#!@SBINDIR@/openrc-run +# Copyright (c) 2007-2015 The OpenRC Authors. +# See the Authors file at the top-level directory of this distribution and +# https://github.com/OpenRC/openrc/blob/master/AUTHORS +# +# This file is part of OpenRC. It is subject to the license terms in +# the LICENSE file found in the top-level directory of this +# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE +# This file may not be copied, modified, propagated, or distributed +# except according to the terms contained in the LICENSE file. + +depend() +{ + before bootmisc logger + keyword -prefix -systemd-nspawn -vserver +} + +BSD_sysctl() +{ + [ -e /etc/sysctl.conf ] || return 0 + local retval=0 var= comments= conf= + eindent + for conf in @SYSCONFDIR@/sysctl.conf @SYSCONFDIR@/sysctl.d/*.conf; do + if [ -r "$conf" ]; then + vebegin "applying $conf" + while read var comments; do + case "$var" in + ""|"#"*) continue;; + esac + sysctl -w "$var" >/dev/null || retval=1 + done < "$conf" + veend $retval + fi + done + eoutdent + return $retval +} + +Linux_sysctl() +{ + local quiet + yesno $rc_verbose || quiet=-q + + sysctl ${quiet} --system +} + +start() +{ + local rc=0 + + ebegin "Configuring kernel parameters" + case $RC_UNAME" in + *BSD|GNU) BSD_sysctl; rc=$? ;; + Linux) Linux_sysctl; rc=$? ;; + esac + eend $rc "Unable to configure some kernel parameters" +} -- cgit v1.2.3