Couple of comments below:

From b874cbeae00a4e0d34336d3857731c1233ac73d0 Mon Sep 17 00:00:00 2001
From: Sujith H <[email protected]>
Date: Fri, 28 Oct 2016 07:40:22 +0000
Subject: toaster: accept custom init script for build

When passed variable CUSTOM_BUILD_INIT_SCRIPT to toaster
setting, it would be nice to use it. Else toaster
can use oe-init script. This gives an oppurtunity to
use customized build init scritps.

Signed-off-by: Sujith H <[email protected]>

diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py 
b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
index a64e89b..33717cd 100644
--- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
+++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
@@ -27,7 +27,7 @@ import shutil
 from django.db import transaction
 from django.db.models import Q
 from bldcontrol.models import BuildEnvironment, BRLayer, BRVariable, BRTarget, 
BRBitbake
-from orm.models import CustomImageRecipe, Layer, Layer_Version, ProjectLayer
+from orm.models import CustomImageRecipe, Layer, Layer_Version, ProjectLayer, 
ToasterSetting
 import subprocess
from toastermain import settings
@@ -277,20 +277,23 @@ class LocalhostBEController(BuildEnvironmentController):
         builddir = '%s-toaster-%d' % (self.be.builddir, bitbake.req.project.id)
         oe_init = os.path.join(self.pokydirname, 'oe-init-build-env')
         # init build environment
-        self._shellcmd("bash -c 'source %s %s'" % (oe_init, builddir),
+        try:
+            custom_script = 
ToasterSetting.objects.get(name="CUSTOM_BUILD_INIT_SCRIPT").value
+            custom_script = custom_script.replace("%BUILDDIR%" ,builddir)
+            self._shellcmd("bash -c 'source %s'" % (custom_script))
+        except:



Please add the exception type in here. It'll be something like 
ToaserSettings.DoesNotExist see
https://docs.djangoproject.com/en/1.8/ref/models/instances/#django.db.models.Model.DoesNotExist




 +            self._shellcmd("bash -c 'source %s %s'" % (oe_init, builddir),
                        self.be.sourcedir)
# update bblayers.conf
         bblconfpath = os.path.join(builddir, "conf/bblayers.conf")
         conflines = open(bblconfpath, "r").readlines()
-        skip = False
+        if "# line added by toaster build control\n" in conflines:
+            conflines.pop()



This is something that needs to be a in separate patch as it's a different 
issue.




 with open(bblconfpath, 'w') as bblayers:
             for line in conflines:
                 if line.startswith("# line added by toaster"):
-                    skip = True
                     continue
-                if skip:
-                    skip = False
                 else:
                     bblayers.write(line)

--
cgit v0.10.2

Thanks,

Michael

On 02/11/16 05:03, sujith h wrote:
Hi,

I have created a patch: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=sujith/toaster-use-custom-build-scripts&id=b874cbeae00a4e0d34336d3857731c1233ac73d0 to review the usage of custom init or setup script. This will help users to use their own script instead of poky's oe-init, if they wish. If CUSTOM_BUILD_INIT_SCRIPT variable is not available it will fall back to poky's oe-init. Kindly let me know if the patch is ok or not ( basically feedback ), I can do the needful to get it better.

Thanks,
Sujith H

--
സുജിത് ഹരിദാസന്
Bangalore
<Project>Contributor to KDE project
<Project>Contributor to Yocto project
http://fci.wikia.com/wiki/Anti-DRM-Campaign
<Blog> http://sujithh.info
C-x C-c



--
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to