buildman: Allow using older versions of genboardscfg.py
Older versions of this script don't support the -q flag. Since buildman
runs this script from when it starts, we may get the old version.
Fix this in two ways:
1. Use the version from the same tree as buildman is run from, if
available
2. Failing that, allow the -q flag to be missing
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index 071c261..b81ecf6 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -185,10 +185,16 @@
if not os.path.exists(options.output_dir):
os.makedirs(options.output_dir)
board_file = os.path.join(options.output_dir, 'boards.cfg')
- genboardscfg = os.path.join(options.git, 'tools/genboardscfg.py')
+ our_path = os.path.dirname(os.path.realpath(__file__))
+ genboardscfg = os.path.join(our_path, '../genboardscfg.py')
+ if not os.path.exists(genboardscfg):
+ genboardscfg = os.path.join(options.git, 'tools/genboardscfg.py')
status = subprocess.call([genboardscfg, '-q', '-o', board_file])
if status != 0:
- sys.exit("Failed to generate boards.cfg")
+ # Older versions don't support -q
+ status = subprocess.call([genboardscfg, '-o', board_file])
+ if status != 0:
+ sys.exit("Failed to generate boards.cfg")
boards = board.Boards()
boards.ReadBoards(board_file)