3 %bcond_without gd # without statusmap and trends, which require gd library
4 # reeenable when http://tracker.nagios.org/view.php?id=51 is fixed
7 Summary: Host/service/network monitoring program
8 Summary(pl.UTF-8): Program do monitorowania serwerów/usług/sieci
9 Summary(pt_BR.UTF-8): Programa para monitoração de máquinas e serviços
15 Source0: http://dl.sourceforge.net/nagios/%{name}-%{version}.tar.gz
16 # Source0-md5: 3566167cc60ddeaad34e7d2e26ed4a58
17 Source1: %{name}-apache.conf
19 Source3: %{name}.sysconfig
20 Source4: http://www.nagios.org/images/favicon.ico
21 # Source4-md5: 1c4201c7da53d6c7e48251d3a9680449
22 Source5: %{name}-config-20090908.tar.bz2
23 # Source5-md5: 0ddb5a424c5618278ac6103f914b1f26
24 Source6: %{name}-lighttpd.conf
25 Patch0: %{name}-resources.patch
26 Patch1: %{name}-iconv-in-libc.patch
27 Patch2: %{name}-webapps.patch
28 Patch3: %{name}-cgi-http_charset.patch
29 Patch4: %{name}-cmd-typo.patch
31 URL: http://www.nagios.org/
32 BuildRequires: autoconf
33 BuildRequires: automake
35 BuildRequires: gd-devel
36 BuildRequires: libjpeg-devel
37 BuildRequires: libpng-devel
39 BuildRequires: rpmbuild(macros) >= 1.268
40 BuildRequires: sed >= 4.0
41 BuildRequires: tar >= 1:1.15.1
42 Requires(post,preun): /sbin/chkconfig
43 Requires: %{name}-common = %{version}-%{release}
46 Suggests: nagios-notify >= 0.13
49 Conflicts: iputils-ping < 1:ss020124
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 %define _sysconfdir /etc/%{name}
53 %define _bindir %{_prefix}/sbin
54 %define _sbindir %{_libdir}/%{name}/cgi
55 %define _datadir %{_prefix}/share/%{name}
56 %define _localstatedir /var/lib/%{name}
57 %define _webapps /etc/webapps
58 %define _webapp %{name}
61 Nagios is a program that will monitor hosts and services on your
62 network. It has the ability to email or page you when a problem arises
63 and when a problem is resolved. Nagios is written in C and is designed
64 to run under Linux (and some other *NIX variants) as a background
65 process, intermittently running checks on various services that you
68 The actual service checks are performed by separate "plugin" programs
69 which return the status of the checks to Nagios. The plugins are
70 available in nagios-plugins packages.
72 Nagios is successor to NetSaint.
74 %description -l pl.UTF-8
75 Nagios to program, który monitoruje serwery oraz usługi w naszej
76 sieci. Posiada on możliwość wysyłania informacji o wystąpieniu oraz
77 rozwiązaniu problemu. Nagios został napisany w C oraz jest
78 zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami)
79 jako proces pracujący w tle i bezustannie wykonujący pewne operacje
82 Właściwe sprawdzanie jest wykonywane przez osobne programy
83 ("wtyczki"), które zwracają informacje o statusie do Nagiosa. Wtyczki
84 są dostępne na stronie w pakietach nagios-plugins.
86 Nagios jest następcą NetSainta.
88 %description -l pt_BR.UTF-8
89 O Nagios é um programa que monitora máquinas e serviços na sua rede.
90 Ele pode enviar um email ou um aviso de pager para o administrador
91 quando surgir um problema e quando ele for resolvido. Nagios é escrito
92 em C e foi desenvolvido para rodar em plataformas Linux (e algumas
93 variações de *NIX) como um processo em segundo plano, periodicamente
94 executando checagens nos diversos serviços que forem especificados.
97 Summary: Common files needed by both nagios and nrpe
98 Summary(pl.UTF-8): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe
100 Requires(postun): /usr/sbin/groupdel
101 Requires(postun): /usr/sbin/userdel
102 Requires(pre): /bin/id
103 Requires(pre): /usr/bin/getgid
104 Requires(pre): /usr/sbin/groupadd
105 Requires(pre): /usr/sbin/groupmod
106 Requires(pre): /usr/sbin/useradd
107 Requires(pre): /usr/sbin/usermod
108 Provides: group(nagcmd)
109 Provides: group(nagios)
110 Provides: user(nagios)
113 Common files needed by both nagios and nrpe.
115 %description common -l pl.UTF-8
116 Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe.
119 Summary: CGI webinterface for Nagios
120 Summary(pl.UTF-8): Interfejs WWW/CGI dla Nagiosa
121 Group: Applications/WWW
122 # for dirs... and accessing local logs.
123 Requires: %{name} = %{version}-%{release}
124 Requires: %{name}-imagepaks
125 Requires: %{name}-theme
126 Requires: group(http)
129 Requires: webserver(access)
130 Requires: webserver(alias)
131 Requires: webserver(auth)
132 Requires: webserver(cgi)
133 Requires: webserver(indexfile)
136 CGI webinterface for Nagios.
138 %description cgi -l pl.UTF-8
139 Interfejs CGI dla Nagiosa.
141 %package theme-default
142 Summary: Default Nagios theme
143 Summary(pl.UTF-8): Domyślny motyw Nagiosa
144 Group: Applications/WWW
145 Requires: nagios-cgi = %{version}-%{release}
146 Requires: webserver(php)
147 Provides: nagios-theme
148 Obsoletes: nagios-theme
150 %description theme-default
151 Original theme from Nagios.
153 %description theme-default -l pl.UTF-8
154 Oryginalny motyw z Nagiosa.
157 Summary: Include files that Nagios-related applications may compile against
158 Summary(pl.UTF-8): Pliki nagłówkowe, wykorzystywane przez aplikacje nagiosa
159 Summary(pt_BR.UTF-8): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios
160 Group: Development/Libraries
161 # doesn't require base
164 This package provides include files that Nagios-related applications
167 %description devel -l pl.UTF-8
168 Ten pakiet dostarcza pliki nagłówkowe, które mogą być wykorzystywane
169 przez aplikacje związane z nagiosem podczas kompilacji.
171 %description devel -l pt_BR.UTF-8
172 Este pacote contém arquivos de cabeçalho usados no desenvolvimento de
173 aplicativos para o Nagios.
184 find -name .cvsignore | xargs rm
186 mv nagios-config-*/objects/*.cfg sample-config/template-object
187 mv nagios-config-*/*.cfg sample-config
190 s,".*/var/rw/nagios.cmd,"%{_localstatedir}/rw/nagios.cmd,
191 s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
192 ' $(find contrib/eventhandlers -type f)
194 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE1} > apache.conf
195 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE6} > lighttpd.conf
199 # kill trailing spaces
202 s,/usr/local/nagios/share,@datadir@,g
203 # we want all authorized users have default access
205 ' sample-config/*.cfg.in
208 cp -f /usr/share/automake/config.sub .
212 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
213 --with-nagios-user=%{name} \
214 --with-nagios-grp=%{name} \
215 --with-command-user=%{name} \
216 --with-command-grp=%{name} \
217 --with-lockfile=%{_localstatedir}/%{name}.pid \
218 --with-checkresult-dir=%{_var}/spool/%{name}/checkresults \
219 --with-ping_command='/bin/ping -n %%s -c %%d' \
220 %{!?with_gd:--disable-statusmap --disable-trends} \
221 %{?with_tests:--enable-libtap} \
222 --enable-event-broker
226 %{?with_tests:%{__make} test}
229 rm -rf $RPM_BUILD_ROOT
230 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_webapps}/%{_webapp}} \
231 $RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir}/rw} \
232 $RPM_BUILD_ROOT%{_sysconfdir}/{plugins,objects} \
233 $RPM_BUILD_ROOT%{_libdir}/%{name}/{eventhandlers,plugins} \
234 %if "%{_lib}" != "lib"
235 $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{eventhandlers,plugins} \
238 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}
239 install include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
241 %{__make} install-unstripped \
242 DESTDIR=$RPM_BUILD_ROOT \
247 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
248 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
249 install %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}
251 # install templated configuration files
252 for a in nagios.cfg resource.cfg commands.cfg contactgroups.cfg contacts.cfg templates.cfg timeperiods.cfg; do
253 cp -a sample-config/$a $RPM_BUILD_ROOT%{_sysconfdir}
257 install apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
258 install apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
259 install lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
260 cp -a sample-config/cgi.cfg $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
261 > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/passwd
262 echo 'nagios:' > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/group
264 # install event handlers, sample config
265 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
266 cp -a contrib/eventhandlers $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
267 cp -a sample-config $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
268 find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name '*.in' | xargs rm
270 # Object data/cache files
271 for i in {objects.{cache,precache},{comments,downtime,retention,status}.dat,nagios.tmp}; do
272 > $RPM_BUILD_ROOT%{_localstatedir}/$i
274 > $RPM_BUILD_ROOT%{_localstatedir}/rw/nagios.cmd
277 rm -rf $RPM_BUILD_ROOT
280 for i in %{_localstatedir}/{objects.{cache,precache},{comments,downtime,retention,status}.dat}; do
281 [ ! -f $i ] && touch $i
286 /sbin/chkconfig --add %{name}
287 %service %{name} restart "Nagios service"
290 if [ "$1" = "0" ] ; then
291 %service %{name} stop
292 /sbin/chkconfig --del %{name}
296 # rename group netsaint -> nagios
297 if [ "`getgid netsaint 2>/dev/null`" = "72" ]; then
298 /usr/sbin/groupmod -n nagios netsaint
300 # rename group nagios-data -> nagcmd
301 if [ "`getgid nagios-data 2>/dev/null`" = "147" ]; then
302 /usr/sbin/groupmod -n nagcmd nagios-data
304 %groupadd -g 72 nagios
305 %groupadd -g 147 -f nagcmd
306 if [ -n "`id -u netsaint 2>/dev/null`" ] && [ "`id -u netsaint`" = "72" ]; then
307 /usr/sbin/usermod -d %{_libdir}/nagios -l nagios -c "Nagios Daemon" -G nagcmd netsaint
309 %useradd -u 72 -d %{_libdir}/nagios -s /bin/false -c "Nagios Daemon" -g nagios -G nagcmd nagios
312 if [ "$1" = "0" ]; then
319 if [ "$1" = 1 ]; then
320 %banner %{name} -e <<EOF
322 You need to add user to %{_webapps}/%{_webapp}/passwd and
323 %{_webapps}/%{_webapp}/group to access Nagios via web.
328 %triggerin cgi -- apache1 < 1.3.37-3, apache1-base
329 %addusertogroup http nagcmd
330 %webapp_register apache %{_webapp}
332 %triggerun cgi -- apache1 < 1.3.37-3, apache1-base
333 %webapp_unregister apache %{_webapp}
335 %triggerin cgi -- apache < 2.2.0, apache-base
336 %addusertogroup http nagcmd
337 %webapp_register httpd %{_webapp}
339 %triggerun cgi -- apache < 2.2.0, apache-base
340 %webapp_unregister httpd %{_webapp}
342 %triggerin cgi -- lighttpd
343 %addusertogroup lighttpd nagcmd
344 %webapp_register lighttpd %{_webapp}
346 %triggerun cgi -- lighttpd
347 %webapp_unregister lighttpd %{_webapp}
349 %triggerpostun -- nagios-cgi < 2.0-0.b3.21
350 chown root:http %{_sysconfdir}/cgi.cfg
352 %triggerpostun -- nagios < 3.1.2-4
354 for a in dependencies.cfg services.cfg serviceextinfo.cfg hosts.cfg hostgroups.cfg hostextinfo.cfg escalations.cfg checkcommands.cfg misccommands.cfg; do
355 if [ -f %{_sysconfdir}/$a.rpmsave -a ! -f %{_sysconfdir}/$a ]; then
356 mv -f %{_sysconfdir}/$a{.rpmsave,}
359 %{__sed} -i -e 's,^check_result_path=.*,check_result_path=%{_var}/spool/%{name}/checkresults,' %{_sysconfdir}/nagios.cfg
362 %defattr(644,root,root,755)
363 %doc Changelog README* UPGRADING INSTALLING LICENSE
364 %attr(640,root,nagcmd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nagios.cfg
365 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/[!n]*.cfg
367 %attr(754,root,root) /etc/rc.d/init.d/%{name}
368 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
370 %attr(755,root,root) %{_bindir}/%{name}
371 %attr(755,root,root) %{_bindir}/nagiostats
373 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}
374 %attr(770,root,nagcmd) %dir %{_var}/log/%{name}/archives
376 %attr(770,root,nagcmd) %dir %{_localstatedir}
377 %attr(2770,root,nagcmd) %dir %{_localstatedir}/rw
378 %attr(660,nagios,nagcmd) %ghost %{_localstatedir}/rw/nagios.cmd
379 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache
380 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.precache
381 %attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
382 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp
385 %attr(770,root,nagios) %dir %{_var}/spool/%{name}
386 %attr(770,root,nagios) %dir %{_var}/spool/%{name}/checkresults
388 %{_examplesdir}/%{name}-%{version}
391 %defattr(644,root,root,755)
392 %attr(750,root,nagcmd) %dir %{_sysconfdir}
393 %attr(2750,root,nagios) %dir %{_sysconfdir}/plugins
394 %attr(2750,root,nagios) %dir %{_sysconfdir}/objects
395 %dir %{_libdir}/%{name}
396 %dir %{_libdir}/%{name}/plugins
397 %dir %{_libdir}/%{name}/eventhandlers
399 %if "%{_lib}" != "lib"
400 %dir %{_prefix}/lib/%{name}
401 %dir %{_prefix}/lib/%{name}/plugins
402 %dir %{_prefix}/lib/%{name}/eventhandlers
406 %defattr(644,root,root,755)
407 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
408 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
409 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
410 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf
411 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg
412 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd
413 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group
415 %attr(755,root,root) %{_sbindir}/*.cgi
418 %dir %{_datadir}/includes
419 %dir %{_datadir}/images
420 %dir %{_datadir}/stylesheets
421 %{_datadir}/favicon.ico
422 %{_datadir}/robots.txt
423 %{_datadir}/contexthelp
429 %defattr(644,root,root,755)
431 %{_datadir}/includes/*
433 %{_datadir}/stylesheets/*
436 %defattr(644,root,root,755)
437 %dir %{_includedir}/%{name}
438 %{_includedir}/%{name}/*.h