[OE-core] [morty][PATCH] buildhistory: fix latest_srcrev in the common case

Andre McCurdy armccurdy at gmail.com
Thu Apr 5 00:54:54 UTC 2018


On Wed, Mar 14, 2018 at 4:52 PM, Andre McCurdy <armccurdy at gmail.com> wrote:
> On Tue, Feb 27, 2018 at 5:06 PM, Andre McCurdy <armccurdy at gmail.com> wrote:
>> From: Christopher Larson <chris_larson at mentor.com>
>>
>> buildhistory was writing srcrevs.values() as SRCREV when only one
>> srcrev/branch exists. This returns a view of the dictionary values in python
>> 3, and used to return a list in python 2, neither of which is an appropriate
>> value for SRCREV. It was resulting in latest_srcrev files like this:
>>
>>     # SRCREV = "346584bf6e38232be8773c24fd7dedcbd7b3d9ed"
>>     SRCREV = "dict_values(['346584bf6e38232be8773c24fd7dedcbd7b3d9ed'])"
>>
>> Which in turn would result in invalid output in buildhistory-collect-srcrevs.
>> Fix by calling `next(iter())` on the `.values()`
>
> Ping.

Ping again.

This should be a very low risk backport fix for morty but if there are
any concerns then please let me know.

>> Signed-off-by: Christopher Larson <chris_larson at mentor.com>
>> Signed-off-by: Ross Burton <ross.burton at intel.com>
>> (cherry picked from commit ef826a395612400924bbe49859d256b237ff59e1)
>> Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
>> ---
>>  meta/classes/buildhistory.bbclass | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
>> index 3a5bc2c..d82e9bb 100644
>> --- a/meta/classes/buildhistory.bbclass
>> +++ b/meta/classes/buildhistory.bbclass
>> @@ -833,7 +833,7 @@ python write_srcrev() {
>>                          f.write('# SRCREV_%s = "%s"\n' % (name, orig_srcrev))
>>                      f.write('SRCREV_%s = "%s"\n' % (name, srcrev))
>>              else:
>> -                f.write('SRCREV = "%s"\n' % srcrevs.values())
>> +                f.write('SRCREV = "%s"\n' % next(iter(srcrevs.values())))
>>              if len(tag_srcrevs) > 0:
>>                  for name, srcrev in tag_srcrevs.items():
>>                      f.write('# tag_%s = "%s"\n' % (name, srcrev))
>> --
>> 1.9.1
>>



More information about the Openembedded-core mailing list