X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=c546d27eb5f23c79cac14b0edbf39f90b6f25240;hb=66670870243ee78ff68cdd5cbbcbf9974f0a3cae;hp=ed617475a34264441ef467c25e87b9ff094f6be7;hpb=3173912c8a40b82b62ef2c5cb5e34bb75c535380;p=spamassassin-cn.git diff --git a/debian/postinst b/debian/postinst index ed61747..c546d27 100755 --- a/debian/postinst +++ b/debian/postinst @@ -36,15 +36,17 @@ db_version 2.0 umask 022 +# clean up old debconf questions that are no longer in this package +if dpkg --compare-versions "$2" lt "2:3.1.7-4"; then + db_unregister spamassassin-cn/usedcc || true +fi + db_get spamassassin-cn/usebayes || true use_bayes="$RET" db_get spamassassin-cn/userazor2 || true use_razor2="$RET" -db_get spamassassin-cn/usedcc || true -use_dcc="$RET" - db_get spamassassin-cn/runservice || true run_service="$RET" @@ -177,8 +179,8 @@ if [ -f $examdir/local.cf ]; then rm -f $confdir/local.cf.$$.$$ fi - # set bayes/razor2/dcc in local.cf.$$ - for i in bayes razor2 dcc; do + # set bayes/razor2 in local.cf.$$ + for i in bayes razor2; do use_name="use_$i" use_value=$(eval echo \$$use_name) if [ "$use_value" = "true" ]; then @@ -191,6 +193,12 @@ if [ -f $examdir/local.cf ]; then $confdir/local.cf.$$ || true done + # remove obsolete options from old SA + egrep -v '^(bayes_use_chi2_combining|ok_languages|use_pyzor|pyzor_|use_dcc|dcc_)' \ + $confdir/local.cf.$$ > $confdir/local.cf.$$.$$ && \ + mv -f $confdir/local.cf.$$.$$ $confdir/local.cf.$$ + rm -f $confdir/local.cf.$$.$$ + # different than template if ! cmp -s $confdir/local.cf.$$ $confdir/local.cf; then # backup if not zero size @@ -208,21 +216,11 @@ if [ -f $examdir/local.cf ]; then rm -f $confdir/local.cf.$$ fi -# enable requested plugins in SA -list=$(find /etc/spamassassin -type -f -name 'v*.pre') +# enable/disable plugins in SA +list=$(find /etc/spamassassin -type f -name 'v*.pre') for i in $list; do - # enable DCC if requested - if [ "$use_dcc" = "true" ]; then - plugin="loadplugin Mail::SpamAssassin::Plugin::DCC" - cp_check_and_sed "^.*#.*$plugin.*$" \ - "s/^.*#.*$plugin.*$/$plugin/g" $i.$$ || true - if ! cmp -s $i.$$ $i; then - mv -f $i.$$ $i - fi - rm -f $i.$$ - fi - # enable DKIM + cp -f $i $i.$$ plugin="loadplugin Mail::SpamAssassin::Plugin::DKIM" cp_check_and_sed "^.*#.*$plugin.*$" \ "s/^.*#.*$plugin.*$/$plugin/g" $i.$$ || true @@ -230,6 +228,26 @@ for i in $list; do mv -f $i.$$ $i fi rm -f $i.$$ + + # disable Pyzor + cp -f $i $i.$$ + plugin="loadplugin Mail::SpamAssassin::Plugin::Pyzor" + cp_check_and_sed "^$plugin.*$" \ + "s/^$plugin.*$/#$plugin/g" $i.$$ || true + if ! cmp -s $i.$$ $i; then + mv -f $i.$$ $i + fi + rm -f $i.$$ + + # disable DCC + cp -f $i $i.$$ + plugin="loadplugin Mail::SpamAssassin::Plugin::DCC" + cp_check_and_sed "^$plugin.*$" \ + "s/^$plugin.*$/#$plugin/g" $i.$$ || true + if ! cmp -s $i.$$ $i; then + mv -f $i.$$ $i + fi + rm -f $i.$$ done # check and replace /etc/default/spamasassin if needed @@ -284,10 +302,18 @@ fi # cleanup the AWL if getent passwd amavis >/dev/null 2>&1; then - if [ -s ~amavis/.spamassassin/auto-whitelist ]; then + AWL=~amavis/.spamassassin/auto-whitelist + if [ -s $AWL ]; then echo "CN: Cleaning the Amavis auto-whitelist" su -c '/usr/bin/check_whitelist --clean' - amavis >/dev/null 2>&1 \ || true + + # see if size is still unacceptable + SIZE=$(du -ks $AWL | awk '{print $1}') + if [ $SIZE -ge 51200 ]; then + echo "CN: Size of AWL database > 50MB, doing full cleanup" + cp /dev/null $AWL + fi fi fi