Is your Zarafa installation running for a while? I’m glad you made it! Have you ever wished for an easy way to update? Then you’re at the right place to read on.
A little bit of theory
Arch Linux is distributed in one single strand (one rolling release). New software packages are immediately available. You can update no matter on which state your systems at.
As soon php-7 is released, it’s going to be installed with your next system update. Packages only working with php-5 will disappear from the repository. Even though there’s still active development on php-5. If you’ve already installed packages depending on php-5, they will block the complete system update or be broken due to strict dependency.
Building your own php-5 package from Archlinux User Repository and the latest source code is the Arch Linux way of solving this.
This is a dilema for package maintainers. Writing patches appears to become the only option to keep things simple and up to date. Fortunately Zarafa has only few strict dependencies and things become more straightforward with prepared packages 🙂
What’s the problem?
A simple system update will overlook pietmas packages and throw an error.
$ pacman -Syu (...) resolving dependencies... looking for conflicting packages... error: failed to prepare transaction (could not satisfy dependencies) :: zarafa-webapp-filepreviewer: requires php<7 :: zarafa-webapp-filepreviewer: requires php-fpm<7 :: sabre-zarafa: installing php (7.0.4-2) breaks dependency 'php<7'
Which way to go?
There are two possible solutions - I recommend A. But please, don't mix those two approaches.
A) Prefer pietmas packages over the official and possibly newer packages. Involving strict dependencies.
- Upside: New dependency are installed when proved to be working from pietma.
- Downside: New dependency versions become available after new releases on pietma. Security fixes come delayed as well. Carefully: System may not start when newer package is required for start.
Mention pietma before the first system repository in /etc/pacman.conf .
[pietma] SigLevel = Optional TrustAll Server = https://repository.pietma.com/nexus/content/repositories/archlinux/$arch/$repo [core] (...)
Download a fresh copy of all package lists and update your complete system.
$ pacman -Syu
B) Prefer official packages over the pietmas possibly elderly packages. Strict dependencies are taken from pietma anyways.
- Upside: New dependency versions become available immediately. Security fixes as well.
- Downside: New dependencies can be installed before they are recognized for breaking Zarafas function.
Use pietmas update script.
What else to think of?
Reboot. And upgrade your mysql database after update.