emulate procps handling on bsd
authorStephen Gran <steve@lobefin.net>
Mon, 23 Apr 2012 10:34:50 +0000 (11:34 +0100)
committerStephen Gran <steve@lobefin.net>
Mon, 23 Apr 2012 10:34:50 +0000 (11:34 +0100)
Signed-off-by: Stephen Gran <steve@lobefin.net>
modules/kfreebsd/files/procps.init [new file with mode: 0755]
modules/kfreebsd/manifests/init.pp
modules/site/manifests/init.pp

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
+
index 8d2cf79..8159509 100644 (file)
@@ -1,8 +1,20 @@
 class kfreebsd {
+
        file { '/etc/cron.d/dsa-killruby':
                source => 'puppet:///modules/kfreebsd/dsa-killruby',
        }
 
+       file { '/etc/sysctl.d/':
+               ensure => directory,
+               mode   => '0755'
+       }
+
+       file { '/etc/init.d/procps':
+               source => 'puppet:///modules/kfreebsd/procps.init',
+               mode   => '0555',
+               before => Service['procps'],
+       }
+
        site::sysctl { 'maxfiles':
                key    => 'kern.maxfiles',
                value  => 65536,
index 8fe1daf..4d09074 100644 (file)
@@ -9,9 +9,4 @@ class site {
                status      => '/bin/true',
        }
 
-       file { '/etc/sysctl.d/':
-               ensure => directory,
-               mode   => '0755'
-       }
-
 }