- ispravke razlicitih Lintian gresaka, kao logike (registriranje
[amavisd-cn.git] / debian / postinst
index 10a632c..56a0755 100755 (executable)
@@ -57,22 +57,14 @@ 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
@@ -118,26 +110,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