sanity.bbclass: check for duplicates in PACKAGE_ARCHS

Duplicate entries in PACKAGE_ARCHS causes problems with rootfs
generation. For example multiple architecture entries in opkg.conf
will confuse the opkg package manager.

(From OE-Core rev: 06aca3de95483e5086b0231df070bac76a6e3c19)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Lock 2011-03-18 13:28:42 +00:00 committed by Richard Purdie
parent aa51d032b1
commit e235357841
1 changed files with 13 additions and 0 deletions

View File

@ -338,6 +338,19 @@ def check_sanity(e):
elif oeroot.find (' ') != -1:
messages = messages + "Error, you have a space in your POKYBASE directory path. Please move Poky to a directory which doesn't include a space."
# Check that we don't have duplicate entries in PACKAGE_ARCHS
pkgarchs = data.getVar('PACKAGE_ARCHS', e.data, True)
seen = {}
dups = []
for pa in pkgarchs.split():
if seen.get(pa, 0) == 1:
dups.append(pa)
else:
seen[pa] = 1
if len(dups):
messages = messages + "Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: %s" % " ".join(dups)
if messages != "":
raise_sanity_error(messages)