extrernalsrc.bbclass: treat kernel meta like local source

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]

(From OE-Core rev: b746280c955f48835d119f3fe637876faae6df97)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Markus Lehtonen 2015-09-08 13:58:12 +03:00 committed by Richard Purdie
parent 08e09222b2
commit 07ac146c90
1 changed files with 8 additions and 4 deletions

View File

@ -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):