Discussion:
Depot Packages
Nobody III
2017-06-02 17:50:45 UTC
Permalink
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?

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,? If not, can
you suggest where else I should publish them?

How should I go about writing depot recipes for various ports (e.g. qt5)?
Norman Feske
2017-06-06 14:59:09 UTC
Permalink
Hi Ben,

thanks for your interest in Genode's depot tools! :-)
Post by Nobody III
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
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.
Post by Nobody III
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.
Post by Nobody III
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
--
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Nobody III
2017-06-07 00:31:29 UTC
Permalink
I have gotten my depot repository setup on github, and created a pull
request that adds it to the available sources. Could you please merge it?
Post by Norman Feske
Hi Ben,
thanks for your interest in Genode's depot tools! :-)
Post by Nobody III
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
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.
Post by Nobody III
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.
Post by Nobody III
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
--
Dr.-Ing. Norman Feske
Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
GeschÀftsfÌhrer: Dr.-Ing. Norman Feske, Christian Helmuth
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
genode-main mailing list
https://lists.sourceforge.net/lists/listinfo/genode-main
Continue reading on narkive:
Loading...