2 # postinst script for amavisd-cn
4 # see: dh_installdeb(1)
8 # summary of how this script can be called:
9 # * <postinst> `configure' <most-recently-configured-version>
10 # * <old-postinst> `abort-upgrade' <new version>
11 # * <conflictor's-postinst> `abort-remove' `in-favour' <package>
13 # * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
14 # <failed-install-package> <version> `removing'
15 # <conflicting-package> <version>
16 # for details, see http://www.debian.org/doc/debian-policy/ or
17 # the debian-policy package
20 [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx
27 abort-upgrade|abort-remove|abort-deconfigure)
32 echo "postinst called with unknown argument \`$1'" >&2
37 PATH=/bin:/usr/bin:/sbin:/usr/sbin
40 . /usr/share/amavisd-cn/version.sh
41 . /usr/share/carnet-tools/functions.sh
42 . /usr/share/amavisd-cn/variables.sh
43 . /usr/share/amavisd-cn/functions.sh
46 . /usr/share/amavisd-cn/postfix.sh
48 # $domain will be equal to $host if nothing better can be found
55 if [ -f "$ACONFOLD" ]; then
56 cp_echo "CN: Amavisd configuration is now in $ACONF."
57 noisy_backup "$ACONFOLD"
60 cp_echo "CN: Please read /usr/share/doc/amavisd-cn/README.CARNet."
61 elif [ -f "$ACONFOLD.disabled" ]; then
62 noisy_backup "$ACONFOLD.disabled" "$(basename $ACONFOLD)"
63 rm -f "$ACONFOLD.disabled"
64 cp_echo "CN: Please read /usr/share/doc/amavisd-cn/README.CARNet."
67 if [ -f $ACONF ]; then
68 # add other fixups to function update_conf(), way above
71 # nonexistent or empty config
72 if [ ! -f $ACONF -o ! -s $ACONF ]; then
73 # Create fresh config from template
78 # disable SAVI as proven problematic
79 if cp_check_and_sed "^[[:blank:]]*\['Sophos SAVI'" \
80 "s/^[[:blank:]]*\(\['Sophos SAVI', ..sophos_savi \]\)/#\1/" $ACONF; then
81 cp_echo "CN: Disabled SAVI::Perl usage in ${ACONF}."
85 check_and_add_alias virusalert root
86 check_and_add_alias spamalert root
88 # ovo je rijeseno u spamassassin-cn, i ovdje nije potrebno, stoga brisemo
89 if [ -f $AHOME/.spamassassin/user_prefs ] ; then
90 user_prefs_temp=$(mktemp /tmp/user_prefs.XXXXXX)
91 cat > $user_prefs_temp <<-EEND
92 bayes_path $AHOME/.spamassassin/bayes
94 auto_whitelist_path $AHOME/.spamassassin/auto-whitelist
96 if cmp -s $user_prefs_temp $AHOME/.spamassassin/user_prefs; then
97 rm -f $AHOME/.spamassassin/user_prefs
99 rm -f $user_prefs_temp
102 # No sysvinit order fixes
105 # Fix missing redirection in cron files for amavisd-new-cronjob
106 add_redirection /etc/cron.d/amavisd-new /etc/cron.daily/amavisd-new
108 # Cleanup and finalization
109 if dpkg --compare-versions "$2" lt 2:20030616p10-4; then
110 update-rc.d -f amavisd remove > /dev/null
113 # a complicated way to say chmod 750
114 dpkg-statoverride --remove $AHOME > /dev/null || true
115 dpkg-statoverride --update --add amavis amavis 750 $AHOME
118 if [ -n "$chown_ahome" ]; then
120 echo -n "CN: Fixing ownership in /var/*/amavis... "
121 chown -R amavis:amavis $AHOME /var/run/amavis || true
123 cp_echo -mailonly "CN: Fixed ownerships in /var/*/amavis."
126 # kill naughty pyzor descendants -- XXX needed for 2.4 or not?
127 if dpkg --compare-versions "$2" lt 2:20030616p10-7 && \
128 pgrep -u amavis -f '/usr/bin/pyzor check' > /dev/null; then
129 if [ -x "/etc/init.d/amavisd-cn" ]; then
130 if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
131 invoke-rc.d amavisd-cn stop
133 /etc/init.d/amavisd-cn stop
136 pkill -9 -u amavis -f '/usr/bin/pyzor check' > /dev/null || true
137 if [ -x "/etc/init.d/amavisd-cn" ]; then
138 if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
139 invoke-rc.d amavisd-cn start
141 /etc/init.d/amavisd-cn start
148 # register for automatic start
149 update-rc.d -f amavis remove >/dev/null || true
150 update-rc.d amavisd-cn defaults 19 21 >/dev/null
153 # about a half of amavisd-cn script is here
154 if [ "$restart_daemon" -a -x /etc/init.d/amavis.amavisd-new ]; then
155 if [ -x "/etc/init.d/amavis.amavisd-new" ]; then
156 if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
157 invoke-rc.d amavis.amavisd-new restart
159 /etc/init.d/amavis.amavisd-new restart
163 # always check that the daemons are running
164 if ! wait_for_fds amavis; then
165 if [ -x "/etc/init.d/amavis.amavisd-new" ]; then
166 if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
167 invoke-rc.d amavis.amavisd-new start
169 /etc/init.d/amavis.amavisd-new start
174 if [ "$restart_mta" ]; then
175 if [ -x "/etc/init.d/$mta" ]; then
176 if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
177 invoke-rc.d $mta restart
179 /etc/init.d/$mta restart
184 # this needs to be updated when $CRONTAB file changes
185 if dpkg --compare-versions "$2" lt "2:20030616p10-4"; then
187 cp_echo "CN: Deleting temp files older than 1 day every day at 01:35 AM"
188 cp_echo "CN: Deleting spam-mail older than 7 days every day at 03:15 AM"
189 cp_echo "CN: Deleting virus-mail older than 7 days every day at 04:25 AM"
190 cp_echo " (can be changed in $CRONTAB)"
192 # This script is, hopefully, not needed any more. Hide it.
193 ## display this message just once... maybe use debconf instead
194 #if dpkg --compare-versions "$2" lt "2:20030616p10-4"; then
196 # cp_echo "CN: To stop, start or restart all of the clamav+amavis+mta components,"
197 # cp_echo "CN: use the /etc/init.d/amavisd-cn script."
199 if [ "$failed" ]; then
201 cp_echo "CN: Services $failed failed to restart!"
202 cp_echo "CN: Please check and start manually if needed."
205 # Upgrade, but no automatically changed config;
206 # warn if new template available
207 if [ -n "$2" -a -z "$changed_config" ] && \
208 dpkg --compare-versions "$2" lt "$TMPLVERSION"; then
210 cp_echo "CN: It seems you have upgraded this package from version $2."
211 cp_echo "CN: Configuration template for $mta was modified in version ${TMPLVERSION}."
212 cp_echo " You might want to review the changes, or simply copy the new template and"
213 cp_echo " and replace the _CN_DOMAIN_ string with an adequate value:"
214 cp_echo " cp $ACONFTMPL $ACONF"
215 cp_echo " perl -pi -e 's/_CN_DOMAIN_/$domain/g' $ACONF"
218 cp_mail $PKG $VERSION