summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim MacArthur <jim.macarthur@codethink.co.uk>2018-05-08 16:22:21 +0100
committerJim MacArthur <jim.macarthur@codethink.co.uk>2018-07-05 14:07:43 +0100
commit3e1389ac6987fca0bd3384c9f96cf1a5328303fd (patch)
treef6eed389fdc1753bed77cfdcb8c335085d47738b
parent3feeaefc80242fd20fc0cd4ef443e7df2080bd6f (diff)
downloadbuildstream-3e1389ac6987fca0bd3384c9f96cf1a5328303fd.tar.gz
scriptelement.py: Convert to virtual directories
-rw-r--r--buildstream/scriptelement.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/buildstream/scriptelement.py b/buildstream/scriptelement.py
index 46afda807..645381a40 100644
--- a/buildstream/scriptelement.py
+++ b/buildstream/scriptelement.py
@@ -243,9 +243,8 @@ class ScriptElement(Element):
with self.timed_activity("Staging {} at {}"
.format(element.name, item['destination']),
silent_nested=True):
- real_dstdir = os.path.join(sandbox.get_directory(),
- item['destination'].lstrip(os.sep))
- os.makedirs(os.path.dirname(real_dstdir), exist_ok=True)
+ virtual_dstdir = sandbox.get_virtual_directory()
+ virtual_dstdir.descend(item['destination'].lstrip(os.sep).split(os.sep), create=True)
element.stage_dependency_artifacts(sandbox, Scope.RUN, path=item['destination'])
for item in self.__layout:
@@ -263,8 +262,8 @@ class ScriptElement(Element):
for dep in element.dependencies(Scope.RUN):
dep.integrate(sandbox)
- os.makedirs(os.path.join(sandbox.get_directory(), self.__install_root.lstrip(os.sep)),
- exist_ok=True)
+ install_root_path_components = self.__install_root.lstrip(os.sep).split(os.sep)
+ sandbox.get_virtual_directory().descend(install_root_path_components, create=True)
def assemble(self, sandbox):