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: c935354ce0d78a63bfabc3055fa77ad5
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: %{name}-html-Makefile.in.patch
41 URL: http://www.nagios.org/
42 BuildRequires: autoconf
43 BuildRequires: automake
44 BuildRequires: rpmbuild(macros) >= 1.268
45 BuildRequires: sed >= 4.0
47 BuildRequires: gd-devel
48 BuildRequires: libjpeg-devel
49 BuildRequires: libpng-devel
52 BuildRequires: perl-HTML-Lint
53 BuildRequires: perl-Test-WWW-Mechanize-CGI
55 Requires(post,preun): /sbin/chkconfig
56 Requires: %{name}-common = %{version}-%{release}
59 Suggests: nagios-notify >= 0.13
60 Suggests: nagios-plugin-check_load
61 Suggests: nagios-plugin-check_ping
62 Suggests: nagios-plugins
65 Conflicts: iputils-ping < 1:ss020124
66 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68 %define _sysconfdir /etc/%{name}
69 %define cgidir %{_libdir}/%{name}/cgi
70 %define htmldir %{_prefix}/share/%{name}
71 %define _localstatedir /var/lib/%{name}
72 %define _webapps /etc/webapps
73 %define _webapp %{name}
76 Nagios is a program that will monitor hosts and services on your
77 network. It has the ability to email or page you when a problem arises
78 and when a problem is resolved. Nagios is written in C and is designed
79 to run under Linux (and some other *NIX variants) as a background
80 process, intermittently running checks on various services that you
83 The actual service checks are performed by separate "plugin" programs
84 which return the status of the checks to Nagios. The plugins are
85 available in nagios-plugins packages.
87 Nagios is successor to NetSaint.
89 %description -l pl.UTF-8
90 Nagios to program, który monitoruje serwery oraz usługi w naszej
91 sieci. Posiada on możliwość wysyłania informacji o wystąpieniu oraz
92 rozwiązaniu problemu. Nagios został napisany w C oraz jest
93 zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami)
94 jako proces pracujący w tle i bezustannie wykonujący pewne operacje
97 Właściwe sprawdzanie jest wykonywane przez osobne programy
98 ("wtyczki"), które zwracają informacje o statusie do Nagiosa. Wtyczki
99 są dostępne na stronie w pakietach nagios-plugins.
101 Nagios jest następcą NetSainta.
103 %description -l pt_BR.UTF-8
104 O Nagios é um programa que monitora máquinas e serviços na sua rede.
105 Ele pode enviar um email ou um aviso de pager para o administrador
106 quando surgir um problema e quando ele for resolvido. Nagios é escrito
107 em C e foi desenvolvido para rodar em plataformas Linux (e algumas
108 variações de *NIX) como um processo em segundo plano, periodicamente
109 executando checagens nos diversos serviços que forem especificados.
112 Summary: Common files needed by both nagios and nrpe
113 Summary(pl.UTF-8): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe
115 Requires(postun): /usr/sbin/groupdel
116 Requires(postun): /usr/sbin/userdel
117 Requires(pre): /bin/id
118 Requires(pre): /usr/bin/getgid
119 Requires(pre): /usr/sbin/groupadd
120 Requires(pre): /usr/sbin/groupmod
121 Requires(pre): /usr/sbin/useradd
122 Requires(pre): /usr/sbin/usermod
123 Provides: group(nagcmd)
124 Provides: group(nagios)
125 Provides: user(nagios)
128 Common files needed by both nagios and nrpe.
130 %description common -l pl.UTF-8
131 Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe.
134 Summary: CGI webinterface for Nagios
135 Summary(pl.UTF-8): Interfejs WWW/CGI dla Nagiosa
136 Group: Applications/WWW
137 # for dirs... and accessing local logs, nagios config
138 Requires: %{name} = %{version}-%{release}
139 Requires: %{name}-imagepaks
140 Requires: %{name}-theme
141 Requires: group(http)
144 Requires: webserver(access)
145 Requires: webserver(alias)
146 Requires: webserver(auth)
147 Requires: webserver(cgi)
148 Requires: webserver(indexfile)
149 Suggests: %{name}-doc
152 CGI webinterface for Nagios.
154 %description cgi -l pl.UTF-8
155 Interfejs CGI dla Nagiosa.
158 Summary: MRTG Graphs: Nagios Statistics
159 Group: Applications/Networking
160 Requires: %{name} = %{version}-%{release}
163 %description mrtggraphs
164 This pacakge graphs several Nagios statistics which can be useful for
165 debugging and trending purposes. The nagiostats binary is used to
169 Summary: HTML Documentation for Nagios
171 # does not require base
174 HTML Documentation for Nagios.
176 %package theme-classicui
177 Summary: ClassicUI Nagios theme
178 Group: Applications/WWW
179 Requires: %{name}-cgi = %{version}-%{release}
180 Requires: webserver(php)
181 Provides: nagios-theme
182 Obsoletes: nagios-theme
184 %description theme-classicui
185 Original theme from Nagios.
187 %description theme-classicui -l pl.UTF-8
188 Oryginalny motyw z Nagiosa.
190 %package theme-default
191 Summary: Virtual package to handle Nagios theme migration
192 Group: Applications/WWW
193 Requires: nagios-theme
194 Suggests: nagios-theme-classicui
195 Suggests: nagios-theme-exfoliation
196 Suggests: nagios-theme-nuvola
197 Obsoletes: nagios-theme-default < 3.3.1-1.4
199 %description theme-default
200 Virtual package to handle Nagios theme migration
203 Summary: Include files that Nagios-related applications may compile against
204 Summary(pl.UTF-8): Pliki nagłówkowe, wykorzystywane przez aplikacje nagiosa
205 Summary(pt_BR.UTF-8): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios
206 Group: Development/Libraries
207 # doesn't require base
210 This package provides include files that Nagios-related applications
213 %description devel -l pl.UTF-8
214 Ten pakiet dostarcza pliki nagłówkowe, które mogą być wykorzystywane
215 przez aplikacje związane z nagiosem podczas kompilacji.
217 %description devel -l pt_BR.UTF-8
218 Este pacote contém arquivos de cabeçalho usados no desenvolvimento de
219 aplicativos para o Nagios.
239 find -name .cvsignore -o -name .gitignore | xargs rm
241 mv nagios-config-*/objects/*.cfg sample-config/template-object
242 mv nagios-config-*/*.cfg sample-config
244 # cleanup backups after patching
245 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
248 s,".*/var/rw/%{name}.cmd,"%{_localstatedir}/rw/%{name}.cmd,
249 s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
250 ' $(find contrib/eventhandlers -type f)
253 s,/usr/local/nagios/var/,/var/log/%{name}/,g
256 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE1} > apache.conf
257 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE5} > lighttpd.conf
261 # kill trailing spaces
264 s,/usr/local/%{name}/share,@datadir@,g
265 # we want all authorized users have default access
267 ' sample-config/*.cfg.in
271 # s,/usr/local/%{name}/var/archives/,/var/log/%{name}/archives/,
272 #' html/docs/configmain.html
274 #rm t/611cgistatus-hosturgencies.t
277 cp -f /usr/share/automake/config.sub .
288 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
289 --bindir=%{_sbindir} \
290 --sbindir=%{cgidir} \
291 --datadir=%{htmldir} \
292 --with-nagios-user=%{name} \
293 --with-nagios-grp=%{name} \
294 --with-command-user=%{name} \
295 --with-command-grp=%{name} \
296 --with-lockfile=%{_localstatedir}/%{name}.pid \
297 --with-checkresult-dir=%{_var}/spool/%{name}/checkresults \
298 --with-ping_command='/bin/ping -n %%s -c %%d' \
299 %{!?with_gd:--disable-statusmap --disable-trends} \
300 %{?with_epn:--enable-embedded-perl --with-perlcache} \
301 %{?with_tests:--enable-libtap} \
302 --enable-event-broker
307 %{__make} -C contrib mini_epn
310 %{?with_tests:%{__make} test}
313 rm -rf $RPM_BUILD_ROOT
314 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_webapps}/%{_webapp}} \
315 $RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir}/rw} \
316 $RPM_BUILD_ROOT%{_sysconfdir}/{plugins,objects} \
317 $RPM_BUILD_ROOT%{_libdir}/%{name}/{eventhandlers,plugins,brokers} \
318 %if "%{_lib}" != "lib"
319 $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{eventhandlers,plugins} \
322 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}
323 cp -p include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
325 %{__make} install-unstripped \
326 DESTDIR=$RPM_BUILD_ROOT \
332 mv $RPM_BUILD_ROOT{%{_sbindir},%{_libdir}/%{name}}/p1.pl
333 install -d $RPM_BUILD_ROOT%{_bindir}
334 install -p contrib/mini_epn $RPM_BUILD_ROOT%{_bindir}
337 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
338 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
340 # install templated configuration files
341 for a in %{name}.cfg resource.cfg commands.cfg contactgroups.cfg contacts.cfg templates.cfg timeperiods.cfg; do
342 cp -p sample-config/$a $RPM_BUILD_ROOT%{_sysconfdir}
346 cp -p apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
347 cp -p apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
348 cp -p lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
349 cp -p sample-config/cgi.cfg $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
350 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{htmldir}/images
351 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{htmldir}/images
352 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{htmldir}/images
353 > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/passwd
354 echo 'nagios:' > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/group
356 # install event handlers, sample config
357 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
358 cp -a contrib/eventhandlers $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
359 cp -a sample-config $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
360 find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name '*.in' | xargs rm
363 install -d $RPM_BUILD_ROOT/etc/mrtg/conf.d
364 cp -a sample-config/mrtg.cfg $RPM_BUILD_ROOT/etc/mrtg/conf.d/%{name}.cfg
366 # Object data/cache files
367 for i in {objects.{cache,precache},{retention,status}.dat,%{name}.{tmp,pid}}; do
368 > $RPM_BUILD_ROOT%{_localstatedir}/$i
370 > $RPM_BUILD_ROOT%{_localstatedir}/rw/%{name}.cmd
372 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}
373 mv $RPM_BUILD_ROOT{%{htmldir}/docs/*,%{_docdir}/%{name}}
376 rm -rf $RPM_BUILD_ROOT
379 for i in %{_localstatedir}/{objects.{cache,precache},{retention,status}.dat}; do
380 [ ! -f $i ] && touch $i
385 /sbin/chkconfig --add %{name}
386 %service %{name} restart "Nagios service"
389 if [ "$1" = "0" ] ; then
390 %service %{name} stop
391 /sbin/chkconfig --del %{name}
395 # rename group netsaint -> nagios
396 if [ "$(getgid netsaint 2>/dev/null)" = "72" ]; then
397 /usr/sbin/groupmod -n nagios netsaint
399 # rename group nagios-data -> nagcmd
400 if [ "$(getgid nagios-data 2>/dev/null)" = "147" ]; then
401 /usr/sbin/groupmod -n nagcmd nagios-data
403 %groupadd -g 72 nagios
404 %groupadd -g 147 -f nagcmd
405 if [ -n "$(id -u netsaint 2>/dev/null)" ] && [ "$(id -u netsaint)" = "72" ]; then
406 /usr/sbin/usermod -d %{_libdir}/%{name} -l nagios -c "Nagios Daemon" -G nagcmd netsaint
408 %useradd -u 72 -d %{_libdir}/%{name} -s /bin/false -c "Nagios Daemon" -g nagios -G nagcmd nagios
411 if [ "$1" = "0" ]; then
418 if [ "$1" = 1 ]; then
419 %banner %{name} -e <<EOF
421 You need to add user to %{_webapps}/%{_webapp}/passwd and
422 %{_webapps}/%{_webapp}/group to access Nagios via web.
427 %triggerin cgi -- apache1 < 1.3.37-3, apache1-base
428 %addusertogroup http nagcmd
429 %webapp_register apache %{_webapp}
431 %triggerun cgi -- apache1 < 1.3.37-3, apache1-base
432 %webapp_unregister apache %{_webapp}
434 %triggerin cgi -- apache < 2.2.0, apache-base
435 %addusertogroup http nagcmd
436 %webapp_register httpd %{_webapp}
438 %triggerun cgi -- apache < 2.2.0, apache-base
439 %webapp_unregister httpd %{_webapp}
441 %triggerin cgi -- lighttpd
442 %addusertogroup lighttpd nagcmd
443 %webapp_register lighttpd %{_webapp}
445 %triggerun cgi -- lighttpd
446 %webapp_unregister lighttpd %{_webapp}
448 %triggerpostun -- nagios-cgi < 2.0-0.b3.21
449 chown root:http %{_sysconfdir}/cgi.cfg
451 %triggerpostun -- nagios < 3.1.2-4
453 for a in dependencies.cfg services.cfg serviceextinfo.cfg hosts.cfg hostgroups.cfg hostextinfo.cfg escalations.cfg checkcommands.cfg misccommands.cfg; do
454 if [ -f %{_sysconfdir}/$a.rpmsave -a ! -f %{_sysconfdir}/$a ]; then
455 mv -f %{_sysconfdir}/$a{.rpmsave,}
458 %{__sed} -i -e 's,^check_result_path=.*,check_result_path=%{_var}/spool/%{name}/checkresults,' %{_sysconfdir}/%{name}.cfg
461 %defattr(644,root,root,755)
462 %doc Changelog README* UPGRADING INSTALLING LICENSE
463 %attr(750,root,nagios) %dir %{_sysconfdir}/objects
465 # leave main nagios config readable for -cgi.
466 %attr(640,root,nagcmd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.cfg
468 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/commands.cfg
469 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/contactgroups.cfg
470 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/contacts.cfg
471 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/resource.cfg
472 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/templates.cfg
473 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timeperiods.cfg
475 %attr(754,root,root) /etc/rc.d/init.d/%{name}
476 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
478 %attr(755,root,root) %{_sbindir}/%{name}
479 %attr(755,root,root) %{_sbindir}/nagiostats
480 %dir %{_libdir}/%{name}/brokers
482 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}
483 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}/archives
485 %attr(770,root,nagcmd) %dir %{_localstatedir}
486 %attr(2770,root,nagcmd) %dir %{_localstatedir}/rw
487 %attr(660,nagios,nagcmd) %ghost %{_localstatedir}/rw/%{name}.cmd
488 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache
489 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.precache
490 %attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
491 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp
492 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.pid
494 %attr(770,root,nagcmd) %dir %{_var}/spool/%{name}/checkresults
496 %{_examplesdir}/%{name}-%{version}
500 %attr(755,root,root) %{_libdir}/%{name}/p1.pl
501 %attr(755,root,root) %{_bindir}/mini_epn
505 %defattr(644,root,root,755)
506 %attr(750,root,nagcmd) %dir %{_sysconfdir}
507 %attr(750,root,nagios) %dir %{_sysconfdir}/plugins
508 %dir %{_libdir}/%{name}
509 %dir %{_libdir}/%{name}/plugins
510 %dir %{_libdir}/%{name}/eventhandlers
512 %if "%{_lib}" != "lib"
513 %dir %{_prefix}/lib/%{name}
514 %dir %{_prefix}/lib/%{name}/plugins
515 %dir %{_prefix}/lib/%{name}/eventhandlers
518 %attr(770,root,nagcmd) %dir %{_var}/spool/%{name}
521 %defattr(644,root,root,755)
522 %config(noreplace) %verify(not md5 mtime size) /etc/mrtg/conf.d/%{name}.cfg
525 %defattr(644,root,root,755)
529 %defattr(644,root,root,755)
530 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
531 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
532 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
533 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf
534 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg
535 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd
536 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group
538 %attr(755,root,root) %{cgidir}/*.cgi
541 %dir %{htmldir}/includes
542 %dir %{htmldir}/images
543 %dir %{htmldir}/stylesheets
544 %{htmldir}/robots.txt
545 %{htmldir}/contexthelp
548 %{htmldir}/images/favicon.ico
549 %{htmldir}/images/marker.png
550 %{htmldir}/images/shadow50.png
552 %files theme-classicui
553 %defattr(644,root,root,755)
555 %{htmldir}/includes/*
557 %exclude %{htmldir}/images/favicon.ico
558 %exclude %{htmldir}/images/marker.png
559 %exclude %{htmldir}/images/shadow50.png
560 %{htmldir}/stylesheets/*
563 %defattr(644,root,root,755)
566 %defattr(644,root,root,755)
567 %dir %{_includedir}/%{name}
568 %{_includedir}/%{name}/*.h