From ed0a240e1632682ec4c33341f3e24ad71773cdfc Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 11 Dec 2012 12:07:58 -0600 Subject: documentation: Rename of poky-ref-manual folder to ref-manual. Changing the folder that holds the YP Reference Manual to be "ref-manual". This will help with confustion over the manual's intended purpose. (From yocto-docs rev: 1106442964b5080cb0b6b3bd3af32e9407c0f7c1) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../html/poky-ref-manual/shared-state-cache.html | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state-cache.html (limited to 'documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state-cache.html') diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state-cache.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state-cache.html new file mode 100644 index 0000000000..8f2f5a5ed6 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state-cache.html @@ -0,0 +1,60 @@ + + + +3.2. Shared State Cache + + + + + + + +
+

+3.2. Shared State Cache

+

+ By design, the OpenEmbedded build system builds everything from scratch unless + BitBake can determine that parts don't need to be rebuilt. + Fundamentally, building from scratch is attractive as it means all parts are + built fresh and there is no possibility of stale data causing problems. + When developers hit problems, they typically default back to building from scratch + so they know the state of things from the start. +

+

+ Building an image from scratch is both an advantage and a disadvantage to the process. + As mentioned in the previous paragraph, building from scratch ensures that + everything is current and starts from a known state. + However, building from scratch also takes much longer as it generally means + rebuilding things that don't necessarily need rebuilt. +

+

+ The Yocto Project implements shared state code that supports incremental builds. + The implementation of the shared state code answers the following questions that + were fundamental roadblocks within the OpenEmbedded incremental build support system: +

+
    +
  • What pieces of the system have changed and what pieces have not changed?
  • +
  • How are changed pieces of software removed and replaced?
  • +
  • How are pre-built components that don't need to be rebuilt from scratch + used when they are available?
  • +
+

+

+

+ For the first question, the build system detects changes in the "inputs" to a given task by + creating a checksum (or signature) of the task's inputs. + If the checksum changes, the system assumes the inputs have changed and the task needs to be + rerun. + For the second question, the shared state (sstate) code tracks which tasks add which output + to the build process. + This means the output from a given task can be removed, upgraded or otherwise manipulated. + The third question is partly addressed by the solution for the second question + assuming the build system can fetch the sstate objects from remote locations and + install them if they are deemed to be valid. +

+

+ The rest of this section goes into detail about the overall incremental build + architecture, the checksums (signatures), shared state, and some tips and tricks. +

+
+ -- cgit v1.2.3-54-g00ecf