summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2021-02-25 18:45:16 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-02-27 22:40:41 +0000
commit45c2a8fceeee4cb074f8a1376dc076a14ff68fc4 (patch)
treeaf6d5708b1770d500025147fa62fa2d26247e13c /meta/recipes-core
parenta6a8ab75957bc675c025d927f0b7e54cb6d3674a (diff)
downloadpoky-45c2a8fceeee4cb074f8a1376dc076a14ff68fc4.tar.gz
glib-2.0: replace THISDIR instead of COREBASE in find_meson_cross_files --cross-file paths
* 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. (From OE-Core rev: 314cfc7d6a8f9b00db7da5424890ff955a5ce971) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb8
1 files 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):
31 if bb.data.inherits_class('native', d): 31 if bb.data.inherits_class('native', d):
32 return "" 32 return ""
33 33
34 corebase = d.getVar("COREBASE") 34 thisdir = d.getVar("THISDIR")
35 import collections 35 import collections
36 sitedata = siteinfo_data(d) 36 sitedata = siteinfo_data(d)
37 # filename -> found 37 # filename -> found
@@ -39,7 +39,11 @@ def find_meson_cross_files(d):
39 for path in d.getVar("FILESPATH").split(":"): 39 for path in d.getVar("FILESPATH").split(":"):
40 for element in sitedata: 40 for element in sitedata:
41 filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) 41 filename = os.path.normpath(os.path.join(path, "meson.cross.d", element))
42 files[filename.replace(corebase, "${COREBASE}")] = os.path.exists(filename) 42 sanitized_path = filename.replace(thisdir, "${THISDIR}")
43 if sanitized_path == filename:
44 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))
45 continue
46 files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename)
43 47
44 items = ["--cross-file=" + k for k,v in files.items() if v] 48 items = ["--cross-file=" + k for k,v in files.items() if v]
45 d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) 49 d.appendVar("EXTRA_OEMESON", " " + " ".join(items))