I want to creates a package from multiple Github repositories. All repos access each other using relative path. I am able to pull the repos using following construct in my derivation:
But I can not refer other repo from one repo using relative path as they are unpacked in parallel directories with a hash prepended in there name. Is there any way to unpack them to a defined directory without the hash?
When using srcs you are supposed to copy your sources into the build dir appropriately during installphase, from there they should be able to reference themselfes appriorpiately.
Another way was to patch them after fetch, which is only possible though if there are no circular references.
Last but not least: You really have to fetch those upstream. Reposirories expecting to be checked out like this really are the hell to work with…
If they need to be like that, then they are effectively a monorepo and should be treated like that.
Using submodules is not “monorepo”. In my opinion it is neither properly seperated projects nor monorepo and should be forbidden as it is forbidden to drive faster than c…
Anyway… I totally do not understand what you do in your current steps nor how it is supposed to be done in practice.
Can you perhaps share the actual project or a minified reproducer?
Now I am stuck as some of the tools wants to find the file executable at /usr/bin/file. This and other hardcoded locations need to be patched out of the build tooling.
And to be honest, if there will be no writes in the BR2_EXTERNAL, then it is not necessary to have the submodules, but then one can use a derivation for the external stuff and just set the env-var appropriately pointing to it.