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

Attachment: signature.asc
Description: Digital signature

Reply via email to