aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@intel.com>2014-02-10 09:32:04 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-11 11:53:05 +0000
commit730d675090eec5c03e444f0448d96a52035d0bef (patch)
tree08c1a50cae703b66b6b2259593dfcd6e1acf101e
parent8bf5d80e3502a71fdda688aace0799b47ae19b3b (diff)
downloadopenembedded-core-contrib-730d675090eec5c03e444f0448d96a52035d0bef.tar.gz
lib/oe/package_manager.py: RpmPM: fix issue with multilib builds
Use python sets instead of lists, to avoid duplicates. When doing a multilib build, "smart channel --add" fails because it tries to add 'all' channel twice. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
-rw-r--r--meta/lib/oe/package_manager.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index dfcb0ef783..49b5ac8e75 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -187,19 +187,18 @@ class RpmPM(PackageManager):
self.ml_os_list['default'])
# List must be prefered to least preferred order
- default_platform_extra = list()
- platform_extra = list()
+ default_platform_extra = set()
+ platform_extra = set()
bbextendvariant = self.d.getVar('BBEXTENDVARIANT', True) or ""
for mlib in self.ml_os_list:
for arch in self.ml_prefix_list[mlib]:
plt = arch.replace('-', '_') + '-.*-' + self.ml_os_list[mlib]
if mlib == bbextendvariant:
- if plt not in default_platform_extra:
- default_platform_extra.append(plt)
+ default_platform_extra.add(plt)
else:
- if plt not in platform_extra:
- platform_extra.append(plt)
- platform_extra = default_platform_extra + platform_extra
+ platform_extra.add(plt)
+
+ platform_extra = platform_extra.union(default_platform_extra)
self._create_configs(platform, platform_extra)