buildhistory: output package variables in a repeatable order

This code was outputting variables by iterating a dictionary.  In Py2 this
always results in the same iteration order but with Py3 the order changes every
execution, which resulted in buildhistory having to store diffs where fields
were simply re-ordered.

(From OE-Core rev: f9faa8df85317d12743134a44576b4882a9fb22a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2016-08-08 14:01:45 +01:00
committed by Richard Purdie
parent 7b33b23d0e
commit 95403e3ecd

View File

@@ -318,16 +318,14 @@ def write_pkghistory(pkginfo, d):
f.write(u"PV = %s\n" % pkginfo.pv)
f.write(u"PR = %s\n" % pkginfo.pr)
pkgvars = {}
pkgvars['PKG'] = pkginfo.pkg if pkginfo.pkg != pkginfo.name else ''
pkgvars['PKGE'] = pkginfo.pkge if pkginfo.pkge != pkginfo.pe else ''
pkgvars['PKGV'] = pkginfo.pkgv if pkginfo.pkgv != pkginfo.pv else ''
pkgvars['PKGR'] = pkginfo.pkgr if pkginfo.pkgr != pkginfo.pr else ''
for pkgvar in pkgvars:
val = pkgvars[pkgvar]
if val:
f.write(u"%s = %s\n" % (pkgvar, val))
if pkginfo.pkg != pkginfo.name:
f.write(u"PKG = %s\n" % pkginfo.pkg)
if pkginfo.pkge != pkginfo.pe:
f.write(u"PKGE = %s\n" % pkginfo.pkge)
if pkginfo.pkgv != pkginfo.pv:
f.write(u"PKGV = %s\n" % pkginfo.pkgv)
if pkginfo.pkgr != pkginfo.pr:
f.write(u"PKGR = %s\n" % pkginfo.pkgr)
f.write(u"RPROVIDES = %s\n" % pkginfo.rprovides)
f.write(u"RDEPENDS = %s\n" % pkginfo.rdepends)
f.write(u"RRECOMMENDS = %s\n" % pkginfo.rrecommends)