Need help understanding packaging
Norman Feske
norman.feske at genode-labs.com
Tue Jul 3 14:55:22 CEST 2018
Hi Guido,
> 1. As I'm in the role of system integrator (not genode developer), I
> originally placed my feather-package in genode/projects/feather and
> added that path to REPOSITORIES in genode/build/x86_64/etc/build.conf.
> While that works for the make run/feather mechanism, it does not work
> for the packaging. That requires the source code in
> genode/repos/feather. It's in the manual but was my first stumbling block.
you may keep your code anywhere you like by creating a symlink
'<genode>/repos/feather' pointing to the location of your code.
> 3. The part where I found the documentation lacking was the description
> of the content.mk file. The documentation did not lead me to a working
> version. Ultimately, I copied the one from gems/.../depot_deploy and
> adapted it.
It's certainly the best to take an existing recipe as reference. As far
as documenting the process of creating a 'content.mk' file goes, it is
not easy to find a useful level of detail.
> After that depot/create worked. It gave me a depot/guido/src/feather
> directory with the same structure as my repo/feather.
>
> Question: do you foresee that third party developers place their git
> source in repos/<developer> like I did or in depot/<developer> and
> bypassing that recipes/hash/content.mk part.
Similar to hosting a symbolic link '<genode>/repos/feather', you may in
principle host a symbolic link in '<genode>/depot/guido/src/feather',
pointing to your source tree. I admittedly haven't tried this but you
may give it a try. Note, however, that the publish step would archive
the entire content of the directory. So it might be preferable to have a
tool (makefile) in place to assemble the content.
> 4. I did a depot/build guido/bin/x86_64/feather/2018-06-30 KEEP_BUILD_DIR=1
> That gave me this error:
> Makefile: 131: *** "g++ version 6.3.0 is required, we got
> /usr/bin/g++".
This is strange. Have you successfully built one of Genode's binary
archives, e.g., guido/bin/x86_64/report_rom? If this works, what is the
difference between your src archive and report_rom's? By any chance, do
you happen to have an 'etc/' or 'mk/' directory in your archive? This
shouldn't be.
> I added that last part to builddir/build.mk to diagnose what compiler
> ran. It seems that this code in
> depot/guido/biI think, given that there are plentiful examples to learn from, n/...<version>.build/etc/tools.conf expects SPECS to be
> just x86_64 while specs.conf contains: SPECS += genode x86_64
> ifeq ($(filter-out $(SPECS),x86_64),)
> CROSS_DEV_PREFIX ?= /usr/local/genode-gcc/bin/genode-x86-
> endif
> It left CROSS_DEV_PREFIX unset, falling back to the compiler in $PATH.
>
> Is this a bug or did I miss something?
This is a follow-up problem of the one above. I recommend experimenting
with Genode's existing packages first, and then comparing your's with those.
Cheers
Norman
--
Dr.-Ing. Norman Feske
Genode Labs
https://www.genode-labs.com · https://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · SYyitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
More information about the users
mailing list