#
# Conditional build:
%bcond_without gd # without statusmap and trends, which require gd library
+%bcond_with epn # with Embedded Perl
# reeenable when http://tracker.nagios.org/view.php?id=51 is fixed
%bcond_with tests
Summary(pl.UTF-8): Program do monitorowania serwerów/usług/sieci
Summary(pt_BR.UTF-8): Programa para monitoração de máquinas e serviços
Name: nagios
-Version: 3.2.3
-Release: 4
+Version: 3.4.3
+Release: 1
License: GPL v2+
Group: Networking
Source0: http://downloads.sourceforge.net/nagios/%{name}-%{version}.tar.gz
-# Source0-md5: fe1be46e6976a52acdb021a782b5d04b
+# Source0-md5: adb04a255a3bb1574840ebd4a0f2eb76
Source1: %{name}-apache.conf
Source2: %{name}.init
Source3: %{name}.sysconfig
Source7: http://www.google.com/mapfiles/marker.png
# Source7-md5: edefef4bdfc29e1c953694651f05b466
Source8: googlemap.js
+Source9: nagioswall.php
Patch0: %{name}-resources.patch
Patch1: %{name}-iconv-in-libc.patch
Patch2: %{name}-webapps.patch
Patch6: %{name}-googlemap.patch
Patch7: %{name}-doc-usermacros.patch
Patch8: archivelog-timeformat.patch
+Patch9: system-magpierss.patch
+Patch10: system-jquery.patch
+Patch11: do-not-fetch-rss.patch
URL: http://www.nagios.org/
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: sed >= 4.0
%if %{with gd}
BuildRequires: gd-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
%endif
-BuildRequires: rpmbuild(macros) >= 1.268
-BuildRequires: sed >= 4.0
+%if %{with tests}
+BuildRequires: perl-HTML-Lint
+BuildRequires: perl-Test-WWW-Mechanize-CGI
+%endif
Requires(post,preun): /sbin/chkconfig
Requires: %{name}-common = %{version}-%{release}
Requires: rc-scripts
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/%{name}
-%define _bindir %{_prefix}/sbin
-%define _sbindir %{_libdir}/%{name}/cgi
-%define _datadir %{_prefix}/share/%{name}
+%define cgidir %{_libdir}/%{name}/cgi
+%define htmldir %{_prefix}/share/%{name}
%define _localstatedir /var/lib/%{name}
%define _webapps /etc/webapps
%define _webapp %{name}
Requires: %{name}-imagepaks
Requires: %{name}-theme
Requires: group(http)
+Requires: jquery
Requires: webapps
Requires: webserver
Requires: webserver(access)
Requires: webserver(cgi)
Requires: webserver(indexfile)
Suggests: %{name}-doc
+Suggests: php-magpierss >= 0.72
%description cgi
CGI webinterface for Nagios.
%description cgi -l pl.UTF-8
Interfejs CGI dla Nagiosa.
+%package mrtggraphs
+Summary: MRTG Graphs: Nagios Statistics
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+Provides: mrtg-start
+
+%description mrtggraphs
+This pacakge graphs several Nagios statistics which can be useful for
+debugging and trending purposes. The nagiostats binary is used to
+generate the data.
+
%package doc
Summary: HTML Documentation for Nagios
Group: Documentation
%description doc
HTML Documentation for Nagios.
-%package theme-default
-Summary: Default Nagios theme
-Summary(pl.UTF-8): Domyślny motyw Nagiosa
+%package theme-classicui
+Summary: ClassicUI Nagios theme
Group: Applications/WWW
-Requires: nagios-cgi = %{version}-%{release}
+Requires: %{name}-cgi = %{version}-%{release}
Requires: webserver(php)
Provides: nagios-theme
Obsoletes: nagios-theme
-%description theme-default
+%description theme-classicui
Original theme from Nagios.
-%description theme-default -l pl.UTF-8
+%description theme-classicui -l pl.UTF-8
Oryginalny motyw z Nagiosa.
+%package theme-default
+Summary: Virtual package to handle Nagios theme migration
+Group: Applications/WWW
+Requires: nagios-theme
+Suggests: nagios-theme-classicui
+Suggests: nagios-theme-exfoliation
+Suggests: nagios-theme-nuvola
+Obsoletes: nagios-theme-default < 3.3.1-1.4
+
+%description theme-default
+Virtual package to handle Nagios theme migration
+
%package devel
Summary: Include files that Nagios-related applications may compile against
Summary(pl.UTF-8): Pliki nagłówkowe, wykorzystywane przez aplikacje nagiosa
aplicativos para o Nagios.
%prep
-%setup -q -a4
+%setup -qc -a4
+mv %{name}/* .
+%undos cgi/*.c
+%undos include/*.h
+%undos base/*
%patch0 -p0
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
+#fixed
+#%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
find -name .cvsignore -o -name .gitignore | xargs rm
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
sed -i -e '
- s,".*/var/rw/nagios.cmd,"%{_localstatedir}/rw/nagios.cmd,
+ s,".*/var/rw/%{name}.cmd,"%{_localstatedir}/rw/%{name}.cmd,
s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
' $(find contrib/eventhandlers -type f)
+%{__sed} -i -e '
+ s,/usr/local/nagios/var/,/var/log/%{name}/,g
+' p1.pl
+
sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE1} > apache.conf
sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE5} > lighttpd.conf
# kill trailing spaces
s, \+$,,
# use real paths
- s,/usr/local/nagios/share,@datadir@,g
+ s,/usr/local/%{name}/share,@datadir@,g
# we want all authorized users have default access
s,=nagiosadmin,=*,g
' sample-config/*.cfg.in
# fixup paths in doc
-%{__sed} -i -e '
- s,/usr/local/nagios/var/archives/,/var/log/nagios/archives/,
-' html/docs/configmain.html
+#%{__sed} -i -e '
+# s,/usr/local/%{name}/var/archives/,/var/log/%{name}/archives/,
+#' html/docs/configmain.html
+
+#rm t/611cgistatus-hosturgencies.t
%build
cp -f /usr/share/automake/config.sub .
%{__aclocal}
%{__autoconf}
+%if %{with tests}
+cd tap
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+cd ..
+%endif
%configure \
CFLAGS="%{rpmcflags} %{rpmcppflags}" \
+ --bindir=%{_sbindir} \
+ --sbindir=%{cgidir} \
+ --datadir=%{htmldir} \
--with-nagios-user=%{name} \
--with-nagios-grp=%{name} \
--with-command-user=%{name} \
--with-checkresult-dir=%{_var}/spool/%{name}/checkresults \
--with-ping_command='/bin/ping -n %%s -c %%d' \
%{!?with_gd:--disable-statusmap --disable-trends} \
+ %{?with_epn:--enable-embedded-perl --with-perlcache} \
%{?with_tests:--enable-libtap} \
--enable-event-broker
%{__make} all
+%if %{with epn}
+%{__make} -C contrib mini_epn
+%endif
+
%{?with_tests:%{__make} test}
%install
install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_webapps}/%{_webapp}} \
$RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir}/rw} \
$RPM_BUILD_ROOT%{_sysconfdir}/{plugins,objects} \
- $RPM_BUILD_ROOT%{_libdir}/%{name}/{eventhandlers,plugins} \
+ $RPM_BUILD_ROOT%{_libdir}/%{name}/{eventhandlers,plugins,brokers} \
%if "%{_lib}" != "lib"
$RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{eventhandlers,plugins} \
%endif
install -d $RPM_BUILD_ROOT%{_includedir}/%{name}
-cp -a include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
+cp -p include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
%{__make} install-unstripped \
DESTDIR=$RPM_BUILD_ROOT \
INIT_OPTS="" \
COMMAND_OPTS=""
+%if %{with epn}
+mv $RPM_BUILD_ROOT{%{_sbindir},%{_libdir}/%{name}}/p1.pl
+install -d $RPM_BUILD_ROOT%{_bindir}
+install -p contrib/mini_epn $RPM_BUILD_ROOT%{_bindir}
+%endif
+
install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
# install templated configuration files
-for a in nagios.cfg resource.cfg commands.cfg contactgroups.cfg contacts.cfg templates.cfg timeperiods.cfg; do
- cp -a sample-config/$a $RPM_BUILD_ROOT%{_sysconfdir}
+for a in %{name}.cfg resource.cfg commands.cfg contactgroups.cfg contacts.cfg templates.cfg timeperiods.cfg; do
+ cp -p sample-config/$a $RPM_BUILD_ROOT%{_sysconfdir}
done
# webserver files
-cp -a apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
-cp -a apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
-cp -a lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
-cp -a sample-config/cgi.cfg $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
-cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/images
-cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_datadir}/images
-cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/images
+cp -p apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
+cp -p apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
+cp -p lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
+cp -p sample-config/cgi.cfg $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
+cp -p %{SOURCE6} $RPM_BUILD_ROOT%{htmldir}/images
+cp -p %{SOURCE7} $RPM_BUILD_ROOT%{htmldir}/images
+cp -p %{SOURCE8} $RPM_BUILD_ROOT%{htmldir}/images
+cp -p %{SOURCE9} $RPM_BUILD_ROOT%{htmldir}
> $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/passwd
echo 'nagios:' > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/group
cp -a sample-config $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name '*.in' | xargs rm
+# mrtg script
+install -d $RPM_BUILD_ROOT/etc/mrtg/conf.d
+cp -a sample-config/mrtg.cfg $RPM_BUILD_ROOT/etc/mrtg/conf.d/%{name}.cfg
+
# Object data/cache files
-for i in {objects.{cache,precache},{retention,status}.dat,nagios.tmp}; do
+for i in {objects.{cache,precache},{retention,status}.dat,%{name}.{tmp,pid}}; do
> $RPM_BUILD_ROOT%{_localstatedir}/$i
done
-> $RPM_BUILD_ROOT%{_localstatedir}/rw/nagios.cmd
+> $RPM_BUILD_ROOT%{_localstatedir}/rw/%{name}.cmd
install -d $RPM_BUILD_ROOT%{_docdir}/%{name}
-mv $RPM_BUILD_ROOT{%{_datadir}/docs/*,%{_docdir}/%{name}}
+mv $RPM_BUILD_ROOT{%{htmldir}/docs/*,%{_docdir}/%{name}}
%clean
rm -rf $RPM_BUILD_ROOT
%groupadd -g 72 nagios
%groupadd -g 147 -f nagcmd
if [ -n "$(id -u netsaint 2>/dev/null)" ] && [ "$(id -u netsaint)" = "72" ]; then
- /usr/sbin/usermod -d %{_libdir}/nagios -l nagios -c "Nagios Daemon" -G nagcmd netsaint
+ /usr/sbin/usermod -d %{_libdir}/%{name} -l nagios -c "Nagios Daemon" -G nagcmd netsaint
fi
-%useradd -u 72 -d %{_libdir}/nagios -s /bin/false -c "Nagios Daemon" -g nagios -G nagcmd nagios
+%useradd -u 72 -d %{_libdir}/%{name} -s /bin/false -c "Nagios Daemon" -g nagios -G nagcmd nagios
%postun common
if [ "$1" = "0" ]; then
mv -f %{_sysconfdir}/$a{.rpmsave,}
fi
done
-%{__sed} -i -e 's,^check_result_path=.*,check_result_path=%{_var}/spool/%{name}/checkresults,' %{_sysconfdir}/nagios.cfg
+%{__sed} -i -e 's,^check_result_path=.*,check_result_path=%{_var}/spool/%{name}/checkresults,' %{_sysconfdir}/%{name}.cfg
%files
%defattr(644,root,root,755)
%attr(750,root,nagios) %dir %{_sysconfdir}/objects
# leave main nagios config readable for -cgi.
-%attr(640,root,nagcmd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nagios.cfg
+%attr(640,root,nagcmd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.cfg
%attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/commands.cfg
%attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/contactgroups.cfg
%attr(754,root,root) /etc/rc.d/init.d/%{name}
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
-%attr(755,root,root) %{_bindir}/%{name}
-%attr(755,root,root) %{_bindir}/nagiostats
+%attr(755,root,root) %{_sbindir}/%{name}
+%attr(755,root,root) %{_sbindir}/nagiostats
+%dir %{_libdir}/%{name}/brokers
%attr(770,root,nagcmd) %dir %{_var}/log/%{name}
%attr(770,root,nagcmd) %dir %{_var}/log/%{name}/archives
%attr(770,root,nagcmd) %dir %{_localstatedir}
%attr(2770,root,nagcmd) %dir %{_localstatedir}/rw
-%attr(660,nagios,nagcmd) %ghost %{_localstatedir}/rw/nagios.cmd
+%attr(660,nagios,nagcmd) %ghost %{_localstatedir}/rw/%{name}.cmd
%attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache
%attr(664,root,nagios) %ghost %{_localstatedir}/objects.precache
%attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
%attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp
+%attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.pid
-%attr(770,root,nagios) %dir %{_var}/spool/%{name}/checkresults
+%attr(770,root,nagcmd) %dir %{_var}/spool/%{name}/checkresults
%{_examplesdir}/%{name}-%{version}
+# epn
+%if %{with epn}
+%attr(755,root,root) %{_libdir}/%{name}/p1.pl
+%attr(755,root,root) %{_bindir}/mini_epn
+%endif
+
%files common
%defattr(644,root,root,755)
%attr(750,root,nagcmd) %dir %{_sysconfdir}
%dir %{_prefix}/lib/%{name}/eventhandlers
%endif
-%attr(770,root,nagios) %dir %{_var}/spool/%{name}
+%attr(770,root,nagcmd) %dir %{_var}/spool/%{name}
+
+%files mrtggraphs
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/mrtg/conf.d/%{name}.cfg
%files doc
%defattr(644,root,root,755)
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group
-%dir %{_sbindir}
-%attr(755,root,root) %{_sbindir}/*.cgi
-
-%dir %{_datadir}
-%dir %{_datadir}/includes
-%dir %{_datadir}/images
-%dir %{_datadir}/stylesheets
-%{_datadir}/robots.txt
-%{_datadir}/contexthelp
-%{_datadir}/media
-%{_datadir}/ssi
-%{_datadir}/images/favicon.ico
-%{_datadir}/images/marker.png
-%{_datadir}/images/shadow50.png
+%dir %{cgidir}
+%attr(755,root,root) %{cgidir}/*.cgi
+
+%dir %{htmldir}
+%dir %{htmldir}/includes
+%dir %{htmldir}/images
+%dir %{htmldir}/stylesheets
+%{htmldir}/robots.txt
+%{htmldir}/contexthelp
+%{htmldir}/media
+%{htmldir}/ssi
+%{htmldir}/images/favicon.ico
+%{htmldir}/images/marker.png
+%{htmldir}/images/shadow50.png
+%{htmldir}/nagioswall.php
+
+%files theme-classicui
+%defattr(644,root,root,755)
+%exclude %{htmldir}/nagioswall.php
+%{htmldir}/*.php
+%{htmldir}/includes/*
+%{htmldir}/images/*
+%exclude %{htmldir}/images/favicon.ico
+%exclude %{htmldir}/images/marker.png
+%exclude %{htmldir}/images/shadow50.png
+%{htmldir}/stylesheets/*
%files theme-default
%defattr(644,root,root,755)
-%{_datadir}/*.php
-%{_datadir}/includes/*
-%{_datadir}/images/*
-%exclude %{_datadir}/images/favicon.ico
-%exclude %{_datadir}/images/marker.png
-%exclude %{_datadir}/images/shadow50.png
-%{_datadir}/stylesheets/*
%files devel
%defattr(644,root,root,755)