diff options
Diffstat (limited to 'documentation/ref-manual/technical-details.xml')
-rw-r--r-- | documentation/ref-manual/technical-details.xml | 52 |
1 files changed, 34 insertions, 18 deletions
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 8c17514cb1..8c9044139d 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml | |||
@@ -422,7 +422,8 @@ | |||
422 | as part of the shared state packages. | 422 | as part of the shared state packages. |
423 | Consequently, considerations exist that affect maintaining shared | 423 | Consequently, considerations exist that affect maintaining shared |
424 | state feeds. | 424 | state feeds. |
425 | For information on how the OpenEmbedded works with packages and can | 425 | For information on how the OpenEmbedded build system |
426 | works with packages and can | ||
426 | track incrementing <filename>PR</filename> information, see the | 427 | track incrementing <filename>PR</filename> information, see the |
427 | "<ulink url='&YOCTO_DOCS_DEV_URL;#incrementing-a-package-revision-number'>Incrementing a Package Revision Number</ulink>" | 428 | "<ulink url='&YOCTO_DOCS_DEV_URL;#incrementing-a-package-revision-number'>Incrementing a Package Revision Number</ulink>" |
428 | section. | 429 | section. |
@@ -510,8 +511,11 @@ | |||
510 | <literallayout class='monospaced'> | 511 | <literallayout class='monospaced'> |
511 | PACKAGE_ARCHS[vardepsexclude] = "MACHINE" | 512 | PACKAGE_ARCHS[vardepsexclude] = "MACHINE" |
512 | </literallayout> | 513 | </literallayout> |
513 | This example ensures that the <filename>PACKAGE_ARCHS</filename> variable does not | 514 | This example ensures that the <filename>PACKAGE_ARCHS</filename> |
514 | depend on the value of <filename>MACHINE</filename>, even if it does reference it. | 515 | variable does not |
516 | depend on the value of | ||
517 | <link linkend='var-MACHINE'><filename>MACHINE</filename></link>, | ||
518 | even if it does reference it. | ||
515 | </para> | 519 | </para> |
516 | 520 | ||
517 | <para> | 521 | <para> |
@@ -599,12 +603,20 @@ | |||
599 | It is also worth noting that the end result of these signature generators is to | 603 | It is also worth noting that the end result of these signature generators is to |
600 | make some dependency and hash information available to the build. | 604 | make some dependency and hash information available to the build. |
601 | This information includes: | 605 | This information includes: |
602 | <literallayout class='monospaced'> | 606 | <itemizedlist> |
603 | BB_BASEHASH_task-<taskname> - the base hashes for each task in the recipe | 607 | <listitem><para><filename>BB_BASEHASH_task-<taskname></filename>: |
604 | BB_BASEHASH_<filename:taskname> - the base hashes for each dependent task | 608 | The base hashes for each task in the recipe. |
605 | BBHASHDEPS_<filename:taskname> - The task dependencies for each task | 609 | </para></listitem> |
606 | BB_TASKHASH - the hash of the currently running task | 610 | <listitem><para><filename>BB_BASEHASH_<filename:taskname></filename>: |
607 | </literallayout> | 611 | The base hashes for each dependent task. |
612 | </para></listitem> | ||
613 | <listitem><para><filename>BBHASHDEPS_<filename:taskname></filename>: | ||
614 | The task dependencies for each task. | ||
615 | </para></listitem> | ||
616 | <listitem><para><filename>BB_TASKHASH</filename>: | ||
617 | The hash of the currently running task. | ||
618 | </para></listitem> | ||
619 | </itemizedlist> | ||
608 | </para> | 620 | </para> |
609 | </section> | 621 | </section> |
610 | 622 | ||
@@ -619,8 +631,10 @@ | |||
619 | </para> | 631 | </para> |
620 | 632 | ||
621 | <para> | 633 | <para> |
622 | The shared state class (<filename>sstate.bbclass</filename>) | 634 | The |
623 | is a relatively generic implementation of how to "capture" a snapshot of a given task. | 635 | <link linkend='ref-classes-sstate'><filename>sstate</filename></link> |
636 | class is a relatively generic implementation of how to "capture" | ||
637 | a snapshot of a given task. | ||
624 | The idea is that the build process does not care about the source of a task's output. | 638 | The idea is that the build process does not care about the source of a task's output. |
625 | Output could be freshly built or it could be downloaded and unpacked from | 639 | Output could be freshly built or it could be downloaded and unpacked from |
626 | somewhere - the build process does not need to worry about its origin. | 640 | somewhere - the build process does not need to worry about its origin. |
@@ -636,11 +650,13 @@ | |||
636 | </para> | 650 | </para> |
637 | 651 | ||
638 | <para> | 652 | <para> |
639 | The Yocto Project team has tried to keep the details of the implementation hidden in | 653 | The Yocto Project team has tried to keep the details of the |
640 | <filename>sstate.bbclass</filename>. | 654 | implementation hidden in <filename>sstate</filename> class. |
641 | From a user's perspective, adding shared state wrapping to a task | 655 | From a user's perspective, adding shared state wrapping to a task |
642 | is as simple as this <filename>do_deploy</filename> example taken from | 656 | is as simple as this <filename>do_deploy</filename> example taken |
643 | <filename>deploy.bbclass</filename>: | 657 | from the |
658 | <link linkend='ref-classes-deploy'><filename>deploy</filename></link> | ||
659 | class: | ||
644 | <literallayout class='monospaced'> | 660 | <literallayout class='monospaced'> |
645 | DEPLOYDIR = "${WORKDIR}/deploy-${PN}" | 661 | DEPLOYDIR = "${WORKDIR}/deploy-${PN}" |
646 | SSTATETASKS += "do_deploy" | 662 | SSTATETASKS += "do_deploy" |
@@ -744,7 +760,7 @@ | |||
744 | 760 | ||
745 | <para> | 761 | <para> |
746 | When things go wrong, debugging needs to be straightforward. | 762 | When things go wrong, debugging needs to be straightforward. |
747 | Because of this, the Yocto Project team included strong debugging | 763 | Because of this, the Yocto Project includes strong debugging |
748 | tools: | 764 | tools: |
749 | <itemizedlist> | 765 | <itemizedlist> |
750 | <listitem><para>Whenever a shared state package is written out, so is a | 766 | <listitem><para>Whenever a shared state package is written out, so is a |
@@ -782,7 +798,7 @@ | |||
782 | As with all schemes, this one has some drawbacks. | 798 | As with all schemes, this one has some drawbacks. |
783 | It is possible that you could make implicit changes to your | 799 | It is possible that you could make implicit changes to your |
784 | code that the checksum calculations do not take into | 800 | code that the checksum calculations do not take into |
785 | account (i.e. implicit changes). | 801 | account. |
786 | These implicit changes affect a task's output but do not trigger | 802 | These implicit changes affect a task's output but do not trigger |
787 | the shared state code into rebuilding a recipe. | 803 | the shared state code into rebuilding a recipe. |
788 | Consider an example during which a tool changes its output. | 804 | Consider an example during which a tool changes its output. |
@@ -806,7 +822,7 @@ | |||
806 | Realize that changes you make directly to a function | 822 | Realize that changes you make directly to a function |
807 | are automatically factored into the checksum calculation. | 823 | are automatically factored into the checksum calculation. |
808 | Thus, these explicit changes invalidate the associated area of | 824 | Thus, these explicit changes invalidate the associated area of |
809 | sstate cache. | 825 | shared state cache. |
810 | However, you need to be aware of any implicit changes that | 826 | However, you need to be aware of any implicit changes that |
811 | are not obvious changes to the code and could affect the output | 827 | are not obvious changes to the code and could affect the output |
812 | of a given task. | 828 | of a given task. |