wok-next rev 8703

add:: ndoutils
author Eric Joseph-Alexandre <erjo@slitaz.org>
date Thu Feb 17 23:12:37 2011 +0100 (2011-02-17)
parents 3b3a18a0c294
children 2b32764afdc5
files ndoutils/receipt ndoutils/stuff/etc/init.d/ndo2db ndoutils/stuff/etc/mysql.d/ndoutils ndoutils/stuff/ndoutils-1.4b9-Makefile.in.u ndoutils/stuff/ndoutils-1.4b9-Makefiles.in.u
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/ndoutils/receipt	Thu Feb 17 23:12:37 2011 +0100
     1.3 @@ -0,0 +1,112 @@
     1.4 +# SliTaz package receipt.
     1.5 +
     1.6 +PACKAGE="ndoutils"
     1.7 +VERSION="1.4b9"
     1.8 +CATEGORY="network"
     1.9 +SHORT_DESC="Provide mysql access to nagios."
    1.10 +MAINTAINER="pascal.bellard@slitaz.org"
    1.11 +TARBALL="$PACKAGE-$VERSION.tar.gz"
    1.12 +WEB_SITE="http://www.nagios.org/"
    1.13 +WGET_URL="$SF_MIRROR/nagios/$TARBALL"
    1.14 +DEPENDS="nagios mysql"
    1.15 +BUILD_DEPENDS="mysql-dev"
    1.16 +CONFIG_FILES="/etc/nagios"
    1.17 +
    1.18 +# Rules to configure and make the package.
    1.19 +compile_rules()
    1.20 +{
    1.21 +	cd $src
    1.22 +	
    1.23 +	while read patch_file; do
    1.24 +		if [ ! -f done.$patch_file ]; then
    1.25 +			patch -p1 < ../stuff/$patch_file || exit 1
    1.26 +			touch done.$patch_file
    1.27 +		fi
    1.28 +	done <<EOT
    1.29 +$PACKAGE-$VERSION-Makefiles.in.u
    1.30 +EOT
    1.31 +
    1.32 +	./configure --prefix=/usr \
    1.33 +	--with-ndo2db-user=nagios \
    1.34 +	--with-ndo2db-group=nagios \
    1.35 +	--localstatedir=/var/run/nagios \
    1.36 +	--sysconfdir=/etc/nagios \
    1.37 +	--libexecdir=/usr/lib/$PACKAGE \
    1.38 +	--mandir=/usr/share/man $CONFIGURE_ARGS &&
    1.39 +	make && \
    1.40 +	make DESTDIR=$PWD/_pkg install && \
    1.41 +	make DESTDIR=$PWD/_pkg install-config
    1.42 +}	
    1.43 +
    1.44 +# Rules to gen a SliTaz package suitable for Tazpkg.
    1.45 +genpkg_rules()
    1.46 +{
    1.47 +	mkdir -p $fs/usr/share/nagios/ndoutils \
    1.48 +		$fs/etc/nagios \
    1.49 +		$fs/var/run/nagios \
    1.50 +		$fs/etc/mysql.d
    1.51 +	
    1.52 +	cp -a $_pkg/usr/bin $fs/usr
    1.53 +	cp -a $_pkg/usr/lib $fs/usr
    1.54 +	cp -a $_pkg/etc $fs
    1.55 +	
    1.56 +	# config ndo2db.cfg
    1.57 +	sed -i  -e 's/ndo2db_user=nagios/ndo2db_user=nagios/' \
    1.58 +		-e 's/ndo2db_group=nagios/ndo2db_group=nagios/' \
    1.59 +		-e 's|/usr/local/nagios/var/|/var/run/nagios/|' \
    1.60 +		-e 's/db_user=ndouser/db_user=root/' \
    1.61 +		-e 's/db_pass=ndopassword/db_pass=/' $fs/etc/nagios/ndo2db.cfg
    1.62 +
    1.63 +	# config ndomod.cfg
    1.64 +	sed -i  -e 's|output=/usr/local/nagios/var/|output=/var/run/nagios/|' \
    1.65 +		-e 's|buffer_file=/usr/local/nagios/var/|buffer_file=/var/tmp/|' \
    1.66 +		$fs/etc/nagios/ndomod.cfg
    1.67 +
    1.68 +	cp -a  $src/db/mysql.sql  $fs/usr/share/nagios/ndoutils/nagios.sql
    1.69 +	cp -a stuff/etc $fs
    1.70 +	
    1.71 +	chmod 755 $fs/usr/bin/*
    1.72 +	chmod 755 $fs/etc/mysql.d/*
    1.73 +}
    1.74 +
    1.75 +post_install()
    1.76 +{
    1.77 +	if ! grep -q nagios $1/etc/passwd; then
    1.78 +		echo -n "Adding user nagios..."
    1.79 +		chroot $1/ adduser -S -D -H nagios
    1.80 +		status
    1.81 +	fi
    1.82 +		
    1.83 +	if ! grep -q ndomod.cfg $1/etc/nagios/nagios.cfg; then
    1.84 +		sed -i '/LOG ROTATION METHOD/i\broker_module=/usr/lib/ndoutils/ndomod.o config_file=/etc/nagios/ndomod.cfg' $1/etc/nagios/nagios.cfg
    1.85 +		chroot $1/ chown nagios.nagios $1/etc/nagios/nagios.cfg
    1.86 +	fi
    1.87 +	
    1.88 +	chroot $1/ chown nagios.nagios $fs/usr/lib/ndoutils/ndomod.o \
    1.89 +	 $fs/etc/nagios/ndo2db.cfg $fs/etc/nagios/ndomod.cfg \
    1.90 +	 $fs/var/run/nagios $fs/etc/nagios
    1.91 +
    1.92 +	sed -i "s/nagios/ndo2db nagios/" $1/etc/rcS.conf 
    1.93 +	
    1.94 +	if [ -z "$1" ]; then	
    1.95 +		[ -f /var/run/mysqld/mysql.pid ] || /etc/init.d/mysql start
    1.96 +		/etc/mysql.d/$PACKAGE    
    1.97 +		#/usr/bin/ndo2db -c /etc/nagios/ndo2db.cfg
    1.98 +		/etc/init.d/ndo2db start
    1.99 +		/etc/init.d/nagios stop
   1.100 +		/etc/init.d/nagios start
   1.101 +
   1.102 +	fi	
   1.103 +}
   1.104 +
   1.105 +pre_remove()
   1.106 +{
   1.107 +	/etc/init.d/ndo2db stop
   1.108 +}
   1.109 +
   1.110 +post_remove()
   1.111 +{
   1.112 +		sed -i "s/ndo2db//" $1/etc/rcS.conf 
   1.113 +		/etc/init.d/nagios restart
   1.114 +		sed -i 's|broker_module=/usr/lib/ndoutils/ndomod.o config_file=/etc/nagios/ndomod.cfg||' $1/etc/nagios/nagios.cfg
   1.115 +}
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/ndoutils/stuff/etc/init.d/ndo2db	Thu Feb 17 23:12:37 2011 +0100
     2.3 @@ -0,0 +1,163 @@
     2.4 +#!/bin/sh
     2.5 +# 
     2.6 +#
     2.7 +# chkconfig: 345 99 01
     2.8 +# description: Nagios to mysql
     2.9 +#
    2.10 +# Author : Gaétan Lucas
    2.11 +# Realase : 07/02/08
    2.12 +# Version : 0.1 b
    2.13 +# File : ndo2db
    2.14 +# Description: Starts and stops the Ndo2db daemon
    2.15 +#              used to provide network services status in a database.
    2.16 +#
    2.17 +  
    2.18 +status_ndo ()
    2.19 +{
    2.20 +	if ps -p $NdoPID > /dev/null 2>&1; then
    2.21 +	        return 0
    2.22 +	else
    2.23 +		return 1
    2.24 +	fi
    2.25 +
    2.26 +	return 1
    2.27 +}
    2.28 +
    2.29 +printstatus_ndo()
    2.30 +{
    2.31 +	if status_ndo $1 $2; then
    2.32 +		echo "ndo (pid $NdoPID) is running..."
    2.33 +	else
    2.34 +		echo "ndo is not running"
    2.35 +	fi
    2.36 +}
    2.37 +
    2.38 +killproc_ndo ()
    2.39 +{
    2.40 +	echo "kill $2 $NdoPID"
    2.41 +	kill $2 $NdoPID
    2.42 +}
    2.43 +
    2.44 +pid_ndo ()
    2.45 +{
    2.46 +	if test ! -f $NdoRunFile; then
    2.47 +		echo "No lock file found in $NdoRunFile"
    2.48 +		echo -n "         checking runing process..."
    2.49 +		NdoPID=`ps -ef|grep ndo2db|cut -c0-5`
    2.50 +		if [ -z "$NdoPID" ]; then
    2.51 +			echo "     No ndo2db process found"
    2.52 +			exit 1
    2.53 +		else
    2.54 +			echo "     found process pid: $NdoPID"
    2.55 +			echo -n "         reinit $NdoRunFile ..."
    2.56 +			touch $NdoRunFile
    2.57 +			chown $NdoUser:$NdoGroup $NdoRunFile
    2.58 +			echo "$NdoPID" > $NdoRunFile
    2.59 +			echo "     done"
    2.60 +		fi
    2.61 +	fi
    2.62 +
    2.63 +	NdoPID=`head $NdoRunFile`
    2.64 +}
    2.65 +
    2.66 +# Source function library
    2.67 +# Solaris doesn't have an rc.d directory, so do a test first
    2.68 +if [ -f /etc/rc.d/init.d/functions ]; then
    2.69 +	. /etc/rc.d/init.d/functions
    2.70 +elif [ -f /etc/init.d/functions ]; then
    2.71 +	. /etc/init.d/functions
    2.72 +fi
    2.73 +
    2.74 +prefix=/usr
    2.75 +exec_prefix=${prefix}/bin
    2.76 +NdoBin=${exec_prefix}/ndo2db
    2.77 +NdoCfgFile=/etc/nagios/ndo2db.cfg
    2.78 +NdoRunFile=/var/run/nagios/ndo2db.run
    2.79 +NdoLockDir=/var/lock/subsys
    2.80 +NdoLockFile=ndo2db.lock
    2.81 +NdoUser=nagios
    2.82 +NdoGroup=nagios
    2.83 +          
    2.84 +# Check that ndo exists.
    2.85 +if [ ! -f $NdoBin ]; then
    2.86 +   echo "Executable file $NdoBin not found.  Exiting."
    2.87 +   exit 1
    2.88 +fi
    2.89 +
    2.90 +# Check that ndo.cfg exists.
    2.91 +if [ ! -f $NdoCfgFile ]; then
    2.92 +   echo "Configuration file $NdoCfgFile not found.  Exiting."
    2.93 +   exit 1
    2.94 +fi
    2.95 +          
    2.96 +# See how we were called.
    2.97 +case "$1" in
    2.98 +
    2.99 +	start)
   2.100 +		echo -n "Starting ndo:"
   2.101 +		touch $NdoRunFile
   2.102 +		chown $NdoUser:$NdoGroup $NdoRunFile
   2.103 +		$NdoBin -c $NdoCfgFile
   2.104 +		if [ -d $NdoLockDir ]; then
   2.105 +			touch $NdoLockDir/$NdoLockFile;
   2.106 +	       	fi
   2.107 +		ps -ef|grep ndo2db|cut -c0-5 > $NdoRunFile
   2.108 +		if [ $? -eq 0 ]; then
   2.109 +			echo " done."
   2.110 +			exit 0
   2.111 +		else
   2.112 +			echo " failed."
   2.113 +			$0 stop
   2.114 +			exit 1
   2.115 +		fi
   2.116 +		;;
   2.117 +
   2.118 +	stop)
   2.119 +		echo -n "Stopping ndo: "
   2.120 +
   2.121 +		pid_ndo
   2.122 +		killproc_ndo
   2.123 +
   2.124 +		# now we have to wait for ndo to exit and remove its
   2.125 +		# own NdoRunFile, otherwise a following "start" could
   2.126 +		# happen, and then the exiting ndo will remove the
   2.127 +		# new NdoRunFile, allowing multiple ndo daemons
   2.128 +		# to (sooner or later) run
   2.129 +		#echo -n 'Waiting for ndo to exit .'
   2.130 +		for i in 1 2 3 4 5 6 7 8 9 10 ; do
   2.131 +		    if status_ndo > /dev/null; then
   2.132 +			echo -n '.'
   2.133 +			sleep 1
   2.134 +		    else
   2.135 +			break
   2.136 +		    fi
   2.137 +		done
   2.138 +		if status_ndo > /dev/null; then
   2.139 +		    echo 
   2.140 +		    echo 'Warning - ndo did not exit in a timely manner'
   2.141 +		else
   2.142 +		    echo 'done.'
   2.143 + 		fi
   2.144 +
   2.145 +		rm -f $NdoRunFile $NdoLockDir/$NdoLockFile
   2.146 +		;;
   2.147 +
   2.148 +	status)
   2.149 +		pid_ndo
   2.150 +		printstatus_ndo ndo
   2.151 +		;;
   2.152 +
   2.153 +	restart)
   2.154 +		$0 stop
   2.155 +		$0 start
   2.156 +		;;
   2.157 +
   2.158 +	*)
   2.159 +		echo "Usage: ndo {start|stop|restart|status}"
   2.160 +		exit 1
   2.161 +		;;
   2.162 +
   2.163 +esac
   2.164 +  
   2.165 +# End of this script
   2.166 +
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/ndoutils/stuff/etc/mysql.d/ndoutils	Thu Feb 17 23:12:37 2011 +0100
     3.3 @@ -0,0 +1,9 @@
     3.4 +#!/bin/sh
     3.5 +
     3.6 +mysqldump nagios > /dev/null 2>&1 ||
     3.7 +mysql <<EOT
     3.8 +create database nagios;
     3.9 +use nagios;
    3.10 +\. /usr/share/nagios/ndoutils/nagios.sql
    3.11 +EOT
    3.12 +chmod -x /etc/mysql.d/ndoutils
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/ndoutils/stuff/ndoutils-1.4b9-Makefile.in.u	Thu Feb 17 23:12:37 2011 +0100
     4.3 @@ -0,0 +1,11 @@
     4.4 +--- ndoutils-1.4b9-ori/Makefile	Sat Jun 12 09:56:33 2010
     4.5 ++++ ndoutils-1.4b9/Makefile	Sat Jun 12 09:57:06 2010
     4.6 +@@ -17,7 +17,7 @@
     4.7 + BINDIR=${exec_prefix}/bin
     4.8 + LIBEXECDIR=${exec_prefix}/libexec
     4.9 + INSTALL=/usr/bin/install -c
    4.10 +-INSTALL_OPTS=-o nagios -g nagios
    4.11 ++INSTALL_OPTS=
    4.12 + INIT_DIR=/etc/init.d
    4.13 + INIT_OPTS=-o root -g root
    4.14 + 
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/ndoutils/stuff/ndoutils-1.4b9-Makefiles.in.u	Thu Feb 17 23:12:37 2011 +0100
     5.3 @@ -0,0 +1,42 @@
     5.4 +--- ndoutils-1.4b9-ori/Makefile.in	Tue Sep 15 14:04:34 2009
     5.5 ++++ ndoutils-1.4b9/Makefile.in	Sat Jun 12 10:47:30 2010
     5.6 +@@ -17,7 +17,7 @@
     5.7 + BINDIR=@bindir@
     5.8 + LIBEXECDIR=@libexecdir@
     5.9 + INSTALL=@INSTALL@
    5.10 +-INSTALL_OPTS=@INSTALL_OPTS@
    5.11 ++INSTALL_OPTS=
    5.12 + INIT_DIR=@init_dir@
    5.13 + INIT_OPTS=-o root -g root
    5.14 + 
    5.15 +@@ -32,8 +32,8 @@
    5.16 + 
    5.17 + install-config:
    5.18 + 	$(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(CFGDIR)
    5.19 +-	$(INSTALL) -b -m 664 $(INSTALL_OPTS) config/ndo2db.cfg-sample $(DESTDIR)$(CFGDIR)
    5.20 +-	$(INSTALL) -b -m 664 $(INSTALL_OPTS) config/ndomod.cfg-sample $(DESTDIR)$(CFGDIR)
    5.21 ++	$(INSTALL) -b -m 664 $(INSTALL_OPTS) config/ndo2db.cfg-sample $(DESTDIR)$(CFGDIR)/ndo2db.cfg
    5.22 ++	$(INSTALL) -b -m 664 $(INSTALL_OPTS) config/ndomod.cfg-sample $(DESTDIR)$(CFGDIR)/ndomod.cfg
    5.23 + 	@echo ""
    5.24 + 	@echo "*** Config files installed ***"
    5.25 + 	@echo ""
    5.26 +--- ndoutils-1.4b9-ori/src/Makefile.in	Tue Sep 15 14:04:35 2009
    5.27 ++++ ndoutils-1.4b9/src/Makefile.in	Sat Jun 12 10:53:40 2010
    5.28 +@@ -16,7 +16,7 @@
    5.29 + LIBEXECDIR=@libexecdir@
    5.30 + CGIDIR=@sbindir@
    5.31 + INSTALL=@INSTALL@
    5.32 +-INSTALL_OPTS=@INSTALL_OPTS@
    5.33 ++INSTALL_OPTS=
    5.34 + 
    5.35 + CC=@CC@
    5.36 + 
    5.37 +@@ -130,6 +130,7 @@
    5.38 + 
    5.39 + install-3x:
    5.40 + 	$(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(BINDIR)
    5.41 ++	$(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(LIBEXECDIR)
    5.42 + 	$(INSTALL) -m 755 $(INSTALL_OPTS) ndo2db-3x $(DESTDIR)$(BINDIR)/ndo2db
    5.43 +-	$(INSTALL) -m 755 $(INSTALL_OPTS) ndomod-3x.o $(DESTDIR)$(BINDIR)/ndomod.o
    5.44 ++	$(INSTALL) -m 755 $(INSTALL_OPTS) ndomod-3x.o $(DESTDIR)$(LIBEXECDIR)/ndomod.o
    5.45 +