Updating SailfishOS

Process, pitfalls

The phone will alert you that there's an update. Go to Settings => Sailfish OS Updates.
As always, backup first.
Download the update and choose to install it.

Once again it complains that I don't have enough space on the root filesystem. This time I decide to bite the bullet and expand the root volume.
I also have an encrypted memory card now.

Remove or revert the following packages

I also get a message that I need to "remove or revert the following packages".
Time to look around for help, like the release notes for the version you're updating to.

I found some advice and decided to remove the packages the updater complained about, and a few more.
I have enabled connection via ssh so I can do this on the command line from the comfort of my computer:

devel-su zypper <list-of-packages>

Strangely, it also wanted to update some packages, but everything went through nicely.
Reboot to be sure.

The warning message stays but can now be safely ignored.

NB: Sometimes it also asks to revert or remove practically everything (system-ui etc.). In this case the advice is to ignore it and just proceed which has worked for me at least once.

Install the update via GUI

It is common that you have to do that twice, i.e. the device reboots, then it says it "could not install" and one should "try again" and "Reboot".

I have to reinstall The Openrepos Storeman manually. With the SFOS browser, go to this URL and click on the harbour-storeman-installer-*.rpm link. Open the Installer application, which will then install the actual Storeman app and uninstall itself.

After opening Storeman for the first time, it takes a long time to refresh its cache.

Update the system through command line

First, disable all Storeman repositories (there's an option for this in the Repositories pulldown).

If you use Patchmanager, disable all patches (I rebooted after doing that).

"4.4.0.64" should be replaced with the version you're upgrading to. You must always upgrade to the next stop release.

devel-su
ssu re 4.4.0.64
ssu ur
zypper ref
zypper dup

The last command is the crucial one. Take a good look at what it says before you continue.
Some tutorials recommend other commands, namely version --dup, which just seems to pack the last 3 commands into one, without asking the user to confirm anything.

After the update

Looking at the "Release highlights" in the release notes, an impressive list of changes and fixes. Once again, I feel like I made the right choice with this OS.