Hello,

I have pushed my adamian/20140519-bldcontrol-5491 branch to poky-contrib -

I hope it establishes semantics about Toaster 1.7; sorry for the wall of
text, but I think it's important that I convey this right.

A new model is used to describe the workflow of developing with
Toaster/bitbake. Comparing the new model with the traditional model of how
Bitbake is used, I want to highlight some differences:

- the build/ directory in bitbake usage represents at the same time the
configuration used to create a build, AND the build artifacts, AND the
workspace where bitbake runs.

The way this maps to the new mode is :

- the configuration is abstracted to a Project, and instantiated by
BuildRequests
- the build artifacts are represented by a Toaster Build object, with all
associated data
- the workspace where bitbake runs is represented by a BuildEnvironment

We think that this concept separation will help us scale up the development
model , by decoupling the actual building work done by long-running bitbake
to the build configuration, which is a iterative and very interactive
process.

**

Concrete steps taken in this brach:

- the orm.models got new Project* tables that describe a project
configuration.
In this model the Project is the base unit of iterative development. A
Project has a set of variables, set of layers and set of targets; and a set
of Builds.


Running a bitbake instance configured with the layers, variables and
targets defined for the Project will create a Build. The Build will be
associated with the Project that created it.


- the bldcontrol.models define models needed to actually trigger build
activities; it defines what a BuildEnvironment is; and what a BuildRequest
is.


A BuildRequest is a copy of the Project settings at a certain moment
(created when the user commands a build) and is the object queued for
building when a BuildEnvironment becomes available.


A BuildEnvironment is a specific instantiation of the "build/" directory
where a build activity may take place. A scheduler takes a BuildRequest and
a BuildEnvironment and configures the BuildEnvironment according to the
configuration specified by the request; and runs the bitbake command on it.
Running bitbake will create a Build record that will reflect the build
activity going on. In a sense, a BuildRequest configuration tells bitbake
how to create the Build, is the Build will be associated with the
BuildRequest that generated it.




Can you please take a look at it and let me know what you think ?​



​Cheers,
Alex
​

-- 
Alex Damian
Yocto Project
SSG / OTC
-- 
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to