diff options
Diffstat (limited to 'main/roundcubemail')
-rw-r--r-- | main/roundcubemail/APKBUILD | 8 | ||||
-rw-r--r-- | main/roundcubemail/roundcubemail.post-upgrade | 26 | ||||
-rw-r--r-- | main/roundcubemail/roundcubemail.pre-upgrade | 7 |
3 files changed, 40 insertions, 1 deletions
diff --git a/main/roundcubemail/APKBUILD b/main/roundcubemail/APKBUILD index 3a22dd13f3..ff5e07aa5b 100644 --- a/main/roundcubemail/APKBUILD +++ b/main/roundcubemail/APKBUILD @@ -1,10 +1,11 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=roundcubemail pkgver=0.4 -pkgrel=0 +pkgrel=1 pkgdesc="A PHP web-based mail client" url="http://www.roundcube.net" license="GPL" +install="$pkgname.post-upgrade" depends="php php-imap php-xml php-json" makedepends="" source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz" @@ -15,5 +16,10 @@ build () mkdir -p "${_instdir}" cd "${_instdir}" cp -ra "$srcdir"/roundcubemail-$pkgver/* . + # install config in /etc/roundcube so config files are not overwritten + # on upgrades + mkdir -p "$pkgdir"/etc/ + mv config "$pkgdir"/etc/roundcube + ln -s /etc/roundcube config } md5sums="6e5d2313087ce1e1209eb0f4fd71beab roundcubemail-0.4.tar.gz" diff --git a/main/roundcubemail/roundcubemail.post-upgrade b/main/roundcubemail/roundcubemail.post-upgrade new file mode 100644 index 0000000000..708be312a9 --- /dev/null +++ b/main/roundcubemail/roundcubemail.post-upgrade @@ -0,0 +1,26 @@ +#!/bin/sh + +# move existing config in /usr/share/webapps/roundcube/config to +# /etc/roundcube and create a symlink in /usr/share/webapps/roundcube that +# points to /etc/roundcube dir. + +# if we did this in pre-upgrade, apk would delete +# /usr/share/webapps/roundcube/config/* which would actually point to +# /etc/roundcube due to symlink. oups! + +if [ -L /usr/share/webapps/roundcube/config.apk-new ] && \ + [ -d /usr/share/webapps/roundcube/config ]; then + mkdir -p /etc/roundcube + # if configs were unmodified they are deleted by apk + # so we check if they exist before trying to move anything + for i in /usr/share/webapps/roundcube/config/* \ + /usr/share/webapps/roundcube/config/.[A-z]*; do + if [ -f "$i" ]; then + mv "$i" /etc/roundcube + fi + done + rmdir /usr/share/webapps/roundcube/config + mv /usr/share/webapps/roundcube/config.apk-new \ + /usr/share/webapps/roundcube/config +fi + diff --git a/main/roundcubemail/roundcubemail.pre-upgrade b/main/roundcubemail/roundcubemail.pre-upgrade new file mode 100644 index 0000000000..1d44a87034 --- /dev/null +++ b/main/roundcubemail/roundcubemail.pre-upgrade @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ -d /usr/share/webapps/roundcube/config ]; then + mkdir -p /etc + mv /usr/share/webapps/roundcube/config /etc/roundcube +fi + |