buildman: Create parent directories as necessary

When creating build directories also create parents as necessary. This
fixes a failure when building a hierarchical branch (i.e. foo/bar).

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Tom Rini <trini@ti.com>
This commit is contained in:
Thierry Reding 2014-08-19 10:22:39 +02:00 committed by Simon Glass
parent 1f7278851e
commit f3d015cb4a
2 changed files with 6 additions and 3 deletions

View file

@ -1141,7 +1141,7 @@ class Builder:
self._verbose = verbose
self.ResetResultSummary(board_selected)
builderthread.Mkdir(self.base_dir)
builderthread.Mkdir(self.base_dir, parents = True)
self._PrepareWorkingSpace(min(self.num_threads, len(board_selected)),
commits is not None)
self._PrepareOutputSpace()

View file

@ -12,14 +12,17 @@ import threading
import command
import gitutil
def Mkdir(dirname):
def Mkdir(dirname, parents = False):
"""Make a directory if it doesn't already exist.
Args:
dirname: Directory to create
"""
try:
os.mkdir(dirname)
if parents:
os.makedirs(dirname)
else:
os.mkdir(dirname)
except OSError as err:
if err.errno == errno.EEXIST:
pass