On 7/26/2012 11:26 AM, Rich Freeman wrote:
I've been messing around with namespaces and some of what systemd has
been doing with them, and I have an idea for a portage feature.

But before doing a brain dump of ideas, how useful would it be to have
a FEATURE for portage to do a limited-visibility build?  That is, the
build would be run in an environment where the root filesystem appears
to contain everything in a DEPEND (including @system currently) and
nothing else?  It might be useful both in development/testing, and
also in production use (not sure how performance would work in the
real world - I was able in a script to get it to build an enviornment
in a few seconds for a few packages).

In practice I think it's going to be very hard to make this work in a platform-independent way; however in principle this is a ridiculously sexy idea that has crossed my mind more than once.

The challenge is that it requires either

  o Building very large sandboxes on a per-package basis

or

  o Python-level access to unionfs/aufs-style COW features.

Imagine the tree of dependencies which would need to be thrown together for, i.e.: kmail or firefox! This makes the former approach seem damn nearly infeasible. The latter approach holds more promise, I think, but represents a pretty big development effort.

Still.... very sexy idea, if a python-fs-layering API could be coded up.

One thing to consider: even if it does work, continuing to support the "old" way without fancy COW features is going to be required if portage is still going to support Gentoo/Alt in all of its flavors (either that, or unionfs/aufs features would need to be coded up for all those platforms that lack them).

-gmt

Reply via email to