Modified backend_info to use pkexec (with a last-ditch fallback to plain sudo)
Added policy file to enable secure launch of backend
Bringing debian/control up to date with checkbox-packaging branch
Remove dependency on gksu, add dep for policykit-1 (pkexec)
plugins/launchpad_report.py - Don't include attachments which have a status
of 'unsupported' (LP: #1196531)
plainbox:signal: copy signal code form checkbox-old/checkbox/dbus/udisk2.py

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:signal: add support for first responder

This patch makes each signal implicitly call the decorated function
as the fist responder. It can be used to log events or for any other
purpose.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
"[r=zkrynicki][bug=1196531][author=brendan-donegan] automatic merge by tarmac"
"[r=zkrynicki][bug=1097816][author=roadmr] This removes the deprecated gksu privileged execution mechanism, and replaces it with pkexec, along with a policy file so the backend can launch graphical programs and ask for proper authorization.
"
"[r=zkrynicki][bug=][author=zkrynicki] automatic merge by tarmac"
plainbox:result: make IOLogRecordWriter work for regular tuples

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:runner: add IOLogRecordGenerator

This helper extcmd delegate can consume extcmd output and create
IOLogRecord objects. Listeners can use the on_new_record signal to
do something useful with them

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:runner: update class name in docstrings

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:runner: use IOLogGenerator instead of CommandIOLogBuilder

This patch changes the flow of _run_command() to split into the new
_prepare_io_handling helper. Instead of using CommandIOLogBuilder it
uses the new IOLogGenerator to append subsequent recorts to a simple
list.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:runner: remove CommandIOLogBuilder

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plugins/subunit_report.py - Prevent crash when job output contains 
non-ASCII characters (LP: #1196838)
"[r=sylvain-pineau][bug=][author=zkrynicki] automatic merge by tarmac"
plainbox:session:state: fix leftover after dropping JobResult.job

This fixes handling local jobs. I've also added some tests that verify
this bit works correctly.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:runner: stream all IOLogRecords to disk

This patch extends the current behavior of handling job command process
output. Previously we were streaming stdout and stderr to dedicated text
files (basically for convenience and debugging). In addition we were
also saving a big json dump at the very end (serialization of
IOLogRecords) which is currently used by JobResult to handle io_logs.

This patch adds a streaming behavior where each IOLogRecord is written,
as it gets generated, to a new ".record" file. This record file will
later replace all other files (when MemoryJobResult and DiskJobResult
replace the current JobResult class). It has the advantage of not using
O(N) memory and not needing to be serialized when creating session
checkpoints/snapshots.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:runner: gzip compress IOLogRecord stream

This patch changes the extension of record files to .record.gz and
uses gzip to compress them. My casual testing shows about x10 reduction
in size as compared to the regular .json file we also generate.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>