[bitbake-devel] [PATCH] fetch2: Handle multiconfig fetcher issues

Richard Purdie richard.purdie at linuxfoundation.org
Wed Aug 31 10:34:23 UTC 2016

We need a separate fetcher cache per multiconfig as the revisions and other 
SRC_URI data can potentially be different. For now, this is the simplest way 
to achieve that and avoids linux-yocto kernel build failures when targeting
multiple machines for example.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 65c426f..11c75cc 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -1506,8 +1506,9 @@ class Fetch(object):
         self.connection_cache = connection_cache
         fn = d.getVar('FILE', True)
-        if cache and fn and fn in urldata_cache:
-            self.ud = urldata_cache[fn]
+        mc = d.getVar('__BBMULTICONFIG', True) or ""
+        if cache and fn and mc + fn in urldata_cache:
+            self.ud = urldata_cache[mc + fn]
         for url in urls:
             if url not in self.ud:
@@ -1519,7 +1520,7 @@ class Fetch(object):
         if fn and cache:
-            urldata_cache[fn] = self.ud
+            urldata_cache[mc + fn] = self.ud
     def localpath(self, url):
         if url not in self.urls:

More information about the bitbake-devel mailing list