diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/openldap/APKBUILD | 7 | ||||
-rw-r--r-- | main/openldap/openldap.pre-upgrade | 24 |
2 files changed, 30 insertions, 1 deletions
diff --git a/main/openldap/APKBUILD b/main/openldap/APKBUILD index 661fa5e4e67..a6166c38278 100644 --- a/main/openldap/APKBUILD +++ b/main/openldap/APKBUILD @@ -68,7 +68,12 @@ subpackages=" $pkgname-overlay-all:_overlay_all:noarch $pkgname-openrc " -install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade" +install=" + $pkgname.pre-install + $pkgname.post-install + $pkgname.pre-upgrade + $pkgname.post-upgrade + " source="https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-$pkgver.tgz openldap-2.4-ppolicy.patch openldap-2.4.11-libldap_r.patch 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 |