diff options
Diffstat (limited to 'documentation/getting-started/eclipse/html/getting-started/invalidating-shared-state.html')
-rw-r--r-- | documentation/getting-started/eclipse/html/getting-started/invalidating-shared-state.html | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/documentation/getting-started/eclipse/html/getting-started/invalidating-shared-state.html b/documentation/getting-started/eclipse/html/getting-started/invalidating-shared-state.html deleted file mode 100644 index ef4a2aac5e..0000000000 --- a/documentation/getting-started/eclipse/html/getting-started/invalidating-shared-state.html +++ /dev/null | |||
@@ -1,77 +0,0 @@ | |||
1 | <html> | ||
2 | <head> | ||
3 | <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | ||
4 | <title>3.3.4.2. Invalidating Shared State</title> | ||
5 | <link rel="stylesheet" type="text/css" href="../book.css"> | ||
6 | <meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> | ||
7 | <link rel="home" href="index.html" title="Getting Started With Yocto Project"> | ||
8 | <link rel="up" href="tips-and-tricks.html" title="3.3.4. Tips and Tricks"> | ||
9 | <link rel="prev" href="overview-debugging.html" title="3.3.4.1. Debugging"> | ||
10 | <link rel="next" href="automatically-added-runtime-dependencies.html" title="3.4. Automatically Added Runtime Dependencies"> | ||
11 | </head> | ||
12 | <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" title="3.3.4.2. Invalidating Shared State"> | ||
13 | <div class="titlepage"><div><div><h4 class="title"> | ||
14 | <a name="invalidating-shared-state"></a>3.3.4.2. Invalidating Shared State</h4></div></div></div> | ||
15 | <p> | ||
16 | The OpenEmbedded build system uses checksums and shared | ||
17 | state cache to avoid unnecessarily rebuilding tasks. | ||
18 | Collectively, this scheme is known as "shared state code." | ||
19 | </p> | ||
20 | <p> | ||
21 | As with all schemes, this one has some drawbacks. | ||
22 | It is possible that you could make implicit changes to your | ||
23 | code that the checksum calculations do not take into | ||
24 | account. | ||
25 | These implicit changes affect a task's output but do not | ||
26 | trigger the shared state code into rebuilding a recipe. | ||
27 | Consider an example during which a tool changes its output. | ||
28 | Assume that the output of <code class="filename">rpmdeps</code> | ||
29 | changes. | ||
30 | The result of the change should be that all the | ||
31 | <code class="filename">package</code> and | ||
32 | <code class="filename">package_write_rpm</code> shared state cache | ||
33 | items become invalid. | ||
34 | However, because the change to the output is | ||
35 | external to the code and therefore implicit, | ||
36 | the associated shared state cache items do not become | ||
37 | invalidated. | ||
38 | In this case, the build process uses the cached items | ||
39 | rather than running the task again. | ||
40 | Obviously, these types of implicit changes can cause | ||
41 | problems. | ||
42 | </p> | ||
43 | <p> | ||
44 | To avoid these problems during the build, you need to | ||
45 | understand the effects of any changes you make. | ||
46 | Realize that changes you make directly to a function | ||
47 | are automatically factored into the checksum calculation. | ||
48 | Thus, these explicit changes invalidate the associated | ||
49 | area of shared state cache. | ||
50 | However, you need to be aware of any implicit changes that | ||
51 | are not obvious changes to the code and could affect | ||
52 | the output of a given task. | ||
53 | </p> | ||
54 | <p> | ||
55 | When you identify an implicit change, you can easily | ||
56 | take steps to invalidate the cache and force the tasks | ||
57 | to run. | ||
58 | The steps you can take are as simple as changing a | ||
59 | function's comments in the source code. | ||
60 | For example, to invalidate package shared state files, | ||
61 | change the comment statements of | ||
62 | <a class="link" href="../ref-manual/ref-tasks-package.html" target="_self"><code class="filename">do_package</code></a> | ||
63 | or the comments of one of the functions it calls. | ||
64 | Even though the change is purely cosmetic, it causes the | ||
65 | checksum to be recalculated and forces the OpenEmbedded | ||
66 | build system to run the task again. | ||
67 | </p> | ||
68 | <div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"> | ||
69 | <h3 class="title">Note</h3> | ||
70 | For an example of a commit that makes a cosmetic | ||
71 | change to invalidate shared state, see this | ||
72 | <a class="ulink" href="http://git.yoctoproject.org/cgit.cgi/poky/commit/meta/classes/package.bbclass?id=737f8bbb4f27b4837047cb9b4fbfe01dfde36d54" target="_self">commit</a>. | ||
73 | </div> | ||
74 | <p> | ||
75 | </p> | ||
76 | </div></body> | ||
77 | </html> | ||