Gentoo Archives: gentoo-dev

From: George Prowse <george.prowse@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] The fallacies of GLEP55
Date: Fri, 15 May 2009 01:42:24
Message-Id: 4A0CC889.2070704@gmail.com
In Reply to: Re: [gentoo-dev] The fallacies of GLEP55 by Ciaran McCreesh
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

Replies

Subject Author
Re: [gentoo-dev] The fallacies of GLEP55 David Leverton <levertond@××××××××××.com>