]> code.ossystems Code Review - openembedded-core.git/commitdiff
lib/oe/package_manager.py: RpmPM: fix issue with multilib builds
authorLaurentiu Palcu <laurentiu.palcu@intel.com>
Mon, 10 Feb 2014 07:32:04 +0000 (09:32 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 11 Feb 2014 11:53:05 +0000 (11:53 +0000)
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>
meta/lib/oe/package_manager.py

index dfcb0ef7839177d9ab292c719e79c3fb81d38f6b..49b5ac8e75ea5cd3bf8d3361d98464a3922e5fda 100644 (file)
@@ -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)