summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2011-03-18 13:28:42 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-03-18 16:45:27 +0000
commit06aca3de95483e5086b0231df070bac76a6e3c19 (patch)
tree3ddf05a954120de13b97577972f2d42ea8ebf035
parent45039d008519c13f97d9b195bba4505b3865b5ea (diff)
downloadopenembedded-core-06aca3de95483e5086b0231df070bac76a6e3c19.tar.gz
openembedded-core-06aca3de95483e5086b0231df070bac76a6e3c19.tar.bz2
openembedded-core-06aca3de95483e5086b0231df070bac76a6e3c19.zip
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. Signed-off-by: Joshua Lock <josh@linux.intel.com>
-rw-r--r--meta/classes/sanity.bbclass13
1 files changed, 13 insertions, 0 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 6e13d2ac4d..639e1ea61a 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -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)