Ubuntu Touch release process: From code to image update

Slashdot it! Delicious Share on Facebook Tweet! Digg!

The Archives and Clicks

As mentioned before, Ubuntu Phone uses the same packages as the desktop version – at least for its core components, which are things like the user interface, libraries, and some drivers. All of this is provided by .deb packages fetched from the standard Ubuntu archives.

As of this writing, the current Ubuntu Touch devices are based off the vivid series, extended with additional changes from a special stable phone overlay. This overlay PPA includes Touch-specific packages installed on top of the vivid base system. For those with more advanced knowledge: Phones use the vivid, vivid-updates, vivid-security, and the overlay packages in their root filesystems.

Besides the core components, Ubuntu Phone also introduced the notion of a click package. A click package is a simpler, more confined and secure package alternative specific to Ubuntu. All applications available for download from the Ubuntu Phone store are click applications.

Generally, each image comes with a set of pre-installed click core applications. Although their upgrades are mostly managed through the store itself – appearing on user phones instantly after being published to the store – each OTA update also comes with those packages updated as well. Some are pre-installed on the root filesystem during build, and others come as part of something called the custom tarball.

This tarball can be different for each device, shipping different specific applications. Every phone is different, and every manufacturer can request different things installed by default. The custom tarball is the place for this customization. Each device also has its specific device tarball including all low-platform specifics. Now, using packages from the archive, clicks from the store, the custom and device tarballs, an Ubuntu Phone image is built.

Images and Channels

When an image is built, it gets picked up by the system-image infrastructure and put into an image channel according to the internal configuration. Multiple sets of channels currently are available, with the most important being: stable, rc, rc-proposed, devel, and devel-proposed [3]. Figure 4 shows the general channel layout used currently. Be aware that this layout changes very dynamically. All the daily-built images that can become potential new stable candidates use the rc-proposed channels.

Figure 4: The general Ubuntu Touch image channel layout and hierarchy.

Even though all the changes that land in rc-proposed images have been pretested by the QA team before their release to the Ubuntu archives, it's still not recommended to use this channel in production devices. There's still risk of important features regressing – or even images not booting completely.

The only recommended channels are the stable ones. Some channels automatically pick new images – others require explicit image copy requests. The rc and stable channel sets are manual channels, meaning that they only get new images when someone from the Landing Team performs an image promotion to the next level.

Buy this article as PDF

Express-Checkout as PDF

Pages: 4

Price $0.99
(incl. VAT)

Buy Ubuntu User

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content