[OE-core] [PATCH] classes/buildhistory: avoid git diff churn by sorting more dictionaries

Paul Eggleton paul.eggleton at linux.intel.com
Thu Jan 3 09:15:08 UTC 2019


On Friday, 21 December 2018 10:05:00 PM NZDT Jacob Kroon wrote:
> Sort 'srcrevs' and 'tag_srcrevs' before iterating over them in order
> to avoid unnecessary changes in the build history.
> 
> Signed-off-by: Jacob Kroon <jacob.kroon at gmail.com>
> ---
>  meta/classes/buildhistory.bbclass | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
> index 40b292b139..d1f3e6aa82 100644
> --- a/meta/classes/buildhistory.bbclass
> +++ b/meta/classes/buildhistory.bbclass
> @@ -896,7 +896,7 @@ def write_latest_srcrev(d, pkghistdir):
>              if orig_srcrev != 'INVALID':
>                  f.write('# SRCREV = "%s"\n' % orig_srcrev)
>              if len(srcrevs) > 1:
> -                for name, srcrev in srcrevs.items():
> +                for name, srcrev in sorted(srcrevs.items()):
>                      orig_srcrev = d.getVar('SRCREV_%s' % name, False)
>                      if orig_srcrev:
>                          f.write('# SRCREV_%s = "%s"\n' % (name, orig_srcrev))
> @@ -904,7 +904,7 @@ def write_latest_srcrev(d, pkghistdir):
>              else:
>                  f.write('SRCREV = "%s"\n' % next(iter(srcrevs.values())))
>              if len(tag_srcrevs) > 0:
> -                for name, srcrev in tag_srcrevs.items():
> +                for name, srcrev in sorted(tag_srcrevs.items()):
>                      f.write('# tag_%s = "%s"\n' % (name, srcrev))
>                      if name in old_tag_srcrevs and old_tag_srcrevs[name] != srcrev:
>                          pkg = d.getVar('PN')
> 

This is OK. An alternative would be to create the original dictionaries as OrderedDicts, but on the other hand I'm not sure if the original order (i.e. as specified in SRC_URI) is particularly important in this context. Any other opinions?

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre




More information about the Openembedded-core mailing list