summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim MacArthur <jim.macarthur@codethink.co.uk>2018-05-08 16:14:37 +0100
committerJim MacArthur <jim.macarthur@codethink.co.uk>2018-06-12 17:28:33 +0100
commit59941f79523725c4398f0d58b80c4d5a77ac0ef9 (patch)
treec67ca1fac4cda3675140a2ddc5428191437e2e93
parenta27cb0b8d24d187248f06e8fea6304f0ab2071cf (diff)
downloadbuildstream-59941f79523725c4398f0d58b80c4d5a77ac0ef9.tar.gz
Sandbox.py: Rename __root to _root to allow its use by subclasses.
Since access to get_directories is now blocked for some plugins, and the subclasses of Sandbox do not have configuration defined by YAML files, they need another way to get at the root directory. NB Could this be done just with get_virtual_directory and .external_directory?
-rw-r--r--buildstream/sandbox/_sandboxchroot.py2
-rw-r--r--buildstream/sandbox/sandbox.py9
2 files changed, 6 insertions, 5 deletions
diff --git a/buildstream/sandbox/_sandboxchroot.py b/buildstream/sandbox/_sandboxchroot.py
index 7f27f50d0..d03e57589 100644
--- a/buildstream/sandbox/_sandboxchroot.py
+++ b/buildstream/sandbox/_sandboxchroot.py
@@ -86,7 +86,7 @@ class SandboxChroot(Sandbox):
# Nonetheless a better solution could perhaps be found.
rootfs = stack.enter_context(utils._tempdir(dir='/var/run/buildstream'))
- stack.enter_context(self.create_devices(self.get_directory(), flags))
+ stack.enter_context(self.create_devices(self._root, flags))
stack.enter_context(self.mount_dirs(rootfs, flags, stdout, stderr))
if flags & SandboxFlags.INTERACTIVE:
diff --git a/buildstream/sandbox/sandbox.py b/buildstream/sandbox/sandbox.py
index 4f0bd077c..c99bbafe6 100644
--- a/buildstream/sandbox/sandbox.py
+++ b/buildstream/sandbox/sandbox.py
@@ -99,11 +99,12 @@ class Sandbox():
self.__stdout = kwargs['stdout']
self.__stderr = kwargs['stderr']
- # Setup the directories
+ # Setup the directories. Root should be available to subclasses, hence
+ # being single-underscore. The others are private to this class.
+ self._root = os.path.join(directory, 'root')
self.__directory = directory
- self.__root = os.path.join(self.__directory, 'root')
self.__scratch = os.path.join(self.__directory, 'scratch')
- for directory_ in [self.__root, self.__scratch]:
+ for directory_ in [self._root, self.__scratch]:
os.makedirs(directory_, exist_ok=True)
def get_directory(self):
@@ -118,7 +119,7 @@ class Sandbox():
"""
if self.__allow_real_directory:
- return self.__root
+ return self._root
else:
raise BstError("You can't use get_directory")