[Toaster] [PATCH v5 17/19] toaster: use bash explicitly
Ed Bartosh
ed.bartosh at linux.intel.com
Wed Mar 16 05:05:36 PDT 2016
Toaster can't run builds on Ubuntu as default /bin/sh points
to dash there. The reason is that oe-init-build-env can't
be sourced under dash for various reasons. It can be fixed
or work arounded, but it wouldn't fix builds for older releases.
Explicitly using bash to start builds should fix the issue.
Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
---
bitbake/lib/toaster/bldcontrol/localhostbecontroller.py | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
index ad6fed2..480f945 100644
--- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
+++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
@@ -258,7 +258,8 @@ 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('source %s %s' % (oe_init, builddir), self.be.sourcedir)
+ self._shellcmd("bash -c 'source %s %s'" % (oe_init, builddir),
+ self.be.sourcedir)
# update bblayers.conf
bblconfpath = os.path.join(builddir, "conf/bblayers.conf")
@@ -286,9 +287,9 @@ class LocalhostBEController(BuildEnvironmentController):
# run bitbake server from the clone
bitbake = os.path.join(self.pokydirname, 'bitbake', 'bin', 'bitbake')
- self._shellcmd('source %s %s; BITBAKE_UI="" %s --read %s '
- '--server-only -t xmlrpc -B 0.0.0.0:0' % (oe_init, builddir,
- bitbake, confpath), self.be.sourcedir)
+ self._shellcmd('bash -c \"source %s %s; BITBAKE_UI="" %s --read %s '
+ '--server-only -t xmlrpc -B 0.0.0.0:0\"' % (oe_init,
+ builddir, bitbake, confpath), self.be.sourcedir)
# read port number from bitbake.lock
self.be.bbport = ""
@@ -317,9 +318,9 @@ class LocalhostBEController(BuildEnvironmentController):
# run build with local bitbake. stop the server after the build.
log = os.path.join(builddir, 'toaster_ui.log')
- self._shellcmd(['(TOASTER_BRBE="%s" BBSERVER="0.0.0.0:-1" '
+ self._shellcmd(['bash -c \"(TOASTER_BRBE="%s" BBSERVER="0.0.0.0:-1" '
'../bitbake/bin/bitbake %s -u toasterui >>%s 2>&1;'
- 'BITBAKE_UI="" BBSERVER=0.0.0.0:-1 %s -m)&' \
+ 'BITBAKE_UI="" BBSERVER=0.0.0.0:-1 %s -m)&\"' \
% (brbe, bbtargets, log, bitbake)], builddir,
nowait=True)
--
2.1.4
More information about the toaster
mailing list