X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=f08d307fd7e85f8a58328c1f471d96d0b1051445;hb=ad2a31e07695cd2fc73df76e478d7ea2384095d9;hp=e3879012b442df3dff3e85c8991d0b6ef0b1c005;hpb=c8e1f9a3251c3c43dd63e058de7924542c4d0d25;p=monit-cn.git diff --git a/debian/postinst b/debian/postinst index e387901..f08d307 100755 --- a/debian/postinst +++ b/debian/postinst @@ -47,23 +47,58 @@ if [ $installfile -eq 1 ]; then chmod u=rw,go= /etc/monit/monitrc fi -# generate monit.d files -update-monit.d +# sed monitrc with proper hostname +if grep -q '@localhost' /etc/monit/monitrc; then + CARNET_HOSTNAME=`hostname` + CARNET_DOMAINNAME=`hostname --domain` + cp_check_and_sed '@localhost' \ + "s/@localhost/@$CARNET_HOSTNAME.$CARNET_DOMAINNAME/g" \ + /etc/monit/monitrc || true +fi + +# if alert for "changed" is enabled, disable it ASAP +# we're waiting for "but not on { changed }" to enter in official +# package... +cp_check_and_sed '^set alert [^[:space:]]*@[^[:space:]]*$' \ + 's/^set alert \([^[:space:]]*@[^[:space:]]*\)$/set alert \1 only on { uid, gid, size, nonexist, data, icmp, instance, invalid, exec, timeout, resource, checksum, match, timestamp, connection, permission }/g' \ + /etc/monit/monitrc || true + +# (re)generate monit.d files +update-monit.d || true # disable monit startup -cp_check_and_sed '^startup=1/#startup=1/g' /etc/default/monit \ - || true +cp_check_and_sed '^startup[[:space:]]*=[[:space:]]*1' \ + '^startup[[:space:]]*=.*/startup=0/g' /etc/default/monit || true + +# systemv part +echo "CN: Disabling monit SystemV script" +if [ -x "/etc/init.d/monit" ]; then + update-rc.d -f monit remove >/dev/null 2>&1 + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d monit stop || true + else + /etc/init.d/monit stop || true + fi +fi +if [ -e "/etc/init.d/monit" ]; then + if ! grep -q 'CARNet package monit-cn' /etc/init.d/monit; then + # shebang + head -n1 /etc/init.d/monit > /etc/init.d/monit.$$ + # middle part + cp-update monit-cn /etc/init.d/monit.$$ <> /etc/init.d/monit.$$ + mv -f /etc/init.d/monit.$$ /etc/init.d/monit + chmod +x /etc/init.d/monit + fi +fi # install as inittab service if ! grep -q '/usr/sbin/monit' /etc/inittab; then - if [ -x "/etc/init.d/monit" ]; then - update-rc.d -f monit remove >/dev/null 2>&1 - if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then - invoke-rc.d monit stop || true - else - /etc/init.d/monit stop || true - fi - fi echo "CN: Installing monit service in /etc/inittab" rm -f /etc/inittab.$$ cp /etc/inittab /etc/inittab.$$ @@ -75,7 +110,8 @@ EOF fi # reload init, since we have new configuration -echo "CN: Starting monit service, please check /var/log/daemon.log" +echo "CN: (Re)starting monit service, please check /var/log/daemon.log" +pkill -9 -f /usr/sbin/monit || true kill -HUP 1 # dh_installdeb will replace this with shell code automatically