From: Bill Randle Date: Sat, 25 Jun 2016 04:22:31 +0000 (-0700) Subject: lib/oe/package_manager: keep platform_extra and default_platform_extra lists ordered X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=58643b74eef6acfe4099b9f722d2a3f873623acd;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git lib/oe/package_manager: keep platform_extra and default_platform_extra lists ordered In RpmPM:insert_feeds_uris, the paths are kept in sets, which are unordered, but they are later used to set the priority for the Smart channels, so unexpected results could occur. Change the sets to lists and use the same code as in create_configs() to add items to the list, rather than the set operators. [YOCTO #9717] (From OE-Core rev: ce4137f4bb955207fede0c4ef338835d9a461f59) Signed-off-by: Bill Randle Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 717246d3831..2004a42a01b 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -700,18 +700,19 @@ class RpmPM(PackageManager): arch_list = self.feed_archs.split() else: # List must be prefered to least preferred order - default_platform_extra = set() - platform_extra = set() + default_platform_extra = list() + platform_extra = list() 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: - default_platform_extra.add(plt) + if plt not in default_platform_extra: + default_platform_extra.append(plt) else: - platform_extra.add(plt) - - platform_extra = platform_extra.union(default_platform_extra) + if plt not in platform_extra: + platform_extra.append(plt) + platform_extra = default_platform_extra + platform_extra for canonical_arch in platform_extra: arch = canonical_arch.split('-')[0]