aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-08-27 07:45:46 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-08-27 08:40:06 +0000
commite3d8cfe3f08df6649c56b637cead8efe622220f1 (patch)
tree8d4b5cbd7fd8ee40fb5f3eea085d332406093e54
parentc65b569cafe10d39e2073ecb6444e6d25df2e8ff (diff)
downloadaports-e3d8cfe3f08df6649c56b637cead8efe622220f1.tar.bz2
aports-e3d8cfe3f08df6649c56b637cead8efe622220f1.tar.xz
main/roundcubemail: move configs to /etc/roundcube
We want config to be saved on lbu commit and we want the config files to be "protected" so they dont gets replaced on upgrades.
-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 3a22dd13f..ff5e07aa5 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 000000000..708be312a
--- /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 000000000..1d44a8703
--- /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
+