Gentoo Archives: gentoo-dev

From: "Gregory M. Turner" <gmt@×××××.us>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Portage FEATURE suggestion - limited-visibility builds
Date: Fri, 27 Jul 2012 00:33:17
Message-Id: 5011E17F.8020900@malth.us
In Reply to: [gentoo-dev] Portage FEATURE suggestion - limited-visibility builds by Rich Freeman
1 On 7/26/2012 11:26 AM, Rich Freeman wrote:
2 > I've been messing around with namespaces and some of what systemd has
3 > been doing with them, and I have an idea for a portage feature.
4 >
5 > But before doing a brain dump of ideas, how useful would it be to have
6 > a FEATURE for portage to do a limited-visibility build? That is, the
7 > build would be run in an environment where the root filesystem appears
8 > to contain everything in a DEPEND (including @system currently) and
9 > nothing else? It might be useful both in development/testing, and
10 > also in production use (not sure how performance would work in the
11 > real world - I was able in a script to get it to build an enviornment
12 > in a few seconds for a few packages).
13
14 In practice I think it's going to be very hard to make this work in a
15 platform-independent way; however in principle this is a ridiculously
16 sexy idea that has crossed my mind more than once.
17
18 The challenge is that it requires either
19
20 o Building very large sandboxes on a per-package basis
21
22 or
23
24 o Python-level access to unionfs/aufs-style COW features.
25
26 Imagine the tree of dependencies which would need to be thrown together
27 for, i.e.: kmail or firefox! This makes the former approach seem damn
28 nearly infeasible. The latter approach holds more promise, I think, but
29 represents a pretty big development effort.
30
31 Still.... very sexy idea, if a python-fs-layering API could be coded up.
32
33 One thing to consider: even if it does work, continuing to support the
34 "old" way without fancy COW features is going to be required if portage
35 is still going to support Gentoo/Alt in all of its flavors (either that,
36 or unionfs/aufs features would need to be coded up for all those
37 platforms that lack them).
38
39 -gmt