Version

  • Created: 2014-06-25

  • Contributors: Sergio Schvezov

  • Packages affected: ubuntu-system-settings, ubuntu-bug, whoopsie

This spec describes versioning for Ubuntu Touch's specific case, based on the fact that it is using Image Based Upgrades as the general purpose way to track down a specific version installed on a specific device.

Rationale

In general this would not be needed unless an image based upgrade system is not used to assemble the images that make up the operating system as a whole.

When using image based upgrades there is a versions.*.tar.xz assembled that contains the proper channel information and versions for each of the image parts that compose the system.

In the event of not taking advantage of this backend there needs to be a way to expose the versions of the parts independently from the bits they provide for individuals to be able to figure out what version of the system they are running that leads to better issue reporting.

User stories

User wants to report an issue:

  • Opens settings application
  • Goes to the "About" panel
  • Expands the information on OS
  • Takes note of the versions being run

...

Versions

From channel

The versions composed by the channel, if available, shall be taken by quering the system-image daemon running on the device by quering it's Info method on the com.canonical.SystemImage service with object path of /Service on the com.canonical.SystemImage interface.

This call returns a dictionary in one of it's out arguments which are the versions of the parts; from this dictionary, of interest are

device

labeled Device Image part

ubuntu

labeled Ubuntu Image part

If these keys are not available, these parts shall be hidden from the user interface.

Additionally, the simplified version shall be exposed and if not available, it shall display that it is not a proper image based server composed image. It shall be labeled OS build number.

From image parts

There are three parts of interest,

device

labeled Device build description and it's value taken from the ro.build.display.id android build property

ubuntu

labeled Ubuntu build description and it's value taken from /etc/media-info

custom

labeled Customization build description and it's value taken from /custom/build-id

If any of these keys are empty or not available, they shall not be displayed.

Viewing

TODO: design sign off

Accessing the build details shall be accomplished by reaching changing the OS entry in the About panel into a progressive one and pushing a page stack onClick.

Composing all the keys and their values, the case where there is no customization shall look like: build_details.png

A view with a customization image:

build_details_custom.png

Issue Reporting

For automated issue reports and better tracking for the individual that needs to triage it the afformentioned items shall be added to the payload when creating either new bugs through ubuntu-bugs or automated ones through whoopsie.

Unresolved issues

This specification does not take consideration about the format of the displayed text string taken for displaying the image parts' version.


CategorySpec

Touch/Version (last edited 2014-06-25 13:17:46 by sergiusens)