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
12 Source0: http://dl.sourceforge.net/nagios/%{name}-%{version}.tar.gz
13 # Source0-md5: 2a30ccf68bdbebc9c6f5a06e9c09e757
14 Source1: %{name}-apache.conf
16 Source3: %{name}.sysconfig
17 Source4: http://www.nagios.org/images/favicon.ico
18 # Source4-md5: 1c4201c7da53d6c7e48251d3a9680449
19 Source5: %{name}-config-20050514.tar.bz2
20 # Source5-md5: a2883c65377ef7beb55d48af85ec7ef7
21 Patch0: %{name}-resources.patch
22 Patch1: %{name}-iconv-in-libc.patch
23 Patch2: %{name}-favicon.patch
24 Patch3: %{name}-webapps.patch
25 URL: http://www.nagios.org/
26 BuildRequires: autoconf
27 BuildRequires: automake
29 BuildRequires: gd-devel
30 BuildRequires: libjpeg-devel
31 BuildRequires: libpng-devel
33 BuildRequires: rpmbuild(macros) >= 1.268
34 BuildRequires: sed >= 4.0
35 BuildRequires: tar >= 1:1.15.1
36 Requires(post,postun): /sbin/chkconfig
37 Requires(triggerpostun): sed >= 4.0
38 Requires: %{name}-common = %{version}-%{release}
40 Requires: nagios-plugins
45 Conflicts: iputils-ping < 1:ss020124
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 %define _sysconfdir /etc/%{name}
49 %define _bindir %{_prefix}/sbin
50 %define _sbindir %{_libdir}/%{name}/cgi
51 %define _datadir %{_prefix}/share/%{name}
52 %define _localstatedir /var/lib/%{name}
53 %define _webapps /etc/webapps
54 %define _webapp %{name}
57 Nagios is a program that will monitor hosts and services on your
58 network. It has the ability to email or page you when a problem arises
59 and when a problem is resolved. Nagios is written in C and is designed
60 to run under Linux (and some other *NIX variants) as a background
61 process, intermittently running checks on various services that you
64 The actual service checks are performed by separate "plugin" programs
65 which return the status of the checks to Nagios. The plugins are
66 available in nagios-plugins packages.
68 Nagios is successor to NetSaint.
71 Nagios to program, który monitoruje serwery oraz us³ugi w naszej
72 sieci. Posiada on mo¿liwo¶æ wysy³ania informacji o wyst±pieniu oraz
73 rozwi±zaniu problemu. Nagios zosta³ napisany w C oraz jest
74 zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami)
75 jako proces pracuj±cy w tle i bezustannie wykonuj±cy pewne operacje
78 W³a¶ciwe sprawdzanie jest wykonywane przez osobne programy
79 ("wtyczki"), które zwracaj± informacje o statusie do Nagiosa. Wtyczki
80 s± dostêpne na stronie w pakietach nagios-plugins.
82 Nagios jest nastêpc± NetSainta.
85 O Nagios é um programa que monitora máquinas e serviços na sua rede.
86 Ele pode enviar um email ou um aviso de pager para o administrador
87 quando surgir um problema e quando ele for resolvido. Nagios é escrito
88 em C e foi desenvolvido para rodar em plataformas Linux (e algumas
89 variações de *NIX) como um processo em segundo plano, periodicamente
90 executando checagens nos diversos serviços que forem especificados.
93 Summary: Common files needed by both nagios and nrpe
94 Summary(pl): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe
96 Requires(postun): /usr/sbin/groupdel
97 Requires(postun): /usr/sbin/userdel
98 Requires(pre): /bin/id
99 Requires(pre): /usr/bin/getgid
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 Provides: group(nagios)
105 Provides: group(nagios-data)
106 Provides: user(nagios)
109 Common files needed by both nagios and nrpe.
111 %description common -l pl
112 Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe.
115 Summary: CGI webinterface for Nagios
116 Summary(pl): Interfejs WWW/CGI dla Nagiosa
117 Group: Applications/WWW
118 # for dirs... and accessing local logs.
119 Requires: %{name} = %{version}-%{release}
120 Requires: %{name}-imagepaks
121 Requires: %{name}-theme
122 Requires: apache(mod_alias)
123 Requires: apache(mod_auth)
124 Requires: apache(mod_cgi)
125 Requires: group(http)
127 Requires: webserver = apache
130 CGI webinterface for Nagios.
132 %description cgi -l pl
133 Interfejs CGI dla Nagiosa.
135 %package theme-default
136 Summary: Default Nagios theme
137 Summary(pl): Domy¶lny motyw Nagiosa
138 Group: Applications/WWW
139 Requires: nagios-cgi = %{version}-%{release}
140 Provides: nagios-theme
141 Obsoletes: nagios-theme
143 %description theme-default
144 Original theme from Nagios.
146 %description theme-default -l pl
147 Oryginalny motyw z Nagiosa.
150 Summary: Include files that Nagios-related applications may compile against
151 Summary(pl): Pliki nag³ówkowe, wykorzystywane przez aplikacje nagiosa
152 Summary(pt_BR): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios
153 Group: Development/Libraries
154 # doesn't require base
157 This package provides include files that Nagios-related applications
160 %description devel -l pl
161 Ten pakiet dostarcza pliki nag³ówkowe, które mog± byæ wykorzystywane
162 przez aplikacje zwi±zane z nagiosem podczas kompilacji.
164 %description devel -l pt_BR
165 Este pacote contém arquivos de cabeçalho usados no desenvolvimento de
166 aplicativos para o Nagios.
176 s,".*/var/rw/nagios.cmd,"%{_localstatedir}/rw/nagios.cmd,
177 s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
178 ' $(find contrib/eventhandlers -type f)
180 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE1} > apache.conf
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 apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
220 install apache.conf $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 for i in %{_localstatedir}/{objects.cache,{comments,downtime,retention,status}.dat}; do
239 [ ! -f $i ] && touch $i
244 /sbin/chkconfig --add %{name}
245 %service %{name} restart
248 if [ "$1" = "0" ] ; then
249 %service %{name} stop
250 /sbin/chkconfig --del %{name}
254 if [ "`getgid netsaint`" = "72" ]; then
255 /usr/sbin/groupmod -n nagios netsaint
257 %groupadd -g 72 nagios
258 %groupadd -g 147 -f nagios-data
259 if [ -n "`id -u netsaint 2>/dev/null`" ] && [ "`id -u netsaint`" = "72" ]; then
260 /usr/sbin/usermod -d %{_libdir}/nagios -l nagios -c "Nagios User" -G nagios-data netsaint
262 %useradd -u 72 -d %{_libdir}/nagios -s /bin/false -c "Nagios User" -g nagios -G nagios-data nagios
265 if [ "$1" = "0" ]; then
268 %groupremove nagios-data
272 if [ "$1" = 1 ]; then
273 %banner %{name} -e <<EOF
275 You need to add user to %{_webapps}/%{_webapp}/passwd and
276 %{_webapps}/%{_webapp}/group to access Nagios via web.
281 %triggerin cgi -- apache1
282 %addusertogroup http nagios-data
283 %webapp_register apache %{_webapp}
285 %triggerun cgi -- apache1
286 %webapp_unregister apache %{_webapp}
288 %triggerin cgi -- apache < 2.2.0, apache-base
289 %addusertogroup http nagios-data
290 %webapp_register httpd %{_webapp}
292 %triggerun cgi -- apache < 2.2.0, apache-base
293 %webapp_unregister httpd %{_webapp}
295 %triggerpostun -- nagios-cgi < 2.0-0.b3.21
296 chown root:http %{_sysconfdir}/cgi.cfg
298 %triggerpostun -- nagios < 2.0-0.b3.21
299 chown root:nagios %{_sysconfdir}/*.cfg
300 chown root:nagios-data %{_sysconfdir}/nagios.cfg
301 %addusertogroup nagios nagios-data
303 # must unify nagios.cfg
305 s,^status_file=.*,status_file=%{_localstatedir}/status.dat,
306 s,^comment_file=.*,comment_file=%{_localstatedir}/comments.dat,
307 s,^downtime_file=.*,downtime_file=%{_localstatedir}/downtime.dat,
308 s,^lock_file=.*,lock_file=%{_localstatedir}/nagios.pid,
309 s,^temp_file=.*,temp_file=%{_localstatedir}/nagios.tmp,
310 s,^state_retention_file=.*,state_retention_file=%{_localstatedir}/retention.dat,
313 s,^log_passive_service_checks=,log_passive_checks=,
314 s,^inter_check_delay_method=,service_inter_check_delay_method=,
315 s,^use_agressive_host_checking=,use_aggressive_host_checking=,
316 s,^freshness_check_interval=,service_freshness_check_interval=,
318 ' %{_sysconfdir}/nagios.cfg
321 s,\$DATETIME\$,$LONGDATETIME$,g
322 s,Nagios/1.2,Nagios/%{version},g
323 ' %{_sysconfdir}/misccommands.cfg
325 mv -f /var/log/nagios/status.log %{_localstatedir}/status.dat 2>/dev/null
326 mv -f /var/log/nagios/comment.log %{_localstatedir}/comments.dat 2>/dev/null
327 mv -f /var/log/nagios/downtime.log %{_localstatedir}/downtime.dat 2>/dev/null
328 mv -f /var/run/nagios.pid %{_localstatedir}/nagios.pid 2>/dev/null
329 mv -f /var/log/nagios/nagios.tmp %{_localstatedir}/nagios.tmp 2>/dev/null
330 mv -f /var/log/nagios/status.sav %{_localstatedir}/retention.dat 2>/dev/null
331 chown nagios:nagios %{_localstatedir}/nagios.pid 2>/dev/null
332 chown nagios:nagios-data %{_localstatedir}/rw/nagios.cmd 2>/dev/null
334 %service %{name} restart
336 %banner -e %{name}-2.0 <<'EOF'
337 Please read <http://nagios.sourceforge.net/docs/2_0/whatsnew.html>
338 there are changes that no longer work in Nagios 2.0.
340 You could also try use <http://oss.op5.se/nagios/object_config_fix.php.gz>
341 to convert your config (yes i know it's too late to say it now, after
342 the upgrade, but still :))
347 %triggerpostun cgi -- %{name}-cgi < 2.0-0.b6.0.2
348 for i in cgi.cfg group passwd; do
349 if [ -f /etc/nagios/$i.rpmsave ]; then
350 mv -f %{_webapps}/%{_webapp}/$i{,.rpmnew}
351 mv -f /etc/nagios/$i.rpmsave %{_webapps}/%{_webapp}/$i
355 # migrate from httpd (apache2) config dir
356 if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then
357 cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
358 mv -f /etc/httpd/%{name}.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
361 # migrate from apache-config macros
362 if [ -f /etc/%{name}/apache-nagios.conf.rpmsave ]; then
363 if [ -d /etc/apache/webapps.d ]; then
364 cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew}
365 cp -f /etc/%{name}/apache-nagios.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf
368 if [ -d /etc/httpd/webapps.d ]; then
369 cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
370 cp -f /etc/%{name}/apache-nagios.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
372 rm -f /etc/%{name}/apache-nagios.conf.rpmsave
375 # place new config location, as trigger puts config only on first install, do it here.
376 if [ -L /etc/apache/conf.d/99_%{name}.conf ]; then
377 rm -f /etc/apache/conf.d/99_%{name}.conf
380 if [ -L /etc/httpd/httpd.conf/99_%{name}.conf ]; then
381 rm -f /etc/httpd/httpd.conf/99_%{name}.conf
385 if [ "$apache_reload" ]; then
386 /usr/sbin/webapp register apache %{_webapp}
387 %service apache reload
389 if [ "$httpd_reload" ]; then
390 /usr/sbin/webapp register httpd %{_webapp}
391 %service httpd reload
395 %defattr(644,root,root,755)
396 %doc Changelog README* UPGRADING INSTALLING LICENSE
397 %doc sample-config/template-object/{bigger,minimal}.cfg
398 %attr(640,root,nagios-data) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nagios.cfg
399 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/[!n]*.cfg
401 %attr(754,root,root) /etc/rc.d/init.d/%{name}
402 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
404 %attr(755,root,root) %{_bindir}/%{name}
405 %attr(755,root,root) %{_bindir}/nagiostats
407 %attr(770,root,nagios-data) %dir %{_var}/log/%{name}
408 %attr(770,root,nagios-data) %dir %{_var}/log/%{name}/archives
410 %attr(770,root,nagios-data) %dir %{_localstatedir}
411 %attr(2770,root,nagios-data) %dir %{_localstatedir}/rw
412 %attr(660,nagios,nagios-data) %ghost %{_localstatedir}/rw/nagios.cmd
413 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache
414 %attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
415 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp
417 %{_examplesdir}/%{name}-%{version}
420 %defattr(644,root,root,755)
421 %attr(750,root,nagios-data) %dir %{_sysconfdir}
422 %attr(2750,root,nagios) %dir %{_sysconfdir}/plugins
423 %attr(2750,root,nagios) %dir %{_sysconfdir}/local
424 %dir %{_libdir}/%{name}
425 %dir %{_libdir}/%{name}/plugins
426 %dir %{_libdir}/%{name}/eventhandlers
429 %defattr(644,root,root,755)
430 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
431 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
432 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
433 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg
434 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd
435 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group
437 %attr(755,root,root) %{_sbindir}/*.cgi
440 %dir %{_datadir}/images
441 %dir %{_datadir}/stylesheets
442 %{_datadir}/favicon.ico
443 %{_datadir}/robots.txt
444 %{_datadir}/contexthelp
450 %defattr(644,root,root,755)
453 %{_datadir}/stylesheets/*
456 %defattr(644,root,root,755)
457 %dir %{_includedir}/%{name}
458 %{_includedir}/%{name}/*.h