Skip to contentSkip to conversation

per project build directory + build cancel + DL_DIR/SSTATE_DIR

PATCH In review Ed Bartosh 2 participants 2 messages Apr 6, 2016

lore
Share & tools
lore

Ed Bartosh

author
#0 lore raw

v9 cover per project build directory + build cancel + DL_DIR/SSTATE_DIR

Hi,

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 id> directories for project builds.

The patchset also contains implementation of build cancelation(#6787) and setting of DL_DIR and SSTATE_DIR project variables. This work was done by Sujith and Michael.

This patchset fixes the following bugs:
7880 2.1M3 Medium+/Normal: Toaster uses the same /tmp dir across releases
9058 2.1 Medium/Normal: Bad project MACHINE setting in conf/toaster.conf causes command line builds to fail
8958 2.1M3 Medium/Normal: Toaster does not build with the Jethro release
6787 2.1 Medium/Enhancement: Cancelling builds at any point in the build process
8422 2.1 Medium/Enhancement: we currently don't allow setting of sstate_dir or dl_dir

This is how to test this:
- run toaster
- run command line build: build zlib
- check if it's shown in Toaster UI
- create project for Yocto master
- trigger project build from UI
- wait until it succeeds
- create project for Jethro
- check that DL_DIR and SSTATE_DIR variables point to the same location for both projects
- trigger project build from UI
- wait until it succeds
- check that 2 build directories build-toaster-<project id> exist and contain correct conf/toaster.conf and conf/bblayers.conf
- trigger any build from UI again and try to cancel it

Changes in v2: stop bitbake server after the build
Changes in v3: fixed '/bin/sh: 1: source: not found' dash issue
used project id in build directory name
added 'INHERIT+='toaster buildhistory' to conf/local.conf on toaster start
Changes in v4: fixed builds on Ubuntu caused by dash being default shell Changes in v5: fixed nasty bug in toasterui causing it to stuck in event loop Changes in v6: added fix for 6787 build cancelation patchset
added fix for 8422 (DL_DIR and SSTATE_DIR) patchset
run bitbake client from sourcedir/bitbake/bin
fixed empty image data
fixed couple of crashes in buildinfohelper code
rebased on top of toaster-next@March 23rd 10:20 GMT
Changes in v7: fixed building for non-poky setup
fixed absent image package info
Changes in v8: fixed wrong status of cancelled build
reorganized migrations
rebased on top of toaster-next@Apr 4th 10:42 GMT
Changes in v9: rebased o top of toaster-next@Apr 5th 16:00 GMT after removal of
3 patches from toaster-next

The following changes since commit 02ef3b5f66af8ada641cef1e2dfaff4a94ff444f:

toaster: update the meta-yocto toaster configuration file (2016-04-05 10:04:32 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib ed/toaster/project-build-dir-cancel-dldir_sstatedir
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/project-build-dir-cancel-dldir_sstatedir

Ed Bartosh (26):
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
toaster: update conf/local.conf
toaster: fix jethro build
toaster: use bash explicitly
toasterui: shutdown on BuildCompleted event
toaster: fix conflicting migrations
toaster: use empty token
toaster: add DL_DIR and SSTATE_DIR to oe toasterconf
toaster: export BBBASEDIR variable
toaster: get bitbake location from BBBASEDIR
buildinfohelper: fix KeyError
toasterui: update build in internal state
toaster: reorder migrations

Michael Wood (9):
toaster: Move xhr calls for starting and stopping builds
toaster: xhr Update the implementation of the build cancellation
request
toaster: libtoaster Update implementation of startABuild and
cancelABuild
toaster: bldcontrol models Add a cancelling state the BuildRequest
buildinfohelper: Add handler for cancelling a build
toaster: mrb_section template Add build cancel button
toaster: models Exclude the CANCELLED builds from get_number_of_builds
toaster: runbuilds Make runbuilds aware of the build CANCELLED state
toaster: runbuilds Clean up runbuilds

Sujith H (7):
toaster: bldcontrol Add forceShutDown function to BitbakeController
toaster: update BuildEnvironmentController and BitbakeController
toaster: models Add cancelled state to build outcome
toaster: tables BuildsTable exclude cancelled builds
toaster: add DL_DIR and SSTATE_DIR to poky toasterconf
toaster: update view to support DL_DIR and SSTATE_DIR
toaster: update projectconf.html for DL_DIR and SSTATE_DIR

 bitbake/bin/toaster                                |  82 ++---------
 bitbake/lib/bb/ui/buildinfohelper.py               |  49 +++++--
 bitbake/lib/bb/ui/toasterui.py                     |  22 +--
 bitbake/lib/bb/ui/uievent.py                       |  10 +-
 bitbake/lib/toaster/bldcontrol/bbcontroller.py     |  62 +-------
 .../toaster/bldcontrol/localhostbecontroller.py    | 152 ++++++++++----------
 .../bldcontrol/management/commands/runbuilds.py    | 109 +++++++++-----
 .../migrations/0002_add_cancelling_state.py        |  19 +++
 ...20160120_1250.py => 0003_auto_20160120_1250.py} |   2 +-
 bitbake/lib/toaster/bldcontrol/models.py           |  27 +++-
 .../orm/migrations/0006_add_cancelled_state.py     |  20 +++
 bitbake/lib/toaster/orm/models.py                  |  12 +-
 bitbake/lib/toaster/toastergui/api.py              | 110 ++++++++++++++
 .../toaster/toastergui/static/js/customrecipe.js   |   4 +-
 .../lib/toaster/toastergui/static/js/layerBtn.js   |   3 +-
 .../lib/toaster/toastergui/static/js/libtoaster.js |  41 ++++--
 .../lib/toaster/toastergui/static/js/mrbsection.js |  95 ++++++++++++
 .../toaster/toastergui/static/js/projectpage.js    |   4 +-
 .../toaster/toastergui/static/js/projecttopbar.js  |   6 +-
 .../toaster/toastergui/static/js/recipedetails.js  |   4 +-
 bitbake/lib/toaster/toastergui/tables.py           |  48 +------
 bitbake/lib/toaster/toastergui/templates/base.html |   1 +
 .../toaster/toastergui/templates/mrb_section.html  | 148 +++++++------------
 .../toaster/toastergui/templates/projectconf.html  | 160 ++++++++++++++++++++-
 bitbake/lib/toaster/toastergui/urls.py             |   5 +
 bitbake/lib/toaster/toastergui/views.py            |  40 +++++-
 meta-poky/conf/toasterconf.json                    |   4 +-
 meta/conf/toasterconf.json                         |   4 +-
 28 files changed, 801 insertions(+), 442 deletions(-)
 create mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0002_add_cancelling_state.py
 rename bitbake/lib/toaster/bldcontrol/migrations/{0002_auto_20160120_1250.py => 0003_auto_20160120_1250.py} (87%)
 create mode 100644 bitbake/lib/toaster/orm/migrations/0006_add_cancelled_state.py
 create mode 100644 bitbake/lib/toaster/toastergui/api.py
 create mode 100644 bitbake/lib/toaster/toastergui/static/js/mrbsection.js
Signature · 1 line
2.1.4
#1 lore raw

Right this has been pushed to upstream to bitbake-devel, poky and oe-core and is now in toaster-next

Thanks all!

Michael

Quoted 146 lines · Ed Bartosh

Hi,

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 id> directories for project builds.

The patchset also contains implementation of build cancelation(#6787) and setting of DL_DIR and SSTATE_DIR project variables. This work was done by Sujith and Michael.

This patchset fixes the following bugs:
7880 2.1M3 Medium+/Normal: Toaster uses the same /tmp dir across releases
9058 2.1 Medium/Normal: Bad project MACHINE setting in conf/toaster.conf causes command line builds to fail
8958 2.1M3 Medium/Normal: Toaster does not build with the Jethro release
6787 2.1 Medium/Enhancement: Cancelling builds at any point in the build process
8422 2.1 Medium/Enhancement: we currently don't allow setting of sstate_dir or dl_dir

This is how to test this:
- run toaster
- run command line build: build zlib
- check if it's shown in Toaster UI
- create project for Yocto master
- trigger project build from UI
- wait until it succeeds
- create project for Jethro
- check that DL_DIR and SSTATE_DIR variables point to the same location for both projects
- trigger project build from UI
- wait until it succeds
- check that 2 build directories build-toaster-<project id> exist and contain correct conf/toaster.conf and conf/bblayers.conf
- trigger any build from UI again and try to cancel it

Changes in v2: stop bitbake server after the build
Changes in v3: fixed '/bin/sh: 1: source: not found' dash issue
used project id in build directory name
added 'INHERIT+='toaster buildhistory' to conf/local.conf on toaster start
Changes in v4: fixed builds on Ubuntu caused by dash being default shell Changes in v5: fixed nasty bug in toasterui causing it to stuck in event loop Changes in v6: added fix for 6787 build cancelation patchset
added fix for 8422 (DL_DIR and SSTATE_DIR) patchset
run bitbake client from sourcedir/bitbake/bin
fixed empty image data
fixed couple of crashes in buildinfohelper code
rebased on top of toaster-next@March 23rd 10:20 GMT
Changes in v7: fixed building for non-poky setup
fixed absent image package info
Changes in v8: fixed wrong status of cancelled build
reorganized migrations
rebased on top of toaster-next@Apr 4th 10:42 GMT
Changes in v9: rebased o top of toaster-next@Apr 5th 16:00 GMT after removal of
3 patches from toaster-next

The following changes since commit 02ef3b5f66af8ada641cef1e2dfaff4a94ff444f:

toaster: update the meta-yocto toaster configuration file (2016-04-05 10:04:32 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib ed/toaster/project-build-dir-cancel-dldir_sstatedir
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/project-build-dir-cancel-dldir_sstatedir

Ed Bartosh (26):
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
toaster: update conf/local.conf
toaster: fix jethro build
toaster: use bash explicitly
toasterui: shutdown on BuildCompleted event
toaster: fix conflicting migrations
toaster: use empty token
toaster: add DL_DIR and SSTATE_DIR to oe toasterconf
toaster: export BBBASEDIR variable
toaster: get bitbake location from BBBASEDIR
buildinfohelper: fix KeyError
toasterui: update build in internal state
toaster: reorder migrations

Michael Wood (9):
toaster: Move xhr calls for starting and stopping builds
toaster: xhr Update the implementation of the build cancellation
request
toaster: libtoaster Update implementation of startABuild and
cancelABuild
toaster: bldcontrol models Add a cancelling state the BuildRequest
buildinfohelper: Add handler for cancelling a build
toaster: mrb_section template Add build cancel button
toaster: models Exclude the CANCELLED builds from get_number_of_builds
toaster: runbuilds Make runbuilds aware of the build CANCELLED state
toaster: runbuilds Clean up runbuilds

Sujith H (7):
toaster: bldcontrol Add forceShutDown function to BitbakeController
toaster: update BuildEnvironmentController and BitbakeController
toaster: models Add cancelled state to build outcome
toaster: tables BuildsTable exclude cancelled builds
toaster: add DL_DIR and SSTATE_DIR to poky toasterconf
toaster: update view to support DL_DIR and SSTATE_DIR
toaster: update projectconf.html for DL_DIR and SSTATE_DIR

  bitbake/bin/toaster                                |  82 ++---------
  bitbake/lib/bb/ui/buildinfohelper.py               |  49 +++++--
  bitbake/lib/bb/ui/toasterui.py                     |  22 +--
  bitbake/lib/bb/ui/uievent.py                       |  10 +-
  bitbake/lib/toaster/bldcontrol/bbcontroller.py     |  62 +-------
  .../toaster/bldcontrol/localhostbecontroller.py    | 152 ++++++++++----------
  .../bldcontrol/management/commands/runbuilds.py    | 109 +++++++++-----
  .../migrations/0002_add_cancelling_state.py        |  19 +++
  ...20160120_1250.py => 0003_auto_20160120_1250.py} |   2 +-
  bitbake/lib/toaster/bldcontrol/models.py           |  27 +++-
  .../orm/migrations/0006_add_cancelled_state.py     |  20 +++
  bitbake/lib/toaster/orm/models.py                  |  12 +-
  bitbake/lib/toaster/toastergui/api.py              | 110 ++++++++++++++
  .../toaster/toastergui/static/js/customrecipe.js   |   4 +-
  .../lib/toaster/toastergui/static/js/layerBtn.js   |   3 +-
  .../lib/toaster/toastergui/static/js/libtoaster.js |  41 ++++--
  .../lib/toaster/toastergui/static/js/mrbsection.js |  95 ++++++++++++
  .../toaster/toastergui/static/js/projectpage.js    |   4 +-
  .../toaster/toastergui/static/js/projecttopbar.js  |   6 +-
  .../toaster/toastergui/static/js/recipedetails.js  |   4 +-
  bitbake/lib/toaster/toastergui/tables.py           |  48 +------
  bitbake/lib/toaster/toastergui/templates/base.html |   1 +
  .../toaster/toastergui/templates/mrb_section.html  | 148 +++++++------------
  .../toaster/toastergui/templates/projectconf.html  | 160 ++++++++++++++++++++-
  bitbake/lib/toaster/toastergui/urls.py             |   5 +
  bitbake/lib/toaster/toastergui/views.py            |  40 +++++-
  meta-poky/conf/toasterconf.json                    |   4 +-
  meta/conf/toasterconf.json                         |   4 +-
  28 files changed, 801 insertions(+), 442 deletions(-)

create mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0002_add_cancelling_state.py rename bitbake/lib/toaster/bldcontrol/migrations/{0002_auto_20160120_1250.py => 0003_auto_20160120_1250.py} (87%) create mode 100644 bitbake/lib/toaster/orm/migrations/0006_add_cancelled_state.py
create mode 100644 bitbake/lib/toaster/toastergui/api.py
create mode 100644 bitbake/lib/toaster/toastergui/static/js/mrbsection.js