1 |
Ciaran McCreesh wrote: |
2 |
> On Thu, 14 May 2009 20:06:51 +0200 |
3 |
> Patrick Lauer <patrick@g.o> wrote: |
4 |
>> "You need to know the EAPI to parse the ebuild to find the EAPI" |
5 |
>> Obviously that's not true, because somehow we manage at the moment. |
6 |
>> And if one does a small restriction (which doesn't restrict current |
7 |
>> behaviour because all in-tree ebuilds currently fit within this |
8 |
>> limitation) it becomes trivial again: |
9 |
>> |
10 |
>> Let EAPI be defined as (the part behind the = of) the first line of |
11 |
>> the ebuild starting with EAPI= |
12 |
> |
13 |
> Uh, so horribly utterly and obviously wrong. |
14 |
> |
15 |
> inherit foo |
16 |
> EAPI=4 |
17 |
> |
18 |
> where foo is both a global and a non-global eclass that sets metadata. |
19 |
> |
20 |
> If you're looking for a formally correct alternative that works in the |
21 |
> way you suggest, I already provided one, and you already read about it |
22 |
> -- and it still doesn't solve the problems that 55 does. |
23 |
> |
24 |
>> "It's slower!" |
25 |
>> The theory here being that a stat() is needed if it is encoded in the |
26 |
>> filename, but a stat() followed by an open() to parse it from the |
27 |
>> file. Well then, just cache it! You can use the mtime to check the |
28 |
>> cache validity (which means you do a stat() anyway, so with glep55 |
29 |
>> caching it is actually slower!), and then you have to parse the |
30 |
>> ebuild anyway for the other metadata. So the "extra" cost of finding |
31 |
>> the EAPI is ... what extra cost? The only case when it is actually |
32 |
>> slower is when there is no cache because then you have to parse the |
33 |
>> ebuild. But that "degenerate" case will only hit some overlay users |
34 |
>> and people like developers that can wait .3 seconds longer. And ... |
35 |
>> uhm ... to extract other metadata like DEPENDS you'll have to parse |
36 |
>> it anyway. |
37 |
> |
38 |
> Where on earth are you getting the idea that GLEP 55 makes things |
39 |
> slower? The only difference to the code with GLEP 55 is in checking |
40 |
> file extensions against a slightly larger set of strings, which is |
41 |
> nowhere near a measurable increase in anything. You're claiming that |
42 |
> checking for a suffix of either ".ebuild-4" or ".ebuild" against a |
43 |
> fixed string is in any way relevant, which is obviously trolling. |
44 |
> |
45 |
>> "Having GLEP55 allows us to add GLEP54 without issues!" |
46 |
>> Yeah, uhm, the live-ness of an ebuild is an attribute. How about we |
47 |
>> add it to metadata, as we should for all metadata? Define a key, I |
48 |
>> don't know ... LIVE ? LIVE="true". There. No need to fix the |
49 |
>> filename. And now stop mixing up issues because it is highly |
50 |
>> confusing! |
51 |
> |
52 |
> There is no existing version ordering solution that accurately |
53 |
> represents upstream scm branches. |
54 |
> |
55 |
>> A few words in closing - |
56 |
>> |
57 |
>> We can encode all the relevant info in "the first line of the ebuild |
58 |
>> starting with EAPI=" |
59 |
> |
60 |
> No we can't. That's *obviously* completely wrong. |
61 |
> |
62 |
>> The overhead of parsing out this value for all ebuilds in the tree |
63 |
>> has been timed at ~2 CPU-seconds by solar. It's negligible. |
64 |
> |
65 |
> Those of us who have been measuring this have been discarding CPU time |
66 |
> entirely, since it's utterly irrelevant. That you bring CPU time into |
67 |
> this shows you've been deliberately ignoring everything we've said. |
68 |
> |
69 |
> We all know you're not stupid enough to believe what you've been |
70 |
> posting or ignorant enough to miss the point so badly. So please stop |
71 |
> pretending -- this issue would have gone through a long time ago were |
72 |
> it not for you and your ilk deliberately pretending to be retarded so |
73 |
> you can raise straw man arguments against it rather than addressing the |
74 |
> issues at hand. You're doing both yourself and everyone else a huge |
75 |
> disfavour by acting dumb and assuming everyone else is going to play |
76 |
> along with that. |
77 |
> |
78 |
Having countered those four points I guess you agree with the other five |
79 |
then. Over 50% success rate (by your definition) is hardly being |
80 |
ignorant or trolling |