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 ) id 1LmTbx-0002Gz-Lt for garchives@archives.gentoo.org; Wed, 25 Mar 2009 13:57:41 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5873FE0629; Wed, 25 Mar 2009 13:57:40 +0000 (UTC) Received: from sauxb.salomon.at (smtp.salomon.at [193.186.16.13]) by pigeon.gentoo.org (Postfix) with ESMTP id 0F3A4E0629 for ; Wed, 25 Mar 2009 13:57:39 +0000 (UTC) Received: from servex01.wamas.com (servex01.salomon.at [172.28.2.2]) by sauxb.salomon.at (8.12.10/8.12.10) with ESMTP id n2PDlQCs001924 for ; Wed, 25 Mar 2009 14:55:47 +0100 (MET) Received: from [172.28.8.14] ([172.28.8.14]) by servex01.wamas.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 25 Mar 2009 14:15:32 +0100 Subject: Re: [gentoo-portage-dev] prefix portage chaining From: Markus Duft To: gentoo-portage-dev@lists.gentoo.org In-Reply-To: <20090325110015.GH12431@gentoo.org> References: <000001c9a947$8acf66b0$a06e3410$@org> <20090325110015.GH12431@gentoo.org> Content-Type: text/plain Date: Wed, 25 Mar 2009 14:14:37 +0100 Message-Id: <1237986877.28894.18.camel@localhost> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org Mime-Version: 1.0 X-Mailer: Evolution 2.24.5 Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 25 Mar 2009 13:15:32.0551 (UTC) FILETIME=[C6C1C570:01C9AD4B] X-Spam-Info: -2.124 () ALL_TRUSTED,AWL,BAYES_50 X-Scanned-By: MIMEDefang 2.54 on 172.28.2.13 X-Archives-Salt: 974fd770-a247-49d9-b948-999216d41609 X-Archives-Hash: 0b225e68a4e9b8f3afaaeafa3bca6ecd 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 > >