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: f3c60428cba14264c709749182b8d93e
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-20090803.tar.bz2
23 # Source5-md5: e4c42ebadecef32cfe14cc3085f5bae4
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}
45 Requires: nagios-notify
50 Conflicts: iputils-ping < 1:ss020124
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 %define _sysconfdir /etc/%{name}
54 %define _bindir %{_prefix}/sbin
55 %define _sbindir %{_libdir}/%{name}/cgi
56 %define _datadir %{_prefix}/share/%{name}
57 %define _localstatedir /var/lib/%{name}
58 %define _webapps /etc/webapps
59 %define _webapp %{name}
62 Nagios is a program that will monitor hosts and services on your
63 network. It has the ability to email or page you when a problem arises
64 and when a problem is resolved. Nagios is written in C and is designed
65 to run under Linux (and some other *NIX variants) as a background
66 process, intermittently running checks on various services that you
69 The actual service checks are performed by separate "plugin" programs
70 which return the status of the checks to Nagios. The plugins are
71 available in nagios-plugins packages.
73 Nagios is successor to NetSaint.
75 %description -l pl.UTF-8
76 Nagios to program, który monitoruje serwery oraz usługi w naszej
77 sieci. Posiada on możliwość wysyłania informacji o wystąpieniu oraz
78 rozwiązaniu problemu. Nagios został napisany w C oraz jest
79 zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami)
80 jako proces pracujący w tle i bezustannie wykonujący pewne operacje
83 Właściwe sprawdzanie jest wykonywane przez osobne programy
84 ("wtyczki"), które zwracają informacje o statusie do Nagiosa. Wtyczki
85 są dostępne na stronie w pakietach nagios-plugins.
87 Nagios jest następcą NetSainta.
89 %description -l pt_BR.UTF-8
90 O Nagios é um programa que monitora máquinas e serviços na sua rede.
91 Ele pode enviar um email ou um aviso de pager para o administrador
92 quando surgir um problema e quando ele for resolvido. Nagios é escrito
93 em C e foi desenvolvido para rodar em plataformas Linux (e algumas
94 variações de *NIX) como um processo em segundo plano, periodicamente
95 executando checagens nos diversos serviços que forem especificados.
98 Summary: Common files needed by both nagios and nrpe
99 Summary(pl.UTF-8): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe
101 Requires(postun): /usr/sbin/groupdel
102 Requires(postun): /usr/sbin/userdel
103 Requires(pre): /bin/id
104 Requires(pre): /usr/bin/getgid
105 Requires(pre): /usr/sbin/groupadd
106 Requires(pre): /usr/sbin/groupmod
107 Requires(pre): /usr/sbin/useradd
108 Requires(pre): /usr/sbin/usermod
109 Provides: group(nagios)
110 Provides: group(nagios-data)
111 Provides: user(nagios)
114 Common files needed by both nagios and nrpe.
116 %description common -l pl.UTF-8
117 Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe.
120 Summary: CGI webinterface for Nagios
121 Summary(pl.UTF-8): Interfejs WWW/CGI dla Nagiosa
122 Group: Applications/WWW
123 # for dirs... and accessing local logs.
124 Requires: %{name} = %{version}-%{release}
125 Requires: %{name}-imagepaks
126 Requires: %{name}-theme
127 Requires: group(http)
130 Requires: webserver(access)
131 Requires: webserver(alias)
132 Requires: webserver(auth)
133 Requires: webserver(cgi)
134 Requires: webserver(indexfile)
137 CGI webinterface for Nagios.
139 %description cgi -l pl.UTF-8
140 Interfejs CGI dla Nagiosa.
142 %package theme-default
143 Summary: Default Nagios theme
144 Summary(pl.UTF-8): Domyślny motyw Nagiosa
145 Group: Applications/WWW
146 Requires: nagios-cgi = %{version}-%{release}
147 Requires: webserver(php)
148 Provides: nagios-theme
149 Obsoletes: nagios-theme
151 %description theme-default
152 Original theme from Nagios.
154 %description theme-default -l pl.UTF-8
155 Oryginalny motyw z Nagiosa.
158 Summary: Include files that Nagios-related applications may compile against
159 Summary(pl.UTF-8): Pliki nagłówkowe, wykorzystywane przez aplikacje nagiosa
160 Summary(pt_BR.UTF-8): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios
161 Group: Development/Libraries
162 # doesn't require base
165 This package provides include files that Nagios-related applications
168 %description devel -l pl.UTF-8
169 Ten pakiet dostarcza pliki nagłówkowe, które mogą być wykorzystywane
170 przez aplikacje związane z nagiosem podczas kompilacji.
172 %description devel -l pt_BR.UTF-8
173 Este pacote contém arquivos de cabeçalho usados no desenvolvimento de
174 aplicativos para o Nagios.
185 find -name .cvsignore | xargs rm
187 mv nagios-config-*/objects/*.cfg sample-config/template-object
188 mv nagios-config-*/*.cfg sample-config
191 s,".*/var/rw/nagios.cmd,"%{_localstatedir}/rw/nagios.cmd,
192 s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers,
193 ' $(find contrib/eventhandlers -type f)
195 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE1} > apache.conf
196 sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE6} > lighttpd.conf
200 # kill trailing spaces
203 s,/usr/local/nagios/share,@datadir@,g
204 # we want all authorized users have default access
206 ' sample-config/*.cfg.in
209 cp -f /usr/share/automake/config.sub .
213 --datarootdir=%{_datadir} \
214 --with-nagios-user=%{name} \
215 --with-nagios-grp=%{name} \
216 --with-command-user=%{name} \
217 --with-command-grp=%{name} \
218 --with-lockfile=%{_localstatedir}/%{name}.pid \
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 if [ "`getgid netsaint 2>/dev/null`" = "72" ]; then
297 /usr/sbin/groupmod -n nagios netsaint
299 %groupadd -g 72 nagios
300 %groupadd -g 147 -f nagios-data
301 if [ -n "`id -u netsaint 2>/dev/null`" ] && [ "`id -u netsaint`" = "72" ]; then
302 /usr/sbin/usermod -d %{_libdir}/nagios -l nagios -c "Nagios Daemon" -G nagios-data netsaint
304 %useradd -u 72 -d %{_libdir}/nagios -s /bin/false -c "Nagios Daemon" -g nagios -G nagios-data nagios
307 if [ "$1" = "0" ]; then
310 %groupremove nagios-data
314 if [ "$1" = 1 ]; then
315 %banner %{name} -e <<EOF
317 You need to add user to %{_webapps}/%{_webapp}/passwd and
318 %{_webapps}/%{_webapp}/group to access Nagios via web.
323 %triggerin cgi -- apache1 < 1.3.37-3, apache1-base
324 %addusertogroup http nagios-data
325 %webapp_register apache %{_webapp}
327 %triggerun cgi -- apache1 < 1.3.37-3, apache1-base
328 %webapp_unregister apache %{_webapp}
330 %triggerin cgi -- apache < 2.2.0, apache-base
331 %addusertogroup http nagios-data
332 %webapp_register httpd %{_webapp}
334 %triggerun cgi -- apache < 2.2.0, apache-base
335 %webapp_unregister httpd %{_webapp}
337 %triggerin cgi -- lighttpd
338 %addusertogroup lighttpd nagios-data
339 %webapp_register lighttpd %{_webapp}
341 %triggerun cgi -- lighttpd
342 %webapp_unregister lighttpd %{_webapp}
344 %triggerpostun -- nagios-cgi < 2.0-0.b3.21
345 chown root:http %{_sysconfdir}/cgi.cfg
347 %triggerpostun -- nagios < 3.1.2-3
349 for a in dependencies.cfg services.cfg serviceextinfo.cfg hosts.cfg hostgroups.cfg hostextinfo.cfg escalations.cfg checkcommands.cfg misccommands.cfg; do
350 if [ -f %{_sysconfdir}/$a.rpmsave -a ! -f %{_sysconfdir}/$a ]; then
351 mv -f %{_sysconfdir}/$a{.rpmsave,}
356 %defattr(644,root,root,755)
357 %doc Changelog README* UPGRADING INSTALLING LICENSE
358 %attr(640,root,nagios-data) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nagios.cfg
359 %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/[!n]*.cfg
361 %attr(754,root,root) /etc/rc.d/init.d/%{name}
362 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
364 %attr(755,root,root) %{_bindir}/%{name}
365 %attr(755,root,root) %{_bindir}/nagiostats
367 %attr(770,root,nagios-data) %dir %{_var}/log/%{name}
368 %attr(770,root,nagios-data) %dir %{_var}/log/%{name}/archives
370 %attr(770,root,nagios-data) %dir %{_localstatedir}
371 %attr(2770,root,nagios-data) %dir %{_localstatedir}/rw
372 %attr(660,nagios,nagios-data) %ghost %{_localstatedir}/rw/nagios.cmd
373 %attr(2770,root,nagios-data) %dir %{_localstatedir}/spool
374 %attr(2770,root,nagios-data) %dir %{_localstatedir}/spool/checkresults
375 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache
376 %attr(664,root,nagios) %ghost %{_localstatedir}/objects.precache
377 %attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
378 %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp
380 %{_examplesdir}/%{name}-%{version}
383 %defattr(644,root,root,755)
384 %attr(750,root,nagios-data) %dir %{_sysconfdir}
385 %attr(2750,root,nagios) %dir %{_sysconfdir}/plugins
386 %attr(2750,root,nagios) %dir %{_sysconfdir}/objects
387 %dir %{_libdir}/%{name}
388 %dir %{_libdir}/%{name}/plugins
389 %dir %{_libdir}/%{name}/eventhandlers
391 %if "%{_lib}" != "lib"
392 %dir %{_prefix}/lib/%{name}
393 %dir %{_prefix}/lib/%{name}/plugins
394 %dir %{_prefix}/lib/%{name}/eventhandlers
398 %defattr(644,root,root,755)
399 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
400 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
401 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
402 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf
403 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg
404 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd
405 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group
407 %attr(755,root,root) %{_sbindir}/*.cgi
410 %dir %{_datadir}/includes
411 %dir %{_datadir}/images
412 %dir %{_datadir}/stylesheets
413 %{_datadir}/favicon.ico
414 %{_datadir}/robots.txt
415 %{_datadir}/contexthelp
421 %defattr(644,root,root,755)
423 %{_datadir}/includes/*
425 %{_datadir}/stylesheets/*
428 %defattr(644,root,root,755)
429 %dir %{_includedir}/%{name}
430 %{_includedir}/%{name}/*.h