diff options
Diffstat (limited to 'community/roundcubemail/roundcubemail.post-upgrade')
-rw-r--r-- | community/roundcubemail/roundcubemail.post-upgrade | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/community/roundcubemail/roundcubemail.post-upgrade b/community/roundcubemail/roundcubemail.post-upgrade new file mode 100644 index 0000000000..a6282906a0 --- /dev/null +++ b/community/roundcubemail/roundcubemail.post-upgrade @@ -0,0 +1,47 @@ +#!/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 + +# logs and temp moved +if [ -d /usr/share/webapps/roundcube/logs ]; then + mv /usr/share/webapps/roundcube/logs/* \ + /var/log/roundcube/ + + # clone permissions + chown $(stat -c %U:%G /usr/share/webapps/roundcube/logs) \ + /var/log/roundcube +fi + +if [ -d /usr/share/webapps/roundcube/temp ]; then + mv /usr/share/webapps/roundcube/temp/* \ + /tmp/ +fi + +# display info about upgrade +echo "*" >&2 +echo -e "* Please read /usr/share/doc/roundcube/UPGRADE\n\ +* in roundcubemail-doc package for schema or config update" >&2 +echo "*" >&2 +exit 0 |