From 57e5f24e57caf40007459015bb47801561c779ce Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Wed, 2 Dec 2015 10:02:51 -0800 Subject: [PATCH] bitbake: toaster: do not create duplicate HelpText objects buildinfohelper code expects only one HelpText object per build/variable/description. Current code creates more than one such an object, which causes toastergui to crash with this exception: MultipleObjectsReturned: get() returned more than one HelpText -- it returned 2! Used git_or_create API to ensure that only one HelpText object is created. (Bitbake rev: e9b46803eb6f1f4044919abf90c8aeb3536e73ed) Signed-off-by: Ed Bartosh Signed-off-by: brian avery Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/buildinfohelper.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index 43c243e827..2b9302d108 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py @@ -700,7 +700,6 @@ class ORMWrapper(object): def save_build_variables(self, build_obj, vardump): assert isinstance(build_obj, Build) - helptext_objects = [] for k in vardump: desc = vardump[k]['doc'] if desc is None: @@ -711,10 +710,9 @@ class ORMWrapper(object): if desc is None: desc = '' if len(desc): - helptext_objects.append(HelpText(build=build_obj, - area=HelpText.VARIABLE, - key=k, - text=desc)) + HelpText.objects.get_or_create(build=build_obj, + area=HelpText.VARIABLE, + key=k, text=desc) if not bool(vardump[k]['func']): value = vardump[k]['v'] if value is None: @@ -734,8 +732,6 @@ class ORMWrapper(object): if len(varhist_objects): VariableHistory.objects.bulk_create(varhist_objects) - HelpText.objects.bulk_create(helptext_objects) - class MockEvent(object): """ This object is used to create event, for which normal event-processing methods can