summaryrefslogtreecommitdiffstats
path: root/documentation/overview-manual/concepts.rst
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2023-01-05 08:34:26 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-01-06 17:39:09 +0000
commit8b1909aa6f7a51a878dc3d4a9223403ad3e164a9 (patch)
treee1418f545ad6640afb5fde004696eef2a9e6e67b /documentation/overview-manual/concepts.rst
parentae280972ffba62d7ed839b692957f61b0955cbca (diff)
downloadpoky-8b1909aa6f7a51a878dc3d4a9223403ad3e164a9.tar.gz
manuals: simplify references to classes
Now that .bbclass is removed from class section titles. We can now have, for example, :ref:`ref-classes-insane` instead of :ref:`insane <ref-classes-insane>`. Then, when necessary, rework paragraphs so that they have lines of even length, not exceeding 80 characters. (From yocto-docs rev: e76190e3be78c1e483bec0469f1e437dbf8f3791) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Suggested-by: Quentin Schulz <foss+yocto@0leil.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/overview-manual/concepts.rst')
-rw-r--r--documentation/overview-manual/concepts.rst58
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
109Class files (``.bbclass``) contain information that is useful to share 109Class files (``.bbclass``) contain information that is useful to share
110between recipes files. An example is the 110between recipes files. An example is the :ref:`ref-classes-autotools` class,
111:ref:`autotools <ref-classes-autotools>` class,
112which contains common settings for any application that is built with 111which contains common settings for any application that is built with
113the :wikipedia:`GNU Autotools <GNU_Autotools>`. 112the :wikipedia:`GNU Autotools <GNU_Autotools>`.
114The ":ref:`ref-manual/classes:Classes`" chapter in the Yocto Project 113The ":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
561user checks in items (e.g. a local directory containing a development 560user checks in items (e.g. a local directory containing a development
562source tree used by the group). 561source tree used by the group).
563 562
564The canonical method through which to include a local project is to use 563The canonical method through which to include a local project is to use the
565the :ref:`externalsrc <ref-classes-externalsrc>` 564:ref:`ref-classes-externalsrc` class to include that local project. You use
566class to include that local project. You use either the ``local.conf`` 565either the ``local.conf`` or a recipe's append file to override or set the
567or a recipe's append file to override or set the recipe to point to the 566recipe to point to the local directory on your disk to pull in the whole
568local directory on your disk to pull in the whole source tree. 567source tree.
569 568
570Source Control Managers (Optional) 569Source 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`
629variable. Before placing the packages into package feeds, the build 628variable. Before placing the packages into package feeds, the build
630process validates them with generated output quality assurance checks 629process validates them with generated output quality assurance checks
631through the :ref:`insane <ref-classes-insane>` 630through the :ref:`ref-classes-insane` class.
632class.
633 631
634The package feed area resides in the :term:`Build Directory`. The directory the 632The package feed area resides in the :term:`Build Directory`. The directory the
635build system uses to temporarily store packages is determined by a 633build 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
925The :term:`FILES` variable defines the 921The :term:`FILES` variable defines the
926files that go into each package in 922files that go into each package in
@@ -1006,13 +1002,11 @@ is read-only.
1006The final stages of the :ref:`ref-tasks-rootfs` task handle post processing. Post 1002The final stages of the :ref:`ref-tasks-rootfs` task handle post processing. Post
1007processing includes creation of a manifest file and optimizations. 1003processing includes creation of a manifest file and optimizations.
1008 1004
1009The manifest file (``.manifest``) resides in the same directory as the 1005The manifest file (``.manifest``) resides in the same directory as the root
1010root filesystem image. This file lists out, line-by-line, the installed 1006filesystem image. This file lists out, line-by-line, the installed packages.
1011packages. The manifest file is useful for the 1007The manifest file is useful for the :ref:`ref-classes-testimage` class,
1012:ref:`testimage <ref-classes-testimage>` class,
1013for example, to determine whether or not to run specific tests. See the 1008for example, to determine whether or not to run specific tests. See the
1014:term:`IMAGE_MANIFEST` 1009:term:`IMAGE_MANIFEST` variable for additional information.
1015variable for additional information.
1016 1010
1017Optimizing processes that are run across the image include ``mklibs`` 1011Optimizing processes that are run across the image include ``mklibs``
1018and any other post-processing commands as defined by the 1012and 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
1751problem is being able to use checksum information during the build and 1745problem is being able to use checksum information during the build and
1752being able to reuse or rebuild specific components. 1746being able to reuse or rebuild specific components.
1753 1747
1754The :ref:`sstate <ref-classes-sstate>` class is a 1748The :ref:`ref-classes-sstate` class is a relatively generic implementation of
1755relatively generic implementation of how to "capture" a snapshot of a 1749how to "capture" a snapshot of a given task. The idea is that the build process
1756given task. The idea is that the build process does not care about the 1750does not care about the source of a task's output. Output could be freshly
1757source of a task's output. Output could be freshly built or it could be 1751built or it could be downloaded and unpacked from somewhere. In other words,
1758downloaded and unpacked from somewhere. In other words, the build 1752the build process does not need to worry about its origin.
1759process does not need to worry about its origin.
1760 1753
1761Two types of output exist. One type is just about creating a directory 1754Two types of output exist. One type is just about creating a directory
1762in :term:`WORKDIR`. A good example is 1755in :term:`WORKDIR`. A good example is
@@ -1767,10 +1760,9 @@ type of output occurs when a set of data is merged into a shared
1767directory tree such as the sysroot. 1760directory tree such as the sysroot.
1768 1761
1769The Yocto Project team has tried to keep the details of the 1762The Yocto Project team has tried to keep the details of the
1770implementation hidden in the :ref:`sstate <ref-classes-sstate>` class. From a user's perspective, 1763implementation hidden in the :ref:`ref-classes-sstate` class. From a user's perspective,
1771adding shared state wrapping to a task is as simple as this 1764adding 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::
1773from 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
1787The following list explains the previous example: 1779The 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