Sorry, I missed one of the questions, but it requires a longer answer anyway.

On Tue, Nov 3, 2020 at 5:56 AM Daniel Cordero <gentoo.catal...@xxoo.ws> wrote:
> How would a target that depends on a different rel_type work? Forks in
> the dependency tree.

I haven't given that a lot of thought yet, but it's something I would
like to have a plan for.

We build 32-bit and 64-bit systemd and non-systemd stages on SPARC, as
well as a bootable ISO.

32-bit     systemd: stage1 -> stage3
32-bit non-systemd: stage1 -> stage3
64-bit     systemd: stage1 -> stage3
64-bit non-systemd: stage1 -> stage3 -> livecd-stage1 -> livecd-stage2
(We skip stage2)

This means that we have some build chains that are entirely
independent from one another and could actually run in parallel. E.g.,
a 32-bit build could happen at the same time a 64-bit build runs
without any conflicts. Our SPARC system has 256 threads, so it would
like to build in parallel if possible.

Similarly, a stage1 build from one of the 32-bit build chains could
happen in parallel with a stage3 build from the other. We wouldn't
want to run the same type of build concurrently if they share a binary
package cache, because we would inevitably spend CPU cycles doing
duplicate work. E.g., the systemd stage3 build running in parallel
with the non-systemd stage3.

Whether all of those build chains should be specified in the same
".build" file... I don't know. It seems like it could get a bit
unwieldy.

Maybe we could have a top-level ".build" file that references each of
these build chains, described in other files? If we did that, that
would certainly allow us to specify a different rel_type per chain.

I'm not aware of cases where we'd want different rel_types in the same
chain. Do you know of such a case?

Reply via email to