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 http://bugs.opensuse.org/
#
# 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
Url: http://www.nagios.org/
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
%else
BuildRequires: mysql-devel
%endif
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
%endif
Requires: nagios >= 3.0
%if 0%{?suse_version} < 1120
Requires: mysql-shared
%endif
%description
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
%else
Requires: %name = %version
%endif
%description doc
This package includes the main documentation for ndoutils.
%prep
%setup -q
%patch
install -m644 %{S:2} README.SuSE
%build
%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 \
--with-ndo2db-group=%nsgrp
# do not use jobs here, makefile dependencies are unsafe
%__make
%install
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
# SAMPLE NAGIOS CONFIG SNIPPET FOR NDOMOD
#
# 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
EOF
cat > %_builddir/%name-%version/config/misccommands.cfg << EOF
# SAMPLE NDO FILE ROTATION COMMAND
#
# 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\`
}
EOF
# 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
%endif
%if 0%{?fedora_version} > 8
fdupes -q -n -r $RPM_BUILD_ROOT
%endif
%preun
%stop_on_removal ndo2db
%postun
%insserv_cleanup ndo2db
%clean
%{__rm} -rf ${RPM_BUILD_ROOT}
%files
%defattr(-,root,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
%_sysconfdir/init.d/ndo2db
%_bindir/file2sock
%_bindir/log2ndo
%_bindir/sockdebug
%_sbindir/ndo2db
%_sbindir/rcndo2db
%_prefix/lib/nagios/brokers/ndomod.o
# change defattr
%defattr(0644,root,root,0755)
%doc %_defaultdocdir/%name
%files doc
%defattr(0644,root,root,0755)
%doc %_defaultdocdir/%name/docs
%changelog