On Tue, 10 Nov 2015 01:49:07 -0500
Mike Frysinger <[email protected]> wrote:
> On 09 Nov 2015 22:45, Brian Dolbec wrote:
> > On Tue, 6 Oct 2015 16:32:53 -0400 Mike Frysinger wrote:
> > > This helps isolate the catalyst builds from the rest of the system
> > > and allows us to build as non-root user in more cases. This might
> > > not work everywhere, but it's a start (snapshot generation works).
> > > ---
> > > catalyst/main.py | 9 +++++++++
> > > 1 file changed, 9 insertions(+)
> > >
> > > diff --git a/catalyst/main.py b/catalyst/main.py
> > > index 65e1431..f984653 100644
> > > --- a/catalyst/main.py
> > > +++ b/catalyst/main.py
> > > @@ -10,6 +10,8 @@ import argparse
> > > import os
> > > import sys
> > >
> > > +from snakeoil.process import namespaces
> > > +
> > > __selfpath__ = os.path.abspath(os.path.dirname(__file__))
> > >
> > > from DeComp.definitions import (COMPRESS_DEFINITIONS,
> > > DECOMPRESS_DEFINITIONS, @@ -336,6 +338,13 @@ def main():
> > > if "target" not in addlargs:
> > > raise CatalystError("Required value \"target\"
> > > not specified.")
> > > + # Start off by creating unique namespaces to run in.
> > > + namespaces.simple_unshare(
> > > + mount=True, uts=True, ipc=True, pid=True,
> > > net=False, user=True,
> > > + hostname='catalyst')
> > > +
> > > + # We should be root now, either a real root, or in a
> > > userns as root.
> > > + # If we aren't, then we've failed, and need to abort.
> > > if os.getuid() != 0:
> > > # catalyst cannot be run as a normal user due to
> > > chroots, mounts, etc print "!!! catalyst: This script requires
> > > root privileges to operate"
> >
> > I was hoping to get a release out before merging much more, but, I
> > doubt this will affect stability.
>
> it does ;). i haven't fully debugged it yet, but i think the use of
> pid namespaces messes up signal handling. i'll follow up when i'm
> happy with its state.
> -mike
sounds good :) Thanks
--
Brian Dolbec <dolsen>