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 |