This breaks our builds,

...
ERROR: Cannot add
'/home/builds/oe-rpb-master/layers/openembedded-core/meta/recipes-core/glib-2.0/files/meson.cross.d/common'
to --cross-file, because it's not relative to THISDIR
'/home/builds/oe-rpb-master/build-410c-2/conf/../../layers/openembedded-core/meta/recipes-core/glib-2.0'
and sstate signature would contain this full path
...

In,

https://ci.linaro.org/job/lt-qcom-openembedded-rpb-master/DISTRO=rpb,MACHINE=dragonboard-410c,label=docker-buster-amd64/470/console

Regards,
Anibal

On Thu, 25 Feb 2021 at 11:45, Martin Jansa <[email protected]> wrote:

> * COREBASE works correctly only as long as this recipe is inside of
>   COREBASE directory and leaves the full absolute paths if you copy
>   this recipe into your own layer (e.g. to backport newer version)
>
> * use THISDIR as all FILESPATH should be relative to that, unless
>   there is a .bbappend not only extending FILESPATH, but also adding
>   meson.cross.d files there (at which point it also didn't work with
>   COREBASE replacements as well already) - show an ERROR in such case,
>   I don't think it's common scenario to spend more time to support that.
>
> Signed-off-by: Martin Jansa <[email protected]>
> ---
>  meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb
> b/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb
> index 15e9dbaf6f..882a89da7a 100644
> --- a/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb
> +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb
> @@ -31,7 +31,7 @@ def find_meson_cross_files(d):
>      if bb.data.inherits_class('native', d):
>          return ""
>
> -    corebase = d.getVar("COREBASE")
> +    thisdir = d.getVar("THISDIR")
>      import collections
>      sitedata = siteinfo_data(d)
>      # filename -> found
> @@ -39,7 +39,11 @@ def find_meson_cross_files(d):
>      for path in d.getVar("FILESPATH").split(":"):
>          for element in sitedata:
>              filename = os.path.normpath(os.path.join(path,
> "meson.cross.d", element))
> -            files[filename.replace(corebase, "${COREBASE}")] =
> os.path.exists(filename)
> +            sanitized_path = filename.replace(thisdir, "${THISDIR}")
> +            if sanitized_path == filename:
> +                bb.error("Cannot add '%s' to --cross-file, because it's
> not relative to THISDIR '%s' and sstate signature would contain this full
> path" % (filename, thisdir))
> +                continue
> +            files[filename.replace(thisdir, "${THISDIR}")] =
> os.path.exists(filename)
>
>      items = ["--cross-file=" + k for k,v in files.items() if v]
>      d.appendVar("EXTRA_OEMESON", " " + " ".join(items))
> --
> 2.27.0
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#148858): 
https://lists.openembedded.org/g/openembedded-core/message/148858
Mute This Topic: https://lists.openembedded.org/mt/80907807/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to