On Thu, Jun 25, 2020 at 9:59 AM Nicolas Dechesne
<nicolas.deche...@linaro.org> wrote:
>
> 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.

ouch. I forgot
Fixes [YOCTO #13957]

>
> Signed-off-by: Nicolas Dechesne <nicolas.deche...@linaro.org>
> ---
>  scripts/lib/checklayer/__init__.py | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/lib/checklayer/__init__.py 
> b/scripts/lib/checklayer/__init__.py
> index 1138000275..0e5234808e 100644
> --- a/scripts/lib/checklayer/__init__.py
> +++ b/scripts/lib/checklayer/__init__.py
> @@ -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)
> +        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
> --
> 2.20.1
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#139907): 
https://lists.openembedded.org/g/openembedded-core/message/139907
Mute This Topic: https://lists.openembedded.org/mt/75098824/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to