Handle openldap upgrade.
[carnet-upgrade.git] / src / functions.sh
index 1ac813b..da07bc4 100644 (file)
@@ -970,7 +970,7 @@ upgrade_amavis () {
 
 # fix openldap-aai postinst user handling
 upgrade_openldap () {
-  pkg openldap-aai lt 2.3 || return 0
+  pkg openldap-aai lt 2.4 || return 0
 
   # openldap-aai expects org.ldif to exists
   local ldif=/var/lib/ldap/org.ldif
@@ -1088,6 +1088,26 @@ upgrade_munin () {
   dpkg-reconfigure munin-cn
 }
 
+# udev.preinst fails if devfs configs still exist
+upgrade_udev () {
+  local config
+
+  for config in /etc/udev/rules.d/devfs.rules \
+                /etc/udev/rules.d/compat-full.rules \
+                /etc/udev/rules.d/compat.rules
+  do
+     if [ -e $config ]; then
+        mv -v $config /etc/udev/
+     fi
+  done
+
+  if [ -f /etc/udev/udev.rules -a ! -f /etc/udev/rules.d/udev.rules ]; then
+     ln -sfv ../udev.rules /etc/udev/rules.d/
+  fi
+
+  pkgadd udev
+}
+
 # fix /etc/dpkg/dpkg.cfg
 comment_force_overwrite () {
   if [ -f /etc/dpkg/dpkg.cfg ]; then