aboutsummaryrefslogtreecommitdiffstats
path: root/main/roundcubemail
diff options
context:
space:
mode:
Diffstat (limited to 'main/roundcubemail')
-rw-r--r--main/roundcubemail/APKBUILD8
-rw-r--r--main/roundcubemail/roundcubemail.post-upgrade26
-rw-r--r--main/roundcubemail/roundcubemail.pre-upgrade7
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
+