aboutsummaryrefslogtreecommitdiff
path: root/init.d/sysctl.in
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2016-07-19 15:56:06 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2016-07-19 16:21:48 -0500
commitdaf93977641201f16c477b075ce9055a1da8f7b3 (patch)
treefc00d8b34f876e52f070ed81f7331726e6a32ca1 /init.d/sysctl.in
parent2984504c887afc9a36610eb7c20b097f7d1e70d0 (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.in57
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"
+}