Handle slapd config upgrade.
[carnet-upgrade.git] / src / functions.sh
index 27fa13d..94db9b0 100644 (file)
@@ -733,6 +733,10 @@ restore_configs () {
      restore_file /etc/issue.net
   fi
 
+  if pkg slapd lt 2.4.23-7.2; then
+     restore_file /etc/default/slapd
+  fi
+
   # dovecot won't start with these options
   if pkg dovecot-cn && pkg dovecot-common lt 1:1.2.15-7; then
      sed -i 's/^\( *\)\(sieve\(_storage\)\?=.*\)/\1#\2/' \
@@ -823,9 +827,19 @@ disable_monit () {
     apt-get remove --yes monit
     # stop the binary
     pkill -9 monit || true
+    # move away init for insserv to work
+    mv /etc/init.d/monit /var/lib/carnet-upgrade/
   fi
 }
 
+# allow monit to run again
+enable_monit () {
+  if [ -f /var/lib/carnet-upgrade/monit ]; then
+    mv /var/lib/carnet-upgrade/monit /etc/init.d/monit
+    pkgadd monit-cn
+  fi 
+}
+
 # check which of the given packages are installed
 grep_installed () {
   local package installed
@@ -852,7 +866,7 @@ pkgupgrade () {
 
 # make a silent upgrade to new libc6
 upgrade_libc () {
-  DEBIAN_FRONTEND=noninteractive pkgupgrade libc6 libc6-dev tzdata udev
+  DEBIAN_FRONTEND=noninteractive pkgupgrade libc6 libc6-dev tzdata
 }
 
 # upgrade apache2/php5
@@ -883,17 +897,20 @@ upgrade_amavis () {
 upgrade_freeradius () {
   pkg freeradius-aai lt 2.1.10-1 || return 0
 
-  # aai team prevents a clean upgrade
+  # aai team prevents a normal upgrade
   cp -av /etc/freeradius /etc/freeradius.$backup_ext
   pkgrm freeradius-aai freeradius-ldap freeradius
+  rm -rf /etc/freeradius/certs
   pkgadd freeradius-aai
 }
 
-# handle openldap upgrade
-upgrade_openldap () {
-  # aai does not depend on the new openldap version
-  pkgadd slapd
-  pkgadd openldap-aai
+# handle mysql 5.0 to 5.1 upgrade
+upgrade_mysql () {
+  if pkg mysql-server || pkg mysql-server-5.0; then
+     pkgadd mysql-server
+     dpkg -P mysql-server-5.0
+     /etc/init.d/mysql restart
+  fi
 }
 
 # fix postgresql deinstallation during upgrade
@@ -934,6 +951,10 @@ get_variable () {
 upgrade_munin () {
   local config backup hostname domain
 
+  # new htmldir location
+  mkdir -p /var/cache/munin
+  mv /var/www/munin /var/cache/munin/www
+
   for pkg_name in munin munin-node; do
      pkg $pkg_name lt '1.4.5-3' || continue