[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    Re: [gentoo-dev] EJOBS variable for EAPI 5?
From:       Ian Stakenvicius <axs () gentoo ! org>
Date:       2012-08-31 16:11:32
Message-ID: 5040E234.2000706 () gentoo ! org
[Download RAW message or body]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 31/08/12 12:08 PM, Ian Stakenvicius wrote:
> On 31/08/12 11:27 AM, Alexandre Rostovtsev wrote:
>> On Fri, 2012-08-31 at 15:45 +0100, Ciaran McCreesh wrote:
>>> On Fri, 31 Aug 2012 10:21:15 +0200 Ulrich Mueller 
>>> <ulm@gentoo.org> wrote:
>>>> Coming back to this old topic [1]. Is there still consensus 
>>>> that we should have such an EJOBS variable? (It shouldn't be 
>>>> called JOBS because this name is too generic, see the old 
>>>> discussion.) Then we could add it to EAPI 5.
>>>> 
>>>> Ulrich
>>>> 
>>>> [1] 
>>>> <http://archives.gentoo.org/gentoo-dev/msg_750e33f68b16d971dff1f40dd9145e56.xml>
>>>
>>>
>>>>
>
>>>> 
If we're doing this, do we tell users to stop setting MAKEOPTS for
>>> EAPIs 5 and greater? Do we change the name of MAKEOPTS for
>>> EAPIs 5 and greater instead? Do we put fancy code in the
>>> package mangler to deal with it?
> 
>> Users typically set MAKEOPTS systemwide in /etc/make.conf. If
>> EJOBS will have no effect for <EAPI5 ebuilds, then obviously we
>> should not be advising users to stop using MAKEOPTS until the
>> whole tree has migrated to EAPI5. And if EJOBS will be recognized
>> by a future version of portage for all EAPIs, then we still
>> should allow MAKEOPTS because some users may want to use
>> --load-average.
> 
>> Changing the name of MAKEOPTS in >=EAPI5 makes no sense. First, 
>> because it's a standard environment variable used by gnu make. 
>> Second, because having 3 different settings for parallel
>> building (EJOBS, MAKEOPTS, and "MAKEOPTS_EAPI5") would be
>> insane.
> 
>> Fancy code in the package manager would be the way to go IMHO. 
>> Ulrich's message contains a reasonable description of the 
>> algorithm.
> 
>> -Alexandre.
> 
> I think, if i read the previous response to this correctly, that
> the suggestion isn't the removal of MAKEOPTS, but simply that the
> '-j' specification currently set in MAKEOPTS should instead be set
> in EJOBS in everyone's make.conf.  This would then be appended to
> MAKEOPTS (for all EAPI) -and- be used for non-make build systems
> (for EAPI>=5) alike.
> 


..hit send to soon...

So if users stick with setting -j in MAKEOPTS, then in EAPI=5 and
above this would only affect make-based builds; for parallel
compilation in non-make builds they would need to convert to using
EJOBS for EAPI=5 and above, otherwise those build systems will compile
serially instead of in parallel.





-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlBA4jQACgkQ2ugaI38ACPAFrAEArp7MM5w4Mv/TLKb058HzB9oN
NtQeSVoCQ8X5PuxjjJ0BAKbTJXEkLlZ0hMr09RyTKzK0XtdQq6cf2fbeFFgFb5eV
=+vtW
-----END PGP SIGNATURE-----

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic