From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-portage-dev+bounces-2299-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1LmY5Y-0003S1-8u
	for garchives@archives.gentoo.org; Wed, 25 Mar 2009 18:44:32 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id DA472E087E;
	Wed, 25 Mar 2009 18:44:30 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 96C0FE087E
	for <gentoo-portage-dev@lists.gentoo.org>; Wed, 25 Mar 2009 18:44:30 +0000 (UTC)
Received: from [192.168.19.59] (hangover.linbsd.net [69.80.193.15])
	(using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTP id 0C75364B8B
	for <gentoo-portage-dev@lists.gentoo.org>; Wed, 25 Mar 2009 18:44:30 +0000 (UTC)
Subject: Re: [gentoo-portage-dev] prefix portage chaining
From: Ned Ludd <solar@gentoo.org>
To: gentoo-portage-dev@lists.gentoo.org
In-Reply-To: <1237986877.28894.18.camel@localhost>
References: <000001c9a947$8acf66b0$a06e3410$@org>
	 <20090325110015.GH12431@gentoo.org>  <1237986877.28894.18.camel@localhost>
Content-Type: text/plain
Organization: Gentoo Linux
Date: Wed, 25 Mar 2009 11:44:28 -0700
Message-Id: <1238006668.11833.21.camel@hangover>
Precedence: bulk
List-Post: <mailto:gentoo-portage-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-portage-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-portage-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-portage-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-portage-dev.gentoo.org>
X-BeenThere: gentoo-portage-dev@lists.gentoo.org
Reply-to: gentoo-portage-dev@lists.gentoo.org
Mime-Version: 1.0
X-Mailer: Evolution 2.22.3.1 
Content-Transfer-Encoding: 7bit
X-Archives-Salt: 7f111c25-19cb-4bb3-ab73-e844306e76c9
X-Archives-Hash: ff9b953df2b3fdc2d24037ddd520b2cd

On Wed, 2009-03-25 at 14:14 +0100, Markus Duft wrote:
> On Wed, 2009-03-25 at 12:00 +0100, Fabian Groffen wrote:
> > On 20-03-2009 11:35:09 +0100, Markus Duft wrote:
> > > i'll try and explain what i want in the first place: i'm porting things
> > > to native windows. since windows isn't too cooperative, i'm unable to
> > > merge most things (and with other things, i simply don't want to), and
> > > thus i need to take those things from somewhere else (more or less the
> > > complete @system). I _am_ able to build all those things for interix
> > > (which is the host system in the windows case). So what i want is a
> > > setup of two prefix instances with a certain relation to each other: the
> > > native windows prefix should be able to recognize installed packages
> > > from the other instance, and resolve dependencies by eventually using
> > > the other .../var/db/...
> > 
> > Since Windows and Interix seem to be two different things to me, can you
> > explain why in this case Portage can resolve the dependencies from the
> > Interix system to use for the Windows system?  What dependencies are we
> > talking about?  Build tools?  Libraries?  Runtime dependencies?
> 
> i'm using it to resolve DEPEND atoms only. of course my notion of valid
> DEPENDs and RDEPENDs is influenced by this, and i'm alergic against
> RDEPEND=$DEPEND and such :) since it doesn't work in this setup. however
> right now most things i need don't make too much problems.
> 
> > 
> > > This could be (and is) quite usefull for all other platforms too. For
> > > exmaple i could use prefix chaining on a linux box. I could create a
> > > prefix containing a base system, and then for testing of
> > > i-don't-know-whatever, i could create another small prefix inheriting
> > > all installed packages from the other one. this way new prefixes can
> > > stay very slim, but still the "parent" prefix is not altered on merges.
> > 
> > That potentially is useful, in the case where you want to upgrade a
> > critical system package and test it out or something.  Can't think of an
> > example other than Portage itself for the moment, though.  (And that one
> > can be hairy, for instance if the vdb format changes NEEDED ->
> > NEEDED.ELF.2)
> 
> ++ :)
> 
> > 
> > > one issue not handled by the current patch is, that prefixes can have
> > > different CHOST/ARCH/... (which is the case with x86-interix and
> > > x86-winnt for example).
> > 
> > Then how does it work for you?
> 
> as i said, i'm using DEPENDs only from the other prefix with the
> different CHOST/ARCH. this works, since on interix i can execute windows
> binaries, and vice versa (limited).
> 
> the patch i proposed here and on gentoo-alt@ (btw. i have a fixed
> version lying around since a few minutes ...) allows the user to set
> which atoms should be resolve-able from the chain. for exmaple for
> windows i'm doing this in /my/winnt/prefix/etc/make.conf:
> 
> READONLY_EROOT=/my/interix/prefix:DEPEND
> 
> on linux, if both prefixes are x86-linux for example i could to
> in /my/prefix/two/etc/make.conf:
> 
> READONLY_EROOT=/my/prefix/one:DEPEND,RDEPEND
> 
> (btw. this forces PDEPENDs to merge in /my/prefix/two. i guess most of
> the time this makes sense, since with a PDEPEND from a lib, i want the
> PDEPEND package to link against this lib... you know what i mean? of
> course PDEPEND can still be added to the above list...)
> 
> (btw2. the name READONLY_EROOT is discussed on gentoo-alt@ already, so i
> won't comment on it beeing cool/uncool here... ;) )
> 
> Cheers, Markus
> 
> > 
> > 
> 
> \


While much of what you are talking about here mainly applies to prefix,
it looks to me from glancing over the code that you might of solved a
long standing problem in the embedded world with cross compiling via
portage. 222895  If that is the case, then I owe you a beer. one about
the size of a keg.


-- 
Ned Ludd <solar@gentoo.org>
Gentoo Linux