Skip to contentSkip to conversation

Sanity check for duplicate PACKAGE_ARCHS

PATCH New Joshua Lock 1 participant 2 messages Mar 18, 2011

lore
Share & tools
lore
#0 lore raw

cover Sanity check for duplicate PACKAGE_ARCHS

From: Joshua Lock <[email protected]>

I have had some pain this morning caused by duplicated entries in my PACKAGE_ARCHS variable. After Richard helped me debug this he suggest we add a sanity check for this issue.

Pull URL: git://git.openembedded.org/openembedded-core-contrib
Branch: josh/pkgarch
Browse: http://git.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=josh/pkgarch

Thanks,
Joshua Lock <[email protected]>
---

Joshua Lock (1):
sanity.bbclass: check for duplicates in PACKAGE_ARCHS

 meta/classes/sanity.bbclass |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
Signature · 1 line
1.7.4
#1 lore raw

PATCH 1/1 sanity.bbclass: check for duplicates in PACKAGE_ARCHS

From: Joshua Lock <[email protected]>

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

---
 meta/classes/sanity.bbclass |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
meta/classes/sanity.bbclass +13 -0
index 6e13d2a..639e1ea 100644
@@ -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)
 
Signature · 1 line
1.7.4