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: adb04a255a3bb1574840ebd4a0f2eb76
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 Source9: nagioswall.php
32 Patch0: %{name}-resources.patch
33 Patch1: %{name}-iconv-in-libc.patch
34 Patch2: %{name}-webapps.patch
35 Patch3: %{name}-cgi-http_charset.patch
36 Patch4: %{name}-cmd-typo.patch
38 Patch6: %{name}-googlemap.patch
39 Patch7: %{name}-doc-usermacros.patch
40 Patch8: archivelog-timeformat.patch
41 Patch9: system-magpierss.patch
42 Patch10: system-jquery.patch
43 Patch11: do-not-fetch-rss.patch
44 URL: http://www.nagios.org/
45 BuildRequires: autoconf
46 BuildRequires: automake
47 BuildRequires: rpmbuild(macros) >= 1.268
48 BuildRequires: sed >= 4.0
50 BuildRequires: gd-devel
51 BuildRequires: libjpeg-devel
52 BuildRequires: libpng-devel
55 BuildRequires: perl-HTML-Lint
56 BuildRequires: perl-Test-WWW-Mechanize-CGI
58 Requires(post,preun): /sbin/chkconfig
59 Requires: %{name}-common = %{version}-%{release}
62 Suggests: nagios-notify >= 0.13
63 Suggests: nagios-plugin-check_load
64 Suggests: nagios-plugin-check_ping
65 Suggests: nagios-plugins
68 Conflicts: iputils-ping < 1:ss020124
69 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71 %define _sysconfdir /etc/%{name}
72 %define cgidir %{_libdir}/%{name}/cgi
73 %define htmldir %{_prefix}/share/%{name}
74 %define _localstatedir /var/lib/%{name}
75 %define _webapps /etc/webapps
76 %define _webapp %{name}
79 Nagios is a program that will monitor hosts and services on your
80 network. It has the ability to email or page you when a problem arises
81 and when a problem is resolved. Nagios is written in C and is designed
82 to run under Linux (and some other *NIX variants) as a background
83 process, intermittently running checks on various services that you
86 The actual service checks are performed by separate "plugin" programs
87 which return the status of the checks to Nagios. The plugins are
88 available in nagios-plugins packages.
90 Nagios is successor to NetSaint.
92 %description -l pl.UTF-8
93 Nagios to program, który monitoruje serwery oraz usługi w naszej
94 sieci. Posiada on możliwość wysyłania informacji o wystąpieniu oraz
95 rozwiązaniu problemu. Nagios został napisany w C oraz jest
96 zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami)
97 jako proces pracujący w tle i bezustannie wykonujący pewne operacje
100 Właściwe sprawdzanie jest wykonywane przez osobne programy
101 ("wtyczki"), które zwracają informacje o statusie do Nagiosa. Wtyczki
102 są dostępne na stronie w pakietach nagios-plugins.
104 Nagios jest następcą NetSainta.
106 %description -l pt_BR.UTF-8
107 O Nagios é um programa que monitora máquinas e serviços na sua rede.
108 Ele pode enviar um email ou um aviso de pager para o administrador
109 quando surgir um problema e quando ele for resolvido. Nagios é escrito
110 em C e foi desenvolvido para rodar em plataformas Linux (e algumas
111 variações de *NIX) como um processo em segundo plano, periodicamente
112 executando checagens nos diversos serviços que forem especificados.
115 Summary: Common files needed by both nagios and nrpe
116 Summary(pl.UTF-8): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe
118 Requires(postun): /usr/sbin/groupdel
119 Requires(postun): /usr/sbin/userdel
120 Requires(pre): /bin/id
121 Requires(pre): /usr/bin/getgid
122 Requires(pre): /usr/sbin/groupadd
123 Requires(pre): /usr/sbin/groupmod
124 Requires(pre): /usr/sbin/useradd
125 Requires(pre): /usr/sbin/usermod
126 Provides: group(nagcmd)
127 Provides: group(nagios)
128 Provides: user(nagios)
131 Common files needed by both nagios and nrpe.
133 %description common -l pl.UTF-8
134 Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe.
137 Summary: CGI webinterface for Nagios
138 Summary(pl.UTF-8): Interfejs WWW/CGI dla Nagiosa
139 Group: Applications/WWW
140 # for dirs... and accessing local logs, nagios config
141 Requires: %{name} = %{version}-%{release}
142 Requires: %{name}-imagepaks
143 Requires: %{name}-theme
144 Requires: group(http)
148 Requires: webserver(access)
149 Requires: webserver(alias)
150 Requires: webserver(auth)
151 Requires: webserver(cgi)
152 Requires: webserver(indexfile)
153 Suggests: %{name}-doc
154 Suggests: php-magpierss >= 0.72
157 CGI webinterface for Nagios.
159 %description cgi -l pl.UTF-8
160 Interfejs CGI dla Nagiosa.
163 Summary: MRTG Graphs: Nagios Statistics
164 Group: Applications/Networking
165 Requires: %{name} = %{version}-%{release}
168 %description mrtggraphs
169 This pacakge graphs several Nagios statistics which can be useful for
170 debugging and trending purposes. The nagiostats binary is used to
174 Summary: HTML Documentation for Nagios
176 # does not require base
179 HTML Documentation for Nagios.
181 %package theme-classicui
182 Summary: ClassicUI Nagios theme
183 Group: Applications/WWW
184 Requires: %{name}-cgi = %{version}-%{release}
185 Requires: webserver(php)
186 Provides: nagios-theme
187 Obsoletes: nagios-theme
189 %description theme-classicui
190 Original theme from Nagios.
192 %description theme-classicui -l pl.UTF-8
193 Oryginalny motyw z Nagiosa.
195 %package theme-default
196 Summary: Virtual package to handle Nagios theme migration
197 Group: Applications/WWW
198 Requires: nagios-theme
199 Suggests: nagios-theme-classicui
200 Suggests: nagios-theme-exfoliation
201 Suggests: nagios-theme-nuvola
202 Obsoletes: nagios-theme-default < 3.3.1-1.4
204 %description theme-default
205 Virtual package to handle Nagios theme migration
208 Summary: Include files that Nagios-related applications may compile against
209 Summary(pl.UTF-8): Pliki nagłówkowe, wykorzystywane przez aplikacje nagiosa
210 Summary(pt_BR.UTF-8): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios
211 Group: Development/Libraries
212 # doesn't require base
215 This package provides include files that Nagios-related applications
218 %description devel -l pl.UTF-8
219 Ten pakiet dostarcza pliki nagłówkowe, które mogą być wykorzystywane
220 przez aplikacje związane z nagiosem podczas kompilacji.
222 %description devel -l pt_BR.UTF-8
223 Este pacote contém arquivos de cabeçalho usados no desenvolvimento de
224 aplicativos para o Nagios.
246 find -name .cvsignore -o -name .gitignore | xargs rm
248 mv nagios-config-*/objects/*.cfg sample-config/template-object
249 mv nagios-config-*/*.cfg sample-config
251 # cleanup backups after patching
252 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
255 s,".*/var/rw/%{name}.cmd,"%{_localstatedir}/rw/%{name}.cmd,
256 s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
257 ' $(find contrib/eventhandlers -type f)
260 s,/usr/local/nagios/var/,/var/log/%{name}/,g
263 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE1} > apache.conf
264 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE5} > lighttpd.conf
268 # kill trailing spaces
271 s,/usr/local/%{name}/share,@datadir@,g
272 # we want all authorized users have default access
274 ' sample-config/*.cfg.in
278 # s,/usr/local/%{name}/var/archives/,/var/log/%{name}/archives/,
279 #' html/docs/configmain.html
281 #rm t/611cgistatus-hosturgencies.t
284 cp -f /usr/share/automake/config.sub .
295 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
296 --bindir=%{_sbindir} \
297 --sbindir=%{cgidir} \
298 --datadir=%{htmldir} \
299 --with-nagios-user=%{name} \
300 --with-nagios-grp=%{name} \
301 --with-command-user=%{name} \
302 --with-command-grp=%{name} \
303 --with-lockfile=%{_localstatedir}/%{name}.pid \
304 --with-checkresult-dir=%{_var}/spool/%{name}/checkresults \
305 --with-ping_command='/bin/ping -n %%s -c %%d' \
306 %{!?with_gd:--disable-statusmap --disable-trends} \
307 %{?with_epn:--enable-embedded-perl --with-perlcache} \
308 %{?with_tests:--enable-libtap} \
309 --enable-event-broker
314 %{__make} -C contrib mini_epn
317 %{?with_tests:%{__make} test}
320 rm -rf $RPM_BUILD_ROOT
321 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_webapps}/%{_webapp}} \
322 $RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir}/rw} \
323 $RPM_BUILD_ROOT%{_sysconfdir}/{plugins,objects} \
324 $RPM_BUILD_ROOT%{_libdir}/%{name}/{eventhandlers,plugins,brokers} \
325 %if "%{_lib}" != "lib"
326 $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{eventhandlers,plugins} \
329 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}
330 cp -p include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
332 %{__make} install-unstripped \
333 DESTDIR=$RPM_BUILD_ROOT \
339 mv $RPM_BUILD_ROOT{%{_sbindir},%{_libdir}/%{name}}/p1.pl
340 install -d $RPM_BUILD_ROOT%{_bindir}
341 install -p contrib/mini_epn $RPM_BUILD_ROOT%{_bindir}
344 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
345 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
347 # install templated configuration files
348 for a in %{name}.cfg resource.cfg commands.cfg contactgroups.cfg contacts.cfg templates.cfg timeperiods.cfg; do
349 cp -p sample-config/$a $RPM_BUILD_ROOT%{_sysconfdir}
353 cp -p apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
354 cp -p apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
355 cp -p lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
356 cp -p sample-config/cgi.cfg $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
357 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{htmldir}/images
358 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{htmldir}/images
359 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{htmldir}/images
360 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{htmldir}
361 > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/passwd
362 echo 'nagios:' > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/group
364 # install event handlers, sample config
365 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
366 cp -a contrib/eventhandlers $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
367 cp -a sample-config $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
368 find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name '*.in' | xargs rm
371 install -d $RPM_BUILD_ROOT/etc/mrtg/conf.d
372 cp -a sample-config/mrtg.cfg $RPM_BUILD_ROOT/etc/mrtg/conf.d/%{name}.cfg
374 # Object data/cache files
375 for i in {objects.{cache,precache},{retention,status}.dat,%{name}.{tmp,pid}}; do
376 > $RPM_BUILD_ROOT%{_localstatedir}/$i
378 > $RPM_BUILD_ROOT%{_localstatedir}/rw/%{name}.cmd
380 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}
381 mv $RPM_BUILD_ROOT{%{htmldir}/docs/*,%{_docdir}/%{name}}
384 rm -rf $RPM_BUILD_ROOT
387 for i in %{_localstatedir}/{objects.{cache,precache},{retention,status}.dat}; do
388 [ ! -f $i ] && touch $i
393 /sbin/chkconfig --add %{name}
394 %service %{name} restart "Nagios service"
397 if [ "$1" = "0" ] ; then
398 %service %{name} stop
399 /sbin/chkconfig --del %{name}
403 # rename group netsaint -> nagios
404 if [ "$(getgid netsaint 2>/dev/null)" = "72" ]; then
405 /usr/sbin/groupmod -n nagios netsaint
407 # rename group nagios-data -> nagcmd
408 if [ "$(getgid nagios-data 2>/dev/null)" = "147" ]; then
409 /usr/sbin/groupmod -n nagcmd nagios-data
411 %groupadd -g 72 nagios
412 %groupadd -g 147 -f nagcmd
413 if [ -n "$(id -u netsaint 2>/dev/null)" ] && [ "$(id -u netsaint)" = "72" ]; then
414 /usr/sbin/usermod -d %{_libdir}/%{name} -l nagios -c "Nagios Daemon" -G nagcmd netsaint
416 %useradd -u 72 -d %{_libdir}/%{name} -s /bin/false -c "Nagios Daemon" -g nagios -G nagcmd nagios
419 if [ "$1" = "0" ]; then
426 if [ "$1" = 1 ]; then
427 %banner %{name} -e <<EOF
429 You need to add user to %{_webapps}/%{_webapp}/passwd and
430 %{_webapps}/%{_webapp}/group to access Nagios via web.
435 %triggerin cgi -- apache1 < 1.3.37-3, apache1-base
436 %addusertogroup http nagcmd
437 %webapp_register apache %{_webapp}
439 %triggerun cgi -- apache1 < 1.3.37-3, apache1-base
440 %webapp_unregister apache %{_webapp}
442 %triggerin cgi -- apache < 2.2.0, apache-base
443 %addusertogroup http nagcmd
444 %webapp_register httpd %{_webapp}
446 %triggerun cgi -- apache < 2.2.0, apache-base
447 %webapp_unregister httpd %{_webapp}
449 %triggerin cgi -- lighttpd
450 %addusertogroup lighttpd nagcmd
451 %webapp_register lighttpd %{_webapp}
453 %triggerun cgi -- lighttpd
454 %webapp_unregister lighttpd %{_webapp}
456 %triggerpostun -- nagios-cgi < 2.0-0.b3.21
457 chown root:http %{_sysconfdir}/cgi.cfg
459 %triggerpostun -- nagios < 3.1.2-4
461 for a in dependencies.cfg services.cfg serviceextinfo.cfg hosts.cfg hostgroups.cfg hostextinfo.cfg escalations.cfg checkcommands.cfg misccommands.cfg; do
462 if [ -f %{_sysconfdir}/$a.rpmsave -a ! -f %{_sysconfdir}/$a ]; then
463 mv -f %{_sysconfdir}/$a{.rpmsave,}
466 %{__sed} -i -e 's,^check_result_path=.*,check_result_path=%{_var}/spool/%{name}/checkresults,' %{_sysconfdir}/%{name}.cfg
469 %defattr(644,root,root,755)
470 %doc Changelog README* UPGRADING INSTALLING LICENSE
471 %attr(750,root,nagios) %dir %{_sysconfdir}/objects
473 # leave main nagios config readable for -cgi.
474 %attr(640,root,nagcmd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.cfg
476 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/commands.cfg
477 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/contactgroups.cfg
478 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/contacts.cfg
479 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/resource.cfg
480 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/templates.cfg
481 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timeperiods.cfg
483 %attr(754,root,root) /etc/rc.d/init.d/%{name}
484 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
486 %attr(755,root,root) %{_sbindir}/%{name}
487 %attr(755,root,root) %{_sbindir}/nagiostats
488 %dir %{_libdir}/%{name}/brokers
490 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}
491 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}/archives
493 %attr(770,root,nagcmd) %dir %{_localstatedir}
494 %attr(2770,root,nagcmd) %dir %{_localstatedir}/rw
495 %attr(660,nagios,nagcmd) %ghost %{_localstatedir}/rw/%{name}.cmd
496 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache
497 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.precache
498 %attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
499 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp
500 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.pid
502 %attr(770,root,nagcmd) %dir %{_var}/spool/%{name}/checkresults
504 %{_examplesdir}/%{name}-%{version}
508 %attr(755,root,root) %{_libdir}/%{name}/p1.pl
509 %attr(755,root,root) %{_bindir}/mini_epn
513 %defattr(644,root,root,755)
514 %attr(750,root,nagcmd) %dir %{_sysconfdir}
515 %attr(750,root,nagios) %dir %{_sysconfdir}/plugins
516 %dir %{_libdir}/%{name}
517 %dir %{_libdir}/%{name}/plugins
518 %dir %{_libdir}/%{name}/eventhandlers
520 %if "%{_lib}" != "lib"
521 %dir %{_prefix}/lib/%{name}
522 %dir %{_prefix}/lib/%{name}/plugins
523 %dir %{_prefix}/lib/%{name}/eventhandlers
526 %attr(770,root,nagcmd) %dir %{_var}/spool/%{name}
529 %defattr(644,root,root,755)
530 %config(noreplace) %verify(not md5 mtime size) /etc/mrtg/conf.d/%{name}.cfg
533 %defattr(644,root,root,755)
537 %defattr(644,root,root,755)
538 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
539 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
540 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
541 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf
542 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg
543 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd
544 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group
546 %attr(755,root,root) %{cgidir}/*.cgi
549 %dir %{htmldir}/includes
550 %dir %{htmldir}/images
551 %dir %{htmldir}/stylesheets
552 %{htmldir}/robots.txt
553 %{htmldir}/contexthelp
556 %{htmldir}/images/favicon.ico
557 %{htmldir}/images/marker.png
558 %{htmldir}/images/shadow50.png
559 %{htmldir}/nagioswall.php
561 %files theme-classicui
562 %defattr(644,root,root,755)
563 %exclude %{htmldir}/nagioswall.php
565 %{htmldir}/includes/*
567 %exclude %{htmldir}/images/favicon.ico
568 %exclude %{htmldir}/images/marker.png
569 %exclude %{htmldir}/images/shadow50.png
570 %{htmldir}/stylesheets/*
573 %defattr(644,root,root,755)
576 %defattr(644,root,root,755)
577 %dir %{_includedir}/%{name}
578 %{_includedir}/%{name}/*.h