diff options
Diffstat (limited to 'buildstream')
-rw-r--r-- | buildstream/source.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/buildstream/source.py b/buildstream/source.py index 63d8ffafd..bfea143ae 100644 --- a/buildstream/source.py +++ b/buildstream/source.py @@ -306,7 +306,13 @@ class Source(Plugin): def _ensure_directory(self, directory): if self.__directory is not None: directory = os.path.join(directory, self.__directory.lstrip(os.sep)) - os.makedirs(directory, exist_ok=True) + + try: + os.makedirs(directory, exist_ok=True) + except OSError as e: + raise SourceError("Failed to create staging directory: {}" + .format(e), + reason="ensure-stage-dir-fail") from e return directory # Wrapper for stage() api which gives the source |