2 # - /var/log/nagios/archives -> /var/log/archive/nagios
5 %bcond_without gd # without statusmap and trends, which require gd library
6 # reeenable when http://tracker.nagios.org/view.php?id=51 is fixed
9 Summary: Host/service/network monitoring program
10 Summary(pl.UTF-8): Program do monitorowania serwerów/usług/sieci
11 Summary(pt_BR.UTF-8): Programa para monitoração de máquinas e serviços
17 Source0: http://downloads.sourceforge.net/nagios/%{name}-%{version}.tar.gz
18 # Source0-md5: c935354ce0d78a63bfabc3055fa77ad5
19 Source1: %{name}-apache.conf
21 Source3: %{name}.sysconfig
22 Source4: %{name}-config-20090914.tar.bz2
23 # Source4-md5: 605f1cd28c00db961dad6f529d849f16
24 Source5: %{name}-lighttpd.conf
25 Source6: http://www.google.com/mapfiles/shadow50.png
26 # Source6-md5: eff99f302f21b95a900d321743fce72b
27 Source7: http://www.google.com/mapfiles/marker.png
28 # Source7-md5: edefef4bdfc29e1c953694651f05b466
30 Patch0: %{name}-resources.patch
31 Patch1: %{name}-iconv-in-libc.patch
32 Patch2: %{name}-webapps.patch
33 Patch3: %{name}-cgi-http_charset.patch
34 Patch4: %{name}-cmd-typo.patch
36 Patch6: %{name}-googlemap.patch
37 Patch7: %{name}-doc-usermacros.patch
38 Patch8: archivelog-timeformat.patch
39 Patch9: %{name}-html-Makefile.in.patch
40 URL: http://www.nagios.org/
41 BuildRequires: autoconf
42 BuildRequires: automake
44 BuildRequires: gd-devel
45 BuildRequires: libjpeg-devel
46 BuildRequires: libpng-devel
48 BuildRequires: rpmbuild(macros) >= 1.268
49 BuildRequires: sed >= 4.0
50 Requires(post,preun): /sbin/chkconfig
51 Requires: %{name}-common = %{version}-%{release}
54 Suggests: nagios-notify >= 0.13
55 Suggests: nagios-plugin-check_load
56 Suggests: nagios-plugin-check_ping
57 Suggests: nagios-plugins
60 Conflicts: iputils-ping < 1:ss020124
61 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 %define _sysconfdir /etc/%{name}
64 %define cgidir %{_libdir}/%{name}/cgi
65 %define htmldir %{_prefix}/share/%{name}
66 %define _localstatedir /var/lib/%{name}
67 %define _webapps /etc/webapps
68 %define _webapp %{name}
71 Nagios is a program that will monitor hosts and services on your
72 network. It has the ability to email or page you when a problem arises
73 and when a problem is resolved. Nagios is written in C and is designed
74 to run under Linux (and some other *NIX variants) as a background
75 process, intermittently running checks on various services that you
78 The actual service checks are performed by separate "plugin" programs
79 which return the status of the checks to Nagios. The plugins are
80 available in nagios-plugins packages.
82 Nagios is successor to NetSaint.
84 %description -l pl.UTF-8
85 Nagios to program, który monitoruje serwery oraz usługi w naszej
86 sieci. Posiada on możliwość wysyłania informacji o wystąpieniu oraz
87 rozwiązaniu problemu. Nagios został napisany w C oraz jest
88 zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami)
89 jako proces pracujący w tle i bezustannie wykonujący pewne operacje
92 Właściwe sprawdzanie jest wykonywane przez osobne programy
93 ("wtyczki"), które zwracają informacje o statusie do Nagiosa. Wtyczki
94 są dostępne na stronie w pakietach nagios-plugins.
96 Nagios jest następcą NetSainta.
98 %description -l pt_BR.UTF-8
99 O Nagios é um programa que monitora máquinas e serviços na sua rede.
100 Ele pode enviar um email ou um aviso de pager para o administrador
101 quando surgir um problema e quando ele for resolvido. Nagios é escrito
102 em C e foi desenvolvido para rodar em plataformas Linux (e algumas
103 variações de *NIX) como um processo em segundo plano, periodicamente
104 executando checagens nos diversos serviços que forem especificados.
107 Summary: Common files needed by both nagios and nrpe
108 Summary(pl.UTF-8): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe
110 Requires(postun): /usr/sbin/groupdel
111 Requires(postun): /usr/sbin/userdel
112 Requires(pre): /bin/id
113 Requires(pre): /usr/bin/getgid
114 Requires(pre): /usr/sbin/groupadd
115 Requires(pre): /usr/sbin/groupmod
116 Requires(pre): /usr/sbin/useradd
117 Requires(pre): /usr/sbin/usermod
118 Provides: group(nagcmd)
119 Provides: group(nagios)
120 Provides: user(nagios)
123 Common files needed by both nagios and nrpe.
125 %description common -l pl.UTF-8
126 Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe.
129 Summary: CGI webinterface for Nagios
130 Summary(pl.UTF-8): Interfejs WWW/CGI dla Nagiosa
131 Group: Applications/WWW
132 # for dirs... and accessing local logs, nagios config
133 Requires: %{name} = %{version}-%{release}
134 Requires: %{name}-imagepaks
135 Requires: %{name}-theme
136 Requires: group(http)
139 Requires: webserver(access)
140 Requires: webserver(alias)
141 Requires: webserver(auth)
142 Requires: webserver(cgi)
143 Requires: webserver(indexfile)
144 Suggests: %{name}-doc
147 CGI webinterface for Nagios.
149 %description cgi -l pl.UTF-8
150 Interfejs CGI dla Nagiosa.
153 Summary: HTML Documentation for Nagios
155 # does not require base
158 HTML Documentation for Nagios.
160 %package theme-default
161 Summary: Default Nagios theme
162 Summary(pl.UTF-8): Domyślny motyw Nagiosa
163 Group: Applications/WWW
164 Requires: %{name}-cgi = %{version}-%{release}
165 Requires: webserver(php)
166 Provides: nagios-theme
167 Obsoletes: nagios-theme
169 %description theme-default
170 Original theme from Nagios.
172 %description theme-default -l pl.UTF-8
173 Oryginalny motyw z Nagiosa.
176 Summary: Include files that Nagios-related applications may compile against
177 Summary(pl.UTF-8): Pliki nagłówkowe, wykorzystywane przez aplikacje nagiosa
178 Summary(pt_BR.UTF-8): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios
179 Group: Development/Libraries
180 # doesn't require base
183 This package provides include files that Nagios-related applications
186 %description devel -l pl.UTF-8
187 Ten pakiet dostarcza pliki nagłówkowe, które mogą być wykorzystywane
188 przez aplikacje związane z nagiosem podczas kompilacji.
190 %description devel -l pt_BR.UTF-8
191 Este pacote contém arquivos de cabeçalho usados no desenvolvimento de
192 aplicativos para o Nagios.
195 %setup -q -a4 -n %{name}
211 find -name .cvsignore -o -name .gitignore | xargs rm
213 mv nagios-config-*/objects/*.cfg sample-config/template-object
214 mv nagios-config-*/*.cfg sample-config
216 # cleanup backups after patching
217 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
220 s,".*/var/rw/%{name}.cmd,"%{_localstatedir}/rw/%{name}.cmd,
221 s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
222 ' $(find contrib/eventhandlers -type f)
224 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE1} > apache.conf
225 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE5} > lighttpd.conf
229 # kill trailing spaces
232 s,/usr/local/%{name}/share,@datadir@,g
233 # we want all authorized users have default access
235 ' sample-config/*.cfg.in
239 # s,/usr/local/%{name}/var/archives/,/var/log/%{name}/archives/,
240 #' html/docs/configmain.html
243 cp -f /usr/share/automake/config.sub .
247 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
248 --bindir=%{_sbindir} \
249 --sbindir=%{cgidir} \
250 --datadir=%{htmldir} \
251 --with-nagios-user=%{name} \
252 --with-nagios-grp=%{name} \
253 --with-command-user=%{name} \
254 --with-command-grp=%{name} \
255 --with-lockfile=%{_localstatedir}/%{name}.pid \
256 --with-checkresult-dir=%{_var}/spool/%{name}/checkresults \
257 --with-ping_command='/bin/ping -n %%s -c %%d' \
258 %{!?with_gd:--disable-statusmap --disable-trends} \
259 %{?with_tests:--enable-libtap} \
260 --enable-event-broker
264 %{?with_tests:%{__make} test}
267 rm -rf $RPM_BUILD_ROOT
268 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_webapps}/%{_webapp}} \
269 $RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir}/rw} \
270 $RPM_BUILD_ROOT%{_sysconfdir}/{plugins,objects} \
271 $RPM_BUILD_ROOT%{_libdir}/%{name}/{eventhandlers,plugins,brokers} \
272 %if "%{_lib}" != "lib"
273 $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{eventhandlers,plugins} \
276 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}
277 cp -a include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
279 %{__make} install-unstripped \
280 DESTDIR=$RPM_BUILD_ROOT \
285 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
286 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
288 # install templated configuration files
289 for a in %{name}.cfg resource.cfg commands.cfg contactgroups.cfg contacts.cfg templates.cfg timeperiods.cfg; do
290 cp -a sample-config/$a $RPM_BUILD_ROOT%{_sysconfdir}
294 cp -a apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
295 cp -a apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
296 cp -a lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
297 cp -a sample-config/cgi.cfg $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
298 cp -a %{SOURCE6} $RPM_BUILD_ROOT%{htmldir}/images
299 cp -a %{SOURCE7} $RPM_BUILD_ROOT%{htmldir}/images
300 cp -a %{SOURCE8} $RPM_BUILD_ROOT%{htmldir}/images
301 > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/passwd
302 echo 'nagios:' > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/group
304 # install event handlers, sample config
305 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
306 cp -a contrib/eventhandlers $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
307 cp -a sample-config $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
308 find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name '*.in' | xargs rm
310 # Object data/cache files
311 for i in {objects.{cache,precache},{retention,status}.dat,%{name}.{tmp,pid}}; do
312 > $RPM_BUILD_ROOT%{_localstatedir}/$i
314 > $RPM_BUILD_ROOT%{_localstatedir}/rw/%{name}.cmd
316 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}
317 mv $RPM_BUILD_ROOT{%{htmldir}/docs/*,%{_docdir}/%{name}}
320 rm -rf $RPM_BUILD_ROOT
323 for i in %{_localstatedir}/{objects.{cache,precache},{retention,status}.dat}; do
324 [ ! -f $i ] && touch $i
329 /sbin/chkconfig --add %{name}
330 %service %{name} restart "Nagios service"
333 if [ "$1" = "0" ] ; then
334 %service %{name} stop
335 /sbin/chkconfig --del %{name}
339 # rename group netsaint -> nagios
340 if [ "$(getgid netsaint 2>/dev/null)" = "72" ]; then
341 /usr/sbin/groupmod -n nagios netsaint
343 # rename group nagios-data -> nagcmd
344 if [ "$(getgid nagios-data 2>/dev/null)" = "147" ]; then
345 /usr/sbin/groupmod -n nagcmd nagios-data
347 %groupadd -g 72 nagios
348 %groupadd -g 147 -f nagcmd
349 if [ -n "$(id -u netsaint 2>/dev/null)" ] && [ "$(id -u netsaint)" = "72" ]; then
350 /usr/sbin/usermod -d %{_libdir}/%{name} -l nagios -c "Nagios Daemon" -G nagcmd netsaint
352 %useradd -u 72 -d %{_libdir}/%{name} -s /bin/false -c "Nagios Daemon" -g nagios -G nagcmd nagios
355 if [ "$1" = "0" ]; then
362 if [ "$1" = 1 ]; then
363 %banner %{name} -e <<EOF
365 You need to add user to %{_webapps}/%{_webapp}/passwd and
366 %{_webapps}/%{_webapp}/group to access Nagios via web.
371 %triggerin cgi -- apache1 < 1.3.37-3, apache1-base
372 %addusertogroup http nagcmd
373 %webapp_register apache %{_webapp}
375 %triggerun cgi -- apache1 < 1.3.37-3, apache1-base
376 %webapp_unregister apache %{_webapp}
378 %triggerin cgi -- apache < 2.2.0, apache-base
379 %addusertogroup http nagcmd
380 %webapp_register httpd %{_webapp}
382 %triggerun cgi -- apache < 2.2.0, apache-base
383 %webapp_unregister httpd %{_webapp}
385 %triggerin cgi -- lighttpd
386 %addusertogroup lighttpd nagcmd
387 %webapp_register lighttpd %{_webapp}
389 %triggerun cgi -- lighttpd
390 %webapp_unregister lighttpd %{_webapp}
392 %triggerpostun -- nagios-cgi < 2.0-0.b3.21
393 chown root:http %{_sysconfdir}/cgi.cfg
395 %triggerpostun -- nagios < 3.1.2-4
397 for a in dependencies.cfg services.cfg serviceextinfo.cfg hosts.cfg hostgroups.cfg hostextinfo.cfg escalations.cfg checkcommands.cfg misccommands.cfg; do
398 if [ -f %{_sysconfdir}/$a.rpmsave -a ! -f %{_sysconfdir}/$a ]; then
399 mv -f %{_sysconfdir}/$a{.rpmsave,}
402 %{__sed} -i -e 's,^check_result_path=.*,check_result_path=%{_var}/spool/%{name}/checkresults,' %{_sysconfdir}/%{name}.cfg
405 %defattr(644,root,root,755)
406 %doc Changelog README* UPGRADING INSTALLING LICENSE
407 %attr(750,root,nagios) %dir %{_sysconfdir}/objects
409 # leave main nagios config readable for -cgi.
410 %attr(640,root,nagcmd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.cfg
412 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/commands.cfg
413 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/contactgroups.cfg
414 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/contacts.cfg
415 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/resource.cfg
416 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/templates.cfg
417 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timeperiods.cfg
419 %attr(754,root,root) /etc/rc.d/init.d/%{name}
420 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
422 %attr(755,root,root) %{_sbindir}/%{name}
423 %attr(755,root,root) %{_sbindir}/nagiostats
424 %dir %{_libdir}/%{name}/brokers
426 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}
427 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}/archives
429 %attr(770,root,nagcmd) %dir %{_localstatedir}
430 %attr(2770,root,nagcmd) %dir %{_localstatedir}/rw
431 %attr(660,nagios,nagcmd) %ghost %{_localstatedir}/rw/%{name}.cmd
432 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache
433 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.precache
434 %attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
435 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp
436 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.pid
438 %attr(770,root,nagios) %dir %{_var}/spool/%{name}/checkresults
440 %{_examplesdir}/%{name}-%{version}
443 %defattr(644,root,root,755)
444 %attr(750,root,nagcmd) %dir %{_sysconfdir}
445 %attr(750,root,nagios) %dir %{_sysconfdir}/plugins
446 %dir %{_libdir}/%{name}
447 %dir %{_libdir}/%{name}/plugins
448 %dir %{_libdir}/%{name}/eventhandlers
450 %if "%{_lib}" != "lib"
451 %dir %{_prefix}/lib/%{name}
452 %dir %{_prefix}/lib/%{name}/plugins
453 %dir %{_prefix}/lib/%{name}/eventhandlers
456 %attr(770,root,nagios) %dir %{_var}/spool/%{name}
459 %defattr(644,root,root,755)
463 %defattr(644,root,root,755)
464 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
465 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
466 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
467 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf
468 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg
469 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd
470 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group
472 %attr(755,root,root) %{cgidir}/*.cgi
475 %dir %{htmldir}/includes
476 %dir %{htmldir}/images
477 %dir %{htmldir}/stylesheets
478 %{htmldir}/robots.txt
479 %{htmldir}/contexthelp
482 %{htmldir}/images/favicon.ico
483 %{htmldir}/images/marker.png
484 %{htmldir}/images/shadow50.png
487 %defattr(644,root,root,755)
489 %{htmldir}/includes/*
491 %exclude %{htmldir}/images/favicon.ico
492 %exclude %{htmldir}/images/marker.png
493 %exclude %{htmldir}/images/shadow50.png
494 %{htmldir}/stylesheets/*
497 %defattr(644,root,root,755)
498 %dir %{_includedir}/%{name}
499 %{_includedir}/%{name}/*.h