Gentoo Archives: gentoo-alt

From: Michael Haubenwallner <haubi@g.o>
To: gentoo-alt@l.g.o
Subject: Re: [gentoo-alt] portage prefix chaining support
Date: Mon, 06 Apr 2009 17:29:52
Message-Id: 1239038988.2229.75.camel@salomon-22
In Reply to: Re: [gentoo-alt] portage prefix chaining support by Fabian Groffen
1 On Thu, 2009-04-02 at 22:22 +0200, Fabian Groffen wrote:
2 > Now this prefix-chaining is like a whole new world that
3 > seemingly has some dirty concepts that I find hard to accept.
4
5 Seems it isn't really clear yet what we intend prefix-chaining for.
6
7 1) Developers are working on *many* projects on *one* machine.
8 2) Mostly for QA-reasons, sometimes for source incompatibilities due to
9 major version upgrades, these projects do have *few* different
10 requirements on the set of versions of common libraries they link
11 against (think "Enterprise").
12 3) In an ideal world, each project would consist of its own set of
13 versions of specific packages, where ebuilds would exist for.
14 4) Additionally, some developers are playing with brand new versions of
15 some of these common libraries within a complete instance of a project.
16
17 And they all need a basic set of unix tools (think "@system").
18
19 The idea (vision) of prefix-chaining now is:
20
21 1) Have "@system" and a few more utils (editors, autotools, etc.)
22 installed in the first EPREFIX.
23 2) Have the different sets of common library versions installed in
24 different second EPREFIXes, which all refer to the first EPREFIX for
25 DEPENDs (coreutils&co), and *many* projects link against.
26 3) Have the different sets of versions of specific packages installed in
27 the third EPREFIX, which *one* projects link against.
28 4) Have the one brand new version of the common library (and its reverse
29 dependencies) installed in a fourth EPREFIX for the one developer
30 playing with, using DEPEND and the rest of RDEPEND from third, second,
31 first EPREFIX.
32
33 Needless to say that "first EPREFIX" could be empty - it would be a
34 Gentoo Linux box then, most likely the developer's desktop.
35
36 How that could work:
37 *) Each EPREFIX does have its private compiler wrapper, adding its own
38 path list (include, linktime, runtime).
39 *) Each EPREFIX does have its private etc/profile, which calls its
40 parent's etc/profile and prepends its own PATH (at least), to become
41 useable.
42
43 Now for cross-prefix:
44 Although it should be possible, there is no real need to have portage
45 installed in each of the EPREFIXes. Instead, use $EPREFIX to tell
46 portage which EPREFIX actually to manage, meaning what to start with for
47 dependency-tree calculation.
48 Eventually, there could be a wrapper around emerge and portageq in each
49 EPREFIX to avoid the need to have the environment variable being set.
50
51 And the portage instance in use does know where to use its $BASH and $MV
52 from - known as BPREFIX already.
53
54 Don't want to talk about cross- or multilib-compiling here yet.
55
56 We already know that even it is ambitious, it is not ambiguous.
57
58 /haubi/
59 --
60 Michael Haubenwallner
61 Gentoo on a different level

Replies

Subject Author
Re: [gentoo-alt] portage prefix chaining support Markus Duft <mduft@g.o>