2 # - /var/log/nagios/archives -> /var/log/archive/nagios
4 # - don't fetch rss if update fetching is disabled (privacy!)
7 %bcond_without gd # without statusmap and trends, which require gd library
8 %bcond_with epn # with Embedded Perl
9 # reeenable when http://tracker.nagios.org/view.php?id=51 is fixed
12 Summary: Host/service/network monitoring program
13 Summary(pl.UTF-8): Program do monitorowania serwerów/usług/sieci
14 Summary(pt_BR.UTF-8): Programa para monitoração de máquinas e serviços
20 Source0: http://downloads.sourceforge.net/nagios/%{name}-%{version}.tar.gz
21 # Source0-md5: 2fa8acfb2a92b1bf8d173a855832de1f
22 Source1: %{name}-apache.conf
24 Source3: %{name}.sysconfig
25 Source4: %{name}-config-20090914.tar.bz2
26 # Source4-md5: 605f1cd28c00db961dad6f529d849f16
27 Source5: %{name}-lighttpd.conf
28 Source6: http://www.google.com/mapfiles/shadow50.png
29 # Source6-md5: eff99f302f21b95a900d321743fce72b
30 Source7: http://www.google.com/mapfiles/marker.png
31 # Source7-md5: edefef4bdfc29e1c953694651f05b466
33 Patch0: %{name}-resources.patch
34 Patch1: %{name}-iconv-in-libc.patch
35 Patch2: %{name}-webapps.patch
36 Patch3: %{name}-cgi-http_charset.patch
37 Patch4: %{name}-cmd-typo.patch
39 Patch6: %{name}-googlemap.patch
40 Patch7: %{name}-doc-usermacros.patch
41 Patch8: archivelog-timeformat.patch
42 Patch9: system-magpierss.patch
43 Patch10: system-jquery.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)
146 Requires: php-magpierss >= 0.72
149 Requires: webserver(access)
150 Requires: webserver(alias)
151 Requires: webserver(auth)
152 Requires: webserver(cgi)
153 Requires: webserver(indexfile)
154 Suggests: %{name}-doc
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.
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