Initial specification of the checkbox launcher language

Zygmunt Krynicki zygmunt.krynicki at
Thu Jan 28 22:21:08 UTC 2016

On Mon, Jan 25, 2016 at 9:15 AM, Pierre Equoy
<pierre.equoy at> wrote:
> Hi Zygmunt,
> I've added a few comments to the document.

Thanks, I'll check them out.

> Also, how does a launcher technically work? I mean how does adding a shebang
> line and embedding the parameters as INI-like sections work? (this is what
> the current checkbox-cli tool is doing but I'm not sure to understand how).

The same way saying #!/usr/bin/python3 does. If a file is marked as
executable and the first two bytes are #! then the kernel will read
the first line of the file and use it as an interpreter. The
interpreter will be invoked with the name of the file (the launcher
file in this case). The launcher interpreter reads the INI file and
the rest is obvious, we can do anything at that stage.

> Cheers,
> On Fri, Jan 22, 2016 at 6:03 PM, Zygmunt Krynicki
> <zygmunt.krynicki at> wrote:
>> Hey
>> We had a small call (Sylvain, Pierre, Maciek and me) to discuss the
>> launcher language.
>> You can have a look at the initial specification [1] for what we want
>> to build here.
>> For some back story. Launchers are declarative programs that run
>> checkbox in a given way. Currently we have launchers with a set of
>> ill-designed features that exposed various bits and pieces of
>> checkbox's development history that is not maintainable or easily
>> comprehensible.
>> The design of the new language is based on simple principles:
>> - Launchers expose useful features of the Session Assistant
>> - Launchers have sane defaults for interactive testing
>> - Launchers fit the common cases. Everything else is a custom executable.
>> With this in place, we can generate correct python code from any
>> launcher, to use as a starting point in creating custom solutions. New
>> features, unless they are crystal-clear, should be first prototyped as
>> executables so that we don't repeat the same mistakes.
>> Best regards
>> ZK
>> [1]
>> --
>> Checkbox-devel mailing list
>> Checkbox-devel at
>> Modify settings or unsubscribe at:
> --
> Pierre Equoy
> QA & Certification Engineer | Canonical
> |

More information about the Checkbox-devel mailing list