alisw / alibuild

A simple build tool for ALICE software
http://alisw.github.io/alibuild/
GNU General Public License v3.0
24 stars 46 forks source link

Support for "hierarchies of git repositories" as sources of recipes #409

Open sawenzel opened 7 years ago

sawenzel commented 7 years ago

As a user I want to be able to create build recipes for situations in which a git repositories are hooked into mother git repositories (this is the case for instance for clang as part of llvm).

This is not supported by alibuild at the moment and currently requires the creation of a custom flat git repository (for llvm + clang) as a workaround.

ktf commented 7 years ago

Agreed. We should have a way to combine more than one source into one checkout area, with all the goodies which alibuild provides in terms of caching sources and spotting differences to minimise rebuilds. One solution would be to introduce:

additional_source:
  "mount_point": "git repository url"

for example we could have:

sources: https://github.com/llvm/llvm
additional_sources:
  "modules/clang": "https://github.com/llvm/clang"

Am I missing anything?

ktf commented 7 years ago

One question is how do we expect development packages to work. Will the user have to setup everything by himself? Or maybe this also requires support on alibuild init side.

sawenzel commented 7 years ago

I think your suggestion should cover the most important (if not all) use cases. And yes, it would be very practical if alibuild init could checkout the complete developing area automatically. We should then probably assume that all of the sub-repositories have the same branch or tag names?

ktf commented 7 years ago

We could use the usual syntax:

<repo>@<tag>

to mix match things.