diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2014-02-11 07:02:14 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-09 18:59:02 -0700 |
commit | 0510569b8cda3ba5484f73150ca54fd389716f9c (patch) | |
tree | c47f1ed92a533b24ab43362d8f850a822b793983 /bitbake/doc | |
parent | 1d9c02e878937b1bb35cf44c5f0291400ef485ba (diff) | |
download | poky-0510569b8cda3ba5484f73150ca54fd389716f9c.tar.gz |
bitbake: user-manual-metadata.xml: WIP - Some edits in the checksum area.
(Bitbake rev: f74045d9ac88aece1d6f8d6a95389d01971ffdac)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/doc')
-rw-r--r-- | bitbake/doc/user-manual/user-manual-metadata.xml | 87 |
1 files changed, 64 insertions, 23 deletions
diff --git a/bitbake/doc/user-manual/user-manual-metadata.xml b/bitbake/doc/user-manual/user-manual-metadata.xml index a7d9209560..796d27b151 100644 --- a/bitbake/doc/user-manual/user-manual-metadata.xml +++ b/bitbake/doc/user-manual/user-manual-metadata.xml | |||
@@ -1735,36 +1735,77 @@ | |||
1735 | <title>Task Checksums and Setscene</title> | 1735 | <title>Task Checksums and Setscene</title> |
1736 | 1736 | ||
1737 | <para> | 1737 | <para> |
1738 | This list is a place holder of content that needs explanation here. | 1738 | BitBake uses checksums (or signatures) along with the setscene |
1739 | Items should be moved to appropriate sections below as completed. | 1739 | to determine if a task needs to be run. |
1740 | This section describes the process. | ||
1741 | To help understand how BitBake does this, the section assumes an | ||
1742 | OpenEmbedded metadata-based example. | ||
1743 | </para> | ||
1744 | |||
1745 | <para> | ||
1746 | This list is a place holder of content existed from previous work | ||
1747 | on the manual. | ||
1748 | Some or all of it probably needs integrated into the subsections | ||
1749 | that make up this section. | ||
1750 | For now, I have just provided a short glossary-like description | ||
1751 | for each variable. | ||
1752 | Ultimately, this list goes away. | ||
1740 | <itemizedlist> | 1753 | <itemizedlist> |
1741 | <listitem><para><filename>STAMP</filename></para></listitem> | 1754 | <listitem><para><filename>STAMP</filename>: |
1742 | <listitem><para><filename>STAMPCLEAN</filename></para></listitem> | 1755 | The base path to create stamp files.</para></listitem> |
1743 | <listitem><para><filename>BB_STAMP_WHITELIST</filename></para></listitem> | 1756 | <listitem><para><filename>STAMPCLEAN</filename> |
1744 | <listitem><para><filename>BB_STAMP_POLICY</filename></para></listitem> | 1757 | Again, the base path to create stamp files but can use wildcards |
1745 | <listitem><para><filename>BB_HASHCHECK_FUNCTION</filename></para></listitem> | 1758 | for matching a range of files for clean operations. |
1746 | <listitem><para><filename>BB_SETSCENE_VERIFY_FUNCTION</filename></para></listitem> | 1759 | </para></listitem> |
1747 | <listitem><para><filename>BB_SETSCENE_DEPVALID</filename></para></listitem> | 1760 | <listitem><para><filename>BB_STAMP_WHITELIST</filename> |
1748 | <listitem><para><filename>BB_TASKHASH</filename></para></listitem> | 1761 | Lists stamp files that are looked at when the stamp policy |
1762 | is "whitelist". | ||
1763 | </para></listitem> | ||
1764 | <listitem><para><filename>BB_STAMP_POLICY</filename> | ||
1765 | Defines the mode for comparing timestamps of stamp files. | ||
1766 | </para></listitem> | ||
1767 | <listitem><para><filename>BB_HASHCHECK_FUNCTION</filename> | ||
1768 | Specifies the name of the function to call during | ||
1769 | the "setscene" part of the task's execution in order | ||
1770 | to validate the list of task hashes. | ||
1771 | </para></listitem> | ||
1772 | <listitem><para><filename>BB_SETSCENE_VERIFY_FUNCTION</filename> | ||
1773 | Specifies a function to call that verifies the list of | ||
1774 | planned task execution before the main task execution | ||
1775 | happens. | ||
1776 | </para></listitem> | ||
1777 | <listitem><para><filename>BB_SETSCENE_DEPVALID</filename> | ||
1778 | Specifies a function BitBake calls that determines | ||
1779 | whether BitBake requires a setscene dependency to | ||
1780 | be met. | ||
1781 | </para></listitem> | ||
1782 | <listitem><para><filename>BB_TASKHASH</filename> | ||
1783 | Within an executing task, this variable holds the hash | ||
1784 | of the task as returned by the currently enabled | ||
1785 | signature generator. | ||
1786 | </para></listitem> | ||
1749 | </itemizedlist> | 1787 | </itemizedlist> |
1750 | </para> | 1788 | </para> |
1751 | 1789 | ||
1752 | <section id='checksums'> | 1790 | <section id='setscene'> |
1753 | <title>Checksums (Signatures)</title> | 1791 | <title>Setscene</title> |
1754 | 1792 | ||
1755 | <para> | 1793 | <para> |
1756 | BitBake uses checksums (or signatures) along with the setscene | 1794 | This section needs to get the concept of the setscene across. |
1757 | to determine if a task needs to be run. | 1795 | The reader needs to know what it is and what it is used for during |
1758 | This section describes the process. | 1796 | the build process. |
1759 | To help understand how BitBake does this, the section assumes an | ||
1760 | OpenEmbedded metadata-based example. | ||
1761 | </para> | 1797 | </para> |
1798 | </section> | ||
1799 | |||
1800 | <section id='checksums'> | ||
1801 | <title>Checksums (Signatures)</title> | ||
1762 | 1802 | ||
1763 | <para> | 1803 | <para> |
1764 | The setscene code uses a checksum, which is a unique signature of a task's | 1804 | A checksum is a unique signature of a task's inputs. |
1765 | inputs, to determine if a task needs to be run again. | 1805 | The setscene code uses a checksum to determine if a task needs |
1766 | Because it is a change in a task's inputs that triggers a rerun, the process | 1806 | to be run. |
1767 | needs to detect all the inputs to a given task. | 1807 | Because it is a change in a task's inputs that triggers running |
1808 | the task, the process needs to detect all the inputs to a given task. | ||
1768 | For shell tasks, this turns out to be fairly easy because | 1809 | For shell tasks, this turns out to be fairly easy because |
1769 | BitBake generates a "run" shell script for each task and | 1810 | BitBake generates a "run" shell script for each task and |
1770 | it is possible to create a checksum that gives you a good idea of when | 1811 | it is possible to create a checksum that gives you a good idea of when |
@@ -1776,9 +1817,9 @@ | |||
1776 | the checksum. | 1817 | the checksum. |
1777 | First, there is the actual specific build path of a given task - | 1818 | First, there is the actual specific build path of a given task - |
1778 | the working directory. | 1819 | the working directory. |
1779 | It does not matter if the work directory changes because it should not | 1820 | It does not matter if the working directory changes because it should not |
1780 | affect the output for target packages. | 1821 | affect the output for target packages. |
1781 | The simplistic approach for excluding the work directory is to set | 1822 | The simplistic approach for excluding the working directory is to set |
1782 | it to some fixed value and create the checksum for the "run" script. | 1823 | it to some fixed value and create the checksum for the "run" script. |
1783 | </para> | 1824 | </para> |
1784 | 1825 | ||