From: Naveen Saini Date: Fri, 21 Aug 2020 01:00:36 +0000 (+0800) Subject: lib/oe/recipeutils.py: add support for BBFILES_DYNAMIC X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~10224 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c7bbb98ea8ccd3568dd8bded6e404e2f781e6841;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git lib/oe/recipeutils.py: add support for BBFILES_DYNAMIC Instead of relying on value of BBFILES from bitbake, devtool parses the layer.conf because the layer might not be in bblayers.conf. And it currently does not consider the value of BBFILES_DYNAMIC because of which recipes, in paths defined by BBFILES_DYNAMIC, upgraded using devtool end up in wrong location. Include the code from bitbake to append values to BBFILES based on what is in BBFILES_DYNAMIC too. Signed-off-by: Naveen Saini Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py index 36427eec918..ef69ef207f4 100644 --- a/meta/lib/oe/recipeutils.py +++ b/meta/lib/oe/recipeutils.py @@ -563,6 +563,23 @@ def get_bbfile_path(d, destdir, extrapathhint=None): confdata = bb.cookerdata.parse_config_file(destlayerconf, confdata) pn = d.getVar('PN') + # Parse BBFILES_DYNAMIC and append to BBFILES + bbfiles_dynamic = (confdata.getVar('BBFILES_DYNAMIC') or "").split() + collections = (confdata.getVar('BBFILE_COLLECTIONS') or "").split() + invalid = [] + for entry in bbfiles_dynamic: + parts = entry.split(":", 1) + if len(parts) != 2: + invalid.append(entry) + continue + l, f = parts + invert = l[0] == "!" + if invert: + l = l[1:] + if (l in collections and not invert) or (l not in collections and invert): + confdata.appendVar("BBFILES", " " + f) + if invalid: + return None bbfilespecs = (confdata.getVar('BBFILES') or '').split() if destdir == destlayerdir: for bbfilespec in bbfilespecs: