diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2015-07-30 08:18:09 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-01 10:52:37 +0100 |
commit | 0a64dfcdb9f5a37771f881895be230392c4d0aff (patch) | |
tree | 2185ce1aab9e6224384486eae6c2c0a56e91b534 | |
parent | 4d9a9d748e4cd0d0ffc67907c06bd01ceda2722e (diff) | |
download | openembedded-core-0a64dfcdb9f5a37771f881895be230392c4d0aff.tar.gz |
base.bbclass: move invalid PACKAGECONFIG checking to insane.bbclass
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.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/base.bbclass | 4 | ||||
-rw-r--r-- | 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 531b0e72c0..f0780011bd 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -353,10 +353,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 fc3d5fffde..9c05c862a1 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() { |