diff options
Diffstat (limited to 'documentation/overview-manual/concepts.rst')
| -rw-r--r-- | documentation/overview-manual/concepts.rst | 58 |
1 files changed, 24 insertions, 34 deletions
diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst index d2edfc3427..4cee4bb169 100644 --- a/documentation/overview-manual/concepts.rst +++ b/documentation/overview-manual/concepts.rst | |||
| @@ -107,8 +107,7 @@ Classes | |||
| 107 | ------- | 107 | ------- |
| 108 | 108 | ||
| 109 | Class files (``.bbclass``) contain information that is useful to share | 109 | Class files (``.bbclass``) contain information that is useful to share |
| 110 | between recipes files. An example is the | 110 | between recipes files. An example is the :ref:`ref-classes-autotools` class, |
| 111 | :ref:`autotools <ref-classes-autotools>` class, | ||
| 112 | which contains common settings for any application that is built with | 111 | which contains common settings for any application that is built with |
| 113 | the :wikipedia:`GNU Autotools <GNU_Autotools>`. | 112 | the :wikipedia:`GNU Autotools <GNU_Autotools>`. |
| 114 | The ":ref:`ref-manual/classes:Classes`" chapter in the Yocto Project | 113 | The ":ref:`ref-manual/classes:Classes`" chapter in the Yocto Project |
| @@ -561,11 +560,11 @@ reside somewhere local to a project --- perhaps a directory into which the | |||
| 561 | user checks in items (e.g. a local directory containing a development | 560 | user checks in items (e.g. a local directory containing a development |
| 562 | source tree used by the group). | 561 | source tree used by the group). |
| 563 | 562 | ||
| 564 | The canonical method through which to include a local project is to use | 563 | The canonical method through which to include a local project is to use the |
| 565 | the :ref:`externalsrc <ref-classes-externalsrc>` | 564 | :ref:`ref-classes-externalsrc` class to include that local project. You use |
| 566 | class to include that local project. You use either the ``local.conf`` | 565 | either the ``local.conf`` or a recipe's append file to override or set the |
| 567 | or a recipe's append file to override or set the recipe to point to the | 566 | recipe to point to the local directory on your disk to pull in the whole |
| 568 | local directory on your disk to pull in the whole source tree. | 567 | source tree. |
| 569 | 568 | ||
| 570 | Source Control Managers (Optional) | 569 | Source Control Managers (Optional) |
| 571 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 570 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| @@ -628,8 +627,7 @@ types, and you specify which classes to enable through the | |||
| 628 | :term:`PACKAGE_CLASSES` | 627 | :term:`PACKAGE_CLASSES` |
| 629 | variable. Before placing the packages into package feeds, the build | 628 | variable. Before placing the packages into package feeds, the build |
| 630 | process validates them with generated output quality assurance checks | 629 | process validates them with generated output quality assurance checks |
| 631 | through the :ref:`insane <ref-classes-insane>` | 630 | through the :ref:`ref-classes-insane` class. |
| 632 | class. | ||
| 633 | 631 | ||
| 634 | The package feed area resides in the :term:`Build Directory`. The directory the | 632 | The package feed area resides in the :term:`Build Directory`. The directory the |
| 635 | build system uses to temporarily store packages is determined by a | 633 | build system uses to temporarily store packages is determined by a |
| @@ -840,14 +838,12 @@ This step in the build process consists of the following tasks: | |||
| 840 | are specific to configurations for the source code being built by the | 838 | are specific to configurations for the source code being built by the |
| 841 | recipe. | 839 | recipe. |
| 842 | 840 | ||
| 843 | If you are using the | 841 | If you are using the :ref:`ref-classes-autotools` class, |
| 844 | :ref:`autotools <ref-classes-autotools>` class, | ||
| 845 | you can add additional configuration options by using the | 842 | you can add additional configuration options by using the |
| 846 | :term:`EXTRA_OECONF` or | 843 | :term:`EXTRA_OECONF` or |
| 847 | :term:`PACKAGECONFIG_CONFARGS` | 844 | :term:`PACKAGECONFIG_CONFARGS` |
| 848 | variables. For information on how this variable works within that | 845 | variables. For information on how this variable works within that |
| 849 | class, see the | 846 | class, see the :ref:`ref-classes-autotools` class |
| 850 | :ref:`autotools <ref-classes-autotools>` class | ||
| 851 | :yocto_git:`here </poky/tree/meta/classes-recipe/autotools.bbclass>`. | 847 | :yocto_git:`here </poky/tree/meta/classes-recipe/autotools.bbclass>`. |
| 852 | 848 | ||
| 853 | - *do_compile*: Once a configuration task has been satisfied, | 849 | - *do_compile*: Once a configuration task has been satisfied, |
| @@ -920,7 +916,7 @@ the analysis and package splitting process use several areas: | |||
| 920 | - :term:`STAGING_DIR_TARGET`: | 916 | - :term:`STAGING_DIR_TARGET`: |
| 921 | The path for the sysroot used when a component that is built to | 917 | The path for the sysroot used when a component that is built to |
| 922 | execute on a system and it generates code for yet another machine | 918 | execute on a system and it generates code for yet another machine |
| 923 | (e.g. :ref:`cross-canadian <ref-classes-cross-canadian>` recipes). | 919 | (e.g. :ref:`ref-classes-cross-canadian` recipes). |
| 924 | 920 | ||
| 925 | The :term:`FILES` variable defines the | 921 | The :term:`FILES` variable defines the |
| 926 | files that go into each package in | 922 | files that go into each package in |
| @@ -1006,13 +1002,11 @@ is read-only. | |||
| 1006 | The final stages of the :ref:`ref-tasks-rootfs` task handle post processing. Post | 1002 | The final stages of the :ref:`ref-tasks-rootfs` task handle post processing. Post |
| 1007 | processing includes creation of a manifest file and optimizations. | 1003 | processing includes creation of a manifest file and optimizations. |
| 1008 | 1004 | ||
| 1009 | The manifest file (``.manifest``) resides in the same directory as the | 1005 | The manifest file (``.manifest``) resides in the same directory as the root |
| 1010 | root filesystem image. This file lists out, line-by-line, the installed | 1006 | filesystem image. This file lists out, line-by-line, the installed packages. |
| 1011 | packages. The manifest file is useful for the | 1007 | The manifest file is useful for the :ref:`ref-classes-testimage` class, |
| 1012 | :ref:`testimage <ref-classes-testimage>` class, | ||
| 1013 | for example, to determine whether or not to run specific tests. See the | 1008 | for example, to determine whether or not to run specific tests. See the |
| 1014 | :term:`IMAGE_MANIFEST` | 1009 | :term:`IMAGE_MANIFEST` variable for additional information. |
| 1015 | variable for additional information. | ||
| 1016 | 1010 | ||
| 1017 | Optimizing processes that are run across the image include ``mklibs`` | 1011 | Optimizing processes that are run across the image include ``mklibs`` |
| 1018 | and any other post-processing commands as defined by the | 1012 | and any other post-processing commands as defined by the |
| @@ -1751,12 +1745,11 @@ half the problem of supporting a shared state. The other half of the | |||
| 1751 | problem is being able to use checksum information during the build and | 1745 | problem is being able to use checksum information during the build and |
| 1752 | being able to reuse or rebuild specific components. | 1746 | being able to reuse or rebuild specific components. |
| 1753 | 1747 | ||
| 1754 | The :ref:`sstate <ref-classes-sstate>` class is a | 1748 | The :ref:`ref-classes-sstate` class is a relatively generic implementation of |
| 1755 | relatively generic implementation of how to "capture" a snapshot of a | 1749 | how to "capture" a snapshot of a given task. The idea is that the build process |
| 1756 | given task. The idea is that the build process does not care about the | 1750 | does not care about the source of a task's output. Output could be freshly |
| 1757 | source of a task's output. Output could be freshly built or it could be | 1751 | built or it could be downloaded and unpacked from somewhere. In other words, |
| 1758 | downloaded and unpacked from somewhere. In other words, the build | 1752 | the build process does not need to worry about its origin. |
| 1759 | process does not need to worry about its origin. | ||
| 1760 | 1753 | ||
| 1761 | Two types of output exist. One type is just about creating a directory | 1754 | Two types of output exist. One type is just about creating a directory |
| 1762 | in :term:`WORKDIR`. A good example is | 1755 | in :term:`WORKDIR`. A good example is |
| @@ -1767,10 +1760,9 @@ type of output occurs when a set of data is merged into a shared | |||
| 1767 | directory tree such as the sysroot. | 1760 | directory tree such as the sysroot. |
| 1768 | 1761 | ||
| 1769 | The Yocto Project team has tried to keep the details of the | 1762 | The Yocto Project team has tried to keep the details of the |
| 1770 | implementation hidden in the :ref:`sstate <ref-classes-sstate>` class. From a user's perspective, | 1763 | implementation hidden in the :ref:`ref-classes-sstate` class. From a user's perspective, |
| 1771 | adding shared state wrapping to a task is as simple as this | 1764 | adding shared state wrapping to a task is as simple as this |
| 1772 | :ref:`ref-tasks-deploy` example taken | 1765 | :ref:`ref-tasks-deploy` example taken from the :ref:`ref-classes-deploy` class:: |
| 1773 | from the :ref:`deploy <ref-classes-deploy>` class:: | ||
| 1774 | 1766 | ||
| 1775 | DEPLOYDIR = "${WORKDIR}/deploy-${PN}" | 1767 | DEPLOYDIR = "${WORKDIR}/deploy-${PN}" |
| 1776 | SSTATETASKS += "do_deploy" | 1768 | SSTATETASKS += "do_deploy" |
| @@ -1786,11 +1778,9 @@ from the :ref:`deploy <ref-classes-deploy>` class:: | |||
| 1786 | 1778 | ||
| 1787 | The following list explains the previous example: | 1779 | The following list explains the previous example: |
| 1788 | 1780 | ||
| 1789 | - Adding ``do_deploy`` to ``SSTATETASKS`` adds some required | 1781 | - Adding ``do_deploy`` to ``SSTATETASKS`` adds some required sstate-related |
| 1790 | sstate-related processing, which is implemented in the | 1782 | processing, which is implemented in the :ref:`ref-classes-sstate` class, to |
| 1791 | :ref:`sstate <ref-classes-sstate>` class, to | 1783 | before and after the :ref:`ref-tasks-deploy` task. |
| 1792 | before and after the | ||
| 1793 | :ref:`ref-tasks-deploy` task. | ||
| 1794 | 1784 | ||
| 1795 | - The ``do_deploy[sstate-inputdirs] = "${DEPLOYDIR}"`` declares that | 1785 | - The ``do_deploy[sstate-inputdirs] = "${DEPLOYDIR}"`` declares that |
| 1796 | :ref:`ref-tasks-deploy` places its output in ``${DEPLOYDIR}`` when run normally | 1786 | :ref:`ref-tasks-deploy` places its output in ``${DEPLOYDIR}`` when run normally |
