From 254e2debe5705f4fe34307378a8c1457e4327d1c Mon Sep 17 00:00:00 2001 From: David Reyna Date: Sun, 20 Aug 2017 21:02:54 -0700 Subject: bitbake: toaster: support custom Layer Index URL and fixture override Toaster needs to allow the custom fixture file to specific an alternate Layer Index URL for users that host their own Layer Index Server via the 'CUSTOM_LAYERINDEX_SERVER' in 'custom.xml'. Toaster also needs to allow the ability to completely override the default fixture files, otherwise that content can leak into the custom environment (by default the custom fixture is an overlay that cannot remove existing values from the default fixture) via the 'CUSTOM_XML_ONLY' value in 'setting.xml'. [YOCTO #11938] (Bitbake rev: ac29d4a9078494544a2627d8b6b021096b49cb34) Signed-off-by: David Reyna Signed-off-by: Richard Purdie --- bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py | 5 ++++- bitbake/lib/toaster/orm/management/commands/lsupdates.py | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py b/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py index d11166ef53..582114ac97 100644 --- a/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py +++ b/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py @@ -75,7 +75,10 @@ class Command(BaseCommand): call_command("loaddata", "settings") template_conf = os.environ.get("TEMPLATECONF", "") - if "poky" in template_conf: + if ToasterSetting.objects.filter(name='CUSTOM_XML_ONLY').count() > 0: + # only use the custom settings + pass + elif "poky" in template_conf: print("Loading poky configuration") call_command("loaddata", "poky") else: diff --git a/bitbake/lib/toaster/orm/management/commands/lsupdates.py b/bitbake/lib/toaster/orm/management/commands/lsupdates.py index 0b0d4ff8f9..fac5733a64 100644 --- a/bitbake/lib/toaster/orm/management/commands/lsupdates.py +++ b/bitbake/lib/toaster/orm/management/commands/lsupdates.py @@ -81,6 +81,8 @@ class Command(BaseCommand): os.system('setterm -cursor off') self.apiurl = DEFAULT_LAYERINDEX_SERVER + if ToasterSetting.objects.filter(name='CUSTOM_LAYERINDEX_SERVER').count() == 1: + self.apiurl = ToasterSetting.objects.get(name = 'CUSTOM_LAYERINDEX_SERVER').value assert self.apiurl is not None try: @@ -92,7 +94,9 @@ class Command(BaseCommand): proxy_settings = os.environ.get("http_proxy", None) - def _get_json_response(apiurl=DEFAULT_LAYERINDEX_SERVER): + def _get_json_response(apiurl=None): + if None == apiurl: + apiurl=self.apiurl http_progress = Spinner() http_progress.start() -- cgit v1.2.3-54-g00ecf