From 215960b820a5e027ecbf835ed8e25e611bf9090b Mon Sep 17 00:00:00 2001
From: Per Cederqvist <ceder@lysator.liu.se>
Date: Mon, 15 Jan 2007 22:52:04 +0000
Subject: [PATCH] Added support for Solaris 8.

---
 bin/compile-nagios-plugins                    |  3 ++-
 bin/utils/functions.sh                        |  9 ++++-----
 rules/gentoo/nrpe-host-auto.sh                |  2 +-
 rules/solaris10/config-nrpe.sh                |  2 +-
 rules/solaris10/nrpe-host-auto.sh             |  4 ++--
 rules/solaris8/config-nrpe.sh                 | 14 +++++++++++++
 rules/solaris8/nrpe-host-auto.sh              | 20 +++++++++++++++++++
 rules/solaris8/nrpe-os.cfg.in                 |  4 ++++
 rules/solaris8/setup-env.sh                   |  2 ++
 .../lysator/solaris8/install-nrpe-posthook.sh | 15 ++++++++++++++
 .../solaris8/nagios-plugins-config-opts       |  1 +
 site-rules/lysator/solaris8/os                |  1 +
 12 files changed, 67 insertions(+), 10 deletions(-)
 create mode 100755 rules/solaris8/config-nrpe.sh
 create mode 100644 rules/solaris8/nrpe-host-auto.sh
 create mode 100644 rules/solaris8/nrpe-os.cfg.in
 create mode 100644 rules/solaris8/setup-env.sh
 create mode 100644 site-rules/lysator/solaris8/install-nrpe-posthook.sh
 create mode 100644 site-rules/lysator/solaris8/nagios-plugins-config-opts
 create mode 100644 site-rules/lysator/solaris8/os

diff --git a/bin/compile-nagios-plugins b/bin/compile-nagios-plugins
index 7488f64..a8d1185 100755
--- a/bin/compile-nagios-plugins
+++ b/bin/compile-nagios-plugins
@@ -14,7 +14,8 @@ then
     echo ../nagios-plugins-*/Makefile exists.  Not running configure. >&2
 else
     echo Running ../nagios-plugins-*/configure >&2
-    (cd ../nagios-plugins-* && ./configure --prefix=$prefix)
+    opts=`contents nagios-plugins-config-opts`
+    (cd ../nagios-plugins-* && ./configure --prefix=$prefix $opts)
 fi
 
 if [ -f ../nagios-plugins-*/src/nagios-plugins ]
diff --git a/bin/utils/functions.sh b/bin/utils/functions.sh
index 88b0ada..285840c 100644
--- a/bin/utils/functions.sh
+++ b/bin/utils/functions.sh
@@ -69,11 +69,10 @@ contents () {
     fi
 }
 
