There was a problem when check invalid PACKAGECONFIG in the anonymous function (when parsing), for example, there are two versions of a recipe: foo_1.0.bb foo_2.0.bb While foo_2.0.bb has a "PACKAGECONFIG[item] = 'x,y,z'", but foo_1.0.bb doesn't, if we set PACKAGECONFIG_pn-foo = "item" in a conf file, we would get the warning about invalid PACKAGECONFIG for foo_1.0.bb. Delay the checking to build time will fix the problem.
[YOCTO #8065] Signed-off-by: Robert Yang <liezhi.y...@windriver.com> --- meta/classes/base.bbclass | 4 ---- meta/classes/insane.bbclass | 11 +++++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index e0f1053..b7e22ad 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -340,10 +340,6 @@ python () { pkgconfig = (d.getVar('PACKAGECONFIG', True) or "").split() pn = d.getVar("PN", True) - for pconfig in pkgconfig: - if pconfig not in pkgconfigflags: - bb.warn("%s: invalid PACKAGECONFIG: %s" % (pn, pconfig)) - mlprefix = d.getVar("MLPREFIX", True) def expandFilter(appends, extension, prefix): diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index fc3d5ff..9c05c86 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -31,6 +31,7 @@ WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \ installed-vs-shipped compile-host-path install-host-path \ pn-overrides infodir build-deps file-rdeps \ unknown-configure-option symlink-to-sysroot multilib \ + invalid-pkgconfig \ " ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ perms dep-cmp pkgvarcheck perm-config perm-line perm-link \ @@ -1139,6 +1140,16 @@ Missing inherit gettext?""" % (gt, config)) package_qa_handle_error("unknown-configure-option", error_msg, d) except subprocess.CalledProcessError: pass + + # Check invalid PACKAGECONFIG + pkgconfig = (d.getVar("PACKAGECONFIG", True) or "").split() + if pkgconfig: + pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {} + for pconfig in pkgconfig: + if pconfig not in pkgconfigflags: + pn = d.getVar('PN', True) + error_msg = "%s: invalid PACKAGECONFIG: %s" % (pn, pconfig) + package_qa_handle_error("invalid-pkgconfig", error_msg, d) } python do_qa_unpack() { -- 1.7.9.5 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core