X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=5b887c2d10742c68d526bff9c5773c0d85e63603;hb=HEAD;hp=7324eeca2086b54c26148959af073f1787dd1415;hpb=ff6e29a0b03ab8c26b5e49bcb7e4d74ef84d02cb;p=monit-cn.git diff --git a/debian/postinst b/debian/postinst index 7324eec..2e2af2f 100755 --- a/debian/postinst +++ b/debian/postinst @@ -1,40 +1,17 @@ #!/bin/sh -# postinst script for bind9-cn -# -# see: dh_installdeb(1) set -e -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package -# +[ "$1" = "configure" ] || exit 0 +[ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx -case "$1" in - configure|reconfigure) - # continue below - ;; - - *) - exit 0 - ;; -esac - -# import CN-functions +# Load CARNET Tools . /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,71 +33,43 @@ 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' \ - /etc/monit/monitrc || true +# sed bacula-fd.conf with proper hostname +if grep -q '127.0.0.1' /usr/share/monit-cn/bacula-fd.conf; then + cp_check_and_sed '127.0.0.1' \ + "s/127.0.0.1/$CARNET_HOSTNAME.$CARNET_DOMAINNAME/" \ + /usr/share/monit-cn/bacula-fd.conf || 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' \ +# you can modify others in a loop, maybe? + +# 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 +# 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 # disable monit startup -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 - echo "CN: Installing monit service in /etc/inittab" - rm -f /etc/inittab.$$ - cp /etc/inittab /etc/inittab.$$ - cp-update monit-cn /etc/inittab.$$ <