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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 63044 - (hide annotations) (download)
Thu Mar 3 10:25:20 2011 UTC (13 years, 1 month ago) by ennael
Original Path: cauldron/nagios/current/SPECS/nagios.spec
File size: 17508 byte(s)
clean spec file

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

  ViewVC Help
Powered by ViewVC 1.1.30