
The current code for setting up the toolchain config always writes the new paths to an item called 'toolchain'. This means that it will overwrite any existing toolchain item with the same name. In practice, this means that:
buildman --fetch-arch all
will fetch all toolchains, but only the path of the final one will be added to the config. This normally works out OK, since most toolchains are the same version (e.g. gcc 4.9) and will be found on the same path. But it is not correct and toolchains for archs which don't use the same version will not function as expected.
Adjust the code to use a complete glob of the toolchain path.
Signed-off-by: Simon Glass sjg@chromium.org ---
Changes in v2: - Glob the whole toolchain directly instead of adding separate entries
tools/buildman/toolchain.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py index 02fbeb5..41e4e4c 100644 --- a/tools/buildman/toolchain.py +++ b/tools/buildman/toolchain.py @@ -553,6 +553,5 @@ class Toolchains: if not self.TestSettingsHasPath(dirpath): print ("Adding 'download' to config file '%s'" % bsettings.config_fname) - tools_dir = os.path.dirname(dirpath) - bsettings.SetItem('toolchain', 'download', '%s/*' % tools_dir) + bsettings.SetItem('toolchain', 'download', '%s/*/*' % dest) return 0