On 31-03-2009 09:41:17 +0200, Markus Duft wrote:
> On Tue, 2009-03-31 at 09:21 +0200, Fabian Groffen wrote:
> > On 30-03-2009 14:03:04 +0200, Markus Duft wrote:
> > > After looking at the heap of ruins my prefix-chaining was turned into in
> > > just _one_ day (*grr* ;)), i'm just about to fix it again :) i'd say, we
> > > could think about doing this unconditionally in [portage|portage
> > > ebuild].
> > If you unconditionalise as patch, you'll find your patch removed when it
> > breaks. I'm currently in Germany for work, so I can't guarantee I can
> > look into it.
> ok. for the moment i'll leave it conditional for prefix-chaining then.
> maybe we can look at it again when you're back.
I'm a bit concerned about the design of things here.
Initially, we had "cross-prefix", where Portage's EPREFIX could be
changed at runtime. This means Portage could "manage" another prefix,
ideally meant to clone -- bootstrap using an existing Prefix from a
location where you don't want to have it (read-only CD?).
I don't know how far this actually got, but I know Portage does
cross-prefix some things if you have EPREFIX set.
EPREFIX became the *Target* Prefix, and
BPREFIX became the *Build* Prefix, as in from the called Portage
That means Portage will always look for stuff it works with (like bash,
sed, etc.) from its own Prefix (BPREFIX), and just operate on stuff
(vdb, install location, etc.) in its EPREFIX. Normally these two are
Now your chaining patches.
Apparently you take the total opposite direction now, where you first
have a Portage in EPREFIX (how you got it is questionable), and within
this Portage you expect it to take stuff it works with (bash, sed) from
a different location, let's call it CPREFIX.
While this is a different approach, it just conflicts with the first
approach, which is implemented and effectuated throughout the tree.
I see your patches affecting multiple places where you revert our
assumption that Portage should always take stuff from it's own Prefix.
In short, I'm not happy with that. I keep asking myself, and now to
you, why one would want to have a Portage instance that is crippled in
the sense that it is not self-sufficient, and has to rely for the most
critical things on "external" binaries. In other words, what was wrong
with the initial approach of cross-prefix, which is very similar to how
cross-compiling (with root) works?
I don't want to kill all of your work, but I do want to make clear to
you why I am so hesitant for all of your changes. Conceptually, I
believe cross-prefix was sound and clear. Now this prefix-chaining is
like a whole new world that seemingly has some dirty concepts that I
find hard to accept.
Gentoo on a different level