/[packages]/updates/1/nagios/current/SPECS/nagios.spec
ViewVC logotype

Contents of /updates/1/nagios/current/SPECS/nagios.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 161012 - (show annotations) (download)
Tue Nov 1 15:19:48 2011 UTC (12 years, 5 months ago) by guillomovitch
File size: 17570 byte(s)
fix for CVE-2011-1523 and CVE-2011-2179
1 %define nsusr nagios
2 %define nsgrp nagios
3 %define cmdusr apache
4 %define cmdgrp apache
5
6 Summary: Host/service/network monitoring program
7 Name: nagios
8 Version: 3.2.3
9 Release: %mkrel 2.1
10 License: GPLv2
11 Group: Networking/Other
12 URL: http://www.nagios.org/
13 Source0: http://prdownloads.sourceforge.net/nagios/%{name}-%{version}.tar.gz
14 Source1: %{name}.init
15 Source4: http://nagios.sourceforge.net/download/contrib/misc/mergecfg/mergecfg
16 Source5: favicon.ico
17 Patch1: nagios-scandir.diff
18 Patch5: nagios-mdv_conf.diff
19 Patch6: nagios-DESTDIR.diff
20 Patch8: nagios-3.1.0-no_update_check_per_default_please.diff
21 Patch10: nagios-3.2.3-CERTA-2011-AVI-414.patch
22 Requires(post): rpm-helper nagios-conf
23 Requires(preun): rpm-helper nagios-conf
24 Requires(pre): rpm-helper apache-conf
25 Requires(postun): rpm-helper apache-conf
26 Requires: apache-conf
27 Requires: nagios-conf
28 Requires: nagios-plugins
29 BuildRequires: gd-devel
30 BuildRequires: imagemagick
31 BuildRequires: jpeg-devel
32 BuildRequires: libtool-devel
33 BuildRequires: multiarch-utils >= 1.0.3
34 BuildRequires: perl-devel
35 Obsoletes: netsaint
36 Provides: netsaint
37 Epoch: 1
38 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
39
40 %description
41 Nagios is a program that will monitor hosts and services on your
42 network. It has the ability to email or page you when a problem
43 arises and when a problem is resolved. Nagios is written in C and
44 is designed to run under Linux (and some other *NIX variants) as a
45 background process, intermittently running checks on various
46 services that you specify.
47
48 The actual service checks are performed by separate "plugin"
49 programs which return the status of the checks to Nagios.
50
51 This package provide core programs for nagios. The web interface,
52 documentation, and development files are built as separate
53 packages
54
55 %package www
56 Summary: Provides the HTML and CGI files for the Nagios web interface
57 Group: Networking/WWW
58 Requires: %{name} = %{epoch}:%{version}-%{release}
59 Requires: webserver
60 Requires: freetype
61 Requires: freetype2
62 Requires: nail
63 Requires: traceroute
64 Requires: %{name}-imagepaks
65 Requires: %{name}-theme
66 Epoch: %{epoch}
67
68 %description www
69 Nagios is a program that will monitor hosts and services on your network. It
70 has the ability to email or page you when a problem arises and when a problem
71 is resolved. Nagios is written in C and is designed to run under Linux (and
72 some other *NIX variants) as a background process, intermittently running
73 checks on various services that you specify.
74
75 Several CGI programs are included with Nagios in order to allow you to view the
76 current service status, problem history, notification history, and log file via
77 the web. This package provides the HTML and CGI files for the Nagios web
78 interface. In addition, HTML documentation is included in this package
79
80 %package theme-default
81 Summary: Default Nagios theme
82 Group: Networking/WWW
83 Requires(pre): rpm-helper apache-mod_php
84 Requires(postun): rpm-helper apache-mod_php
85 Requires: apache-mod_php
86 Requires: nagios-www = %{epoch}:%{version}-%{release}
87 Provides: nagios-theme
88 Conflicts: nagios-theme-nuvola
89
90 %description theme-default
91 Original theme from Nagios.
92
93 %package devel
94 Group: Development/C
95 Summary: Provides include files that Nagios-related applications may compile against
96 Epoch: %{epoch}
97
98 %description devel
99 Nagios is a program that will monitor hosts and services on your network. It
100 has the ability to email or page you when a problem arises and when a problem
101 is resolved. Nagios is written in C and is designed to run under Linux (and
102 some other *NIX variants) as a background process, intermittently running
103 checks on various services that you specify.
104
105 This package provides include files that Nagios-related applications may
106 compile against.
107
108 %prep
109 %setup -q
110 %patch1 -p0
111 %patch5 -p0
112 %patch6 -p0
113 %patch8 -p1
114 %patch10 -p1
115
116 cp %{SOURCE1} nagios.init
117 cp %{SOURCE4} mergecfg
118 cp %{SOURCE5} favicon.ico
119
120 %build
121 %serverbuild
122
123 export CFLAGS="$CFLAGS -fPIC"
124 export CXXFLAGS="$CXXFLAGS -fPIC"
125 export FFLAGS="$FFLAGS -fPIC"
126 %define _disable_ld_no_undefined 1
127 %configure2_5x \
128 --with-httpd-conf=%{_sysconfdir}/httpd/conf/webapps.d \
129 --with-checkresult-dir=/var/spool/nagios/checkresults \
130 --with-temp-dir=/tmp \
131 --with-init-dir=%{_initrddir} \
132 --exec-prefix=%{_sbindir} \
133 --bindir=%{_sbindir} \
134 --sbindir=%{_libdir}/nagios/cgi \
135 --libexecdir=%{_libdir}/nagios/plugins \
136 --datadir=%{_datadir}/nagios \
137 --sysconfdir=%{_sysconfdir}/nagios \
138 --localstatedir=/var/log/nagios \
139 --with-lockfile=/var/run/nagios/nagios.pid \
140 --with-mail=/bin/mail \
141 --with-nagios-user=%{nsusr} \
142 --with-nagios-group=%{nsgrp} \
143 --with-command-user=%{cmdusr} \
144 --with-command-grp=%{cmdgrp} \
145 --with-cgiurl=/nagios/cgi-bin \
146 --with-htmurl=/nagios \
147 --with-default-comments \
148 --with-default-downtime \
149 --with-default-extinfo \
150 --with-default-retention \
151 --with-default-status \
152 --with-default-objects \
153 --with-default-perfdata \
154 --with-file-perfdata \
155 --with-template-extinfo \
156 --with-template-objects \
157 --with-gd-lib=%{_libdir} \
158 --with-gd-inc=%{_includedir} \
159 --enable-embedded-perl \
160 --with-perlcache
161
162 # bug
163 perl -pi -e "s|/var/log/nagios/spool/checkresults|/var/spool/nagios/checkresults|g" include/locations.h
164
165 %make all
166
167 pushd contrib
168 make daemonchk.cgi
169 make traceroute.cgi
170 make mini_epn
171 make convertcfg
172 popd
173
174 %install
175 rm -rf %{buildroot}
176
177 install -d -m0755 %{buildroot}%{_sysconfdir}/httpd/conf/webapps.d
178 install -d -m0755 %{buildroot}/var/spool/nagios/checkresults
179 install -d -m0755 %{buildroot}/var/run/nagios
180 install -d -m0755 %{buildroot}%{_includedir}/nagios
181 install -d -m0755 %{buildroot}%{_initrddir}
182
183 install -d -m0755 %{buildroot}%{_sysconfdir}/nagios/{servers,printers,switches,routers,conf.d,plugins.d}
184 install -d -m0755 %{buildroot}%{_libdir}/nagios/plugins/eventhandlers
185
186 make \
187 DESTDIR=%{buildroot} \
188 BINDIR=%{_sbindir} \
189 CFGDIR=%{_sysconfdir}/nagios \
190 CGIDIR=%{_libdir}/nagios/cgi \
191 COMMAND_OPTS="" \
192 HTMLDIR=%{_datadir}/nagios/www \
193 INIT_OPTS="" \
194 INSTALL=install \
195 INSTALL_OPTS="" \
196 LOGDIR=/var/log/nagios \
197 STRIP=/bin/true \
198 install \
199 install-html \
200 install-commandmode \
201 install-config \
202 fullinstall
203
204 # fix docs
205 cp sample-config/README README.sample-config
206 cp sample-config/template-object/README README.template-object
207
208 # install headers
209 install -m0644 include/locations.h %{buildroot}%{_includedir}/nagios/
210
211 pushd contrib
212 make \
213 DESTDIR=%{buildroot} \
214 BINDIR=%{_sbindir} \
215 CFGDIR=%{_sysconfdir}/nagios \
216 CGIDIR=%{_libdir}/nagios/cgi \
217 COMMAND_OPTS="" \
218 HTMLDIR=%{_datadir}/nagios/www \
219 INIT_OPTS="" \
220 INSTALL=install \
221 INSTALL_OPTS="" \
222 LOGDIR=/var/log/nagios \
223 install
224 popd
225
226 # fix strange perms
227 find %{buildroot}%{_datadir}/nagios -type d | xargs chmod 755
228 find %{buildroot}%{_datadir}/nagios/www -type f | xargs chmod 644
229 chmod 755 \
230 %{buildroot}%{_libdir}/nagios/cgi/* \
231 %{buildroot}%{_sbindir}/*
232
233 # fix default config
234 perl -pi \
235 -e "s|=/var/log/nagios/rw/|=/var/spool/nagios/|g" \
236 %{buildroot}%{_sysconfdir}/nagios/*.cfg
237 perl -pi \
238 -e "s|^physical_html_path=.*|physical_html_path=%{_datadir}/nagios/www|g" \
239 %{buildroot}%{_sysconfdir}/nagios/cgi.cfg
240
241
242 # install simplified init script
243 install -m0755 nagios.init %{buildroot}%{_initrddir}/nagios
244
245 # install the mergecfg script
246 install -m0755 mergecfg %{buildroot}%{_sbindir}/nagios-mergecfg
247
248 # apache configuration
249 install -d -m 755 %{buildroot}%{_webappconfdir}
250 cat > %{buildroot}%{_webappconfdir}/%{name}.conf <<EOF
251 # Nagios Apache configuration
252
253 ScriptAlias /%{name}/cgi-bin %{_libdir}/%{name}/cgi
254
255 <Directory %{_libdir}/%{name}/cgi>
256 Order allow,deny
257 Allow from all
258 Options ExecCGI
259 </Directory>
260
261 Alias /%{name} %{_datadir}/%{name}/www
262
263 <Directory %{_datadir}/%{name}/www>
264 Order allow,deny
265 Allow from all
266 </Directory>
267 EOF
268
269 # install and fix event handlers
270 install -m0755 contrib/eventhandlers/disable_active_service_checks %{buildroot}%{_libdir}/nagios/plugins/eventhandlers/
271 install -m0755 contrib/eventhandlers/disable_notifications %{buildroot}%{_libdir}/nagios/plugins/eventhandlers/
272 install -m0755 contrib/eventhandlers/enable_active_service_checks %{buildroot}%{_libdir}/nagios/plugins/eventhandlers/
273 install -m0755 contrib/eventhandlers/enable_notifications %{buildroot}%{_libdir}/nagios/plugins/eventhandlers/
274 install -m0755 contrib/eventhandlers/submit_check_result %{buildroot}%{_libdir}/nagios/plugins/eventhandlers/
275 install -m0755 contrib/eventhandlers/distributed-monitoring/obsessive_svc_handler %{buildroot}%{_libdir}/nagios/plugins/eventhandlers/
276 install -m0755 contrib/eventhandlers/distributed-monitoring/submit_check_result_via_nsca %{buildroot}%{_libdir}/nagios/plugins/eventhandlers/
277 install -m0755 contrib/eventhandlers/redundancy-scenario1/handle-master-host-event %{buildroot}%{_libdir}/nagios/plugins/eventhandlers/
278 install -m0755 contrib/eventhandlers/redundancy-scenario1/handle-master-proc-event %{buildroot}%{_libdir}/nagios/plugins/eventhandlers/
279
280 find %{buildroot}%{_libdir}/nagios/plugins/eventhandlers -type f | \
281 xargs perl -pi \
282 -e 's|/usr/local/nagios/var/rw/|/var/spool/nagios/|;' \
283 -e 's|/usr/local/nagios/libexec/eventhandlers|%{_libdir}/nagios/plugins/eventhandlers|g;' \
284 -e 's|/usr/local/nagios/libexec/send_nsca|%{_libdir}/nagios/plugins/send_nsca|g;' \
285 -e 's|/usr/local/nagios/test/var|/var/log/nagios|g;' \
286 -e 's|/usr/local/nagios/etc/send_nsca.cfg|%{_sysconfdir}/nagios/send_nsca.cfg|g;' \
287 -e 's|printfcmd="/bin/printf"|printfcmd="/usr/bin/printf"|;'
288
289 # Mandriva Icons
290 install -d %{buildroot}%{_iconsdir}
291 install -d %{buildroot}%{_miconsdir}
292 install -d %{buildroot}%{_liconsdir}
293
294 convert html/images/logofullsize.png -resize 16x16 %{buildroot}%{_miconsdir}/%{name}.png
295 convert html/images/logofullsize.png -resize 32x32 %{buildroot}%{_iconsdir}/%{name}.png
296 convert html/images/logofullsize.png -resize 48x48 %{buildroot}%{_liconsdir}/%{name}.png
297
298 # XDG menu
299 install -d %{buildroot}%{_datadir}/applications
300 cat > %{buildroot}%{_datadir}/applications/mageia-%{name}.desktop << EOF
301 [Desktop Entry]
302 Name=Nagios
303 Comment=%{summary}
304 Exec=%{_bindir}/www-browser http://localhost/%{name}/
305 Icon=%{name}
306 Terminal=false
307 Type=Application
308 Categories=X-MandrivaLinux-System-Monitoring;System;Monitor;
309 EOF
310
311 %multiarch_includes %{buildroot}%{_includedir}/nagios/locations.h
312
313 # install the favicon.ico
314 install -m0644 favicon.ico %{buildroot}%{_datadir}/nagios/www
315
316 cat > README.mdv << EOF
317 Mandriva Nagios package
318
319 The default configuration that used to come with this package now lives in the
320 nagios-conf package. You can easily adapt the nagios-conf package to suit your
321 specific taste. You may want to adjust the cgi.cfg, nagios.cfg and resource.cfg
322 configuration files found in the /etc/nagios directory.
323
324 The old nagios-plugins package used to come with all plugins in one single
325 package has been broken out into multiple sub packages. As of today Jan 14 2008
326 there are over 100 nagios plugins to your disposal. Here is a list of plugins
327 you can install that stems from the nagios-plugins source:
328
329 o nagios-check_adptraid
330 o nagios-check_apache
331 o nagios-check_apc_ups
332 o nagios-check_appletalk
333 o nagios-check_apt
334 o nagios-check_arping
335 o nagios-check_asterisk
336 o nagios-check_axis
337 o nagios-check_backup
338 o nagios-check_bgp
339 o nagios-check_bgpstate
340 o nagios-check_breeze
341 o nagios-check_by_ssh
342 o nagios-check_ciscotemp
343 o nagios-check_cluster
344 o nagios-check_cluster2
345 o nagios-check_compaq_insight
346 o nagios-check_dhcp
347 o nagios-check_dig
348 o nagios-check_digitemp
349 o nagios-check_disk
350 o nagios-check_disk_smb
351 o nagios-check_dlswcircuit
352 o nagios-check_dns
353 o nagios-check_dns_random
354 o nagios-check_dummy
355 o nagios-check_email_loop
356 o nagios-check_file_age
357 o nagios-check_flexlm
358 o nagios-check_fping
359 o nagios-check_frontpage
360 o nagios-check_game
361 o nagios-check_hpjd
362 o nagios-check_hprsc
363 o nagios-check_http
364 o nagios-check_hw
365 o nagios-check_ica_master_browser
366 o nagios-check_ica_metaframe_pub_apps
367 o nagios-check_ica_program_neigbourhood
368 o nagios-check_icmp
369 o nagios-check_ide_smart
370 o nagios-check_ifoperstatus
371 o nagios-check_ifstatus
372 o nagios-check_inodes
373 o nagios-check_ipxping
374 o nagios-check_ircd
375 o nagios-check_javaproc
376 o nagios-check_ldap
377 o nagios-check_linux_raid
378 o nagios-check_load
379 o nagios-check_log
380 o nagios-check_log2
381 o nagios-check_lotus
382 o nagios-check_mailq
383 o nagios-check_maxchannels
384 o nagios-check_maxwanstate
385 o nagios-check_mem
386 o nagios-check_mrtg
387 o nagios-check_mrtgext
388 o nagios-check_mrtgtraf
389 o nagios-check_ms_spooler
390 o nagios-check_mssql
391 o nagios-check_mysql
392 o nagios-check_mysql_perf <- added from third part
393 o nagios-check_mysql_query
394 o nagios-check_nagios
395 o nagios-check_netapp
396 o nagios-check_nmap
397 o nagios-check_nt
398 o nagios-check_ntp
399 o nagios-check_ntp_peer
400 o nagios-check_ntp_time
401 o nagios-check_nwstat
402 o nagios-check_oracle
403 o nagios-check_overcr
404 o nagios-check_pcpmetric
405 o nagios-check_pfstate
406 o nagios-check_pgsql
407 o nagios-check_ping
408 o nagios-check_procs
409 o nagios-check_qmailq
410 o nagios-check_radius
411 o nagios-check_rbl
412 o nagios-check_real
413 o nagios-check_remote_nagios_status
414 o nagios-check_rpc
415 o nagios-check_sendim
416 o nagios-check_sensors
417 o nagios-check_smart
418 o nagios-check_smb
419 o nagios-check_smtp
420 o nagios-check_snmp
421 o nagios-check_snmp_disk_monitor
422 o nagios-check_snmp_printer
423 o nagios-check_snmp_process_monitor
424 o nagios-check_snmp_procs
425 o nagios-check_sockets
426 o nagios-check_ssh
427 o nagios-check_swap
428 o nagios-check_tcp
429 o nagios-check_time
430 o nagios-check_timeout
431 o nagios-check_traceroute
432 o nagios-check_ups
433 o nagios-check_uptime
434 o nagios-check_users
435 o nagios-check_wave
436 o nagios-check_wins
437
438 This break-out has been done to reduce the overall dependencies requirements,
439 so if you don't need any of the check_mysql_* plugins you won't have to install
440 the mysql libraries, and so on.
441
442 Each of these packages comes with its own configuration file that contains the
443 needed command definition(s), let's give an example:
444
445 $ cat /etc/nagios/plugins.d/check_arping.cfg
446 # this plugin require suid bit. chmod 4550 /usr/lib64/nagios/plugins/contrib/check_arping.pl
447
448 # 'check_arping' command definition
449 define command{
450 command_name check_arping
451 command_line /usr/lib64/nagios/plugins/contrib/check_arping.pl -I $ARG1$ -H $HOSTADDRESS$
452 }
453
454
455 So when you start the nagios daemon it will automatically load configuration
456 files found in the /etc/nagios/plugins.d and /etc/nagios/conf.d directories.
457
458 EOF
459
460 # automatic reloading for new plugins
461 install -d %buildroot%{_var}/lib/rpm/filetriggers
462 cat > %buildroot%{_var}/lib/rpm/filetriggers/nagios.filter << EOF
463 ^.%{_sysconfdir}/nagios/plugins.d/.*\.cfg$
464 EOF
465 cat > %buildroot%{_var}/lib/rpm/filetriggers/nagios.script << EOF
466 #!/bin/sh
467 /etc/init.d/nagios condrestart
468 EOF
469 chmod 755 %buildroot%{_var}/lib/rpm/filetriggers/nagios.script
470
471 %pre
472 %{_sbindir}/useradd -r -M -s /bin/sh -d /var/log/nagios -c "system user for %{nsusr}" %{nsusr} >/dev/null 2>&1 || :
473 %{_bindir}/gpasswd -a %{cmdusr} %{nsgrp} >/dev/null 2>&1 || :
474
475 %post
476 if [ $1 = 1 ] ; then
477 chown -R %{nsusr}:%{nsgrp} /var/log/nagios /var/spool/nagios /var/run/nagios >/dev/null 2>&1 || :
478 fi
479 %_post_service %{name}
480
481 %preun
482 %_preun_service %{name}
483
484 %postun
485 if [ "$1" -ge "1" ]; then
486 %{_initrddir}/%{name} condrestart >/dev/null 2>&1 || :
487 fi
488 %_postun_userdel %{nsusr}
489
490 %pretrans www
491 # fix for old apache configuration
492 if [ -f %{_sysconfdir}/httpd/conf/webapps.d/12_nagios.conf ]; then
493 mv %{_sysconfdir}/httpd/conf/webapps.d/12_nagios.conf \
494 %{_sysconfdir}/httpd/conf/webapps.d/nagios.conf
495 perl -pi -e 's|%{_datadir}/%{name}|%{_datadir}/%{name}/www|' \
496 %{_sysconfdir}/httpd/conf/webapps.d/nagios.conf
497 fi
498
499 %clean
500 rm -rf %{buildroot}
501
502 %files
503 %defattr(-,root,root)
504 %doc Changelog INSTALLING LEGAL README UPGRADING README.mdv
505 %doc sample-config/mrtg.cfg
506 %{_initrddir}/nagios
507 %{_sbindir}/*
508 %dir %{_sysconfdir}/nagios
509 %config(noreplace) %{_sysconfdir}/nagios/*.cfg
510 %dir %{_sysconfdir}/nagios/servers
511 %dir %{_sysconfdir}/nagios/printers
512 %dir %{_sysconfdir}/nagios/switches
513 %dir %{_sysconfdir}/nagios/routers
514 %dir %{_sysconfdir}/nagios/conf.d
515 %dir %{_sysconfdir}/nagios/plugins.d
516 %dir %{_sysconfdir}/nagios/objects
517 %config(noreplace) %{_sysconfdir}/nagios/objects/*.cfg
518 %attr(-,%{nsusr},%{nsgrp}) %dir /var/log/nagios
519 %attr(-,%{nsusr},%{nsgrp}) %dir /var/log/nagios/archives
520 %attr(2775,%{nsusr},%{cmdgrp}) %dir /var/spool/nagios
521 %attr(-,%{nsusr},%{nsgrp}) %dir /var/spool/nagios/checkresults
522 %attr(-,%{nsusr},%{nsgrp}) %dir /var/run/nagios
523 %dir %{_libdir}/nagios/plugins/eventhandlers
524 %{_libdir}/nagios/plugins/eventhandlers/*
525 %{_var}/lib/rpm/filetriggers/nagios.*
526
527 %files www
528 %defattr(-,root,root)
529 %config(noreplace) %{_sysconfdir}/httpd/conf/webapps.d/nagios.conf
530 %{_libdir}/nagios/cgi
531 %dir %{_datadir}/nagios/www
532 %dir %{_datadir}/nagios/www/images
533 %dir %{_datadir}/nagios/www/stylesheets
534 %{_datadir}/nagios/www/favicon.ico
535 %{_datadir}/nagios/www/robots.txt
536 %{_datadir}/nagios/www/contexthelp
537 %{_datadir}/nagios/www/docs
538 %{_datadir}/nagios/www/media
539 %{_datadir}/nagios/www/ssi
540 %{_iconsdir}/%{name}.png
541 %{_miconsdir}/%{name}.png
542 %{_liconsdir}/%{name}.png
543 %{_datadir}/applications/*.desktop
544
545 %files theme-default
546 %defattr(-,root,root)
547 %{_datadir}/nagios/www/*.php
548 %{_datadir}/nagios/www/images/*
549 %{_datadir}/nagios/www/includes/*
550 %{_datadir}/nagios/www/stylesheets/*
551
552 %files devel
553 %defattr(-,root,root)
554 %multiarch %{multiarch_includedir}/nagios/locations.h
555 %{_includedir}/nagios
556
557

  ViewVC Help
Powered by ViewVC 1.1.30