-tempfile () {
-    mktemp -t $1.XXXXXX 2>/dev/null && exit 0
-    tempfile -p $1 2>/dev/null && exit 0
-    echo /tmp/$1.$$ && exit 0
-    exit 1
+get_tempfile () {
+    mktemp -t $1.XXXXXX 2>/dev/null && return
+    tempfile -p $1 2>/dev/null && return
+    echo /tmp/$1.$$
 }
 
 gentoo_add_use () {
diff --git a/rules/gentoo/nrpe-host-auto.sh b/rules/gentoo/nrpe-host-auto.sh
index 829dc93..798f5e0 100644
--- a/rules/gentoo/nrpe-host-auto.sh
+++ b/rules/gentoo/nrpe-host-auto.sh
@@ -1,4 +1,4 @@
-FILESYSTEMS=`tempfile nrpfs`
+FILESYSTEMS=`get_tempfile nrpfs`
 trap "rm -f $FILESYSTEMS" 0
 
 > $prefix/etc/nrpe-host-auto.cfg
diff --git a/rules/solaris10/config-nrpe.sh b/rules/solaris10/config-nrpe.sh
index d449872..6283bc6 100755
--- a/rules/solaris10/config-nrpe.sh
+++ b/rules/solaris10/config-nrpe.sh
@@ -9,7 +9,7 @@ fi
 if svcs svc:/network/nrpe/tcp >/dev/null 2>&1
 then :
 else
-    NRPECFG=`tempfile`
+    NRPECFG=`get_tempfile nrpsv`
     echo "nrpe stream tcp nowait nagios $prefix/bin/nrpe $prefix/bin/nrpe -c $prefix/etc/nrpe.cfg --inetd" > $NRPECFG
     inetconv -i $NRPECFG
     rm $NRPECFG
diff --git a/rules/solaris10/nrpe-host-auto.sh b/rules/solaris10/nrpe-host-auto.sh
index 72ba555..3071ba6 100644
--- a/rules/solaris10/nrpe-host-auto.sh
+++ b/rules/solaris10/nrpe-host-auto.sh
@@ -1,5 +1,5 @@
-FILESYSTEMS=`tempfile nrpfs`
-ZPOOLS=`tempfile nrzfs`
+FILESYSTEMS=`get_tempfile nrpfs`
+ZPOOLS=`get_tempfile nrzfs`
 trap "rm -f $FILESYSTEMS $ZPOOLS" 0
 
 # Create a host-specific config file.
diff --git a/rules/solaris8/config-nrpe.sh b/rules/solaris8/config-nrpe.sh
new file mode 100755
index 0000000..fc8bdcd
--- /dev/null
+++ b/rules/solaris8/config-nrpe.sh
@@ -0,0 +1,14 @@
+# Install the service.
+getent services nrpe >/dev/null
+if [ $? = 2 ]
+then
+    echo 'nrpe 5666/tcp # Nagios NRPE' >> /etc/services
+fi
+
+# Install the SVC
+if grep "^nrpe stream tcp" /etc/inetd.conf >/dev/null 2>&1
+then :
+else
+    echo "nrpe stream tcp nowait nagios $prefix/bin/nrpe nrpe -c $prefix/etc/nrpe.cfg -i" >> /etc/inetd.conf
+    pkill -HUP -P 1 -u root -x inetd
+fi
diff --git a/rules/solaris8/nrpe-host-auto.sh b/rules/solaris8/nrpe-host-auto.sh
new file mode 100644
index 0000000..4e9c7e1
--- /dev/null
+++ b/rules/solaris8/nrpe-host-auto.sh
@@ -0,0 +1,20 @@
+FILESYSTEMS=`get_tempfile nrpfs`
+trap "rm -f $FILESYSTEMS" 0
+
+# Create a host-specific config file.
+{ df -F ufs; df -F tmpfs; } \
+| awk '{ print $1 }' \
+| tee $FILESYSTEMS \
+| while read mp
+  do
+    dev=`mount|awk '$1 == "'$mp'" { print $3 }'`
+    case $dev in
+	/*) arg=$dev;;
+	swap) arg=$mp;;
+	*) echo unknown: mp=$mp dev=$dev >&2
+	   arg=$mp;;
+    esac
+    echo $arg `echo $mp | sed -e 's%^/$%/root%' -e 's%/%-%g'`
+  done \
+|awk '{ print "command[check-disk" $2 "]='$prefix'/libexec/check_disk " $1 }'\
+> $prefix/etc/nrpe-host-auto.cfg
diff --git a/rules/solaris8/nrpe-os.cfg.in b/rules/solaris8/nrpe-os.cfg.in
new file mode 100644
index 0000000..7945742
--- /dev/null
+++ b/rules/solaris8/nrpe-os.cfg.in
@@ -0,0 +1,4 @@
+# This file is centrally managed.  Do not edit.  Source:
+# svn+ssh://lsvn.lysator.liu.se/svnroot/nagios-plugins/trunk/nagios-plugins
+
+command[check-iostatE]=@PREFIX@/libexec/check_iostatE -C @PREFIX@/etc/check_iostatE.cfg
diff --git a/rules/solaris8/setup-env.sh b/rules/solaris8/setup-env.sh
new file mode 100644
index 0000000..71ca409
--- /dev/null
+++ b/rules/solaris8/setup-env.sh
@@ -0,0 +1,2 @@
+PATH=/bin:/sbin:/usr/sbin:/usr/ccs/bin:/usr/local/bin
+export PATH
diff --git a/site-rules/lysator/solaris8/install-nrpe-posthook.sh b/site-rules/lysator/solaris8/install-nrpe-posthook.sh
new file mode 100644
index 0000000..3f367f0
--- /dev/null
+++ b/site-rules/lysator/solaris8/install-nrpe-posthook.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Install gawk locally, as check_iostatE needs it.
+if [ -f /opt/lysator/bin/gawk ]
+then :
+else
+    if [ -f /usr/local/bin/gawk ]
+    then
+        mkdir -p /opt/lysator/bin
+        cp /usr/local/bin/gawk /opt/lysator/bin
+    else
+	echo '*** No gawk found, so not installed in /opt/lysator/bin.' >&2
+	echo '*** check_iostatE might fail!' >&2
+    fi
+fi
diff --git a/site-rules/lysator/solaris8/nagios-plugins-config-opts b/site-rules/lysator/solaris8/nagios-plugins-config-opts
new file mode 100644
index 0000000..466fc6e
--- /dev/null
+++ b/site-rules/lysator/solaris8/nagios-plugins-config-opts
@@ -0,0 +1 @@
+--without-openssl --disable-nls
diff --git a/site-rules/lysator/solaris8/os b/site-rules/lysator/solaris8/os
new file mode 100644
index 0000000..44ad52c
--- /dev/null
+++ b/site-rules/lysator/solaris8/os
@@ -0,0 +1 @@
+solaris8
-- 
GitLab