File nconf-1.2.5.0-deploy_local.patch of Package nconf

Index: nconf/ADD-ONS/deploy_local.sh
===================================================================
--- nconf.orig/ADD-ONS/deploy_local.sh
+++ nconf/ADD-ONS/deploy_local.sh
@@ -4,15 +4,36 @@ OUTPUT_DIR="/var/www/html/nconf/output/"
 NAGIOS_DIR="/usr/local/nagios/etc/"
 TEMP_DIR=${NAGIOS_DIR}"import/"
 CONF_ARCHIVE="NagiosConfig.tgz"
+NAGIOS='/usr/local/bin/nagios'
 
-if [ ! -e ${TEMP_DIR} ] ; then
-mkdir -p ${TEMP_DIR}
+function update_config() {
+    cp -p "${OUTPUT_DIR}${CONF_ARCHIVE}" "${TEMP_DIR}${CONF_ARCHIVE}"
+    tar -xf "${TEMP_DIR}${CONF_ARCHIVE}" -C "${NAGIOS_DIR}"
+    for file in $(tar -tf "${TEMP_DIR}${CONF_ARCHIVE}"); do
+        chown root:root "${NAGIOS_DIR}$file"
+    done 
+	if [ -x $NAGIOS ]; then
+	  if $NAGIOS -v $NAGIOS_DIR/nagios.cfg >/dev/null ; then
+        PID=$(pidof nagios)
+        if [ x"$PID" -ne x"" ]; then
+          kill -HUP $PID
+        fi
+      else
+        echo "Configuration seems not to be valid - skipping reload. Please check, fix and reload Nagios manually" >&2
+      fi
+	fi
+}
+
+if [ ! -e "${TEMP_DIR}" ] ; then
+    mkdir -p "${TEMP_DIR}"
+fi
+
+if [ ! -e "${TEMP_DIR}${CONF_ARCHIVE}" ]; then
+	update_config
 fi
 
-if [ ${OUTPUT_DIR}${CONF_ARCHIVE} -nt ${TEMP_DIR}${CONF_ARCHIVE} ] ; then
-cp -p ${OUTPUT_DIR}${CONF_ARCHIVE} ${TEMP_DIR}${CONF_ARCHIVE}
-tar -xf ${TEMP_DIR}${CONF_ARCHIVE} -C ${NAGIOS_DIR}
-/etc/init.d/nagios reload
+if [ "${OUTPUT_DIR}${CONF_ARCHIVE}" -nt "${TEMP_DIR}${CONF_ARCHIVE}" ] ; then
+    update_config
 fi
 
 exit
openSUSE Build Service is sponsored by