File ndoutils.spec of Package ndoutils

# spec file for package ndoutils (Version 1.4b9)
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

# norootforbuild

%define	libexecdir %_prefix/lib/nagios/plugins
%define nsusr nagios
%define nsgrp nagios
%define cmdusr wwwrun
%define cmdgrp nagcmd

#Distribution:   %dist
#Packager:       %packager
#Vendor:         %vendor

Name:           ndoutils
Summary:        Nagios v3.x Data Output Utilities
Version:        1.4b9
Release:        2
License:        GPLv2+
Group:          System/Monitoring
AutoReqProv:    on
Source0:        %name-%version.tar.bz2
Source1:        %name-init
Source2:        ndoutils-README.SuSE
Patch:          ndoutils-1.4b9-libpq-fe-include.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
PreReq:         %insserv_prereq 
%if 0%{?suse_version} > 1020
BuildRequires:  libmysqlclient-devel
BuildRequires:  mysql-devel
BuildRequires:  nagios-devel >= 3.0
# postgresql is currently not supported but will likely be added in the future
BuildRequires:  postgresql-devel
BuildRequires:  tcpd
%if 0%{?suse_version} > 1030 || 0%{?fedora_version} > 8
BuildRequires:  fdupes
Requires:       nagios >= 3.0
%if 0%{?suse_version} < 1120
Requires:       mysql-shared

NDOUtils is an Nagios addon allowing you to store Nagios data (current status 
information, state history, notification history, etc.) in a MySQL database.

This addon consists of an event broker module and a daemon.

Consider this addon to be experimental for the moment, although it will likely 
play a central role in the a new Nagios web interface in the future.

%package doc
License:        GPLv2+
Summary:        Main documentation for ndoutils
Group:          Documentation/Other
%if 0%{?suse_version} >= 1010
Recommends:     %name = %version
Requires:       %name = %version

%description doc
This package includes the main documentation for ndoutils. 

%setup -q 
install -m644 %{S:2} README.SuSE

%configure \
    --enable-mysql \
    --with-mysql-lib=%_libdir/mysql \
    --with-mysql-inc=%_includedir/mysql \
    --localstatedir=%_localstatedir/lib/ndo \
    --enable-pgsql \
    --with-pgsql-lib=%_libdir \
    --with-pgsql-inc=%_includedir/pgsql \
    --with-ndo2db-user=%nsusr \
# do not use jobs here, makefile dependencies are unsafe

install -d %buildroot%_sysconfdir/init.d
install -d %buildroot%_sysconfdir/nagios
install -d %buildroot%_sbindir
install -d %buildroot%_bindir
install -d %buildroot%_prefix/lib/nagios/brokers
install -d %buildroot%_localstatedir/lib/ndo

install -d %_builddir/%name-%version/examples

install -m0755 src/ndo2db-3x     %buildroot%_sbindir/ndo2db
install -m0755 src/file2sock     %buildroot%_bindir/file2sock
install -m0755 src/log2ndo       %buildroot%_bindir/log2ndo
install -m0755 src/sockdebug     %buildroot%_bindir/sockdebug
install -m0755 src/ndomod-3x.o   %buildroot%_prefix/lib/nagios/brokers/ndomod.o
install -m0755 %{S:1}            %buildroot%_sysconfdir/init.d/ndo2db
ln -s %_sysconfdir/init.d/ndo2db %buildroot%_sbindir/rcndo2db

# fix path names in config
# install -m0644 config/ndo2db.cfg %buildroot%_sysconfdir/nagios/ndo2db.cfg
sed -e "s@^socket_name=.*@socket_name=/var/spool/nagios/ndo.sock@g" \
    -e "s@^debug_file=.*@debug_file=/var/log/nagios/ndo2db.debug@g" config/ndo2db.cfg-sample > %buildroot%_sysconfdir/nagios/ndo2db.cfg

# install -m0644 config/ndomod.cfg %buildroot%_sysconfdir/nagios/ndomod.cfg
sed -e "s@^output=.*@output=/var/spool/nagios/ndo.sock@g" \
    -e "s@^buffer_file=.*@buffer_file=/var/spool/nagios/ndomod.tmp@g" config/ndomod.cfg-sample > %buildroot%_sysconfdir/nagios/ndomod.cfg

cat > %_builddir/%name-%version/config/nagios.cfg << EOF
# In order to have Nagios run the NDOMOD event broker module, you'll need
# to place a statement like the one found below in your main Nagios
# configuration file (nagios.cfg).

# Uncomment the line below if you're running Nagios 3.x
#broker_module=%{_prefix}/lib/nagios/brokers/ndomod.o config_file=%{_sysconfdir}/nagios/ndo2db.cfg

cat > %_builddir/%name-%version/config/misccommands.cfg << EOF
# This is an example Nagios command definition that can be used to
# rotate the NDO output file on a regular basis.  Adjust the paths, etc.
# to suit your needs.  This definition will need to be included in your
# Nagios config files if you want to use it.

define command{
        command_name    rotate_ndo_log
        command_line    /bin/mv /var/spool/nagios/ndo.dat /var/spool/nagios/ndo.\`date +%s\`
# install docu
mkdir -p %buildroot/%_defaultdocdir/%name/
cp -r db docs Changelog README* REQUIREMENTS TODO UPGRADING config/misccommands.cfg config/nagios.cfg %buildroot/%_defaultdocdir/%name/

# some rpmlint stuff
## files-duplicate
%if 0%{?suse_version} > 1030
%fdupes -s $RPM_BUILD_ROOT
%if 0%{?fedora_version} > 8
fdupes -q -n -r $RPM_BUILD_ROOT

%stop_on_removal ndo2db

%insserv_cleanup ndo2db

%{__rm} -rf ${RPM_BUILD_ROOT}

%exclude %_defaultdocdir/%name/docs
%config(noreplace) %attr(664,%{nsusr},%{cmdgrp}) %{_sysconfdir}/nagios/ndomod.cfg
%config(noreplace) %attr(660,%{nsusr},%{cmdgrp}) %{_sysconfdir}/nagios/ndo2db.cfg
%attr(0755,%{nsusr},%{nsgrp}) %dir %{_localstatedir}/lib/ndo

# change defattr
%doc  %_defaultdocdir/%name

%files doc
%doc %_defaultdocdir/%name/docs