diff options
author | William Hubbs <w.d.hubbs@gmail.com> | 2016-07-19 15:56:06 -0500 |
---|---|---|
committer | William Hubbs <w.d.hubbs@gmail.com> | 2016-07-19 16:21:48 -0500 |
commit | daf93977641201f16c477b075ce9055a1da8f7b3 (patch) | |
tree | fc00d8b34f876e52f070ed81f7331726e6a32ca1 /init.d/sysctl.in | |
parent | 2984504c887afc9a36610eb7c20b097f7d1e70d0 (diff) |
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.
Diffstat (limited to 'init.d/sysctl.in')
-rw-r--r-- | init.d/sysctl.in | 57 |
1 files changed, 57 insertions, 0 deletions
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" +} |