X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=a2e5bce31993f434b71141c919e1d269d6a1da7b;hb=33445bae613225f9f4bdc75bd6b23f4c1b7991a9;hp=a1a8fe2ea92f3e55958f231f02b9dc04c9983726;hpb=ab5e282c076bb8875fc4fdbf0048b517bf0af7be;p=amavisd-cn.git diff --git a/debian/postinst b/debian/postinst index a1a8fe2..a2e5bce 100755 --- a/debian/postinst +++ b/debian/postinst @@ -1,8 +1,22 @@ #!/bin/sh -# last update: zoran.dzelajlija@carnet.hr Fri, 19 Oct 2007 00:34:32 +0200 +# postinst script for amavisd-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 +# + [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx case "$1" in @@ -28,14 +42,6 @@ export PATH . /usr/share/amavisd-cn/variables.sh . /usr/share/amavisd-cn/functions.sh -# Place configuration tweaks done on upgrades into this function -update_conf() { - [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx - # placeholder. - # remember to set changed_config=1 and restart_daemon=1 if necessary - : -} - mta=postfix . /usr/share/amavisd-cn/postfix.sh @@ -43,7 +49,7 @@ mta=postfix cp_get_mx_domain domain=$RET -update_postfix +update_postfix $* # amavisd.conf if [ -f "$ACONFOLD" ]; then @@ -66,45 +72,39 @@ fi if [ ! -f $ACONF -o ! -s $ACONF ]; then # Create fresh config from template conf_from_template + restart_daemon=1 fi -# check for SAVI: -# if not there, comment it out, if there, uncomment and restart -if ! dpkg -l libsavi-perl 2> /dev/null | egrep -q '^.i' || ! [ -f /usr/lib/libsavi.so ]; then - if cp_check_and_sed "^\['Sophos SAVI'" \ - "s/^\(\['Sophos SAVI', ..sophos_savi \]\)/#\1/" $ACONF; then - cp_echo "CN: Disabled SAVI::Perl usage in ${ACONF}." - cp_echo " To enable it, run sophos-sweep-update, uncomment and restart amavis." - fi -else - if cp_check_and_sed "^#\['Sophos SAVI'" \ - "s/^#\(\['Sophos SAVI', ..sophos_savi \]\)/\1/" $ACONF; then - cp_echo "CN: Enabled SAVI::Perl usage in ${ACONF}." - restart_daemon=1 - fi +# disable SAVI as proven problematic +if cp_check_and_sed "^[[:blank:]]*\['Sophos SAVI'" \ + "s/^[[:blank:]]*\(\['Sophos SAVI', ..sophos_savi \]\)/#\1/" $ACONF; then + cp_echo "CN: Disabled SAVI::Perl usage in ${ACONF}." + restart_daemon=1 fi check_and_add_alias virusalert root check_and_add_alias spamalert root -if [ ! -f $AHOME/.spamassassin/user_prefs ] ; then - [ -d $AHOME/.spamassassin ] || mkdir -p $AHOME/.spamassassin - cat > $AHOME/.spamassassin/user_prefs <<-EEND +# ovo je rijeseno u spamassassin-cn, i ovdje nije potrebno, stoga brisemo +if [ -f $AHOME/.spamassassin/user_prefs ] ; then + user_prefs_temp=$(mktemp /tmp/user_prefs.XXXXXX) + cat > $user_prefs_temp <<-EEND bayes_path $AHOME/.spamassassin/bayes bayes_auto_expire 0 auto_whitelist_path $AHOME/.spamassassin/auto-whitelist EEND - chown_ahome=1 -fi - -if [ ! -f $AHOME/.spamassassin/auto-whitelist ] ; then - touch $AHOME/.spamassassin/auto-whitelist - chown_ahome=1 + if cmp -s $user_prefs_temp $AHOME/.spamassassin/user_prefs; then + rm -f $AHOME/.spamassassin/user_prefs + fi + rm -f $user_prefs_temp fi # No sysvinit order fixes : +# Fix missing redirection in cron files for amavisd-new-cronjob +add_redirection /etc/cron.d/amavisd-new /etc/cron.daily/amavisd-new + # Cleanup and finalization if dpkg --compare-versions "$2" lt 2:20030616p10-4; then update-rc.d -f amavisd remove > /dev/null @@ -125,26 +125,60 @@ fi # kill naughty pyzor descendants -- XXX needed for 2.4 or not? if dpkg --compare-versions "$2" lt 2:20030616p10-7 && \ - pgrep -u amavis -f '/usr/bin/pyzor check' > /dev/null; then - /etc/init.d/amavisd-cn stop + pgrep -u amavis -f '/usr/bin/pyzor check' > /dev/null; then + if [ -x "/etc/init.d/amavisd-cn" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d amavisd-cn stop + else + /etc/init.d/amavisd-cn stop + fi + fi pkill -9 -u amavis -f '/usr/bin/pyzor check' > /dev/null || true - /etc/init.d/amavisd-cn start + if [ -x "/etc/init.d/amavisd-cn" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d amavisd-cn start + else + /etc/init.d/amavisd-cn start + fi + fi restart_daemon= restart_mta= fi +# register for automatic start +update-rc.d -f amavis remove >/dev/null || true +update-rc.d amavisd-cn defaults 19 21 >/dev/null + # START AMAVISD # about a half of amavisd-cn script is here if [ "$restart_daemon" -a -x /etc/init.d/amavis.amavisd-new ]; then - /etc/init.d/amavis.amavisd-new restart + if [ -x "/etc/init.d/amavis.amavisd-new" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d amavis.amavisd-new restart + else + /etc/init.d/amavis.amavisd-new restart + fi + fi fi # always check that the daemons are running if ! wait_for_fds amavis; then - /etc/init.d/amavis.amavisd-new start + if [ -x "/etc/init.d/amavis.amavisd-new" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d amavis.amavisd-new start + else + /etc/init.d/amavis.amavisd-new start + fi + fi wait_for_fds amavis fi if [ "$restart_mta" ]; then - /etc/init.d/$mta restart + if [ -x "/etc/init.d/$mta" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d $mta restart + else + /etc/init.d/$mta restart + fi + fi fi # this needs to be updated when $CRONTAB file changes @@ -181,4 +215,17 @@ if [ -n "$2" -a -z "$changed_config" ] && \ cp_echo " perl -pi -e 's/_CN_DOMAIN_/$domain/g' $ACONF" fi +# Delete old conffiles... +for conffile in /etc/logcheck/violations.ignore.d/amavisd-new \ + /etc/logcheck/ignore.d.server/amavisd-new \ + /etc/logcheck/ignore.d.workstation/amavisd-new \ + /etc/cron.daily/amavisd-new; do + if [ -f ${conffile} ]; then + cp_echo "CN: Deleting old conffile ${conffile}..." + rm -f ${conffile} + fi +done + cp_mail $PKG $VERSION + +exit 0