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]] -=-=-=-=-=-=-=-=-=-=-=-
