Hi Guido,
- 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.
- 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.
- 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