summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/technical-details.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/technical-details.xml')
-rw-r--r--documentation/ref-manual/technical-details.xml52
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-&lt;taskname&gt; - the base hashes for each task in the recipe 607 <listitem><para><filename>BB_BASEHASH_task-&lt;taskname&gt;</filename>:
604 BB_BASEHASH_&lt;filename:taskname&gt; - the base hashes for each dependent task 608 The base hashes for each task in the recipe.
605 BBHASHDEPS_&lt;filename:taskname&gt; - 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_&lt;filename:taskname&gt;</filename>:
607 </literallayout> 611 The base hashes for each dependent task.
612 </para></listitem>
613 <listitem><para><filename>BBHASHDEPS_&lt;filename:taskname&gt;</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.