diff options
-rwxr-xr-x | net/analyzer/nagios-plugins/nagios-plugins.SlackBuild | 149 | ||||
-rw-r--r-- | net/analyzer/nagios-plugins/slack-required | 1 | ||||
-rwxr-xr-x | net/analyzer/nagios/nagios.SlackBuild | 186 | ||||
-rw-r--r-- | net/analyzer/nagios/slack-required | 2 |
4 files changed, 338 insertions, 0 deletions
diff --git a/net/analyzer/nagios-plugins/nagios-plugins.SlackBuild b/net/analyzer/nagios-plugins/nagios-plugins.SlackBuild new file mode 100755 index 00000000..f5ee1b10 --- /dev/null +++ b/net/analyzer/nagios-plugins/nagios-plugins.SlackBuild @@ -0,0 +1,149 @@ +#!/bin/bash +# +# nagios-plugins.SlackBuild is free software; you can redistribute +# it and/or modify it under the terms of the GNU General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or any later version. +# +# nagios-plugins.SlackBuild is distributed in the hope that it +# will be useful, but WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +# MA 02111-1307, USA +# +# SlackBuild for Nagios Plugins (http://nagiosplugins.org/) +# +# Author: Luis ( luis at riseup d0t net ) +# + +# Look for slackbuildrc +if [ -f ~/.slackbuildrc ]; then + source ~/.slackbuildrc +elif [ -f /etc/slackbuildrc ]; then + source /etc/slackbuildrc +fi + +# Set variables +CWD="$(pwd)" +SRC_NAME="nagios-plugins" +PKG_NAME="nagios-plugins" +ARCH=${ARCH:=i486} +SRC_VERSION=${VERSION:=1.4.10} +PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')" +BUILD=${BUILD:=1ls} +SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME +TMP=${TMP:=/tmp} +PKG=${PKG:=$TMP/package-$PKG_NAME} +REPOS=${REPOS:=$TMP} +PREFIX=${PREFIX:=/usr/local/nagios} +PKG_WORK="$TMP/$SRC_NAME" +CONF_OPTIONS=${CONF_OPTIONS:=} +NUMJOBS=${NUMJOBS:=-j3} + +# Set optmization flags based on $ARCH +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mcpu=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" +fi + +# Set error codes (used by createpkg) +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42 + +# Clean up any leftovers of previous builds +rm -rf "$PKG_SRC" 2> /dev/null +rm -rf "$PKG" 2> /dev/null + +# Create directories if necessary +mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR +mkdir -p "$PKG" || exit $ERROR_MKDIR +mkdir -p "$REPOS" || exit $ERROR_MKDIR +mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR + +# Dowload source if necessary +SRC="$SRC_NAME-$SRC_VERSION.tar.gz" +URL="http://downloads.sourceforge.net/nagiosplug/$SRC" + +if [ ! -s "$SRC_DIR/$SRC" ] || ! gzip -t "$SRC_DIR/$SRC" 2> /dev/null; then + wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi + +# Untar +cd "$PKG_WORK" +tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR +PKG_SRC=`ls -l | awk '/^d/ { print $8 }'` +cd "$PKG_SRC" + +# Configure +CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix="$PREFIX" $CONF_OPTIONS || exit $ERROR_CONF + +# Compile +make $NUMJOBS || exit $ERROR_MAKE + +# Install +make install DESTDIR="$PKG" || exit $ERROR_INSTALL +make install-root DESTDIR="$PKG" || exit $ERROR_INSTALL + +# Strip binaries +( cd "$PKG" + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null +) + +# Install documentation +DOCS="ABOUT-NLS ACKNOWLEDGEMENTS AUTHORS BUGS CODING COPYING ChangeLog + FAQ INSTALL LEGAL NEWS README REQUIREMENTS SUPPORT THANKS" +mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR +cp -a $DOCS "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" + +# Add package description (slack-desc) +mkdir -p "$PKG/install" || exit $ERROR_MKDIR +cat << EODESC > "$PKG/install/slack-desc" +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +nagios-plugins: nagios-plugins +nagios-plugins: +nagios-plugins: Compiled executables or scripts (Perl, shell, etc.) that can be run +nagios-plugins: from a command line to check the status or a host or service. Nagios +nagios-plugins: uses the results from plugins to determine the current status or +nagios-plugins: hosts and services on your network. Nagios is useless without them. +nagios-plugins: +nagios-plugins: For more information, http://nagiosplugins.org/ +nagios-plugins: +nagios-plugins: +nagios-plugins: +EODESC + +# Build the package +cd "$PKG" +makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG + +# Delete source and build directories if requested +if [ "$CLEANUP" == "yes" ]; then + rm -rf "$PKG_SRC" "$PKG" +fi + diff --git a/net/analyzer/nagios-plugins/slack-required b/net/analyzer/nagios-plugins/slack-required new file mode 100644 index 00000000..c0ca335f --- /dev/null +++ b/net/analyzer/nagios-plugins/slack-required @@ -0,0 +1 @@ +nagios diff --git a/net/analyzer/nagios/nagios.SlackBuild b/net/analyzer/nagios/nagios.SlackBuild new file mode 100755 index 00000000..bdd2e7c0 --- /dev/null +++ b/net/analyzer/nagios/nagios.SlackBuild @@ -0,0 +1,186 @@ +#!/bin/bash +# +# nagios.SlackBuild is free software; you can redistribute +# it and/or modify it under the terms of the GNU General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or any later version. +# +# nagios.SlackBuild is distributed in the hope that it +# will be useful, but WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +# MA 02111-1307, USA +# +# SlackBuild for Nagios (http://www.nagios.org/) +# +# Author: Luis ( luis at riseup d0t net ) +# + +# Look for slackbuildrc +if [ -f ~/.slackbuildrc ]; then + source ~/.slackbuildrc +elif [ -f /etc/slackbuildrc ]; then + source /etc/slackbuildrc +fi + +# Set variables +CWD="$(pwd)" +SRC_NAME="nagios" +PKG_NAME="nagios" +ARCH=${ARCH:=i486} +SRC_VERSION=${VERSION:=2.10} +PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')" +BUILD=${BUILD:=1ls} +SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME +TMP=${TMP:=/tmp} +PKG=${PKG:=$TMP/package-$PKG_NAME} +REPOS=${REPOS:=$TMP} +PREFIX=${PREFIX:=/usr/local/nagios} +PKG_WORK="$TMP/$SRC_NAME" +CONF_OPTIONS=${CONF_OPTIONS:=--with-nagios-user=nobody --with-nagios-group=nobody --with-command-group=nobody} +NUMJOBS=${NUMJOBS:=-j3} + +# Set optmization flags based on $ARCH +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mcpu=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" +fi + +# Set error codes (used by createpkg) +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42 + +# Clean up any leftovers of previous builds +rm -rf "$PKG_SRC" 2> /dev/null +rm -rf "$PKG" 2> /dev/null + +# Create directories if necessary +mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR +mkdir -p "$PKG" || exit $ERROR_MKDIR +mkdir -p "$REPOS" || exit $ERROR_MKDIR +mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR + +# Dowload source if necessary +SRC="$SRC_NAME-$SRC_VERSION.tar.gz" +URL="http://downloads.sourceforge.net/nagios/$SRC" + +if [ ! -s "$SRC_DIR/$SRC" ] || ! gzip -t "$SRC_DIR/$SRC" 2> /dev/null; then + wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi + +# Untar +cd "$PKG_WORK" +tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR +PKG_SRC=`ls -l | awk '/^d/ { print $8 }'` +cd "$PKG_SRC" + +# Configure +CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix="$PREFIX" $CONF_OPTIONS || exit $ERROR_CONF + +# Compile +make $NUMJOBS all || exit $ERROR_MAKE + +# Install +make install DESTDIR="$PKG" || exit $ERROR_INSTALL +make install-init DESTDIR="$PKG" || exit $ERROR_INSTALL +make install-commandmode DESTDIR="$PKG" || exit $ERROR_INSTALL +make install-config DESTDIR="$PKG" || exit $ERROR_INSTALL +mv "$PKG/etc/rc.d/nagios" "$PKG/etc/rc.d/rc.nagios.new" +for file in $(ls -1 "$PKG/$PREFIX"/etc/*); do + mv "$file" "$file".new +done + +# Strip binaries +( cd "$PKG" + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null +) + +# Install documentation +DOCS="Changelog INSTALLING LEGAL LICENSE README UPGRADING" +mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR +cp -a $DOCS "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" + +# Add package description (slack-desc) +mkdir -p "$PKG/install" || exit $ERROR_MKDIR +cat << EODESC > "$PKG/install/slack-desc" +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +nagios: nagios +nagios: +nagios: Nagios can monitor hosts and services on your network. It has the +nagios: ability to email or page you when a problem arises and when it is +nagios: resolved. In order for Nagios to be of any use, you will need its +nagios: plugins. +nagios: +nagios: For more information about nagios, http://www.nagios.org/ +nagios: And for more information about its plugins, http://nagiosplugins.org/ +nagios: +nagios: +EODESC + +# Add a post-installation script (doinst.sh) +cat << EOSCRIPT > "$PKG/install/doinst.sh" +config() { + NEW="\$1" + OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r \$OLD ]; then + mv \$NEW \$OLD + elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then + # toss the redundant copy + rm \$NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/rc.d/rc.nagios.new +for file in \$(ls -1 "$PREFIX"/etc/*.new); do + config \$file +done + +echo +echo " \"Important: Installing and configuring Nagios is rather" +echo " involved. You can't just compile the binaries, run the" +echo " program and sit back. There's a lot to setup before you" +echo " can actually start monitoring anything. Relax, take your" +echo " time and read all the documentation - you're going to" +echo " need it.\"" +echo +echo " Quoting: http://nagios.sourceforge.net/docs/2_0/" +echo +EOSCRIPT + +# Build the package +cd "$PKG" +makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG + +# Delete source and build directories if requested +if [ "$CLEANUP" == "yes" ]; then + rm -rf "$PKG_SRC" "$PKG" +fi + diff --git a/net/analyzer/nagios/slack-required b/net/analyzer/nagios/slack-required new file mode 100644 index 00000000..cba5989f --- /dev/null +++ b/net/analyzer/nagios/slack-required @@ -0,0 +1,2 @@ +apache +gd >= 1.6.3 |