Fix dovecot upgrade.
authorValentin Vidic <Valentin.Vidic@CARNet.hr>
Thu, 7 Nov 2013 07:45:13 +0000 (08:45 +0100)
committerValentin Vidic <Valentin.Vidic@CARNet.hr>
Thu, 7 Nov 2013 07:45:13 +0000 (08:45 +0100)
src/functions.sh

index 2e7a776..76e1eff 100644 (file)
@@ -913,7 +913,15 @@ upgrade_postfix () {
 
 # upgrade the IMAP server
 upgrade_dovecot() {
-  if [ ! -f /etc/dovecot/conf.d/95-local ]; then
+  local local_conf=/etc/dovecot/conf.d/95-${backup_ext}.conf
+
+  if [ -f /etc/dovecot/conf.d/95-local -a ! -f $local_conf ]; then
+     mv /etc/dovecot/conf.d/95-local $local_conf
+     sed -i 's/\/usr\/lib\/dovecot\/modules\/imap/\/usr\/lib\/dovecot\/modules/g' $local_conf
+     /etc/init.d/dovecot restart
+  fi
+
+  if [ ! -f $local_conf ]; then
      pkgrm dovecot-cn
 
      # restore config
@@ -943,7 +951,8 @@ upgrade_dovecot() {
 
      # install new version and restore local changes
      pkgadd dovecot-core
-     doveconf -n -c /etc/dovecot/dovecot.conf.$backup_ext > /etc/dovecot/conf.d/95-local
+     doveconf -n -c /etc/dovecot/dovecot.conf.$backup_ext > $local_conf
+     sed -i 's/\/user\/lib\/dovecot\/modules\/imap/\/usr\/lib\/dovecot\/modules/g' $local_conf
 
      pkgadd dovecot-cn
   fi