[OE-core] [PATCH 1/4] extrernalsrc.bbclass: treat kernel meta like local source

Markus Lehtonen markus.lehtonen at linux.intel.com
Tue Sep 8 10:58:12 UTC 2015


Kernel metadata repository needs to be fetched/unpacked into the work
directory in order to build the kernel. Sources pointing to a remote
location are skipped by externalsrc by default which caused kernel build
to fail (because of remote kernel-meta was not made availeble). This
patch will make kernel-meta always available.

[YOCTO #6658]

Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
---
 meta/classes/externalsrc.bbclass | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 8f7f479..37c6320 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -36,11 +36,15 @@ python () {
         else:
             d.setVar('B', '${WORKDIR}/${BPN}-${PV}/')
 
-        srcuri = (d.getVar('SRC_URI', True) or '').split()
         local_srcuri = []
-        for uri in srcuri:
-            if uri.startswith('file://'):
-                local_srcuri.append(uri)
+        fetch = bb.fetch2.Fetch((d.getVar('SRC_URI', True) or '').split(), d)
+        for url in fetch.urls:
+            url_data = fetch.ud[url]
+            parm = url_data.parm
+            if (url_data.type == 'file' or
+                    'type' in parm and parm['type'] == 'kmeta'):
+                local_srcuri.append(url)
+
         d.setVar('SRC_URI', ' '.join(local_srcuri))
 
         if '{SRCPV}' in d.getVar('PV', False):
-- 
2.1.4




More information about the Openembedded-core mailing list