2 %bcond_without gd # without statusmap and trends, which require gd library
4 Summary: Host/service/network monitoring program
5 Summary(pl): Program do monitorowania serwerów/us³ug/sieci
6 Summary(pt_BR): Programa para monitoração de máquinas e serviços
11 Release: 0.%{_rc}.%{_rel}
14 Source0: http://dl.sourceforge.net/nagios/%{name}-%{version}%{_rc}.tar.gz
15 # Source0-md5: c4a08697f852b0d535bf34fff0bf8b1f
16 Source1: %{name}-apache.conf
18 Source3: %{name}.sysconfig
19 Source4: http://www.nagios.org/images/favicon.ico
20 # Source4-md5: 1c4201c7da53d6c7e48251d3a9680449
21 Source5: %{name}-config-20050514.tar.bz2
22 # Source5-md5: a2883c65377ef7beb55d48af85ec7ef7
23 Patch0: %{name}-resources.patch
24 Patch1: %{name}-iconv-in-libc.patch
25 Patch2: %{name}-favicon.patch
26 Patch3: %{name}-webapps.patch
27 URL: http://www.nagios.org/
28 BuildRequires: autoconf
29 BuildRequires: automake
31 BuildRequires: gd-devel
32 BuildRequires: libjpeg-devel
33 BuildRequires: libpng-devel
35 BuildRequires: sed >= 4.0
36 BuildRequires: rpmbuild(macros) >= 1.264
37 BuildRequires: tar >= 1:1.15.1
38 Requires: %{name}-common = %{version}-%{release}
42 Requires: nagios-plugins
43 Requires(post,postun): /sbin/chkconfig
44 Requires(triggerpostun): sed >= 4.0
46 Conflicts: iputils-ping < 1:ss020124
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 %define _sysconfdir /etc/%{name}
51 %define _bindir %{_prefix}/sbin
52 %define _sbindir %{_libdir}/%{name}/cgi
53 %define _datadir %{_prefix}/share/%{name}
54 %define _localstatedir /var/lib/%{name}
55 %define _webapps /etc/webapps
56 %define _webapp %{name}
59 Nagios is a program that will monitor hosts and services on your
60 network. It has the ability to email or page you when a problem arises
61 and when a problem is resolved. Nagios is written in C and is designed
62 to run under Linux (and some other *NIX variants) as a background
63 process, intermittently running checks on various services that you
66 The actual service checks are performed by separate "plugin" programs
67 which return the status of the checks to Nagios. The plugins are
68 available in nagios-plugins packages.
70 Nagios is successor to NetSaint.
73 Nagios to program, który monitoruje serwery oraz us³ugi w naszej
74 sieci. Posiada on mo¿liwo¶æ wysy³ania informacji o wyst±pieniu oraz
75 rozwi±zaniu problemu. Nagios zosta³ napisany w C oraz jest
76 zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami)
77 jako proces pracuj±cy w tle i bezustannie wykonuj±cy pewne operacje
80 W³a¶ciwe sprawdzanie jest wykonywane przez osobne programy
81 ("wtyczki"), które zwracaj± informacje o statusie do Nagiosa. Wtyczki
82 s± dostêpne na stronie w pakietach nagios-plugins.
84 Nagios jest nastêpc± NetSainta.
87 O Nagios é um programa que monitora máquinas e serviços na sua rede.
88 Ele pode enviar um email ou um aviso de pager para o administrador
89 quando surgir um problema e quando ele for resolvido. Nagios é escrito
90 em C e foi desenvolvido para rodar em plataformas Linux (e algumas
91 variações de *NIX) como um processo em segundo plano, periodicamente
92 executando checagens nos diversos serviços que forem especificados.
95 Summary: Common files needed by both nagios and nrpe
96 Summary(pl): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe
98 Requires(pre): /usr/bin/getgid
99 Requires(pre): /bin/id
100 Requires(pre): /usr/sbin/groupadd
101 Requires(pre): /usr/sbin/groupmod
102 Requires(pre): /usr/sbin/useradd
103 Requires(pre): /usr/sbin/usermod
104 Requires(postun): /usr/sbin/groupdel
105 Requires(postun): /usr/sbin/userdel
106 Provides: user(nagios)
107 Provides: group(nagios)
108 Provides: group(nagios-data)
111 Common files needed by both nagios and nrpe.
113 %description common -l pl
114 Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe.
117 Summary: CGI webinterface for Nagios
118 Summary(pl): Interfejs WWW/CGI dla Nagiosa
119 Group: Applications/WWW
120 # for dirs... and accessing local logs.
121 Requires: %{name} = %{version}-%{release}
122 Requires: %{name}-imagepaks
123 Requires: %{name}-theme
125 Requires: webserver = apache
126 Requires: apache(mod_alias)
127 Requires: apache(mod_cgi)
128 Requires: apache(mod_auth)
129 Requires: group(http)
132 CGI webinterface for Nagios.
134 %description cgi -l pl
135 Interfejs CGI dla Nagiosa.
137 %package theme-default
138 Summary: Default Nagios theme
139 Summary(pl): Domy¶lny motyw Nagiosa
140 Group: Applications/WWW
141 Requires: nagios-cgi = %{version}-%{release}
142 Provides: nagios-theme
143 Obsoletes: nagios-theme
145 %description theme-default
146 Original theme from Nagios.
148 %description theme-default -l pl
149 Oryginalny motyw z Nagiosa.
152 Summary: Include files that Nagios-related applications may compile against
153 Summary(pl): Pliki nag³ówkowe, wykorzystywane przez aplikacje nagiosa
154 Summary(pt_BR): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios
155 Group: Development/Libraries
156 # doesn't require base
159 This package provides include files that Nagios-related applications
162 %description devel -l pl
163 Ten pakiet dostarcza pliki nag³ówkowe, które mog± byæ wykorzystywane
164 przez aplikacje zwi±zane z nagiosem podczas kompilacji.
166 %description devel -l pt_BR
167 Este pacote contém arquivos de cabeçalho usados no desenvolvimento de
168 aplicativos para o Nagios.
171 %setup -q -n %{name}-%{version}%{?_rc}
178 s,".*/var/rw/nagios.cmd,"%{_localstatedir}/rw/nagios.cmd,
179 s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
180 ' $(find contrib/eventhandlers -type f)
183 cp -f /usr/share/automake/config.sub .
187 --with-nagios-user=%{name} \
188 --with-nagios-grp=%{name} \
189 --with-command-user=%{name} \
190 --with-command-grp=%{name} \
191 --with-lockfile=%{_localstatedir}/%{name}.pid \
192 --with-ping_command='/bin/ping -n %%s -c %%d' \
193 %{!?with_gd:--disable-statusmap --disable-trends}
198 rm -rf $RPM_BUILD_ROOT
199 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_includedir}/%{name},%{_libdir}/%{name}/{eventhandlers,plugins}} \
200 $RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir},%{_sysconfdir}/{plugins,local},%{_examplesdir}/%{name}-%{version}} \
201 $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
203 install include/locations.h $RPM_BUILD_ROOT%{_includedir}/%{name}
205 %{__make} install install-html install-init install-commandmode fullinstall \
206 DESTDIR=$RPM_BUILD_ROOT \
211 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
212 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
213 install %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}
215 # install templated configuration files
216 tar jxf %{SOURCE5} --strip-components=1 -C $RPM_BUILD_ROOT%{_sysconfdir}
219 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
220 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
221 mv $RPM_BUILD_ROOT{%{_sysconfdir}/cgi.cfg,%{_webapps}/%{_webapp}}
222 > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/passwd
223 echo 'nagios:' > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/group
225 # install event handlers
226 cp -a contrib/eventhandlers $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
228 # Object data/cache files
229 for i in {objects.cache,{comments,downtime,retention,status}.dat,nagios.tmp}; do
230 > $RPM_BUILD_ROOT%{_localstatedir}/$i
232 > $RPM_BUILD_ROOT%{_localstatedir}/rw/nagios.cmd
235 rm -rf $RPM_BUILD_ROOT
238 /sbin/chkconfig --add %{name}
239 if [ -f /var/lock/subsys/%{name} ]; then
240 /etc/rc.d/init.d/%{name} restart 1>&2
243 for i in %{_localstatedir}/{objects.cache,{comments,downtime,retention,status}.dat}; do
244 [ ! -f $i ] && touch $i
250 if [ "$1" = "0" ] ; then
251 if [ -f /var/lock/subsys/%{name} ]; then
252 /etc/rc.d/init.d/%{name} stop 1>&2
254 /sbin/chkconfig --del %{name}
258 if [ "`getgid netsaint`" = "72" ]; then
259 /usr/sbin/groupmod -n nagios netsaint
261 %groupadd -g 72 nagios
262 %groupadd -g 147 -f nagios-data
263 if [ -n "`id -u netsaint 2>/dev/null`" ] && [ "`id -u netsaint`" = "72" ]; then
264 /usr/sbin/usermod -d %{_libdir}/nagios -l nagios -c "Nagios User" -G nagios-data netsaint
266 %useradd -u 72 -d %{_libdir}/nagios -s /bin/false -c "Nagios User" -g nagios -G nagios-data nagios
269 if [ "$1" = "0" ]; then
272 %groupremove nagios-data
276 if [ "$1" = 1 ]; then
277 %banner %{name} -e <<EOF
279 You need to add user to %{_webapps}/%{_webapp}/passwd and
280 %{_webapps}/%{_webapp}/group to access nagios via web.
285 %triggerin cgi -- apache1
286 %addusertogroup http nagios-data
287 %webapp_register apache %{_webapp}
289 %triggerun cgi -- apache1
290 %webapp_unregister apache %{_webapp}
292 %triggerin cgi -- apache >= 2.0.0
293 %addusertogroup http nagios-data
294 %webapp_register httpd %{_webapp}
296 %triggerun -- apache >= 2.0.0
297 %webapp_unregister httpd %{_webapp}
299 %triggerpostun -- nagios-cgi < 2.0-0.b3.21
300 chown root:http %{_sysconfdir}/cgi.cfg
302 %triggerpostun -- nagios < 2.0-0.b3.21
303 chown root:nagios %{_sysconfdir}/*.cfg
304 chown root:nagios-data %{_sysconfdir}/nagios.cfg
305 %addusertogroup nagios nagios-data
307 # must unify nagios.cfg
309 s,^status_file=.*,status_file=%{_localstatedir}/status.dat,
310 s,^comment_file=.*,comment_file=%{_localstatedir}/comments.dat,
311 s,^downtime_file=.*,downtime_file=%{_localstatedir}/downtime.dat,
312 s,^lock_file=.*,lock_file=%{_localstatedir}/nagios.pid,
313 s,^temp_file=.*,temp_file=%{_localstatedir}/nagios.tmp,
314 s,^state_retention_file=.*,state_retention_file=%{_localstatedir}/retention.dat,
317 s,^log_passive_service_checks=,log_passive_checks=,
318 s,^inter_check_delay_method=,service_inter_check_delay_method=,
319 s,^use_agressive_host_checking=,use_aggressive_host_checking=,
320 s,^freshness_check_interval=,service_freshness_check_interval=,
322 ' %{_sysconfdir}/nagios.cfg
325 s,\$DATETIME\$,$LONGDATETIME$,g
326 s,Nagios/1.2,Nagios/%{version},g
327 ' %{_sysconfdir}/misccommands.cfg
329 mv -f /var/log/nagios/status.log %{_localstatedir}/status.dat 2>/dev/null
330 mv -f /var/log/nagios/comment.log %{_localstatedir}/comments.dat 2>/dev/null
331 mv -f /var/log/nagios/downtime.log %{_localstatedir}/downtime.dat 2>/dev/null
332 mv -f /var/run/nagios.pid %{_localstatedir}/nagios.pid 2>/dev/null
333 mv -f /var/log/nagios/nagios.tmp %{_localstatedir}/nagios.tmp 2>/dev/null
334 mv -f /var/log/nagios/status.sav %{_localstatedir}/retention.dat 2>/dev/null
335 chown nagios:nagios %{_localstatedir}/nagios.pid 2>/dev/null
336 chown nagios:nagios-data %{_localstatedir}/rw/nagios.cmd 2>/dev/null
338 %service %{name} restart
340 %banner -e %{name}-2.0 <<'EOF'
341 Please read <http://nagios.sourceforge.net/docs/2_0/whatsnew.html>
342 there are changes that no longer work in Nagios 2.0.
344 You could also try use <http://oss.op5.se/nagios/object_config_fix.php.gz>
345 to convert your config (yes i know it's too late to say it now, after
346 the upgrade, but still :))
351 %triggerpostun cgi -- %{name}-cgi < 2.0-0.b6.0.2
352 for i in cgi.cfg group passwd; do
353 if [ -f /etc/nagios/$i.rpmsave ]; then
354 mv -f %{_webapps}/%{_webapp}/$i{,.rpmnew}
355 mv -f /etc/nagios/$i.rpmsave %{_webapps}/%{_webapp}/$i
359 # migrate from httpd (apache2) config dir
360 if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then
361 cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
362 mv -f /etc/httpd/%{name}.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
365 # migrate from apache-config macros
366 if [ -f /etc/%{name}/apache-nagios.conf.rpmsave ]; then
367 if [ -d /etc/apache/webapps.d ]; then
368 cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew}
369 cp -f /etc/%{name}/apache-nagios.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf
372 if [ -d /etc/httpd/webapps.d ]; then
373 cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
374 cp -f /etc/%{name}/apache-nagios.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
376 rm -f /etc/%{name}/apache-nagios.conf.rpmsave
379 # place new config location, as trigger puts config only on first install, do it here.
380 if [ -L /etc/apache/conf.d/99_%{name}.conf ]; then
381 rm -f /etc/apache/conf.d/99_%{name}.conf
384 if [ -L /etc/httpd/httpd.conf/99_%{name}.conf ]; then
385 rm -f /etc/httpd/httpd.conf/99_%{name}.conf
389 if [ "$apache_reload" ]; then
390 /usr/sbin/webapp register apache %{_webapp}
391 if [ -f /var/lock/subsys/apache ]; then
392 /etc/rc.d/init.d/apache reload 1>&2
395 if [ "$httpd_reload" ]; then
396 /usr/sbin/webapp register httpd %{_webapp}
397 if [ -f /var/lock/subsys/httpd ]; then
398 /etc/rc.d/init.d/httpd reload 1>&2
403 %defattr(644,root,root,755)
404 %doc Changelog README* UPGRADING INSTALLING LICENSE
405 %doc sample-config/template-object/{bigger,minimal}.cfg
406 %attr(640,root,nagios-data) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nagios.cfg
407 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/[!n]*.cfg
409 %attr(754,root,root) /etc/rc.d/init.d/%{name}
410 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
412 %attr(755,root,root) %{_bindir}/%{name}
413 %attr(755,root,root) %{_bindir}/nagiostats
415 %attr(770,root,nagios-data) %dir %{_var}/log/%{name}
416 %attr(770,root,nagios-data) %dir %{_var}/log/%{name}/archives
418 %attr(770,root,nagios-data) %dir %{_localstatedir}
419 %attr(2770,root,nagios-data) %dir %{_localstatedir}/rw
420 %attr(660,nagios,nagios-data) %ghost %{_localstatedir}/rw/nagios.cmd
421 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache
422 %attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
423 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp
425 %{_examplesdir}/%{name}-%{version}
428 %defattr(644,root,root,755)
429 %attr(750,root,nagios-data) %dir %{_sysconfdir}
430 %attr(2750,root,nagios) %dir %{_sysconfdir}/plugins
431 %attr(2750,root,nagios) %dir %{_sysconfdir}/local
432 %dir %{_libdir}/%{name}
433 %dir %{_libdir}/%{name}/plugins
434 %dir %{_libdir}/%{name}/eventhandlers
437 %defattr(644,root,root,755)
438 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
439 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
440 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
441 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg
442 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd
443 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group
445 %attr(755,root,root) %{_sbindir}/*.cgi
448 %dir %{_datadir}/images
449 %dir %{_datadir}/stylesheets
450 %{_datadir}/favicon.ico
451 %{_datadir}/robots.txt
452 %{_datadir}/contexthelp
458 %defattr(644,root,root,755)
461 %{_datadir}/stylesheets/*
464 %defattr(644,root,root,755)
465 %dir %{_includedir}/%{name}
466 %{_includedir}/%{name}/*.h