2 # - /var/log/nagios/archives -> /var/log/archive/nagios
5 %bcond_without gd # without statusmap and trends, which require gd library
6 %bcond_with epn # with Embedded Perl
7 # reeenable when http://tracker.nagios.org/view.php?id=51 is fixed
10 Summary: Host/service/network monitoring program
11 Summary(pl.UTF-8): Program do monitorowania serwerów/usług/sieci
12 Summary(pt_BR.UTF-8): Programa para monitoração de máquinas e serviços
18 Source0: http://downloads.sourceforge.net/nagios/%{name}-%{version}.tar.gz
19 # Source0-md5: 2fa8acfb2a92b1bf8d173a855832de1f
20 Source1: %{name}-apache.conf
22 Source3: %{name}.sysconfig
23 Source4: %{name}-config-20090914.tar.bz2
24 # Source4-md5: 605f1cd28c00db961dad6f529d849f16
25 Source5: %{name}-lighttpd.conf
26 Source6: http://www.google.com/mapfiles/shadow50.png
27 # Source6-md5: eff99f302f21b95a900d321743fce72b
28 Source7: http://www.google.com/mapfiles/marker.png
29 # Source7-md5: edefef4bdfc29e1c953694651f05b466
31 Patch0: %{name}-resources.patch
32 Patch1: %{name}-iconv-in-libc.patch
33 Patch2: %{name}-webapps.patch
34 Patch3: %{name}-cgi-http_charset.patch
35 Patch4: %{name}-cmd-typo.patch
37 Patch6: %{name}-googlemap.patch
38 Patch7: %{name}-doc-usermacros.patch
39 Patch8: archivelog-timeformat.patch
40 Patch9: system-magpierss.patch
41 Patch10: system-jquery.patch
42 Patch11: do-not-fetch-rss.patch
43 URL: http://www.nagios.org/
44 BuildRequires: autoconf
45 BuildRequires: automake
46 BuildRequires: rpmbuild(macros) >= 1.268
47 BuildRequires: sed >= 4.0
49 BuildRequires: gd-devel
50 BuildRequires: libjpeg-devel
51 BuildRequires: libpng-devel
54 BuildRequires: perl-HTML-Lint
55 BuildRequires: perl-Test-WWW-Mechanize-CGI
57 Requires(post,preun): /sbin/chkconfig
58 Requires: %{name}-common = %{version}-%{release}
61 Suggests: nagios-notify >= 0.13
62 Suggests: nagios-plugin-check_load
63 Suggests: nagios-plugin-check_ping
64 Suggests: nagios-plugins
67 Conflicts: iputils-ping < 1:ss020124
68 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70 %define _sysconfdir /etc/%{name}
71 %define cgidir %{_libdir}/%{name}/cgi
72 %define htmldir %{_prefix}/share/%{name}
73 %define _localstatedir /var/lib/%{name}
74 %define _webapps /etc/webapps
75 %define _webapp %{name}
78 Nagios is a program that will monitor hosts and services on your
79 network. It has the ability to email or page you when a problem arises
80 and when a problem is resolved. Nagios is written in C and is designed
81 to run under Linux (and some other *NIX variants) as a background
82 process, intermittently running checks on various services that you
85 The actual service checks are performed by separate "plugin" programs
86 which return the status of the checks to Nagios. The plugins are
87 available in nagios-plugins packages.
89 Nagios is successor to NetSaint.
91 %description -l pl.UTF-8
92 Nagios to program, który monitoruje serwery oraz usługi w naszej
93 sieci. Posiada on możliwość wysyłania informacji o wystąpieniu oraz
94 rozwiązaniu problemu. Nagios został napisany w C oraz jest
95 zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami)
96 jako proces pracujący w tle i bezustannie wykonujący pewne operacje
99 Właściwe sprawdzanie jest wykonywane przez osobne programy
100 ("wtyczki"), które zwracają informacje o statusie do Nagiosa. Wtyczki
101 są dostępne na stronie w pakietach nagios-plugins.
103 Nagios jest następcą NetSainta.
105 %description -l pt_BR.UTF-8
106 O Nagios é um programa que monitora máquinas e serviços na sua rede.
107 Ele pode enviar um email ou um aviso de pager para o administrador
108 quando surgir um problema e quando ele for resolvido. Nagios é escrito
109 em C e foi desenvolvido para rodar em plataformas Linux (e algumas
110 variações de *NIX) como um processo em segundo plano, periodicamente
111 executando checagens nos diversos serviços que forem especificados.
114 Summary: Common files needed by both nagios and nrpe
115 Summary(pl.UTF-8): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe
117 Requires(postun): /usr/sbin/groupdel
118 Requires(postun): /usr/sbin/userdel
119 Requires(pre): /bin/id
120 Requires(pre): /usr/bin/getgid
121 Requires(pre): /usr/sbin/groupadd
122 Requires(pre): /usr/sbin/groupmod
123 Requires(pre): /usr/sbin/useradd
124 Requires(pre): /usr/sbin/usermod
125 Provides: group(nagcmd)
126 Provides: group(nagios)
127 Provides: user(nagios)
130 Common files needed by both nagios and nrpe.
132 %description common -l pl.UTF-8
133 Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe.
136 Summary: CGI webinterface for Nagios
137 Summary(pl.UTF-8): Interfejs WWW/CGI dla Nagiosa
138 Group: Applications/WWW
139 # for dirs... and accessing local logs, nagios config
140 Requires: %{name} = %{version}-%{release}
141 Requires: %{name}-imagepaks
142 Requires: %{name}-theme
143 Requires: group(http)
147 Requires: webserver(access)
148 Requires: webserver(alias)
149 Requires: webserver(auth)
150 Requires: webserver(cgi)
151 Requires: webserver(indexfile)
152 Suggests: %{name}-doc
153 Suggests: php-magpierss >= 0.72
156 CGI webinterface for Nagios.
158 %description cgi -l pl.UTF-8
159 Interfejs CGI dla Nagiosa.
162 Summary: MRTG Graphs: Nagios Statistics
163 Group: Applications/Networking
164 Requires: %{name} = %{version}-%{release}
167 %description mrtggraphs
168 This pacakge graphs several Nagios statistics which can be useful for
169 debugging and trending purposes. The nagiostats binary is used to
173 Summary: HTML Documentation for Nagios
175 # does not require base
178 HTML Documentation for Nagios.
180 %package theme-classicui
181 Summary: ClassicUI Nagios theme
182 Group: Applications/WWW
183 Requires: %{name}-cgi = %{version}-%{release}
184 Requires: webserver(php)
185 Provides: nagios-theme
186 Obsoletes: nagios-theme
188 %description theme-classicui
189 Original theme from Nagios.
191 %description theme-classicui -l pl.UTF-8
192 Oryginalny motyw z Nagiosa.
194 %package theme-default
195 Summary: Virtual package to handle Nagios theme migration
196 Group: Applications/WWW
197 Requires: nagios-theme
198 Suggests: nagios-theme-classicui
199 Suggests: nagios-theme-exfoliation
200 Suggests: nagios-theme-nuvola
201 Obsoletes: nagios-theme-default < 3.3.1-1.4
203 %description theme-default
204 Virtual package to handle Nagios theme migration
207 Summary: Include files that Nagios-related applications may compile against
208 Summary(pl.UTF-8): Pliki nagłówkowe, wykorzystywane przez aplikacje nagiosa
209 Summary(pt_BR.UTF-8): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios
210 Group: Development/Libraries
211 # doesn't require base
214 This package provides include files that Nagios-related applications
217 %description devel -l pl.UTF-8
218 Ten pakiet dostarcza pliki nagłówkowe, które mogą być wykorzystywane
219 przez aplikacje związane z nagiosem podczas kompilacji.
221 %description devel -l pt_BR.UTF-8
222 Este pacote contém arquivos de cabeçalho usados no desenvolvimento de
223 aplicativos para o Nagios.
245 find -name .cvsignore -o -name .gitignore | xargs rm
247 mv nagios-config-*/objects/*.cfg sample-config/template-object
248 mv nagios-config-*/*.cfg sample-config
250 # cleanup backups after patching
251 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
254 s,".*/var/rw/%{name}.cmd,"%{_localstatedir}/rw/%{name}.cmd,
255 s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
256 ' $(find contrib/eventhandlers -type f)
259 s,/usr/local/nagios/var/,/var/log/%{name}/,g
262 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE1} > apache.conf
263 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE5} > lighttpd.conf
267 # kill trailing spaces
270 s,/usr/local/%{name}/share,@datadir@,g
271 # we want all authorized users have default access
273 ' sample-config/*.cfg.in
277 # s,/usr/local/%{name}/var/archives/,/var/log/%{name}/archives/,
278 #' html/docs/configmain.html
280 #rm t/611cgistatus-hosturgencies.t
283 cp -f /usr/share/automake/config.sub .
294 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
295 --bindir=%{_sbindir} \
296 --sbindir=%{cgidir} \
297 --datadir=%{htmldir} \
298 --with-nagios-user=%{name} \
299 --with-nagios-grp=%{name} \
300 --with-command-user=%{name} \
301 --with-command-grp=%{name} \
302 --with-lockfile=%{_localstatedir}/%{name}.pid \
303 --with-checkresult-dir=%{_var}/spool/%{name}/checkresults \
304 --with-ping_command='/bin/ping -n %%s -c %%d' \
305 %{!?with_gd:--disable-statusmap --disable-trends} \
306 %{?with_epn:--enable-embedded-perl --with-perlcache} \
307 %{?with_tests:--enable-libtap} \
308 --enable-event-broker
313 %{__make} -C contrib mini_epn
316 %{?with_tests:%{__make} test}
319 rm -rf $RPM_BUILD_ROOT
320 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_webapps}/%{_webapp}} \
321 $RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir}/rw} \
322 $RPM_BUILD_ROOT%{_sysconfdir}/{plugins,objects} \
323 $RPM_BUILD_ROOT%{_libdir}/%{name}/{eventhandlers,plugins,brokers} \
324 %if "%{_lib}" != "lib"
325 $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{eventhandlers,plugins} \
328 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}
329 cp -p include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
331 %{__make} install-unstripped \
332 DESTDIR=$RPM_BUILD_ROOT \
338 mv $RPM_BUILD_ROOT{%{_sbindir},%{_libdir}/%{name}}/p1.pl
339 install -d $RPM_BUILD_ROOT%{_bindir}
340 install -p contrib/mini_epn $RPM_BUILD_ROOT%{_bindir}
343 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
344 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
346 # install templated configuration files
347 for a in %{name}.cfg resource.cfg commands.cfg contactgroups.cfg contacts.cfg templates.cfg timeperiods.cfg; do
348 cp -p sample-config/$a $RPM_BUILD_ROOT%{_sysconfdir}
352 cp -p apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
353 cp -p apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
354 cp -p lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
355 cp -p sample-config/cgi.cfg $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
356 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{htmldir}/images
357 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{htmldir}/images
358 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{htmldir}/images
359 > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/passwd
360 echo 'nagios:' > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/group
362 # install event handlers, sample config
363 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
364 cp -a contrib/eventhandlers $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
365 cp -a sample-config $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
366 find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name '*.in' | xargs rm
369 install -d $RPM_BUILD_ROOT/etc/mrtg/conf.d
370 cp -a sample-config/mrtg.cfg $RPM_BUILD_ROOT/etc/mrtg/conf.d/%{name}.cfg
372 # Object data/cache files
373 for i in {objects.{cache,precache},{retention,status}.dat,%{name}.{tmp,pid}}; do
374 > $RPM_BUILD_ROOT%{_localstatedir}/$i
376 > $RPM_BUILD_ROOT%{_localstatedir}/rw/%{name}.cmd
378 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}
379 mv $RPM_BUILD_ROOT{%{htmldir}/docs/*,%{_docdir}/%{name}}
382 rm -rf $RPM_BUILD_ROOT
385 for i in %{_localstatedir}/{objects.{cache,precache},{retention,status}.dat}; do
386 [ ! -f $i ] && touch $i
391 /sbin/chkconfig --add %{name}
392 %service %{name} restart "Nagios service"
395 if [ "$1" = "0" ] ; then
396 %service %{name} stop
397 /sbin/chkconfig --del %{name}
401 # rename group netsaint -> nagios
402 if [ "$(getgid netsaint 2>/dev/null)" = "72" ]; then
403 /usr/sbin/groupmod -n nagios netsaint
405 # rename group nagios-data -> nagcmd
406 if [ "$(getgid nagios-data 2>/dev/null)" = "147" ]; then
407 /usr/sbin/groupmod -n nagcmd nagios-data
409 %groupadd -g 72 nagios
410 %groupadd -g 147 -f nagcmd
411 if [ -n "$(id -u netsaint 2>/dev/null)" ] && [ "$(id -u netsaint)" = "72" ]; then
412 /usr/sbin/usermod -d %{_libdir}/%{name} -l nagios -c "Nagios Daemon" -G nagcmd netsaint
414 %useradd -u 72 -d %{_libdir}/%{name} -s /bin/false -c "Nagios Daemon" -g nagios -G nagcmd nagios
417 if [ "$1" = "0" ]; then
424 if [ "$1" = 1 ]; then
425 %banner %{name} -e <<EOF
427 You need to add user to %{_webapps}/%{_webapp}/passwd and
428 %{_webapps}/%{_webapp}/group to access Nagios via web.
433 %triggerin cgi -- apache1 < 1.3.37-3, apache1-base
434 %addusertogroup http nagcmd
435 %webapp_register apache %{_webapp}
437 %triggerun cgi -- apache1 < 1.3.37-3, apache1-base
438 %webapp_unregister apache %{_webapp}
440 %triggerin cgi -- apache < 2.2.0, apache-base
441 %addusertogroup http nagcmd
442 %webapp_register httpd %{_webapp}
444 %triggerun cgi -- apache < 2.2.0, apache-base
445 %webapp_unregister httpd %{_webapp}
447 %triggerin cgi -- lighttpd
448 %addusertogroup lighttpd nagcmd
449 %webapp_register lighttpd %{_webapp}
451 %triggerun cgi -- lighttpd
452 %webapp_unregister lighttpd %{_webapp}
454 %triggerpostun -- nagios-cgi < 2.0-0.b3.21
455 chown root:http %{_sysconfdir}/cgi.cfg
457 %triggerpostun -- nagios < 3.1.2-4
459 for a in dependencies.cfg services.cfg serviceextinfo.cfg hosts.cfg hostgroups.cfg hostextinfo.cfg escalations.cfg checkcommands.cfg misccommands.cfg; do
460 if [ -f %{_sysconfdir}/$a.rpmsave -a ! -f %{_sysconfdir}/$a ]; then
461 mv -f %{_sysconfdir}/$a{.rpmsave,}
464 %{__sed} -i -e 's,^check_result_path=.*,check_result_path=%{_var}/spool/%{name}/checkresults,' %{_sysconfdir}/%{name}.cfg
467 %defattr(644,root,root,755)
468 %doc Changelog README* UPGRADING INSTALLING LICENSE
469 %attr(750,root,nagios) %dir %{_sysconfdir}/objects
471 # leave main nagios config readable for -cgi.
472 %attr(640,root,nagcmd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.cfg
474 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/commands.cfg
475 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/contactgroups.cfg
476 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/contacts.cfg
477 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/resource.cfg
478 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/templates.cfg
479 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timeperiods.cfg
481 %attr(754,root,root) /etc/rc.d/init.d/%{name}
482 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
484 %attr(755,root,root) %{_sbindir}/%{name}
485 %attr(755,root,root) %{_sbindir}/nagiostats
486 %dir %{_libdir}/%{name}/brokers
488 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}
489 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}/archives
491 %attr(770,root,nagcmd) %dir %{_localstatedir}
492 %attr(2770,root,nagcmd) %dir %{_localstatedir}/rw
493 %attr(660,nagios,nagcmd) %ghost %{_localstatedir}/rw/%{name}.cmd
494 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache
495 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.precache
496 %attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
497 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp
498 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.pid
500 %attr(770,root,nagcmd) %dir %{_var}/spool/%{name}/checkresults
502 %{_examplesdir}/%{name}-%{version}
506 %attr(755,root,root) %{_libdir}/%{name}/p1.pl
507 %attr(755,root,root) %{_bindir}/mini_epn
511 %defattr(644,root,root,755)
512 %attr(750,root,nagcmd) %dir %{_sysconfdir}
513 %attr(750,root,nagios) %dir %{_sysconfdir}/plugins
514 %dir %{_libdir}/%{name}
515 %dir %{_libdir}/%{name}/plugins
516 %dir %{_libdir}/%{name}/eventhandlers
518 %if "%{_lib}" != "lib"
519 %dir %{_prefix}/lib/%{name}
520 %dir %{_prefix}/lib/%{name}/plugins
521 %dir %{_prefix}/lib/%{name}/eventhandlers
524 %attr(770,root,nagcmd) %dir %{_var}/spool/%{name}
527 %defattr(644,root,root,755)
528 %config(noreplace) %verify(not md5 mtime size) /etc/mrtg/conf.d/%{name}.cfg
531 %defattr(644,root,root,755)
535 %defattr(644,root,root,755)
536 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
537 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
538 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
539 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf
540 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg
541 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd
542 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group
544 %attr(755,root,root) %{cgidir}/*.cgi
547 %dir %{htmldir}/includes
548 %dir %{htmldir}/images
549 %dir %{htmldir}/stylesheets
550 %{htmldir}/robots.txt
551 %{htmldir}/contexthelp
554 %{htmldir}/images/favicon.ico
555 %{htmldir}/images/marker.png
556 %{htmldir}/images/shadow50.png
558 %files theme-classicui
559 %defattr(644,root,root,755)
561 %{htmldir}/includes/*
563 %exclude %{htmldir}/images/favicon.ico
564 %exclude %{htmldir}/images/marker.png
565 %exclude %{htmldir}/images/shadow50.png
566 %{htmldir}/stylesheets/*
569 %defattr(644,root,root,755)
572 %defattr(644,root,root,755)
573 %dir %{_includedir}/%{name}
574 %{_includedir}/%{name}/*.h