Nemo/Updating

'''NOTE: There is no guarantee that the update instructions in this page work and that your device boots after the update. So it is recommended to backup all your essential data before doing the update.'''

= Wayland/Qt5 =

Wayland images are WIP, and can be updated as root (ssu ur won't output anything, and only needs to be run if `zypper lr` doesn't report any adaptation* repos):

ssu ur zypper ref zypper dup

If any new packages were added, make sure you grab them with :

zypper in -t pattern nemo-n950-wayland zypper in -t pattern nemo-complete-wayland
 * 1) For N950/N9:
 * 1) For x86 VM:

Upgrading from X11/Qt4 to Wayland/Qt5 image is not supported. Please install from scratch.

= X11/Qt4 =

Updating via Packages application

 * 1) Make sure your device is connected to network
 * 2) Choose "Refresh cache" button from the center of the toolbar
 * 3) After cache has been refreshed choose "Update"
 * 4) Packages creates a list of available updates (may take some time), choose "Update selected" (all should be selected by default)
 * 5) System solves the dependencies and creates a list of packages that it needs to update and install, this may take long time. After the list is shown confirm update.
 * 6) System downloads and installs the packages. Once the app shows "Finished" all packages have been installed. Now you can close the application
 * 7) Reboot device

NOTE: This method doesn't download new packages that might have been added to the patterns, for this see the cmdline method.

Updating via command line
To update Nemo image you need to have Nemo installed and need to have internet connection enabled. When device is connected to the Internet open terminal and run following commands:

su zypper ref zypper install ssu-vendor-data-nemo zypper ref zypper install screen screen zypper dup zypper install -f -t pattern nemo- reboot
 * 1) Take root permissions (standard pasword for root is: nemo)
 * 1) Update the repository database
 * 1) Update the repository data and refresh data again just to be sure you have latest repos
 * 1) We run the update inside screen so that if something breaks (UX or network it doesn't get interrupted)
 * 1) Start screen, this makes sure that even if for example Xorg crashes during update the update doesn't stop in the middle
 * 1) Start update process
 * 1) At times there are new packages introduced in the patterns that are not installed automatically,
 * 2) thus following command is needed to get rest of the stuff.
 * 3) Here  is n900, n950, x86-generic or x86-vm
 * 1) After update reboot the device

SSU
Nemo has adopted ssu which handles the repositories. These repositories are currently divided into two groups, release and rnd:
 * 'release' repositories are using repos from http://releases.nemomobile.org/snapshots/repos/ which are static and published every now and again, when there are new tested changes
 * 'rnd' repositories are live OBS repositories which are dynamic and constantly changing, these repositories are available at http://repo.merproject.org/obs/nemo:/.

To check that ssu is installed and which version you have call rpm -q ssu

SSU version < 0.31
Old SSU isn't supported anymore. To update to new ssu do following: zypper ref zypper dup zypper install nemo-ssu-repos-rnd zypper ref zypper dup ssu ur zypper ref zypper dup

After this follow the guide for newer ssu.

SSU version 0.31 and newer
In new ssu versions the repository handling was merged to the ssu itself.

Choose either the 'release' repo
ssu re latest

or the 'rnd' repo
ssu re -r latest 'rnd' requires you to select the flavour: What's your flavour? Choose via `ssu fl FLAVOUR e.g.: ssu fl devel
 * devel - bleeding edge, latest features straight from source code changes, along with all the new bugs :)
 * testing - cutting edge, less instability
 * stable - currently not used

Final steps
Next thing is to update the repository files. This is done by calling. ssu ur After this you should have repository files at /etc/zypp/repos.d/ssu_*.repo

Now you can continue the zypper usage as before.

NOTE: Whenever you change between 'release' and 'rnd' with `ssu re` command you need to call `ssu ur` or the repository files will point to the previously selected version.

NOTE: Changing between 'rnd' and 'release' or between different flavours in 'rnd', some packages will be at times older so "zypper dup" will also notify you about downgrading packages. As long as you know about the changes you are making this is usually a safe operation.

Known Issues

 * When doing update the network connection might break if the connman is updated see https://bugs.merproject.org/show_bug.cgi?id=141
 * WORKAROUND: Do update inside screen