1 |
On Sat, Mar 10, 2012 at 08:06:50AM -0800, Zac Medico wrote: |
2 |
> On 03/09/2012 11:20 AM, Ciaran McCreesh wrote: |
3 |
> > On Fri, 09 Mar 2012 11:49:44 -0500 |
4 |
> > Michael Orlitzky <michael@××××××××.com> wrote: |
5 |
> >>>> isnt the whole point of the proposal to get eapi without sourcing ? |
6 |
> >>>> |
7 |
> >>>> so that we can use new bash features at local or global scope |
8 |
> >>>> without risking that people with an old bash get syntax errors |
9 |
> >>>> trying to get the eapi |
10 |
> >>> |
11 |
> >>> Right. Michael has lost sight of the goal and is moving off on a |
12 |
> >>> tangent. |
13 |
> >> |
14 |
> >> The point was to be able to get the EAPI without crashing if the |
15 |
> >> ebuild uses newer features. |
16 |
> > |
17 |
> > No, it's not. There's more to it than that. |
18 |
> > |
19 |
> > Some EAPIs really require defining certain environment variables, shell |
20 |
> > options, sandbox things etc *before* the sourcing starts. It's a massive |
21 |
> > pain in the ass to try to handle setting that kind of thing on the fly |
22 |
> > once the sourcing has already started. Knowing the EAPI before having |
23 |
> > to spawn a bash process isn't just about performance, it's also about |
24 |
> > making ebuilds much less difficult to deal with. |
25 |
> |
26 |
> Yeah. Another way of putting it is that the requirement to spawn a bash |
27 |
> process and source the ebuild adds a ridiculous amount of unnecessary |
28 |
> complexity, in violation of the KISS principle [1]. |
29 |
|
30 |
This statement is incorrect. |
31 |
|
32 |
Even if EAPI could be parsed via some non sourcing approach, we |
33 |
*still* have to source the ebuild to get the metadata for when the |
34 |
EAPI is supported (the vast majority of usage). That complexity is |
35 |
there one way or another- we wouldn't be trying to extract the EAPI |
36 |
from the ebuild unless the cache was invalid/missing. |
37 |
|
38 |
Phrasing it more bluntly: you can only avoid the sourcing step if you |
39 |
can isolate that the EAPI is unsupported (which is extremely rare in |
40 |
terms of actual user experience). For the rest of the time (well past |
41 |
the 99% mark) sourcing is the immediate step following. |
42 |
|
43 |
|
44 |
Also, stop referencing wikipedia. People know what "trivial |
45 |
objection" and "KISS" is. Pointing at random wikipedia links when |
46 |
people object is just a form of fallacious argument from authority |
47 |
( http://en.wikipedia.org/wiki/Argument_from_authority ). :P |
48 |
|
49 |
~brian |