]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/kfreebsd/files/procps.init
emulate procps handling on bsd
[dsa-puppet.git] / modules / kfreebsd / files / procps.init
diff --git a/modules/kfreebsd/files/procps.init b/modules/kfreebsd/files/procps.init
new file mode 100755 (executable)
index 0000000..4ecb601
--- /dev/null
@@ -0,0 +1,60 @@
+#! /bin/sh
+# /etc/init.d/procps: Set kernel variables from /etc/sysctl.conf
+#
+# written by Stephen Gran <sgran@debian.org> based on work by Elrond <Elrond@Wunder-Nett.org>
+
+### BEGIN INIT INFO
+# Provides:          procps
+# Required-Start:    mountkernfs $local_fs
+# Required-Stop:
+# Default-Start:     S
+# Default-Stop:
+# Short-Description: Configure kernel parameters at boottime
+# Description:  Loads kernel parameters that are specified in /etc/sysctl.conf
+### END INIT INFO
+
+PATH=/sbin:/bin
+
+SYSCTL=/bin/sysctl
+
+test -x $SYSCTL || exit 0
+
+. /lib/lsb/init-functions
+
+# Comment this out for sysctl to print every item changed
+QUIET_SYSCTL="-q"
+
+# Check for existance of the default file
+if [ -f /etc/default/rcS ] ; then
+  . /etc/default/rcS
+fi
+
+set -e
+
+VERBOSE=yes
+case "$1" in
+       start|restart|force-reload)
+               log_action_begin_msg "Setting kernel variables "
+               STATUS=0
+               for file in /etc/sysctl.conf /etc/sysctl.d/*.conf ; do
+                       if [ -r "$file" ] ; then
+                               if [ "$VERBOSE" = "yes" ] ; then
+                                       log_action_cont_msg " $file"
+                               fi
+                               egrep -v '^[[:space:]]*(#|$)' "$file" | while read line; do 
+                                       $SYSCTL $QUIET_SYSCTL "$(echo $line | sed -e 's/ = /=/')"
+                               done
+                       fi
+               done
+               log_action_end_msg $STATUS
+               ;;
+       stop)
+               ;;
+       *)
+               echo "Usage: /etc/init.d/procps {start|stop|restart|force-reload}" >&2
+               exit 3
+               ;;
+esac
+
+exit 0
+