Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: GLEP 55
Date: Wed, 11 Jun 2008 15:38:23
Message-Id: pan.2008.06.11.15.37.57@cox.net
In Reply to: [gentoo-dev] Re: GLEP 55 by Duncan <1i5t5.duncan@cox.net>
1 Duncan <1i5t5.duncan@×××.net> posted pan.2008.06.11.12.52.24@×××.net,
2 excerpted below, on Wed, 11 Jun 2008 12:52:24 +0000:
3
4 > Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> posted
5 > 20080610150018.1cae5e34@××××××××××.com, excerpted below, on Tue, 10 Jun
6 > 2008 15:00:18 +0100:
7 >
8 >> On Tue, 10 Jun 2008 09:49:04 -0400
9 >> Richard Freeman <rich0@g.o> wrote:
10 >>> 4) Putting EAPI inside the ebuild, but in a manner that does not
11 >>> require sourcing using bash (ie comment at top of file).
12 >
13 >> - it doubles the number of file reads necessary during resolution.
14 >
15 > No comment, except that it should be cached after the first one, so the
16 > second read should be a memory read.
17
18 Yeah, replying to myself...
19
20 Having read the metadata-file/ebuild discussion, I see that despite the
21 current sourcing "requirement", it's not being done in practice for
22 dependency building during which the EAPI is a necessary data point.
23 Only the metadata is being read, thus speeding up the process where seeks
24 between metadata and the ebuild would otherwise be needed. While a
25 single additional seek per ebuild would suffice (it'd be in cache after
26 that), that could still add up to a LOT of extra seeks (with the
27 resultant time and cache usage increase), especially on an --emptytree
28 world or similar.
29
30 Still, it's essentially required by the current spec even if the now-
31 current EAPIs manage to avoid it due to similarity of the current EAPIs,
32 so it'd be no new imposition.
33
34 The question then becomes, if everything else needed is stored in the pre-
35 generated metadata cache, why isn't this? Shouldn't it be there along
36 with the rest of the (meta)data used for building the dependency tree,
37 thus avoiding the extra seek? Why not put it in the ebuild as is the
38 dependency data, then along with said dependency data, copy it to
39 metadata cache when it's generated?
40
41 As for backward compatibility on the metadata, append or separate (single
42 per repository) file.
43
44 --
45 Duncan - List replies preferred. No HTML msgs.
46 "Every nonfree program has a lord, a master --
47 and if you use the program, he is your master." Richard Stallman
48
49 --
50 gentoo-dev@l.g.o mailing list