[yocto] [PATCH] keep platform_extra and default_platform_extra lists ordered

Joshua G Lock joshua.g.lock at linux.intel.com
Mon Jun 27 05:12:11 PDT 2016


Hi Bill,

This patch is for OE-Core so should go to 

openembedded-core at lists.openembedded.org

Thanks,

Joshua

On Fri, 2016-06-24 at 21:22 -0700, Bill Randle wrote:
> 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, reather than
> the set
> operators.
> 
> [YOCTO #9717]
> 
> Signed-off-by: Bill Randle <william.c.randle at intel.com>
> ---
>  meta/lib/oe/package_manager.py | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/lib/oe/package_manager.py
> b/meta/lib/oe/package_manager.py
> index 717246d..2004a42 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]
> -- 
> 2.5.5
> 



More information about the yocto mailing list