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]

(From OE-Core rev: 0a64dfcdb9f5a37771f881895be230392c4d0aff)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang
2015-07-30 08:18:09 -07:00
committed by Richard Purdie
parent 6087a04cb8
commit 1df8af4248
2 changed files with 11 additions and 4 deletions

View File

@@ -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):

View File

@@ -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() {