mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
checklayer: parse LAYERDEPENDS with bb.utils.explode_dep_versions2()
LAYERDEPENDS is a string of this format: "DEPEND1 (optional version) DEPEND2 (optional version) ..." However when we parse LAYERDEPENDS in _get_layer_collections() we parse it as a simple string, and if any optional versions are there the 'depends' field is wrong. For example, running yocto-check-layer might result in such errors: ERROR: Layer meta-python depends on (>= and isn't found. ERROR: Layer meta-python depends on 12) and isn't found. Let's use bb.utils.explode_dep_versions2() to parse LAYERDEPENDS, and create a string that contains all dependencies, effectively skipping/ignoring any optional versions. [YOCTO #13957] (From OE-Core rev: f81f07afc200fe06c5c06ea81a4f8a3a43436faf) Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
1db8536204
commit
c0a16eaae0
|
@ -59,9 +59,14 @@ def _get_layer_collections(layer_path, lconf=None, data=None):
|
|||
pattern = ldata.getVar('BBFILE_PATTERN_%s' % name)
|
||||
depends = ldata.getVar('LAYERDEPENDS_%s' % name)
|
||||
compat = ldata.getVar('LAYERSERIES_COMPAT_%s' % name)
|
||||
try:
|
||||
depDict = bb.utils.explode_dep_versions2(depends or "")
|
||||
except bb.utils.VersionStringException as vse:
|
||||
bb.fatal('Error parsing LAYERDEPENDS_%s: %s' % (name, str(vse)))
|
||||
|
||||
collections[name]['priority'] = priority
|
||||
collections[name]['pattern'] = pattern
|
||||
collections[name]['depends'] = depends
|
||||
collections[name]['depends'] = ' '.join(depDict.keys())
|
||||
collections[name]['compat'] = compat
|
||||
|
||||
return collections
|
||||
|
|
Loading…
Reference in New Issue
Block a user