Skip to contentSkip to conversation

toaster: support custom Layer Index URL and fixture override

PATCH New David Reyna 1 participant 2 messages Aug 21, 2017

lore
Share & tools
lore
#0 lore raw

cover toaster: support custom Layer Index URL and fixture override

From: David Reyna <[email protected]>

These two simple changes help enable users and commercial partners to attach their custom layer index servers to Toaster, plus more control over the custom content for Toaster projects.

The following changes since commit 04dc76713b57f28457742dd863caa663591d4866:

devtool/copy_buildsystem: adds meta-skeleton layer in the eSDK installation. (2017-08-19 22:15:39 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib dreyna/submit/dreyna/toaster/custom_layer_index_11957
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=dreyna/submit/dreyna/toaster/custom_layer_index_11957

David Reyna (1):
toaster: support custom Layer Index URL and fixture override

 lib/toaster/bldcontrol/management/commands/checksettings.py | 5 ++++-
 lib/toaster/orm/management/commands/lsupdates.py            | 6 +++++-
 2 files changed, 9 insertions(+), 2 deletions(-)
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 toaster: support custom Layer Index URL and fixture override

From: David Reyna <[email protected]>

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]

---
 lib/toaster/bldcontrol/management/commands/checksettings.py | 5 ++++-
 lib/toaster/orm/management/commands/lsupdates.py            | 6 +++++-
 2 files changed, 9 insertions(+), 2 deletions(-)
lib/toaster/bldcontrol/management/commands/checksettings.py +4 -1
index d11166e..582114a 100644
@@ -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:
lib/toaster/orm/management/commands/lsupdates.py +5 -1
index 0b0d4ff..fac5733 100644
@@ -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()
 
Signature · 1 line
1.9.1