1 |
On Wed, May 20, 2020 at 4:00 PM Michael 'veremitz' Everitt |
2 |
<gentoo@×××××××.xyz> wrote: |
3 |
> |
4 |
> On 20/05/20 04:42, Matt Turner wrote: |
5 |
> > We currently have two mechanisms of setting MAKEOPTS: in spec files and |
6 |
> > in catalystrc. |
7 |
> > |
8 |
> > Setting makeopts in spec files doesn't make sense. The spec should |
9 |
> > describe the thing that's being built and not contain options that are |
10 |
> > specific to the build system. |
11 |
> > |
12 |
> > Setting makeopts via catalystrc is better, but it only applies to the |
13 |
> > actual build system invocations, leaving emerge to run jobs serially or |
14 |
> > again requiring configuration specific to the build machine to be put |
15 |
> > into the spec file. For example: |
16 |
> > |
17 |
> > update_seed_command: ... --jobs 5 --load-average 5 |
18 |
> > |
19 |
> > With jobs and load-average specified in catalyst.conf, catalyst has the |
20 |
> > information required to configure both emerge and the build systems |
21 |
> > emerge executes. |
22 |
> > |
23 |
> > This removes the undocumented makeopts spec file option and replaces it |
24 |
> > with jobs and load-average settings in catalyst.conf. |
25 |
> > |
26 |
> > Signed-off-by: Matt Turner <mattst88@g.o> |
27 |
> > --- |
28 |
> > catalyst/base/stagebase.py | 12 +++++------- |
29 |
> > catalyst/defaults.py | 2 ++ |
30 |
> > doc/catalyst-config.5.txt | 15 ++++++++++++--- |
31 |
> > etc/catalyst.conf | 8 ++++++++ |
32 |
> > etc/catalystrc | 3 --- |
33 |
> > targets/support/chroot-functions.sh | 8 ++++++++ |
34 |
> > 6 files changed, 35 insertions(+), 13 deletions(-) |
35 |
> NACK. This and patch 20 make it impossible to customise specs for different |
36 |
> arches/subarches/libc/etc using different distcc_hosts with varying numbers |
37 |
> of hosts and/or cores available. In many cases, you may not be able to set |
38 |
> up identical distcc 'farms' or 'clusters' with the complete set of |
39 |
> toolchains/chroots applicable to a 'standard' installation, due to hardware |
40 |
> limitations. |
41 |
|
42 |
I don't follow. You mention varying distcc hosts per arches/subarches/libc. |
43 |
|
44 |
Let's say there are 4 systems on the network. 3x amd64 systems and 1 |
45 |
mips system. |
46 |
|
47 |
If I'm compiling for amd64 on system and I'm using distcc, there's a |
48 |
fixed number of distcc hosts on the network, aren't there? |
49 |
|
50 |
If I'm building for mips on the mips system with cross compilers |
51 |
installed on, say two of the amd64 systems, then there's a fixed |
52 |
number of distcc hosts on the network, aren't there? |
53 |
|
54 |
So, I don't think arches (or subarches) has any bearing. |
55 |
|
56 |
And for different libcs, distcc doesn't have any bearing on that, does |
57 |
it? distcc (without pump mode, which has been removed from Gentoo) |
58 |
sends preprocessed source files across the network, so what libc you |
59 |
have doesn't have any bearing either. |
60 |
|
61 |
You seem to be thinking that setting a single system-wide distcc_hosts |
62 |
is somehow limiting, but I can't see how. Please explain. |