summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/bldcontrol/localhostbecontroller.py')
-rw-r--r--bitbake/lib/toaster/bldcontrol/localhostbecontroller.py27
1 files changed, 17 insertions, 10 deletions
diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
index ebf2b4f3bb..22d31e33f2 100644
--- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
+++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
@@ -32,6 +32,10 @@ from toastermain import settings
32 32
33from bbcontroller import BuildEnvironmentController, ShellCmdException, BuildSetupException, _getgitcheckoutdirectoryname 33from bbcontroller import BuildEnvironmentController, ShellCmdException, BuildSetupException, _getgitcheckoutdirectoryname
34 34
35import logging
36logger = logging.getLogger("toaster")
37
38
35class LocalhostBEController(BuildEnvironmentController): 39class LocalhostBEController(BuildEnvironmentController):
36 """ Implementation of the BuildEnvironmentController for the localhost; 40 """ Implementation of the BuildEnvironmentController for the localhost;
37 this controller manages the default build directory, 41 this controller manages the default build directory,
@@ -56,8 +60,10 @@ class LocalhostBEController(BuildEnvironmentController):
56 err = "command: %s \n%s" % (command, out) 60 err = "command: %s \n%s" % (command, out)
57 else: 61 else:
58 err = "command: %s \n%s" % (command, err) 62 err = "command: %s \n%s" % (command, err)
63 logger.debug("localhostbecontroller: shellcmd error %s" % err)
59 raise ShellCmdException(err) 64 raise ShellCmdException(err)
60 else: 65 else:
66 logger.debug("localhostbecontroller: shellcmd success")
61 return out 67 return out
62 68
63 def _createdirpath(self, path): 69 def _createdirpath(self, path):
@@ -90,7 +96,7 @@ class LocalhostBEController(BuildEnvironmentController):
90 for i in self._shellcmd(cmd).split("\n"): 96 for i in self._shellcmd(cmd).split("\n"):
91 if i.startswith("Bitbake server address"): 97 if i.startswith("Bitbake server address"):
92 port = i.split(" ")[-1] 98 port = i.split(" ")[-1]
93 print "Found bitbake server port ", port 99 logger.debug("localhostbecontroller: Found bitbake server port %s" % port)
94 100
95 def _toaster_ui_started(filepath): 101 def _toaster_ui_started(filepath):
96 if not os.path.exists(filepath): 102 if not os.path.exists(filepath):
@@ -103,10 +109,10 @@ class LocalhostBEController(BuildEnvironmentController):
103 109
104 while not _toaster_ui_started(os.path.join(self.be.builddir, "toaster_ui.log")): 110 while not _toaster_ui_started(os.path.join(self.be.builddir, "toaster_ui.log")):
105 import time 111 import time
106 print "DEBUG: Waiting server to start" 112 logger.debug("localhostbecontroller: Waiting bitbake server to start")
107 time.sleep(0.5) 113 time.sleep(0.5)
108 114
109 print("DEBUG: Started server") 115 logger.debug("localhostbecontroller: Started bitbake server")
110 assert self.be.sourcedir and os.path.exists(self.be.builddir) 116 assert self.be.sourcedir and os.path.exists(self.be.builddir)
111 self.be.bbaddress = "localhost" 117 self.be.bbaddress = "localhost"
112 self.be.bbport = port 118 self.be.bbport = port
@@ -116,11 +122,11 @@ class LocalhostBEController(BuildEnvironmentController):
116 def stopBBServer(self): 122 def stopBBServer(self):
117 assert self.pokydirname and os.path.exists(self.pokydirname) 123 assert self.pokydirname and os.path.exists(self.pokydirname)
118 assert self.islayerset 124 assert self.islayerset
119 print self._shellcmd("bash -c \"source %s/oe-init-build-env %s && %s source toaster stop\"" % 125 self._shellcmd("bash -c \"source %s/oe-init-build-env %s && %s source toaster stop\"" %
120 (self.pokydirname, self.be.builddir, (lambda: "" if self.be.bbtoken is None else "BBTOKEN=%s" % self.be.bbtoken)())) 126 (self.pokydirname, self.be.builddir, (lambda: "" if self.be.bbtoken is None else "BBTOKEN=%s" % self.be.bbtoken)()))
121 self.be.bbstate = BuildEnvironment.SERVER_STOPPED 127 self.be.bbstate = BuildEnvironment.SERVER_STOPPED
122 self.be.save() 128 self.be.save()
123 print "Stopped server" 129 logger.debug("localhostbecontroller: Stopped bitbake server")
124 130
125 def setLayers(self, bitbakes, layers): 131 def setLayers(self, bitbakes, layers):
126 """ a word of attention: by convention, the first layer for any build will be poky! """ 132 """ a word of attention: by convention, the first layer for any build will be poky! """
@@ -149,12 +155,13 @@ class LocalhostBEController(BuildEnvironmentController):
149 raise BuildSetupException("More than one commit per git url, unsupported configuration: \n%s" % pprint.pformat(gitrepos)) 155 raise BuildSetupException("More than one commit per git url, unsupported configuration: \n%s" % pprint.pformat(gitrepos))
150 156
151 157
158 logger.debug("localhostbecontroller, our git repos are %s" % gitrepos)
152 layerlist = [] 159 layerlist = []
153 160
154 # 2. checkout the repositories 161 # 2. checkout the repositories
155 for giturl in gitrepos.keys(): 162 for giturl in gitrepos.keys():
156 localdirname = os.path.join(self.be.sourcedir, _getgitcheckoutdirectoryname(giturl)) 163 localdirname = os.path.join(self.be.sourcedir, _getgitcheckoutdirectoryname(giturl))
157 print "DEBUG: giturl ", giturl ,"checking out in current directory", localdirname 164 logger.debug("localhostbecontroller: giturl %s checking out in current directory %s" % (giturl, localdirname))
158 165
159 # make sure our directory is a git repository 166 # make sure our directory is a git repository
160 if os.path.exists(localdirname): 167 if os.path.exists(localdirname):
@@ -167,17 +174,17 @@ class LocalhostBEController(BuildEnvironmentController):
167 174
168 # branch magic name "HEAD" will inhibit checkout 175 # branch magic name "HEAD" will inhibit checkout
169 if commit != "HEAD": 176 if commit != "HEAD":
170 print "DEBUG: checking out commit ", commit, "to", localdirname 177 logger.debug("localhostbecontroller: checking out commit %s to %s " % (commit, localdirname))
171 self._shellcmd("git fetch --all && git checkout \"%s\"" % commit , localdirname) 178 self._shellcmd("git fetch --all && git checkout \"%s\"" % commit , localdirname)
172 179
173 # take the localdirname as poky dir if we can find the oe-init-build-env 180 # take the localdirname as poky dir if we can find the oe-init-build-env
174 if self.pokydirname is None and os.path.exists(os.path.join(localdirname, "oe-init-build-env")): 181 if self.pokydirname is None and os.path.exists(os.path.join(localdirname, "oe-init-build-env")):
175 print "DEBUG: selected poky dir name", localdirname 182 logger.debug("localhostbecontroller: selected poky dir name %s" % localdirname)
176 self.pokydirname = localdirname 183 self.pokydirname = localdirname
177 184
178 # make sure we have a working bitbake 185 # make sure we have a working bitbake
179 if not os.path.exists(os.path.join(self.pokydirname, 'bitbake')): 186 if not os.path.exists(os.path.join(self.pokydirname, 'bitbake')):
180 print "DEBUG: checking bitbake into the poky dirname %s " % self.pokydirname 187 logger.debug("localhostbecontroller: checking bitbake into the poky dirname %s " % self.pokydirname)
181 self._shellcmd("git clone -b \"%s\" \"%s\" \"%s\" " % (bitbakes[0].commit, bitbakes[0].giturl, os.path.join(self.pokydirname, 'bitbake'))) 188 self._shellcmd("git clone -b \"%s\" \"%s\" \"%s\" " % (bitbakes[0].commit, bitbakes[0].giturl, os.path.join(self.pokydirname, 'bitbake')))
182 189
183 # verify our repositories 190 # verify our repositories
@@ -189,7 +196,7 @@ class LocalhostBEController(BuildEnvironmentController):
189 if name != "bitbake": 196 if name != "bitbake":
190 layerlist.append(localdirpath.rstrip("/")) 197 layerlist.append(localdirpath.rstrip("/"))
191 198
192 print "DEBUG: current layer list ", layerlist 199 logger.debug("localhostbecontroller: current layer list %s " % layerlist)
193 200
194 # 3. configure the build environment, so we have a conf/bblayers.conf 201 # 3. configure the build environment, so we have a conf/bblayers.conf
195 assert self.pokydirname is not None 202 assert self.pokydirname is not None