Hi Guido,
I think I start to get the hang of the depot system. However, I get this behaviour with missing depencencies:
$ tool/depot/create guido/src/feather created guido/src/feather/2018-07-04-c
$ tool/depot/build guido/bin/x86_64/feather/2018-07-04-c KEEP_BUILD_DIR=1 ... Library description file libc_lwip.mk is missing Library description file libc_lwip_nic_dhcp.mk is missing created guido/bin/x86_64/feather/2018-07-04-c
But that directory is completely empty.
this can be explained: The binary archive is built by creating a build directory with all src and api archives incorporated as REPOSITORIES, and executing 'make' within this build directory. The latter will build all targets that are available under this build-directory configuration. It's the regular build system of Genode at work. If it encounters a target that cannot be built because a library is missing or a SPEC value is not set, it prints a message, skips the target, and proceeds with building all other targets.
Since your src archive has no other target, the <build-dir>/bin/ directory remains empty. From the perspective of the depot/build tool, the package is complete. The tool does not care about the content of bin/ (or the absence of any content). It just copies is to the binary archive.
So the problem comes down to the missing library definitions as printed in the messages.
There are no API archives for those because they are meant to be replaced by the VFS-based networking stacks like the vfs_lxip plugin. So it is not worth further cultivating those old libraries. As reference of how to use and configure lxIP, you may find the fetchurl.run script [1] useful. BTW, an lwIP-based VFS plugin is currently in the works too [2].
[1] https://github.com/genodelabs/genode/blob/master/repos/libports/run/fetchurl... [2] https://github.com/genodelabs/genode/issues/2335
Running the command a second time give me:
make[1]: Nothing to be done for 'all'.
That is because the binary archive was built already. Granted, it's empty. But rebuilding it would also create an empty one.
As there are missing dependencies, I'd expect the second run to give the same error as the first run, not a message that everything is fine. To retry I currently rm -r depot/guido and create and build again or add the REBUILD=1 flag.
The REBUILD flag must be combined with FORCE=1 as it tweaks the operation of FORCE. FORCE=1 implies REBUILD=1.
Cheers Norman