[U-Boot] [PATCH v2 08/11] buildman: Avoid overwriting existing toolchain entries

Simon Glass sjg at chromium.org
Thu Jul 28 04:33:05 CEST 2016


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 at 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
-- 
2.8.0.rc3.226.g39d4020



More information about the U-Boot mailing list