Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] EJOBS variable for EAPI 5?
Date: Fri, 31 Aug 2012 16:13:18
Message-Id: 5040E234.2000706@gentoo.org
In Reply to: Re: [gentoo-dev] EJOBS variable for EAPI 5? by Ian Stakenvicius
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 31/08/12 12:08 PM, Ian Stakenvicius wrote:
5 > On 31/08/12 11:27 AM, Alexandre Rostovtsev wrote:
6 >> On Fri, 2012-08-31 at 15:45 +0100, Ciaran McCreesh wrote:
7 >>> On Fri, 31 Aug 2012 10:21:15 +0200 Ulrich Mueller
8 >>> <ulm@g.o> wrote:
9 >>>> Coming back to this old topic [1]. Is there still consensus
10 >>>> that we should have such an EJOBS variable? (It shouldn't be
11 >>>> called JOBS because this name is too generic, see the old
12 >>>> discussion.) Then we could add it to EAPI 5.
13 >>>>
14 >>>> Ulrich
15 >>>>
16 >>>> [1]
17 >>>> <http://archives.gentoo.org/gentoo-dev/msg_750e33f68b16d971dff1f40dd9145e56.xml>
18 >>>
19 >>>
20 >>>>
21 >
22 >>>>
23 If we're doing this, do we tell users to stop setting MAKEOPTS for
24 >>> EAPIs 5 and greater? Do we change the name of MAKEOPTS for
25 >>> EAPIs 5 and greater instead? Do we put fancy code in the
26 >>> package mangler to deal with it?
27 >
28 >> Users typically set MAKEOPTS systemwide in /etc/make.conf. If
29 >> EJOBS will have no effect for <EAPI5 ebuilds, then obviously we
30 >> should not be advising users to stop using MAKEOPTS until the
31 >> whole tree has migrated to EAPI5. And if EJOBS will be recognized
32 >> by a future version of portage for all EAPIs, then we still
33 >> should allow MAKEOPTS because some users may want to use
34 >> --load-average.
35 >
36 >> Changing the name of MAKEOPTS in >=EAPI5 makes no sense. First,
37 >> because it's a standard environment variable used by gnu make.
38 >> Second, because having 3 different settings for parallel
39 >> building (EJOBS, MAKEOPTS, and "MAKEOPTS_EAPI5") would be
40 >> insane.
41 >
42 >> Fancy code in the package manager would be the way to go IMHO.
43 >> Ulrich's message contains a reasonable description of the
44 >> algorithm.
45 >
46 >> -Alexandre.
47 >
48 > I think, if i read the previous response to this correctly, that
49 > the suggestion isn't the removal of MAKEOPTS, but simply that the
50 > '-j' specification currently set in MAKEOPTS should instead be set
51 > in EJOBS in everyone's make.conf. This would then be appended to
52 > MAKEOPTS (for all EAPI) -and- be used for non-make build systems
53 > (for EAPI>=5) alike.
54 >
55
56
57 ..hit send to soon...
58
59 So if users stick with setting -j in MAKEOPTS, then in EAPI=5 and
60 above this would only affect make-based builds; for parallel
61 compilation in non-make builds they would need to convert to using
62 EJOBS for EAPI=5 and above, otherwise those build systems will compile
63 serially instead of in parallel.
64
65
66
67
68
69 -----BEGIN PGP SIGNATURE-----
70 Version: GnuPG v2.0.19 (GNU/Linux)
71
72 iF4EAREIAAYFAlBA4jQACgkQ2ugaI38ACPAFrAEArp7MM5w4Mv/TLKb058HzB9oN
73 NtQeSVoCQ8X5PuxjjJ0BAKbTJXEkLlZ0hMr09RyTKzK0XtdQq6cf2fbeFFgFb5eV
74 =+vtW
75 -----END PGP SIGNATURE-----