diff options
| -rw-r--r-- | documentation/ref-manual/technical-details.xml | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 8d1cefb16f..07560cfb49 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml | |||
| @@ -254,7 +254,7 @@ | |||
| 254 | the <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>. | 254 | the <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>. |
| 255 | It does not matter if the working directory changes because it should not | 255 | It does not matter if the working directory changes because it should not |
| 256 | affect the output for target packages. | 256 | affect the output for target packages. |
| 257 | Also, the build process has the objective of making native/cross packages relocatable. | 257 | Also, the build process has the objective of making native or cross packages relocatable. |
| 258 | The checksum therefore needs to exclude <filename>WORKDIR</filename>. | 258 | The checksum therefore needs to exclude <filename>WORKDIR</filename>. |
| 259 | The simplistic approach for excluding the working directory is to set | 259 | The simplistic approach for excluding the working directory is to set |
| 260 | <filename>WORKDIR</filename> to some fixed value and create the checksum | 260 | <filename>WORKDIR</filename> to some fixed value and create the checksum |
| @@ -273,9 +273,9 @@ | |||
| 273 | 273 | ||
| 274 | <para> | 274 | <para> |
| 275 | So far we have solutions for shell scripts. | 275 | So far we have solutions for shell scripts. |
| 276 | What about python tasks? | 276 | What about Python tasks? |
| 277 | The same approach applies even though these tasks are more difficult. | 277 | The same approach applies even though these tasks are more difficult. |
| 278 | The process needs to figure out what variables a python function accesses | 278 | The process needs to figure out what variables a Python function accesses |
| 279 | and what functions it calls. | 279 | and what functions it calls. |
| 280 | Again, the incremental build solution contains code that first figures out | 280 | Again, the incremental build solution contains code that first figures out |
| 281 | the variable and function dependencies, and then creates a checksum for the data | 281 | the variable and function dependencies, and then creates a checksum for the data |
| @@ -305,7 +305,7 @@ | |||
| 305 | </para> | 305 | </para> |
| 306 | 306 | ||
| 307 | <para> | 307 | <para> |
| 308 | Consider a case with inline python, for example, where BitBake is not | 308 | Consider a case with in-line Python, for example, where BitBake is not |
| 309 | able to figure out dependencies. | 309 | able to figure out dependencies. |
| 310 | When running in debug mode (i.e. using <filename>-DDD</filename>), BitBake | 310 | When running in debug mode (i.e. using <filename>-DDD</filename>), BitBake |
| 311 | produces output when it discovers something for which it cannot figure out | 311 | produces output when it discovers something for which it cannot figure out |
| @@ -319,7 +319,8 @@ | |||
| 319 | Information based on direct inputs is referred to as the "basehash" in the | 319 | Information based on direct inputs is referred to as the "basehash" in the |
| 320 | code. | 320 | code. |
| 321 | However, there is still the question of a task's indirect inputs - the | 321 | However, there is still the question of a task's indirect inputs - the |
| 322 | things that were already built and present in the Build Directory. | 322 | things that were already built and present in the |
| 323 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. | ||
| 323 | The checksum (or signature) for a particular task needs to add the hashes | 324 | The checksum (or signature) for a particular task needs to add the hashes |
| 324 | of all the tasks on which the particular task depends. | 325 | of all the tasks on which the particular task depends. |
| 325 | Choosing which dependencies to add is a policy decision. | 326 | Choosing which dependencies to add is a policy decision. |
| @@ -350,7 +351,7 @@ | |||
| 350 | <para> | 351 | <para> |
| 351 | The rules for deciding which hashes of dependent tasks to include through | 352 | The rules for deciding which hashes of dependent tasks to include through |
| 352 | dependency chains are more complex and are generally accomplished with a | 353 | dependency chains are more complex and are generally accomplished with a |
| 353 | python function. | 354 | Python function. |
| 354 | The code in <filename>meta/lib/oe/sstatesig.py</filename> shows two examples | 355 | The code in <filename>meta/lib/oe/sstatesig.py</filename> shows two examples |
| 355 | of this and also illustrates how you can insert your own policy into the system | 356 | of this and also illustrates how you can insert your own policy into the system |
| 356 | if so desired. | 357 | if so desired. |
| @@ -365,7 +366,9 @@ | |||
| 365 | </literallayout> | 366 | </literallayout> |
| 366 | The "OEBasicHash" <filename>BB_SIGNATURE_HANDLER</filename> is the same as the | 367 | The "OEBasicHash" <filename>BB_SIGNATURE_HANDLER</filename> is the same as the |
| 367 | "OEBasic" version but adds the task hash to the stamp files. | 368 | "OEBasic" version but adds the task hash to the stamp files. |
| 368 | This results in any metadata change that changes the task hash, automatically | 369 | This results in any |
| 370 | <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> | ||
| 371 | change that changes the task hash, automatically | ||
| 369 | causing the task to be run again. | 372 | causing the task to be run again. |
| 370 | This removes the need to bump <link linkend='var-PR'><filename>PR</filename></link> | 373 | This removes the need to bump <link linkend='var-PR'><filename>PR</filename></link> |
| 371 | values and changes to metadata automatically ripple across the build. | 374 | values and changes to metadata automatically ripple across the build. |
