aboutsummaryrefslogtreecommitdiffstats
path: root/main/openldap/openldap.pre-upgrade
diff options
context:
space:
mode:
Diffstat (limited to 'main/openldap/openldap.pre-upgrade')
-rw-r--r--main/openldap/openldap.pre-upgrade24
1 files changed, 24 insertions, 0 deletions
diff --git a/main/openldap/openldap.pre-upgrade b/main/openldap/openldap.pre-upgrade
new file mode 100644
index 00000000000..6ff21696c7b
--- /dev/null
+++ b/main/openldap/openldap.pre-upgrade
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+old_ver="$2"
+datadir='/var/lib/openldap/openldap-data'
+
+if [ "$(apk version -t "$old_ver" '2.6.0-r0')" = '<' ]; then
+ for back in bdb hdb; do
+ if apk info -eq openldap-back-$back; then
+ if find "$datadir" -iname "*.$back" 2>/dev/null | grep -q .; then
+ cat >&2 <<-EOF
+ *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*
+ *! Found *.$back files in $datadir!
+ *! OpenLDAP 2.6+ doesn't provide deprecated BDB and HDB backends anymore.
+ *! You have to migrate your database to MDB backend before upgrading
+ *! openldap!
+ *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*
+ EOF
+ exit 1
+ fi
+ fi
+ done
+fi
+
+exit 0