X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=d503cf6d949b190d9ca7d2584cce146c8f7d13c8;hb=c57f2a756831077fa8d56edf21395df39c9d3a5b;hp=f43d9335c90f4c5fa709d86e9b08b579db4ac713;hpb=48537791e03e02cfd8e64e1d9fbb246f827f4fb7;p=monit-cn.git diff --git a/debian/postinst b/debian/postinst index f43d933..d503cf6 100755 --- a/debian/postinst +++ b/debian/postinst @@ -30,11 +30,10 @@ esac # import CN-functions . /usr/share/carnet-tools/functions.sh -# check if monitrc is an empty template +# check if monitrc is ours installfile=1 if [ -e /etc/monit/monitrc ]; then - lines=$(grep -v '^#' /etc/monit/monitrc | wc -l) - if [ $lines -lt 2 ]; then + if ! grep -q "CARNet package monit-cn" /etc/monit/monitrc; then installfile=1 mv -f /etc/monit/monitrc /etc/monit/monitrc.dpkg-old else @@ -56,17 +55,16 @@ if grep -q '@localhost' /etc/monit/monitrc; then /etc/monit/monitrc || true fi -# fix "but not on { changed } bug in monitrc -cp_check_and_sed '^set alert [^[:space:]]*@[^[:space:]]* (but )?not on { changed }$' \ - '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' \ +# migrate to "but not on { instance }" alerting style +cp_check_and_sed '^set alert [^[:space:]]*@[^[:space:]]* ' \ + 's/^set alert \([^[:space:]]*@[^[:space:]]*\) .*$/set alert \1 but not on { instance }/g' \ /etc/monit/monitrc || true -# 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 +# migrate from old hierarchy +if [ -d /etc/monit.d ]; then + find /etc/monit.d -type f -print0 | xargs -0r -I% mv % /etc/monit/conf.d || true + rmdir /etc/monit.d >/dev/null 2>&1 || true +fi # (re)generate monit.d files update-monit.d || true @@ -74,6 +72,8 @@ update-monit.d || true # disable monit startup cp_check_and_sed '^startup[[:space:]]*=[[:space:]]*1' \ 's/^startup[[:space:]]*=.*/startup=0/g' /etc/default/monit || true +cp_check_and_sed '^START[[:space:]]*=[[:space:]]*yes' \ + 's/^START[[:space:]]*=.*/START=no/g' /etc/default/monit || true # systemv part if ! grep -q 'CARNet package monit-cn' /etc/init.d/monit; then @@ -102,21 +102,28 @@ EOF fi fi +# if old inittab is referencing sbin, fix it +if grep -q '/usr/sbin/monit' /etc/inittab; then + cp_check_and_sed '/usr/sbin/monit' \ + 's:/usr/sbin/monit:/usr/bin/monit:g' \ + /etc/inittab || true +fi + # install as inittab service -if ! grep -q '/usr/sbin/monit' /etc/inittab; then +if ! grep -q '/usr/bin/monit' /etc/inittab; then echo "CN: Installing monit service in /etc/inittab" cp -a /etc/inittab /etc/inittab.$$ cp-update monit-cn /etc/inittab.$$ <