X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=nagios.spec;h=749b1cd6ae60bdf9e4ff0cd97b6ff778ae020565;hb=1380c81c86318d51c1c9d7eef7b124d47f7855b6;hp=e1f5213c552d1cdaa16813834f6f05554b5055c3;hpb=e9518507150009a0a36b2547b44c30b98470c663;p=packages%2Fnagios.git diff --git a/nagios.spec b/nagios.spec index e1f5213..749b1cd 100644 --- a/nagios.spec +++ b/nagios.spec @@ -3,26 +3,26 @@ %bcond_without gd # without statusmap and trends, which require gd library # Summary: Host/service/network monitoring program -Summary(pl): Program do monitorowania serwerów/us³ug/sieci -Summary(pt_BR): Programa para monitoração de máquinas e serviços +Summary(pl.UTF-8): Program do monitorowania serwerów/usług/sieci +Summary(pt_BR.UTF-8): Programa para monitoração de máquinas e serviços Name: nagios -Version: 2.0 -%define _rc b3 -Release: 0.%{_rc}.42 +Version: 3.0.1 +Release: 0.1 License: GPL v2 Group: Networking -Source0: http://dl.sourceforge.net/nagios/%{name}-%{version}%{_rc}.tar.gz -# Source0-md5: 051760458d961b6ee015b5932a8437c4 +Source0: http://dl.sourceforge.net/nagios/%{name}-%{version}.tar.gz +# Source0-md5: 4c3b353bfa94b49a616924cf3f910734 Source1: %{name}-apache.conf Source2: %{name}.init Source3: %{name}.sysconfig Source4: http://www.nagios.org/images/favicon.ico # Source4-md5: 1c4201c7da53d6c7e48251d3a9680449 -Source5: nagios-config-20050514.tar.bz2 -# Source5-md5: a2883c65377ef7beb55d48af85ec7ef7 +Source5: %{name}-config-20071217.tar.bz2 +# Source5-md5: c50e60b73f86b8bfbc36f486d583f67b +Source6: %{name}-lighttpd.conf Patch0: %{name}-resources.patch Patch1: %{name}-iconv-in-libc.patch -Patch2: %{name}-favicon.patch +Patch2: %{name}-webapps.patch URL: http://www.nagios.org/ BuildRequires: autoconf BuildRequires: automake @@ -30,20 +30,19 @@ BuildRequires: automake BuildRequires: gd-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel -BuildRequires: sed >= 4.0 %endif -BuildRequires: rpmbuild(macros) >= 1.202 +BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: sed >= 4.0 BuildRequires: tar >= 1:1.15.1 -PreReq: %{name}-common = %{version}-%{release} -PreReq: rc-scripts -PreReq: sh-utils -Requires: mailx -Requires: nagios-plugins -Requires(post,postun): /sbin/chkconfig +Requires(post,preun): /sbin/chkconfig Requires(triggerpostun): sed >= 4.0 +Requires: %{name}-common = %{version}-%{release} +Requires: /bin/mail +Requires: rc-scripts +Requires: sh-utils Provides: nagios-core -Conflicts: iputils-ping < 1:ss020124 Obsoletes: netsaint +Conflicts: iputils-ping < 1:ss020124 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir /etc/%{name} @@ -51,9 +50,8 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sbindir %{_libdir}/%{name}/cgi %define _datadir %{_prefix}/share/%{name} %define _localstatedir /var/lib/%{name} - -%define _apache1dir /etc/apache -%define _apache2dir /etc/httpd +%define _webapps /etc/webapps +%define _webapp %{name} %description Nagios is a program that will monitor hosts and services on your @@ -69,73 +67,76 @@ available in nagios-plugins packages. Nagios is successor to NetSaint. -%description -l pl -Nagios to program, który monitoruje serwery oraz us³ugi w naszej -sieci. Posiada on mo¿liwo¶æ wysy³ania informacji o wyst±pieniu oraz -rozwi±zaniu problemu. Nagios zosta³ napisany w C oraz jest -zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami) -jako proces pracuj±cy w tle i bezustannie wykonuj±cy pewne operacje -sprawdzaj±ce. +%description -l pl.UTF-8 +Nagios to program, który monitoruje serwery oraz usługi w naszej +sieci. Posiada on możliwość wysyłania informacji o wystąpieniu oraz +rozwiązaniu problemu. Nagios został napisany w C oraz jest +zaprojektowany do pracy pod Linuksem (i niektórymi innymi uniksami) +jako proces pracujący w tle i bezustannie wykonujący pewne operacje +sprawdzające. -W³a¶ciwe sprawdzanie jest wykonywane przez osobne programy -("wtyczki"), które zwracaj± informacje o statusie do Nagiosa. Wtyczki -s± dostêpne na stronie w pakietach nagios-plugins. +Właściwe sprawdzanie jest wykonywane przez osobne programy +("wtyczki"), które zwracają informacje o statusie do Nagiosa. Wtyczki +są dostępne na stronie w pakietach nagios-plugins. -Nagios jest nastêpc± NetSainta. +Nagios jest następcą NetSainta. -%description -l pt_BR -O Nagios é um programa que monitora máquinas e serviços na sua rede. +%description -l pt_BR.UTF-8 +O Nagios é um programa que monitora máquinas e serviços na sua rede. Ele pode enviar um email ou um aviso de pager para o administrador -quando surgir um problema e quando ele for resolvido. Nagios é escrito +quando surgir um problema e quando ele for resolvido. Nagios é escrito em C e foi desenvolvido para rodar em plataformas Linux (e algumas -variações de *NIX) como um processo em segundo plano, periodicamente -executando checagens nos diversos serviços que forem especificados. +variações de *NIX) como um processo em segundo plano, periodicamente +executando checagens nos diversos serviços que forem especificados. %package common Summary: Common files needed by both nagios and nrpe -Summary(pl): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe +Summary(pl.UTF-8): Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe Group: Networking -Requires(pre): /usr/bin/getgid +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/groupmod Requires(pre): /usr/sbin/useradd Requires(pre): /usr/sbin/usermod -Requires(postun): /usr/sbin/groupdel -Requires(postun): /usr/sbin/userdel -Provides: user(nagios) Provides: group(nagios) Provides: group(nagios-data) +Provides: user(nagios) %description common Common files needed by both nagios and nrpe. -%description common -l pl -Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe. +%description common -l pl.UTF-8 +Wspólne pliki wymagane zarówno przez nagiosa jak i nrpe. %package cgi Summary: CGI webinterface for Nagios -Summary(pl): Interfejs WWW/CGI dla Nagiosa +Summary(pl.UTF-8): Interfejs WWW/CGI dla Nagiosa Group: Applications/WWW -# for dirs... and accessing local logs(?) +# for dirs... and accessing local logs. Requires: %{name} = %{version}-%{release} Requires: %{name}-imagepaks Requires: %{name}-theme -Requires: webserver = apache -Requires: apache(mod_alias) -Requires: apache(mod_cgi) -Requires: apache(mod_auth) Requires: group(http) +Requires: webapps +Requires: webserver +Requires: webserver(access) +Requires: webserver(alias) +Requires: webserver(auth) +Requires: webserver(cgi) +Requires: webserver(indexfile) %description cgi CGI webinterface for Nagios. -%description cgi -l pl +%description cgi -l pl.UTF-8 Interfejs CGI dla Nagiosa. %package theme-default Summary: Default Nagios theme -Summary(pl): Domy¶lny motyw Nagiosa +Summary(pl.UTF-8): Domyślny motyw Nagiosa Group: Applications/WWW Requires: nagios-cgi = %{version}-%{release} Provides: nagios-theme @@ -144,13 +145,13 @@ Obsoletes: nagios-theme %description theme-default Original theme from Nagios. -%description theme-default -l pl +%description theme-default -l pl.UTF-8 Oryginalny motyw z Nagiosa. %package devel Summary: Include files that Nagios-related applications may compile against -Summary(pl): Pliki nag³ówkowe, wykorzystywane przez aplikacje nagiosa -Summary(pt_BR): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios +Summary(pl.UTF-8): Pliki nagłówkowe, wykorzystywane przez aplikacje nagiosa +Summary(pt_BR.UTF-8): Arquivos de cabeçalho necessários para desenvolvimento de aplicativos para o Nagios Group: Development/Libraries # doesn't require base @@ -158,16 +159,16 @@ Group: Development/Libraries This package provides include files that Nagios-related applications may compile against. -%description devel -l pl -Ten pakiet dostarcza pliki nag³ówkowe, które mog± byæ wykorzystywane -przez aplikacje zwi±zane z nagiosem podczas kompilacji. +%description devel -l pl.UTF-8 +Ten pakiet dostarcza pliki nagłówkowe, które mogą być wykorzystywane +przez aplikacje związane z nagiosem podczas kompilacji. -%description devel -l pt_BR -Este pacote contém arquivos de cabeçalho usados no desenvolvimento de +%description devel -l pt_BR.UTF-8 +Este pacote contém arquivos de cabeçalho usados no desenvolvimento de aplicativos para o Nagios. %prep -%setup -q -n %{name}-%{version}%{?_rc} +%setup -q %patch0 -p0 %patch1 -p1 %patch2 -p1 @@ -177,6 +178,9 @@ sed -i -e ' s,".*/libexec/eventhandlers,"%{_libdir}/%{name}/eventhandlers, ' $(find contrib/eventhandlers -type f) +sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE1} > apache.conf +sed -e 's,%{_prefix}/lib/,%{_libdir}/,' %{SOURCE6} > lighttpd.conf + %build cp -f /usr/share/automake/config.sub . %{__aclocal} @@ -188,35 +192,48 @@ cp -f /usr/share/automake/config.sub . --with-command-grp=%{name} \ --with-lockfile=%{_localstatedir}/%{name}.pid \ --with-ping_command='/bin/ping -n %%s -c %%d' \ + --enable-event-broker \ %{!?with_gd:--disable-statusmap --disable-trends} %{__make} all %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_includedir}/%{name},%{_libdir}/%{name}/{eventhandlers,plugins}} \ - $RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir},%{_sysconfdir}/{plugins,local},%{_examplesdir}/%{name}-%{version}} +install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_webapps}/%{_webapp}} \ + $RPM_BUILD_ROOT{%{_var}/log/%{name}/archives,%{_localstatedir}/rw} \ + $RPM_BUILD_ROOT%{_sysconfdir}/{plugins,local} \ + $RPM_BUILD_ROOT%{_libdir}/%{name}/{eventhandlers,plugins} \ +%if "%{_lib}" != "lib" + $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{eventhandlers,plugins} \ +%endif -install include/locations.h $RPM_BUILD_ROOT%{_includedir}/%{name} +install -d $RPM_BUILD_ROOT%{_includedir}/%{name} +install include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name} -%{__make} install install-html install-init install-commandmode fullinstall \ +%{__make} install-unstripped \ DESTDIR=$RPM_BUILD_ROOT \ INSTALL_OPTS="" \ INIT_OPTS="" \ COMMAND_OPTS="" -install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache-%{name}.conf install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name} install %{SOURCE4} $RPM_BUILD_ROOT%{_datadir} # install templated configuration files tar jxf %{SOURCE5} --strip-components=1 -C $RPM_BUILD_ROOT%{_sysconfdir} +sed -i -e 's,%{_prefix}/lib/,%{_libdir}/,' $RPM_BUILD_ROOT%{_sysconfdir}/resource.cfg -> $RPM_BUILD_ROOT%{_sysconfdir}/passwd -echo 'nagios:' > $RPM_BUILD_ROOT%{_sysconfdir}/group +# webserver files +install apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf +install apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf +install lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf +mv $RPM_BUILD_ROOT{%{_sysconfdir}/cgi.cfg,%{_webapps}/%{_webapp}} +> $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/passwd +echo 'nagios:' > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/group # install event handlers +install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} cp -a contrib/eventhandlers $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} # Object data/cache files @@ -229,22 +246,18 @@ done rm -rf $RPM_BUILD_ROOT %post -/sbin/chkconfig --add %{name} -if [ -f /var/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} restart 1>&2 -fi - for i in %{_localstatedir}/{objects.cache,{comments,downtime,retention,status}.dat}; do [ ! -f $i ] && touch $i chown root:nagios $i chmod 664 $i done +/sbin/chkconfig --add %{name} +%service %{name} restart "Nagios service" + %preun if [ "$1" = "0" ] ; then - if [ -f /var/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} stop 1>&2 - fi + %service %{name} stop /sbin/chkconfig --del %{name} fi @@ -255,9 +268,9 @@ fi %groupadd -g 72 nagios %groupadd -g 147 -f nagios-data if [ -n "`id -u netsaint 2>/dev/null`" ] && [ "`id -u netsaint`" = "72" ]; then - /usr/sbin/usermod -d %{_libdir}/nagios -l nagios -c "Nagios User" -G nagios-data netsaint + /usr/sbin/usermod -d %{_libdir}/nagios -l nagios -c "Nagios Daemon" -G nagios-data netsaint fi -%useradd -u 72 -d %{_libdir}/nagios -s /bin/false -c "Nagios User" -g nagios -G nagios-data nagios +%useradd -u 72 -d %{_libdir}/nagios -s /bin/false -c "Nagios Daemon" -g nagios -G nagios-data nagios %postun common if [ "$1" = "0" ]; then @@ -267,48 +280,35 @@ if [ "$1" = "0" ]; then fi %post cgi -%addusertogroup http nagios-data - -# apache1 -if [ -d %{_apache1dir}/conf.d ]; then - ln -sf %{_sysconfdir}/apache-%{name}.conf %{_apache1dir}/conf.d/99_%{name}.conf - if [ -f /var/lock/subsys/apache ]; then - /etc/rc.d/init.d/apache restart 1>&2 - fi -fi -# apache2 -if [ -d %{_apache2dir}/httpd.conf ]; then - ln -sf %{_sysconfdir}/apache-%{name}.conf %{_apache2dir}/httpd.conf/99_%{name}.conf - if [ -f /var/lock/subsys/httpd ]; then - /etc/rc.d/init.d/httpd restart 1>&2 - fi -fi - if [ "$1" = 1 ]; then %banner %{name} -e <&2 - fi - fi - # apache2 - if [ -d %{_apache2dir}/httpd.conf ]; then - rm -f %{_apache2dir}/httpd.conf/99_%{name}.conf - if [ -f /var/lock/subsys/httpd ]; then - /etc/rc.d/init.d/httpd restart 1>&2 - fi - fi -fi +%triggerin cgi -- apache1 < 1.3.37-3, apache1-base +%addusertogroup http nagios-data +%webapp_register apache %{_webapp} + +%triggerun cgi -- apache1 < 1.3.37-3, apache1-base +%webapp_unregister apache %{_webapp} + +%triggerin cgi -- apache < 2.2.0, apache-base +%addusertogroup http nagios-data +%webapp_register httpd %{_webapp} + +%triggerun cgi -- apache < 2.2.0, apache-base +%webapp_unregister httpd %{_webapp} + +%triggerin cgi -- lighttpd +%addusertogroup lighttpd nagios-data +%webapp_register lighttpd %{_webapp} + +%triggerun cgi -- lighttpd +%webapp_unregister lighttpd %{_webapp} %triggerpostun -- nagios-cgi < 2.0-0.b3.21 chown root:http %{_sysconfdir}/cgi.cfg @@ -349,19 +349,7 @@ mv -f /var/log/nagios/status.sav %{_localstatedir}/retention.dat 2>/dev/null chown nagios:nagios %{_localstatedir}/nagios.pid 2>/dev/null chown nagios:nagios-data %{_localstatedir}/rw/nagios.cmd 2>/dev/null -if [ -f /var/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} restart 1>&2 || : -fi - -# apache2 config was also moved. -if [ -f /etc/httpd/nagios.conf.rpmsave ]; then - cp -f %{_sysconfdir}/apache-%{name}.conf{,.rpmnew} - mv -f /etc/httpd/nagios.conf.rpmsave %{_sysconfdir}/apache-%{name}.conf - - if [ -f /var/lock/subsys/httpd ]; then - /etc/rc.d/init.d/httpd restart 1>&2 || : - fi -fi +%service -q %{name} restart %banner -e %{name}-2.0 <<'EOF' Please read @@ -373,13 +361,60 @@ the upgrade, but still :)) EOF #'vim +# webapps trigger +%triggerpostun cgi -- %{name}-cgi < 2.0-0.b6.0.2 +for i in cgi.cfg group passwd; do + if [ -f /etc/nagios/$i.rpmsave ]; then + mv -f %{_webapps}/%{_webapp}/$i{,.rpmnew} + mv -f /etc/nagios/$i.rpmsave %{_webapps}/%{_webapp}/$i + fi +done + +# migrate from httpd (apache2) config dir +if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then + cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew} + mv -f /etc/httpd/%{name}.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf +fi + +# migrate from apache-config macros +if [ -f /etc/%{name}/apache-nagios.conf.rpmsave ]; then + if [ -d /etc/apache/webapps.d ]; then + cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew} + cp -f /etc/%{name}/apache-nagios.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf + fi + + if [ -d /etc/httpd/webapps.d ]; then + cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew} + cp -f /etc/%{name}/apache-nagios.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf + fi + rm -f /etc/%{name}/apache-nagios.conf.rpmsave +fi + +# place new config location, as trigger puts config only on first install, do it here. +if [ -L /etc/apache/conf.d/99_%{name}.conf ]; then + rm -f /etc/apache/conf.d/99_%{name}.conf + apache_reload=1 +fi +if [ -L /etc/httpd/httpd.conf/99_%{name}.conf ]; then + rm -f /etc/httpd/httpd.conf/99_%{name}.conf + httpd_reload=1 +fi + +if [ "$apache_reload" ]; then + /usr/sbin/webapp register apache %{_webapp} + %service -q apache reload +fi +if [ "$httpd_reload" ]; then + /usr/sbin/webapp register httpd %{_webapp} + %service -q httpd reload +fi + %files %defattr(644,root,root,755) %doc Changelog README* UPGRADING INSTALLING LICENSE -%doc sample-config/template-object/{bigger,minimal}.cfg +%doc sample-config/template-object/{localhost,commands}.cfg %attr(640,root,nagios-data) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nagios.cfg %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/[!n]*.cfg -%exclude %{_sysconfdir}/cgi.cfg %attr(754,root,root) /etc/rc.d/init.d/%{name} %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} @@ -387,12 +422,14 @@ EOF %attr(755,root,root) %{_bindir}/%{name} %attr(755,root,root) %{_bindir}/nagiostats -%attr(770,root,nagios-data) %{_var}/log/%{name} +%attr(770,root,nagios-data) %dir %{_var}/log/%{name} %attr(770,root,nagios-data) %dir %{_var}/log/%{name}/archives %attr(770,root,nagios-data) %dir %{_localstatedir} %attr(2770,root,nagios-data) %dir %{_localstatedir}/rw %attr(660,nagios,nagios-data) %ghost %{_localstatedir}/rw/nagios.cmd +%attr(2770,root,nagios-data) %dir %{_localstatedir}/spool +%attr(2770,root,nagios-data) %dir %{_localstatedir}/spool/checkresults %attr(664,root,nagios) %ghost %{_localstatedir}/objects.cache %attr(664,root,nagios) %ghost %{_localstatedir}/*.dat %attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp @@ -408,12 +445,21 @@ EOF %dir %{_libdir}/%{name}/plugins %dir %{_libdir}/%{name}/eventhandlers +%if "%{_lib}" != "lib" +%dir %{_prefix}/lib/%{name} +%dir %{_prefix}/lib/%{name}/plugins +%dir %{_prefix}/lib/%{name}/eventhandlers +%endif + %files cgi %defattr(644,root,root,755) -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache-%{name}.conf -%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cgi.cfg -%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/passwd -%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/group +%dir %attr(750,root,http) %{_webapps}/%{_webapp} +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf +%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cgi.cfg +%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/passwd +%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/group %dir %{_sbindir} %attr(755,root,root) %{_sbindir}/*.cgi