You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by tv...@apache.org on 2021/02/04 07:49:53 UTC

[buildstream] 08/09: Sandbox: Ensure that we only import the sandbox subclasses when instantiate a sandbox

This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch workspace_list_error_message
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit d0cc95485d1d99ea18da58c185f470932e03fa07
Author: James Ennis <je...@bloomberg.net>
AuthorDate: Fri Sep 21 06:51:03 2018 -0400

    Sandbox: Ensure that we only import the sandbox subclasses when instantiate a sandbox
    
      - This patch was required due to not being able to execute `bst` on
      a Linux machine without Fuse or Bubblewrap available
---
 buildstream/_platform/darwin.py | 2 +-
 buildstream/_platform/linux.py  | 3 ++-
 buildstream/_platform/unix.py   | 2 +-
 buildstream/sandbox/__init__.py | 2 --
 4 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/buildstream/_platform/darwin.py b/buildstream/_platform/darwin.py
index 89e022e..fc9b5d4 100644
--- a/buildstream/_platform/darwin.py
+++ b/buildstream/_platform/darwin.py
@@ -19,7 +19,7 @@ import os
 import resource
 
 from .._exceptions import PlatformError
-from ..sandbox import SandboxChroot, SandboxDummy
+from ..sandbox import SandboxDummy
 
 from . import Platform
 
diff --git a/buildstream/_platform/linux.py b/buildstream/_platform/linux.py
index d3e0b3e..5cef2d7 100644
--- a/buildstream/_platform/linux.py
+++ b/buildstream/_platform/linux.py
@@ -23,7 +23,7 @@ from .. import _site
 from .. import utils
 from .._artifactcache.cascache import CASCache
 from .._message import Message, MessageType
-from ..sandbox import SandboxBwrap, SandboxDummy
+from ..sandbox import SandboxDummy
 
 from . import Platform
 
@@ -51,6 +51,7 @@ class Linux(Platform):
         if not self._local_sandbox_available():
             return SandboxDummy(*args, **kwargs)
         else:
+            from ..sandbox._sandboxbwrap import SandboxBwrap
             # Inform the bubblewrap sandbox as to whether it can use user namespaces or not
             kwargs['user_ns_available'] = self._user_ns_available
             kwargs['die_with_parent_available'] = self._die_with_parent_available
diff --git a/buildstream/_platform/unix.py b/buildstream/_platform/unix.py
index c79608c..6042057 100644
--- a/buildstream/_platform/unix.py
+++ b/buildstream/_platform/unix.py
@@ -20,7 +20,6 @@
 import os
 
 from .._exceptions import PlatformError
-from ..sandbox import SandboxChroot
 
 from . import Platform
 
@@ -40,4 +39,5 @@ class Unix(Platform):
         return self._artifact_cache
 
     def create_sandbox(self, *args, **kwargs):
+        from ..sandbox._sandboxchroot import SandboxChroot
         return SandboxChroot(*args, **kwargs)
diff --git a/buildstream/sandbox/__init__.py b/buildstream/sandbox/__init__.py
index ff40264..5999aba 100644
--- a/buildstream/sandbox/__init__.py
+++ b/buildstream/sandbox/__init__.py
@@ -18,7 +18,5 @@
 #        Tristan Maat <tr...@codethink.co.uk>
 
 from .sandbox import Sandbox, SandboxFlags
-from ._sandboxchroot import SandboxChroot
-from ._sandboxbwrap import SandboxBwrap
 from ._sandboxremote import SandboxRemote
 from ._sandboxdummy import SandboxDummy