[Toaster] [PATCH v2 00/15] per project build directory

Barros Pena, Belen belen.barros.pena at intel.com
Wed Mar 9 03:40:04 PST 2016



On 08/03/2016 13:53, "toaster-bounces at yoctoproject.org on behalf of Ed
Bartosh" <toaster-bounces at yoctoproject.org on behalf of
ed.bartosh at linux.intel.com> wrote:

>Hi,
>
>This is a first draft of per project build directory implementation.
>Default build directory is not going to be used for project builds
>anymore.
>It can be used only for command line builds. Toaster will use
>build-toaster-<project>
>directories for project builds.
>
>This is how to test this:
> - run toaster
> - run command line build: build zlib

This shows a warning about build history not being enabled. I know you
already know about this, but just for completeness ;)

> - check if it's shown in Toaster UI

Builds started from CLI do show in the web UI, but once they complete they
are missing layer and package information. I guess that's connected with
the build history issue above

> - create project for Yocto master
> - trigger project build from UI

The build I triggered from the Toaster web UI from a Yocto master project
(core-image-minimal) failed with this traceback:

/bin/sh: 1: source: not found

Traceback (most recent call last):
  File 
"/home/yocto/master/bitbake/lib/toaster/bldcontrol/management/commands/runb
uilds.py", line 58, in schedule
    br.brtarget_set.all(), "%d:%d" % (br.pk, bec.be.pk))
  File 
"/home/yocto/master/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
", line 261, in triggerBuild
    self._shellcmd('source %s %s' % (oe_init, builddir), self.be.sourcedir)
  File 
"/home/yocto/master/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
", line 70, in _shellcmd
    raise ShellCmdException(err)
ShellCmdException: command: source
/home/yocto/master/_toaster_clones/_git___git.yoctoproject.org_poky_master/
oe-init-build-env /home/yocto/master/build-toaster-master project
/bin/sh: 1: source: not found


> - wait until it succeeds
> - create project for Jethro
> - trigger project build from UI

Build fails with the same error as above

> - wait until it succeds
> - check that 2 build directories build-toaster-<project> exist and
>contain
>   correct toaster.conf and bblayers.conf

After all the above there is only one build directory created, the one
that was generated when running the build from CLI. Also:

* I can no longer find the toaster_ui.log file

* It looks like the builds are still using build/sstate-cache and
build/downloads as SSTATE_DIR and DL_DIR, but I think we agreed that
projects by default would share those 2 directories, which I guess means
they have to move outside the build directory, although I could be mistaken

* _toaster_clones is still being created in the root checkout directory,
which I guess makes sense

* A pending question is where the toaster-custom-images layer we generate
when building custom images should be. I had a brief chat with Michael
about this, and I think we concluded the layer should not be shared across
projects, which means we should create one per project and they should be
inside the project build dir. Right now the _meta-toaster-custom directory
is also in the root checkout directory

That's all, I think :)

Thanks!

Belén

>
>Changes in v2: stop bitbake server after the build
>
>The following changes since commit
>3cee13dc65a1db5643126859ae9e5ce6bd282c81:
>
>  toaster: rework task buildstats storage and display (2016-03-08
>11:09:44 +0000)
>
>are available in the git repository at:
>
>  git://git.yoctoproject.org/poky-contrib
>ed/toaster/project-build-dir-7880
>  
>http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/projec
>t-build-dir-7880
>
>Ed Bartosh (15):
>  xmlrpc: fix bug in setting XMLRPCServer.single_use
>  toaster: don't start bitbake server
>  toaster: get rid of noui option
>  toaster: set BITBAKE_UI environment variable
>  toasterui: add brbe parameter to buildinfohelper
>  uievent: improve BBUIEventQueue code
>  buildinfohelper: improve handling of providermap
>  toasterui: fix brbe reporting
>  toaster: remove startBBServer API
>  toaster: remove release API
>  toaster: add brbe parameter to triggerBuild
>  toaster: modified setLayers API
>  toaster: reimplement triggerBuild
>  toaster: add new parameter to _shellcmd
>  toaster: stop bitbake server after the build
>
> bitbake/bin/toaster                                |  73 ++---------
> bitbake/lib/bb/server/xmlrpc.py                    |   3 +-
> bitbake/lib/bb/ui/buildinfohelper.py               |   7 +-
> bitbake/lib/bb/ui/toasterui.py                     |   9 +-
> bitbake/lib/bb/ui/uievent.py                       |  10 +-
> bitbake/lib/toaster/bldcontrol/bbcontroller.py     |  33 -----
> .../toaster/bldcontrol/localhostbecontroller.py    | 133
>++++++++-------------
> .../bldcontrol/management/commands/runbuilds.py    |   6 +-
> 8 files changed, 80 insertions(+), 194 deletions(-)
>
>--
>Regards,
>Ed
>-- 
>_______________________________________________
>toaster mailing list
>toaster at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/toaster



More information about the toaster mailing list