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 depot.genode.org http://depot.genode.org,? 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, depot.genode.org 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 repository.
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 'wm.run' 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.
Cheers Norman