From c8785c5b494466066e0a08f9740a6655941ec0c0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 27 Jul 2016 20:33:05 -0600 Subject: [PATCH] buildman: Avoid overwriting existing toolchain entries 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 Reviewed-by: Tom Rini --- 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 02fbeb50c2..41e4e4c535 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 -- 2.25.1