From 57bd62ad5c623216b50393841e1e75c867894765 Mon Sep 17 00:00:00 2001 From: Lianhao Lu Date: Tue, 16 Aug 2011 16:26:49 +0800 Subject: package(_ipk).bbclass: opkg using ALL_MULTILIB_PACKAGE_ARCHS [YOCTO #1345] The new variable ALL_MULTILIB_PACKAGE_ARCHS contains all the values of PACKAGE_ARCHS for each multilib variants. The opkg backend now uses this new value insteald of the PACKAGE_ARCHS to update the opkg indexes and to generate the opkg configuration files. This allows the normal packages and multilib packages may be installed into the same rootfs. (From OE-Core rev: b774bf44ef004276da12a83ebd69715c00b596ac) Signed-off-by: Lianhao Lu Signed-off-by: Richard Purdie --- meta/classes/utils.bbclass | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'meta/classes/utils.bbclass') diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass index c66c18449a..56abdd844c 100644 --- a/meta/classes/utils.bbclass +++ b/meta/classes/utils.bbclass @@ -352,12 +352,16 @@ def extend_variants(d, var, extend, delim=':'): variants.append(eext[1]) return " ".join(variants) -def all_multilib_tune_values(d, var, unique=True): +def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = ' '): """Return a string of all ${var} in all multilib tune configuration""" values = [] value = d.getVar(var, True) or "" if value != "": - values.append(value) + if need_split: + for item in value.split(delim): + values.append(item) + else: + values.append(value) variants = d.getVar("MULTILIB_VARIANTS", True) or "" for item in variants.split(): localdata = bb.data.createCopy(d) @@ -366,7 +370,17 @@ def all_multilib_tune_values(d, var, unique=True): bb.data.update_data(localdata) value = localdata.getVar(var, True) or "" if value != "": - values.append(value) + if need_split: + for item in value.split(delim): + values.append(item) + else: + values.append(value) if unique: - values = set(values) - return " ".join(values) + #we do this to keep order as much as possible + ret = [] + for value in values: + if not value in ret: + ret.append(value) + else: + ret = values + return " ".join(ret) -- cgit v1.2.3-54-g00ecf