3 %bcond_without gd # without statusmap and trends, which require gd library
5 Summary: Host/service/network monitoring program
6 Summary(pl): Program do monitorowania serwerów/us³ug/sieci
7 Summary(pt_BR): Programa para monitoração de máquinas e serviços
14 Source0: http://dl.sourceforge.net/nagios/%{name}-%{version}%{_rc}.tar.gz
15 # Source0-md5: 051760458d961b6ee015b5932a8437c4
16 Source1: %{name}-apache.conf
18 Source3: %{name}.sysconfig
19 Source4: http://www.nagios.org/images/favicon.ico
20 # Source4-md5: 1c4201c7da53d6c7e48251d3a9680449
21 Source5: nagios-config-20050514.tar.bz2
22 # Source5-md5: 21beb2e868b4c4cf67c00892114c57bf
23 Patch0: %{name}-resources.patch
24 Patch1: %{name}-iconv-in-libc.patch
25 Patch2: %{name}-favicon.patch
26 URL: http://www.nagios.org/
27 BuildRequires: autoconf
28 BuildRequires: automake
30 BuildRequires: gd-devel
31 BuildRequires: libjpeg-devel
32 BuildRequires: libpng-devel
33 BuildRequires: sed >= 4.0
35 BuildRequires: rpmbuild(macros) >= 1.202
36 PreReq: %{name}-common = %{version}-%{release}
40 Requires: nagios-plugins
41 Requires(post,postun): /sbin/chkconfig
42 Requires(triggerpostun): sed >= 4.0
44 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}
54 %define _apache1dir /etc/apache
55 %define _apache2dir /etc/httpd
58 Nagios is a program that will monitor hosts and services on your
59 network. It has the ability to email or page you when a problem arises
60 and when a problem is resolved. Nagios is written in C and is designed
61 to run under Linux (and some other *NIX variants) as a background
62 process, intermittently running checks on various services that you
65 The actual service checks are performed by separate "plugin" programs
66 which return the status of the checks to Nagios. The plugins are
67 available in nagios-plugins packages.
69 Nagios is successor to NetSaint.
72 Nagios to program, który monitoruje serwery oraz us³ugi w naszej
73 sieci. Posiada on mo¿liwo¶æ wysy³ania informacji o wyst±pieniu oraz
74 rozwi±zaniu problemu. Nagios zosta³ napisany w C oraz jest
75 zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami)
76 jako proces pracuj±cy w tle i bezustannie wykonuj±cy pewne operacje
79 W³a¶ciwe sprawdzanie jest wykonywane przez osobne programy
80 ("wtyczki"), które zwracaj± informacje o statusie do Nagiosa. Wtyczki
81 s± dostêpne na stronie w pakietach nagios-plugins.
83 Nagios jest nastêpc± NetSainta.
86 O Nagios é um programa que monitora máquinas e serviços na sua rede.
87 Ele pode enviar um email ou um aviso de pager para o administrador
88 quando surgir um problema e quando ele for resolvido. Nagios é escrito
89 em C e foi desenvolvido para rodar em plataformas Linux (e algumas
90 variações de *NIX) como um processo em segundo plano, periodicamente
91 executando checagens nos diversos serviços que forem especificados.
94 Summary: Common files needed by both nagios and nrpe
95 Summary(pl): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe
97 Requires(pre): /usr/bin/getgid
98 Requires(pre): /bin/id
99 Requires(pre): /usr/sbin/groupadd
100 Requires(pre): /usr/sbin/groupmod
101 Requires(pre): /usr/sbin/useradd
102 Requires(pre): /usr/sbin/usermod
103 Requires(postun): /usr/sbin/groupdel
104 Requires(postun): /usr/sbin/userdel
105 Provides: user(nagios)
106 Provides: group(nagios)
107 Provides: group(nagios-data)
110 Common files needed by both nagios and nrpe.
112 %description common -l pl
113 Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe.
116 Summary: CGI webinterface for Nagios
117 Summary(pl): Interfejs WWW/CGI dla Nagiosa
118 Group: Applications/WWW
119 # for dirs... and accessing local logs(?)
120 Requires: %{name} = %{version}-%{release}
121 Requires: %{name}-imagepaks
122 Requires: %{name}-theme
123 Requires: webserver = apache
124 Requires: apache(mod_alias)
125 Requires: apache(mod_cgi)
126 Requires: apache(mod_auth)
127 Requires: group(http)
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.
169 %setup -q -n %{name}-%{version}%{?_rc} -a5
175 s,".*/var/rw/nagios.cmd,"%{_localstatedir}/rw/nagios.cmd,
176 s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
177 ' $(find contrib/eventhandlers -type f)
180 cp -f /usr/share/automake/config.sub .
184 --with-nagios-user=%{name} \
185 --with-nagios-grp=%{name} \
186 --with-command-user=%{name} \
187 --with-command-grp=%{name} \
188 --with-lockfile=%{_localstatedir}/%{name}.pid \
189 --with-ping_command='/bin/ping -n %%s -c %%d' \
190 %{!?with_gd:--disable-statusmap --disable-trends}
195 rm -rf $RPM_BUILD_ROOT
196 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_includedir}/%{name},%{_libdir}/%{name}/{eventhandlers,plugins}} \
197 $RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir},%{_sysconfdir}/{plugins,local},%{_examplesdir}/%{name}-%{version}}
199 install include/locations.h $RPM_BUILD_ROOT%{_includedir}/%{name}
201 %{__make} install install-html install-init install-commandmode fullinstall \
202 DESTDIR=$RPM_BUILD_ROOT \
207 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache-%{name}.conf
208 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
209 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
210 install %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}
212 # install templated configuration files
213 PV=`basename %{SOURCE5}`
214 install ${PV%.tar.bz2}/*.cfg $RPM_BUILD_ROOT%{_sysconfdir}
216 > $RPM_BUILD_ROOT%{_sysconfdir}/passwd
217 echo 'nagios:' > $RPM_BUILD_ROOT%{_sysconfdir}/group
219 # install event handlers
220 cp -a contrib/eventhandlers $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
222 # Object data/cache files
223 for i in {objects.cache,{comments,downtime,retention,status}.dat,nagios.tmp}; do
224 > $RPM_BUILD_ROOT%{_localstatedir}/$i
226 > $RPM_BUILD_ROOT%{_localstatedir}/rw/nagios.cmd
229 rm -rf $RPM_BUILD_ROOT
232 /sbin/chkconfig --add %{name}
233 if [ -f /var/lock/subsys/%{name} ]; then
234 /etc/rc.d/init.d/%{name} restart 1>&2
237 for i in %{_localstatedir}/{objects.cache,{comments,downtime,retention,status}.dat}; do
238 [ ! -f $i ] && touch $i
244 if [ "$1" = "0" ] ; then
245 if [ -f /var/lock/subsys/%{name} ]; then
246 /etc/rc.d/init.d/%{name} stop 1>&2
248 /sbin/chkconfig --del %{name}
252 if [ "`getgid netsaint`" = "72" ]; then
253 /usr/sbin/groupmod -n nagios netsaint
255 %groupadd -g 72 nagios
256 %groupadd -g 147 -f nagios-data
257 if [ -n "`id -u netsaint 2>/dev/null`" ] && [ "`id -u netsaint`" = "72" ]; then
258 /usr/sbin/usermod -d %{_libdir}/nagios -l nagios -c "Nagios User" -G nagios-data netsaint
260 %useradd -u 72 -d %{_libdir}/nagios -s /bin/false -c "Nagios User" -g nagios -G nagios-data nagios
263 if [ "$1" = "0" ]; then
266 %groupremove nagios-data
270 %addusertogroup http nagios-data
273 if [ -d %{_apache1dir}/conf.d ]; then
274 ln -sf %{_sysconfdir}/apache-%{name}.conf %{_apache1dir}/conf.d/99_%{name}.conf
275 if [ -f /var/lock/subsys/apache ]; then
276 /etc/rc.d/init.d/apache restart 1>&2
280 if [ -d %{_apache2dir}/httpd.conf ]; then
281 ln -sf %{_sysconfdir}/apache-%{name}.conf %{_apache2dir}/httpd.conf/99_%{name}.conf
282 if [ -f /var/lock/subsys/httpd ]; then
283 /etc/rc.d/init.d/httpd restart 1>&2
287 if [ "$1" = 1 ]; then
288 %banner %{name} -e <<EOF
290 You need to add user to %{_sysconfdir}/passwd and %{_sysconfdir}/group to acccess nagios via web.
296 if [ "$1" = "0" ]; then
298 if [ -d %{_apache1dir}/conf.d ]; then
299 rm -f %{_apache1dir}/conf.d/99_%{name}.conf
300 if [ -f /var/lock/subsys/apache ]; then
301 /etc/rc.d/init.d/apache restart 1>&2
305 if [ -d %{_apache2dir}/httpd.conf ]; then
306 rm -f %{_apache2dir}/httpd.conf/99_%{name}.conf
307 if [ -f /var/lock/subsys/httpd ]; then
308 /etc/rc.d/init.d/httpd restart 1>&2
313 %triggerpostun -- nagios-cgi < 2.0-0.b3.21
314 chown root:http %{_sysconfdir}/cgi.cfg
316 %triggerpostun -- nagios < 2.0-0.b3.21
317 chown root:nagios %{_sysconfdir}/*.cfg
318 chown root:nagios-data %{_sysconfdir}/nagios.cfg
319 %addusertogroup nagios nagios-data
321 # must unify nagios.cfg
323 s,^status_file=.*,status_file=%{_localstatedir}/status.dat,
324 s,^comment_file=.*,comment_file=%{_localstatedir}/comments.dat,
325 s,^downtime_file=.*,downtime_file=%{_localstatedir}/downtime.dat,
326 s,^lock_file=.*,lock_file=%{_localstatedir}/nagios.pid,
327 s,^temp_file=.*,temp_file=%{_localstatedir}/nagios.tmp,
328 s,^state_retention_file=.*,state_retention_file=%{_localstatedir}/retention.dat,
331 s,^log_passive_service_checks=,log_passive_checks=,
332 s,^inter_check_delay_method=,service_inter_check_delay_method=,
333 s,^use_agressive_host_checking=,use_aggressive_host_checking=,
334 s,^freshness_check_interval=,service_freshness_check_interval=,
336 ' %{_sysconfdir}/nagios.cfg
339 s,\$DATETIME\$,$LONGDATETIME$,g
340 s,Nagios/1.2,Nagios/%{version},g
341 ' %{_sysconfdir}/misccommands.cfg
343 mv -f /var/log/nagios/status.log %{_localstatedir}/status.dat 2>/dev/null
344 mv -f /var/log/nagios/comment.log %{_localstatedir}/comments.dat 2>/dev/null
345 mv -f /var/log/nagios/downtime.log %{_localstatedir}/downtime.dat 2>/dev/null
346 mv -f /var/run/nagios.pid %{_localstatedir}/nagios.pid 2>/dev/null
347 mv -f /var/log/nagios/nagios.tmp %{_localstatedir}/nagios.tmp 2>/dev/null
348 mv -f /var/log/nagios/status.sav %{_localstatedir}/retention.dat 2>/dev/null
349 chown nagios:nagios %{_localstatedir}/nagios.pid 2>/dev/null
350 chown nagios:nagios-data %{_localstatedir}/rw/nagios.cmd 2>/dev/null
352 if [ -f /var/lock/subsys/%{name} ]; then
353 /etc/rc.d/init.d/%{name} restart 1>&2 || :
356 # apache2 config was also moved.
357 if [ -f /etc/httpd/nagios.conf.rpmsave ]; then
358 cp -f %{_sysconfdir}/apache-%{name}.conf{,.rpmnew}
359 mv -f /etc/httpd/nagios.conf.rpmsave %{_sysconfdir}/apache-%{name}.conf
361 if [ -f /var/lock/subsys/httpd ]; then
362 /etc/rc.d/init.d/httpd restart 1>&2 || :
366 echo "Please read http://nagios.sourceforge.net/docs/2_0/whatsnew.html
367 there are changes that no longer work in Nagios 2.0"
370 %defattr(644,root,root,755)
371 %doc Changelog README* UPGRADING INSTALLING LICENSE
372 %doc sample-config/template-object/{bigger,minimal}.cfg
373 %attr(640,root,nagios-data) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nagios.cfg
374 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/[!n]*.cfg
375 %exclude %{_sysconfdir}/cgi.cfg
377 %attr(754,root,root) /etc/rc.d/init.d/%{name}
378 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
380 %attr(755,root,root) %{_bindir}/%{name}
381 %attr(755,root,root) %{_bindir}/nagiostats
383 %attr(770,root,nagios-data) %{_var}/log/%{name}
384 %attr(770,root,nagios-data) %dir %{_var}/log/%{name}/archives
386 %attr(770,root,nagios-data) %dir %{_localstatedir}
387 %attr(2770,root,nagios-data) %dir %{_localstatedir}/rw
388 # NOTE: the permissions are set in post script
389 %ghost %{_localstatedir}/rw/nagios.cmd
390 %ghost %{_localstatedir}/objects.cache
391 %ghost %{_localstatedir}/*.dat
392 %ghost %{_localstatedir}/%{name}.tmp
394 %{_examplesdir}/%{name}-%{version}
397 %defattr(644,root,root,755)
398 %attr(750,root,nagios-data) %dir %{_sysconfdir}
399 %attr(750,root,nagios) %dir %{_sysconfdir}/plugins
400 %attr(750,root,nagios) %dir %{_sysconfdir}/local
401 %dir %{_libdir}/%{name}
402 %dir %{_libdir}/%{name}/plugins
403 %dir %{_libdir}/%{name}/eventhandlers
406 %defattr(644,root,root,755)
407 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache-%{name}.conf
408 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cgi.cfg
409 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/passwd
410 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/group
412 %attr(755,root,root) %{_sbindir}/*.cgi
415 %dir %{_datadir}/images
416 %dir %{_datadir}/stylesheets
417 %{_datadir}/favicon.ico
418 %{_datadir}/robots.txt
419 %{_datadir}/contexthelp
425 %defattr(644,root,root,755)
428 %{_datadir}/stylesheets/*
431 %defattr(644,root,root,755)
432 %dir %{_includedir}/%{name}
433 %{_includedir}/%{name}/*.h