Depot Packages

Norman Feske norman.feske at ...1...
Tue Jun 6 16:59:09 CEST 2017

Hi Ben,

thanks for your interest in Genode's depot tools! :-)

On 02.06.2017 19:50, Nobody III wrote:
> The new depot packaging system is great, but the current set of
> available packages is rather limited, especially when it comes to binary
> packages. I'd like this to change, and I'd be happy to be involved, but
> I don't know what to do, so could someone please answer the following
> questions:
> Are there plans to provide a complete set of pre-built packages
> (including for x86_64) to the online repo?

yes. But we have to start somewhere. Right now, the few prebuilt
packages are mere examples that accompany the documentation. This will
of course change soon, once the depot enters our regular work flow.

The depot is deliberately structured in a way that everyone (e.g., you
and me) may assert the role of a distributor. So in principle you can
put a complete set of binary archives online without involving Genode
Labs at all.

> How do I make my own repo publicly available? I have built most of the
> packages myself, and have published them locally, but I need to upload
> them. Can I get my own packages hosted on
> <>,? If not, can you suggest where else I should
> publish them?

Your public/ directory can be uploaded to whichever hosting service you
like best, e.g., using rsync or a similar tool. We (Genode Labs) won't
offer hosting services. Hence, will be reserved for the
official archives, and as a playground for a few of the core developers.

That said, we may - if you like - add your download location and public
key to the depot of the official Genode source tree so that users can
fetch archives from you without any configuration needed.

> How should I go about writing depot recipes for various ports (e.g. qt5)?

Qt5 is the most difficult port because we need to come up with a good
idea for storing the ABIs of those libraries (which are incredibly
huge). We will address this soon. I would recommend you to start with
recipes for simpler software, e.g., the components of the genode-world

The best approach is to pick an interesting run script and replace the
components (in the 'build' and 'build_boot_image' commands) step-by-step
by depot content (adding depot content to the 'import_from_depot'
command). This is what I did for the '' script. It gives you
immediate satisfaction as the run script gets simpler and simpler with
each step. Recipes are created almost like a side effect.

Please open an issue before starting to work on a particular part - just
to avoid others working on the same topic in parallel. When creating
recipes for libraries, you will need to create ABIs for such libraries.
Here, the tool/abi_symbols utility becomes handy. It creates a symbols
file out of a shared object. However, you will still need to manually
inspect and possibly curate the result.

As for how to create recipes, please take the existing ones as examples.
There are already over 80 recipes available in the source tree.


Dr.-Ing. Norman Feske
Genode Labs ·

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list