Difference between revisions of "16.03/ReleaseNotes"

From Apertis
Jump to: navigation, search
(Initial import)
 
(Apertis 16.03 Release: Add features I have worked on)
Line 54: Line 54:
 
This release builds on the Ubuntu 15.10 (Wily) release as its base distribution. The 16.03 release has been verified in the [[16.03/TestReports/20151216|16.03 test report]].
 
This release builds on the Ubuntu 15.10 (Wily) release as its base distribution. The 16.03 release has been verified in the [[16.03/TestReports/20151216|16.03 test report]].
  
== <<Placeholder feature>> ==
+
== Sensors and Actuators design and implementation ==
 +
 
 +
Further improvements have been made to the [[ConceptDesigns|Sensors and Actuators design]], and implementation has started on the first phase of the core functionality for the vehicle device daemon it describes. An initial preview of the APIs it recommends has been produced and made available for applications and third-party backends to start being based around, although it is likely to change to some extent in the future. Work will continue on this for the 16.06 release.
 +
 
 +
== Geolocation and Navigation design ==
 +
 
 +
Many changes have been made to the navigational parts of the [[ConceptDesigns|Geolocation and Navigation design]], which is now finalised and is [[#Geocoding improvements|starting to be implemented upstream]]. Implementation will continue for the 16.06 release.
 +
 
 +
== Geocoding improvements ==
 +
 
 +
Parts of the geolocation design have started to be implemented in upstream projects, [https://www.freedesktop.org/wiki/Software/GeoClue/ GeoClue] and [https://developer.gnome.org/geocode-glib/stable/ geocode-glib], including limiting geocoding search results by radius, and geofencing support. These are due to start being integrated in the 16.06 release. All this work is being done and integrated upstream.
 +
 
 +
== Status Framework design ==
 +
 
 +
An initial draft of the [[ConceptDesigns|Status Framework design]] has been produced, and will be developed further for the 16.06 release. It is a high-level design for how applications can report status information, in a variety of categories, to the ‘home screen’.
 +
 
 +
== Containerisation design ==
 +
 
 +
A high-level [[ConceptDesigns|containerisation design]] has been produced, which explores various approaches to enforcing file system and process namespaces on applications running on the system (all of these systems are based around [https://en.wikipedia.org/wiki/Cgroups cgroups]). This work may be researched and developed further in future to augment the existing security systems in Apertis.
 +
 
 +
== Debug and Logging design ==
 +
 
 +
The [[ConceptDesigns|Debug and Logging design]] has been updated, and various of its recommendations have started to be implemented, with the initial implementations planned to land in the 16.06 release, mostly focusing on ensuring consistent logging from all parts of the system to the systemd journal, and allowing developers and trusted parties access to those logs.
 +
 
 +
At the GNOME DX hackfest, a detailed plan for improving the [https://developer.gnome.org/glib/stable/glib-Message-Logging.html logging API in GLib] was discussed and approved, and implementation has [https://bugzilla.gnome.org/show_bug.cgi?id=744456 started upstream] on it. This is intended to land in the 16.06 release, bringing support for structured logging to GLib and improving its log handling API.
 +
 
 +
== Text to Speech design ==
 +
 
 +
The initial [[ConceptDesigns|Text to Speech design]] has been expanded and finalised, and initial implementation has begun, including adding new packages to the repositories (Pico TTS).
 +
 
 +
== Linting ==
 +
 
 +
As part of the gradual improvements to the contribution process, [https://secure.phabricator.com/book/phabricator/article/arcanist_lint/ Phabricator’s linting support] has been added to Canterbury as a testing ground, with the intention of applying it to other modules next quarter. It automatically checks for common problems with submitted patches, reducing the need for manual review.
 +
 
 +
== GIR support in Apertis libraries ==
 +
 
 +
Continuing from the [[15.12/ReleaseNotes#GIR support in Apertis libraries|work done on this in 15.12]], further work has been done to other Apertis libraries to ensure their APIs are suitable for gobject-introspection (GIR). This is needed for the hotdoc documentation tool and for exposing those SDK APIs in languages like JavaScript and Python, especially in the web runtime. Work from the previous cycle and this cycle has landed for 16.03.
 +
 
 +
The modules affected during this cycle are: libwickham, Frome, Tinwell, Prestwood, Newport, Frampton, Corbridge, Chalgrove, libseaton, libgrassmoor, libclapton.
 +
 
 +
== Module code and design review ==
 +
 
 +
The designs and code for libwickham (webview library) and libalton (maps library) have been reviewed, and feedback provided so that improvements can be made to them in future. Some of these improvements have been made already as part of the [[#GIR support in Apertis libraries|GIR support work]].
  
 
== Infrastructure ==
 
== Infrastructure ==

Revision as of 09:01, 10 March 2016

Apertis 16.03 Release

16.03 is the current stable development distribution of Apertis, a Debian/Ubuntu derivative distribution geared towards the creation of product-specific images for ARM (ARMv7 using the hardfloat ABI) and Intel x86 (64/32-bit Intel) systems. Features which are planned for Apertis can be found on the Roadmap page.

What's available in the distribution?

The software stack in 16.03 is comprised of the following technologies:

  • Linux 4.2
  • Graphical subsystem based on X.org X server 1.17.2 and Clutter 1.22.4 with full Multi-Touch support
  • Network management subsytem provided by ConnMan 1.27, BlueZ 4.101 and Ofono 1.14
  • Multimedia support provided by GStreamer 1.0
  • The Telepathy framework, with XMPP and SIP support
  • The Folks contact management framework
  • The Clutter port of the WebKit browser engine with support for WebGL
  • The GTK+ port of WebKit with features from WebKit Clutter ported to it and a ClutterActor wrapper
  • Size scaled down Apertis image
  • Graphical subsystem image based on Wayland protocol 1.8.1

What's new in the distribution?

  • <<Placeholder feature>>

Release downloads

Apertis 16.03 images
Intel 32-bit Intel Target Image Intel Development Image Intel SDK Image
Intel 64-bit / Minnowboard MAX Intel 64 bit Target Image Intel 64 bit Development Image Intel 64 bit SDK Image

Apertis 16.03 repositories

 deb https://repositories.apertis.org/apertis/ 16.03 target helper-libs development sdk hmi

Apertis 16.03 infrastructure tools

For Debian Jessie based systems:

 deb https://repositories.apertis.org/debian/ jessie tools

For Ubuntu Trusty based systems:

 deb https://repositories.apertis.org/ubuntu/ trusty tools

Apertis 16.03 Release

This release builds on the Ubuntu 15.10 (Wily) release as its base distribution. The 16.03 release has been verified in the 16.03 test report.

Sensors and Actuators design and implementation

Further improvements have been made to the Sensors and Actuators design, and implementation has started on the first phase of the core functionality for the vehicle device daemon it describes. An initial preview of the APIs it recommends has been produced and made available for applications and third-party backends to start being based around, although it is likely to change to some extent in the future. Work will continue on this for the 16.06 release.

Geolocation and Navigation design

Many changes have been made to the navigational parts of the Geolocation and Navigation design, which is now finalised and is starting to be implemented upstream. Implementation will continue for the 16.06 release.

Geocoding improvements

Parts of the geolocation design have started to be implemented in upstream projects, GeoClue and geocode-glib, including limiting geocoding search results by radius, and geofencing support. These are due to start being integrated in the 16.06 release. All this work is being done and integrated upstream.

Status Framework design

An initial draft of the Status Framework design has been produced, and will be developed further for the 16.06 release. It is a high-level design for how applications can report status information, in a variety of categories, to the ‘home screen’.

Containerisation design

A high-level containerisation design has been produced, which explores various approaches to enforcing file system and process namespaces on applications running on the system (all of these systems are based around cgroups). This work may be researched and developed further in future to augment the existing security systems in Apertis.

Debug and Logging design

The Debug and Logging design has been updated, and various of its recommendations have started to be implemented, with the initial implementations planned to land in the 16.06 release, mostly focusing on ensuring consistent logging from all parts of the system to the systemd journal, and allowing developers and trusted parties access to those logs.

At the GNOME DX hackfest, a detailed plan for improving the logging API in GLib was discussed and approved, and implementation has started upstream on it. This is intended to land in the 16.06 release, bringing support for structured logging to GLib and improving its log handling API.

Text to Speech design

The initial Text to Speech design has been expanded and finalised, and initial implementation has begun, including adding new packages to the repositories (Pico TTS).

Linting

As part of the gradual improvements to the contribution process, Phabricator’s linting support has been added to Canterbury as a testing ground, with the intention of applying it to other modules next quarter. It automatically checks for common problems with submitted patches, reducing the need for manual review.

GIR support in Apertis libraries

Continuing from the work done on this in 15.12, further work has been done to other Apertis libraries to ensure their APIs are suitable for gobject-introspection (GIR). This is needed for the hotdoc documentation tool and for exposing those SDK APIs in languages like JavaScript and Python, especially in the web runtime. Work from the previous cycle and this cycle has landed for 16.03.

The modules affected during this cycle are: libwickham, Frome, Tinwell, Prestwood, Newport, Frampton, Corbridge, Chalgrove, libseaton, libgrassmoor, libclapton.

Module code and design review

The designs and code for libwickham (webview library) and libalton (maps library) have been reviewed, and feedback provided so that improvements can be made to them in future. Some of these improvements have been made already as part of the GIR support work.

Infrastructure

Updated packages

During Q4 cycle, several activities have been carried out to be able to rebase Apertis against new upstream base (Ubuntu Wily Werewolf), updating the platform with new features and updated for bug and security fixes. A total of 200 packages have been modified out of 509 in target component; 171 packages out of 1155 in development component; and 92 out of 528 in SDK.

SDK component now supports a new architecture, 64 bit Intel, and a new platform image is provided for that architecture.

In addition to base distribution, a new repository component for helper libraries ("helper-libs") have been added to the repository, with the purpose of allowing target applications to build on top of those. HMI packages have also been updated to their latest stable version.

OBS Build Projects

Shared Repositories

Repositories are found at:

 deb https://repositories.apertis.org/apertis/ 16.03 target helper-libs development sdk hmi

Images

Image daily builds, as well as release builds can be found at:

 https://images.apertis.org/

Image build tools can be found in the Apertis tools repositories. Note that a string is added to package version depending on the distribution suite based on. For example, if trusty system is to be used expect to install image-builder_7trusty1

Package Version
image-builder, image-tools 7
apertis-image-configs, apertis-image-scripts (*) 15
linaro-image-tools, python-linaro-image-tools 2012.09.1-1co38
parted, libparted0debian1 2.3-11ubuntu1co3
python-debian >=0.1.25

Test Framework

LAVA service at Collabora triggers test cases upon image builds, service is found at:

 https://lava.collabora.co.uk/

The list of available test cases, including those can be found here.

LAVA service packages are available in the Apertis tools repository. To be able to install it, please follow instructions

Known issues

  • #xxx - Buggy placeholder