exit 0
fi
+cfg_file=/etc/nagios/nagios.cfg
+
+# check for precache
+precached_object_file=$(awk -F= '/^precached_object_file/{print $2}' $cfg_file)
+
# configtest itself
configtest() {
- /usr/sbin/nagios -v /etc/nagios/nagios.cfg 2>&1
- return $?
+ /usr/sbin/nagios ${precached_object_file:+-p} -v $cfg_file
}
# wrapper for configtest:
# remove stale cmd pipe (or nagios won't start if it exists)
rm -f /var/lib/nagios/rw/nagios.cmd
- daemon /usr/sbin/nagios -d /etc/nagios/nagios.cfg </dev/null
+
+ # we're safe to use -x as we did verify config prior startup
+ # precached object file also is created in configtest.
+ daemon /usr/sbin/nagios ${precached_object_file:+-u} -d $cfg_file
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
touch /var/lock/subsys/nagios
checkconfig
msg_reloading "Nagios"
+ # NOTE: precached object file is created in configtest.
killproc nagios -HUP
RETVAL=$?
}
find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name '*.in' | xargs rm
# Object data/cache files
-for i in {objects.cache,{comments,downtime,retention,status}.dat,nagios.tmp}; do
+for i in {objects.{cache,precache},{comments,downtime,retention,status}.dat,nagios.tmp}; do
> $RPM_BUILD_ROOT%{_localstatedir}/$i
done
> $RPM_BUILD_ROOT%{_localstatedir}/rw/nagios.cmd
rm -rf $RPM_BUILD_ROOT
%post
-for i in %{_localstatedir}/{objects.cache,{comments,downtime,retention,status}.dat}; do
+for i in %{_localstatedir}/{objects.{cache,precache},{comments,downtime,retention,status}.dat}; do
[ ! -f $i ] && touch $i
chown root:nagios $i
chmod 664 $i
%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}/objects.precache
%attr(664,root,nagios) %ghost %{_localstatedir}/*.dat
%attr(664,root,nagios) %ghost %{_localstatedir}/%{name}.tmp