On 24/03/09 12:59AM, Mattias Andrée wrote: > I agree, a single repo (or alternatively making libutil it's own repo) is > necessary if we want one binary, and I think we do.
Compiling all programs into one binary is currently an option, and IMHO it should remain an option. In my own toy distro[1] based on Musl-LFS and using sbase and ubase I compile all programs from {s,u}base separately. The reasons why I consider that beneficial over a single executable include, but are not limited to: - Easier to maintain: if an administrator decides a utility is unnecessary or shouldn't be available, it comes down to rm-ing the file vs recompilation of the entire *box. - More robust: in case of disk corruption, all of the utilities are unavailable vs only those affected. - Fine-grained control: separate programs can be compiled using specific compilation options (eg. -g -O0) vs all of the programs sharing compilation options. etc. > Even if submodules was possible, I do not think they are a good solution. What makes the git submodules not possible? > Using submodules is unpleasant and pointless since all could is under our > control. I think submodules should only be used for code that you do not > have control over but need the source code for. Either you have separate > repos and have normal compile time dependencies (require that the libraries > are installed) or you put everything in one place, one repo. Everything in the quoted part seems personal preference. Git submodules offer a way to easily establish a hierarchy of git repositories while keeping them as separate "units". So the libutil differs in sbase and ubase. Great, combine the two versions of libutil into a single, separate libutil repository, then have a directory hierarchy like this: corebox ├──sbase (portable only) \ ├──ubase (nonportable) depend on libutil.so and/or libutil.a ├──xbase (non-POSIX) / └──libutil (option to produce .so and/or .a) [1]: https://strahinja.srht.site/galeb