Added introductory training notes as a new documentation page.
Revisions as per Daniel's suggestions
providers:checkbox: convert bluetooth/audio to use pulseaudio
checkbox-support: increment version to 0.9c1
plainbox: increment version to 0.12c1
checkbox-ng: increment version to 0.10c1
plainbox:unit:validators: fix compute_value_map()

This patch fixes an issue in the compute_value_map() helper function that would
previously crash with AttributeError if it attempted to probe an unit for a
property that that particular unit does not support.

This got evident when the file unit started to show up but obviously didn't
have the 'id' field. Now such units are simply ignored (since they don't have a
value for the field it makes sense). Note that this is distinct from having a
None value which is supported and works (and did work) correctly.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:unit:file: add FileUnit

This patch adds FileUnit. A virtual unit (one that is not typically expected to
be created by anyone explicitly) for describing files that belong to a
provider. The unit has two essential fields: path and role. Path is simply
pointing to an actual file. The role describes the way that particular file is
expected to be used.

Currently the following roles are defined:
 - unit definition file (unit-source)
 - legacy whitelist (whitelist)
 - architecture independent executable (script)
 - architecture dependent executable (binary)
 - data file (data)
 - translation catalog (i18n)
 - management script (manage.py)
 - license & copyright (legal)
 - documentation (docs)

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:docs: add plainbox-file-units(7) manual page

This patch adds a manual page for the 'file' unit type.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:secure:providers: add UnitPlugIn.synthethize_virtual_units()

This patch adds a new method to the UnitPlugIn class that is is used to
synthetize (create) virtual units (units that are not defined by the provider
author explicitly). Currently this only creates a FileUnit

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:provider_manager: specialize unit display in manage.py info

This patch tweaks 'manage.py info' to display 'file' and 'job' units separately
from all other units. This patch is evolutionary and as we get more units and
more experience on what the users are interested in, the output of 'manage.py
info' will continue to change.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
"automatic merge by tarmac [r=roadmr][bug=][author=zkrynicki]"
providers:checkbox: make hdd_parking more resilient to hdapsd absence
providers:checkbox: make disk/hdd-parking job require hdapsd
"- Added hdapsd to the disk parking job's requirements (won't even run if hdapsd is not installed)
- Fixed the parking script so it exits with a proper error message instead of a horrible backtrace and exception. [r=zkrynicki][bug=][author=roadmr]"
plainbox:exporters:xlsx: Handle missing descriptions in test results
"plainbox:exporters:xlsx: Handle missing description in test results

Tests with no description are considered broken, but they can still sneak in, this helps avoid the xls exporter crash in those cases. [r=zkrynicki][bug=1366464][author=roadmr]"
plainbox:docs: add FAQ related to .pxu files

This patch adds a FAQ (frequently asked questions) document so that we can have
a central place to point users to some of the issues they encounter.

In addition, it contains the answer to question raised in
https://bugs.launchpad.net/plainbox/+bug/1367800

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:unit:file: refer to the FAQ in the advice to use .pxu files

Fixes: https://bugs.launchpad.net/plainbox/+bug/1367800

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
"automatic merge by tarmac [r=roadmr][bug=1367800][author=zkrynicki]"