On Wed, May 20, 2020 at 4:00 PM Michael 'veremitz' Everitt <[email protected]> wrote: > > On 20/05/20 04:42, Matt Turner wrote: > > We currently have two mechanisms of setting MAKEOPTS: in spec files and > > in catalystrc. > > > > Setting makeopts in spec files doesn't make sense. The spec should > > describe the thing that's being built and not contain options that are > > specific to the build system. > > > > Setting makeopts via catalystrc is better, but it only applies to the > > actual build system invocations, leaving emerge to run jobs serially or > > again requiring configuration specific to the build machine to be put > > into the spec file. For example: > > > > update_seed_command: ... --jobs 5 --load-average 5 > > > > With jobs and load-average specified in catalyst.conf, catalyst has the > > information required to configure both emerge and the build systems > > emerge executes. > > > > This removes the undocumented makeopts spec file option and replaces it > > with jobs and load-average settings in catalyst.conf. > > > > Signed-off-by: Matt Turner <[email protected]> > > --- > > catalyst/base/stagebase.py | 12 +++++------- > > catalyst/defaults.py | 2 ++ > > doc/catalyst-config.5.txt | 15 ++++++++++++--- > > etc/catalyst.conf | 8 ++++++++ > > etc/catalystrc | 3 --- > > targets/support/chroot-functions.sh | 8 ++++++++ > > 6 files changed, 35 insertions(+), 13 deletions(-) > NACK. This and patch 20 make it impossible to customise specs for different > arches/subarches/libc/etc using different distcc_hosts with varying numbers > of hosts and/or cores available. In many cases, you may not be able to set > up identical distcc 'farms' or 'clusters' with the complete set of > toolchains/chroots applicable to a 'standard' installation, due to hardware > limitations.
I don't follow. You mention varying distcc hosts per arches/subarches/libc. Let's say there are 4 systems on the network. 3x amd64 systems and 1 mips system. If I'm compiling for amd64 on system and I'm using distcc, there's a fixed number of distcc hosts on the network, aren't there? If I'm building for mips on the mips system with cross compilers installed on, say two of the amd64 systems, then there's a fixed number of distcc hosts on the network, aren't there? So, I don't think arches (or subarches) has any bearing. And for different libcs, distcc doesn't have any bearing on that, does it? distcc (without pump mode, which has been removed from Gentoo) sends preprocessed source files across the network, so what libc you have doesn't have any bearing either. You seem to be thinking that setting a single system-wide distcc_hosts is somehow limiting, but I can't see how. Please explain.
