summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual')
-rw-r--r--documentation/ref-manual/classes.rst11
-rw-r--r--documentation/ref-manual/faq.rst17
-rw-r--r--documentation/ref-manual/structure.rst33
-rw-r--r--documentation/ref-manual/terms.rst26
-rw-r--r--documentation/ref-manual/variables.rst63
5 files changed, 70 insertions, 80 deletions
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index e352abc4d8..3b33783c58 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -1912,10 +1912,10 @@ package-specific classes:
1912You can control the list of resulting package formats by using the 1912You can control the list of resulting package formats by using the
1913:term:`PACKAGE_CLASSES` variable defined in your ``conf/local.conf`` 1913:term:`PACKAGE_CLASSES` variable defined in your ``conf/local.conf``
1914configuration file, which is located in the :term:`Build Directory`. 1914configuration file, which is located in the :term:`Build Directory`.
1915When defining the variable, you can 1915When defining the variable, you can specify one or more package types.
1916specify one or more package types. Since images are generated from 1916Since images are generated from packages, a packaging class is needed
1917packages, a packaging class is needed to enable image generation. The 1917to enable image generation. The first class listed in this variable is
1918first class listed in this variable is used for image generation. 1918used for image generation.
1919 1919
1920If you take the optional step to set up a repository (package feed) on 1920If you take the optional step to set up a repository (package feed) on
1921the development host that can be used by DNF, you can install packages 1921the development host that can be used by DNF, you can install packages
@@ -2401,8 +2401,7 @@ recipe are no longer needed. However, by default, the build system
2401preserves these files for inspection and possible debugging purposes. If 2401preserves these files for inspection and possible debugging purposes. If
2402you would rather have these files deleted to save disk space as the 2402you would rather have these files deleted to save disk space as the
2403build progresses, you can enable :ref:`rm_work <ref-classes-rm-work>` by adding the following to 2403build progresses, you can enable :ref:`rm_work <ref-classes-rm-work>` by adding the following to
2404your ``local.conf`` file, which is found in the :term:`Build Directory`. 2404your ``local.conf`` file, which is found in the :term:`Build Directory`::
2405::
2406 2405
2407 INHERIT += "rm_work" 2406 INHERIT += "rm_work"
2408 2407
diff --git a/documentation/ref-manual/faq.rst b/documentation/ref-manual/faq.rst
index a570c40e7d..d35ab78bff 100644
--- a/documentation/ref-manual/faq.rst
+++ b/documentation/ref-manual/faq.rst
@@ -270,7 +270,7 @@ the build environment setup script (i.e. :ref:`structure-core-script`).
270By default, this :term:`Build Directory` is named ``build`` but can be named 270By default, this :term:`Build Directory` is named ``build`` but can be named
271anything you want. 271anything you want.
272 272
273Within the Build Directory, is the ``tmp`` directory. To remove all the 273Within the :term:`Build Directory`, is the ``tmp`` directory. To remove all the
274build output yet preserve any source code or downloaded files from 274build output yet preserve any source code or downloaded files from
275previous builds, simply remove the ``tmp`` directory. 275previous builds, simply remove the ``tmp`` directory.
276 276
@@ -381,14 +381,13 @@ system of that image. Thus, the build system provides a value of
381forth. 381forth.
382 382
383Meanwhile, ``DESTDIR`` is a path within the :term:`Build Directory`. 383Meanwhile, ``DESTDIR`` is a path within the :term:`Build Directory`.
384However, when the recipe builds a 384However, when the recipe builds a native program (i.e. one that is
385native program (i.e. one that is intended to run on the build machine), 385intended to run on the build machine), that program is never installed
386that program is never installed directly to the build machine's root 386directly to the build machine's root file system. Consequently, the build
387file system. Consequently, the build system uses paths within the Build 387system uses paths within the Build Directory for ``DESTDIR``, ``bindir``
388Directory for ``DESTDIR``, ``bindir`` and related variables. To better 388and related variables. To better understand this, consider the following
389understand this, consider the following two paths (artificially broken 389two paths (artificially broken across lines for readability) where the
390across lines for readability) where the first is relatively normal and 390first is relatively normal and the second is not::
391the second is not::
392 391
393 /home/maxtothemax/poky-bootchart2/build/tmp/work/i586-poky-linux/zlib/ 392 /home/maxtothemax/poky-bootchart2/build/tmp/work/i586-poky-linux/zlib/
394 1.2.8-r0/sysroot-destdir/usr/bin 393 1.2.8-r0/sysroot-destdir/usr/bin
diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst
index fe27d17caa..8b08f88969 100644
--- a/documentation/ref-manual/structure.rst
+++ b/documentation/ref-manual/structure.rst
@@ -57,9 +57,8 @@ For more information on BitBake, see the :doc:`BitBake User Manual
57This directory contains user configuration files and the output 57This directory contains user configuration files and the output
58generated by the OpenEmbedded build system in its standard configuration 58generated by the OpenEmbedded build system in its standard configuration
59where the source tree is combined with the output. The :term:`Build Directory` 59where the source tree is combined with the output. The :term:`Build Directory`
60is created initially when you ``source`` 60is created initially when you ``source`` the OpenEmbedded build environment
61the OpenEmbedded build environment setup script (i.e. 61setup script (i.e. :ref:`structure-core-script`).
62:ref:`structure-core-script`).
63 62
64It is also possible to place output and configuration files in a 63It is also possible to place output and configuration files in a
65directory separate from the :term:`Source Directory` by 64directory separate from the :term:`Source Directory` by
@@ -153,10 +152,10 @@ BitBake commands. The script uses other scripts within the ``scripts``
153directory to do the bulk of the work. 152directory to do the bulk of the work.
154 153
155When you run this script, your Yocto Project environment is set up, a 154When you run this script, your Yocto Project environment is set up, a
156:term:`Build Directory` is created, your working 155:term:`Build Directory` is created, your working directory becomes the
157directory becomes the Build Directory, and you are presented with some 156:term:`Build Directory`, and you are presented with some simple
158simple suggestions as to what to do next, including a list of some 157suggestions as to what to do next, including a list of some possible
159possible targets to build. Here is an example:: 158targets to build. Here is an example::
160 159
161 $ source oe-init-build-env 160 $ source oe-init-build-env
162 161
@@ -182,12 +181,13 @@ See the
182section in the Yocto Project Development Tasks Manual for more 181section in the Yocto Project Development Tasks Manual for more
183information. 182information.
184 183
185By default, running this script without a Build Directory argument 184By default, running this script without a :term:`Build Directory` argument
186creates the ``build/`` directory in your current working directory. If 185creates the ``build/`` directory in your current working directory. If
187you provide a Build Directory argument when you ``source`` the script, 186you provide a :term:`Build Directory` argument when you ``source`` the script,
188you direct the OpenEmbedded build system to create a Build Directory of 187you direct the OpenEmbedded build system to create a :term:`Build Directory` of
189your choice. For example, the following command creates a Build 188your choice. For example, the following command creates a
190Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`:: 189:term:`Build Directory` named ``mybuilds/`` that is outside of the
190:term:`Source Directory`::
191 191
192 $ source oe-init-build-env ~/mybuilds 192 $ source oe-init-build-env ~/mybuilds
193 193
@@ -219,11 +219,10 @@ These files are standard top-level files.
219The Build Directory --- ``build/`` 219The Build Directory --- ``build/``
220================================== 220==================================
221 221
222The OpenEmbedded build system creates the :term:`Build Directory` 222The OpenEmbedded build system creates the :term:`Build Directory` when you run
223when you run the build environment setup 223the build environment setup script :ref:`structure-core-script`. If you do not
224script :ref:`structure-core-script`. If you do not give the Build 224give the :term:`Build Directory` a specific name when you run the setup script,
225Directory a specific name when you run the setup script, the name 225the name defaults to ``build/``.
226defaults to ``build/``.
227 226
228For subsequent parsing and processing, the name of the Build directory 227For subsequent parsing and processing, the name of the Build directory
229is available via the :term:`TOPDIR` variable. 228is available via the :term:`TOPDIR` variable.
diff --git a/documentation/ref-manual/terms.rst b/documentation/ref-manual/terms.rst
index ee14df5684..40209528ba 100644
--- a/documentation/ref-manual/terms.rst
+++ b/documentation/ref-manual/terms.rst
@@ -64,31 +64,31 @@ universal, the list includes them just in case:
64 builds. The area is created when you ``source`` the setup environment 64 builds. The area is created when you ``source`` the setup environment
65 script that is found in the Source Directory 65 script that is found in the Source Directory
66 (i.e. :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``). The 66 (i.e. :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``). The
67 :term:`TOPDIR` variable points to the Build Directory. 67 :term:`TOPDIR` variable points to the :term:`Build Directory`.
68 68
69 You have a lot of flexibility when creating the Build Directory. 69 You have a lot of flexibility when creating the :term:`Build Directory`.
70 Following are some examples that show how to create the directory. The 70 Following are some examples that show how to create the directory. The
71 examples assume your :term:`Source Directory` is named ``poky``: 71 examples assume your :term:`Source Directory` is named ``poky``:
72 72
73 - Create the Build Directory inside your Source Directory and let 73 - Create the :term:`Build Directory` inside your Source Directory and let
74 the name of the Build Directory default to ``build``: 74 the name of the :term:`Build Directory` default to ``build``:
75 75
76 .. code-block:: shell 76 .. code-block:: shell
77 77
78 $ cd poky 78 $ cd poky
79 $ source oe-init-build-env 79 $ source oe-init-build-env
80 80
81 - Create the Build Directory inside your home directory and 81 - Create the :term:`Build Directory` inside your home directory and
82 specifically name it ``test-builds``: 82 specifically name it ``test-builds``:
83 83
84 .. code-block:: shell 84 .. code-block:: shell
85 85
86 $ source poky/oe-init-build-env test-builds 86 $ source poky/oe-init-build-env test-builds
87 87
88 - Provide a directory path and specifically name the Build 88 - Provide a directory path and specifically name the
89 Directory. Any intermediate folders in the pathname must exist. 89 :term:`Build Directory`. Any intermediate folders in the pathname
90 This next example creates a Build Directory named 90 must exist. This next example creates a :term:`Build Directory`
91 ``YP-&DISTRO;`` within the existing directory ``mybuilds``: 91 named ``YP-&DISTRO;`` within the existing directory ``mybuilds``:
92 92
93 .. code-block:: shell 93 .. code-block:: shell
94 94
@@ -96,13 +96,13 @@ universal, the list includes them just in case:
96 96
97 .. note:: 97 .. note::
98 98
99 By default, the Build Directory contains :term:`TMPDIR`, which is a 99 By default, the :term:`Build Directory` contains :term:`TMPDIR`, which is a
100 temporary directory the build system uses for its work. :term:`TMPDIR` cannot 100 temporary directory the build system uses for its work. :term:`TMPDIR` cannot
101 be under NFS. Thus, by default, the Build Directory cannot be under 101 be under NFS. Thus, by default, the :term:`Build Directory` cannot be under
102 NFS. However, if you need the Build Directory to be under NFS, you can 102 NFS. However, if you need the :term:`Build Directory` to be under NFS, you can
103 set this up by setting :term:`TMPDIR` in your ``local.conf`` file to use a local 103 set this up by setting :term:`TMPDIR` in your ``local.conf`` file to use a local
104 drive. Doing so effectively separates :term:`TMPDIR` from :term:`TOPDIR`, which is the 104 drive. Doing so effectively separates :term:`TMPDIR` from :term:`TOPDIR`, which is the
105 Build Directory. 105 :term:`Build Directory`.
106 106
107 :term:`Build Host` 107 :term:`Build Host`
108 The system used to build images in a Yocto Project Development 108 The system used to build images in a Yocto Project Development
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index f8c6e6db1e..dc6eccb314 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -260,9 +260,9 @@ system and gives an overview of their function and contents.
260 https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview 260 https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview
261 261
262 :term:`B` 262 :term:`B`
263 The directory within the :term:`Build Directory` in 263 The directory within the :term:`Build Directory` in which the
264 which the OpenEmbedded build system places generated objects during a 264 OpenEmbedded build system places generated objects during a recipe's
265 recipe's build process. By default, this directory is the same as the 265 build process. By default, this directory is the same as the
266 :term:`S` directory, which is defined as:: 266 :term:`S` directory, which is defined as::
267 267
268 S = "${WORKDIR}/${BP}" 268 S = "${WORKDIR}/${BP}"
@@ -903,12 +903,11 @@ system and gives an overview of their function and contents.
903 The default value is an empty string (""). 903 The default value is an empty string ("").
904 904
905 :term:`BUILDDIR` 905 :term:`BUILDDIR`
906 Points to the location of the :term:`Build Directory`. 906 Points to the location of the :term:`Build Directory`. You can define
907 You can define this directory indirectly through the 907 this directory indirectly through the :ref:`structure-core-script` script
908 :ref:`structure-core-script` script by passing in a Build 908 by passing in a :term:`Build Directory` path when you run the script. If
909 Directory path when you run the script. If you run the script and do 909 you run the script and do not provide a :term:`Build Directory` path, the
910 not provide a Build Directory path, the :term:`BUILDDIR` defaults to 910 :term:`BUILDDIR` defaults to ``build`` in the current directory.
911 ``build`` in the current directory.
912 911
913 :term:`BUILDHISTORY_COMMIT` 912 :term:`BUILDHISTORY_COMMIT`
914 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 913 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>`
@@ -1712,8 +1711,7 @@ system and gives an overview of their function and contents.
1712 Points to the general area that the OpenEmbedded build system uses to 1711 Points to the general area that the OpenEmbedded build system uses to
1713 place images, packages, SDKs, and other output files that are ready 1712 place images, packages, SDKs, and other output files that are ready
1714 to be used outside of the build system. By default, this directory 1713 to be used outside of the build system. By default, this directory
1715 resides within the :term:`Build Directory` as 1714 resides within the :term:`Build Directory` as ``${TMPDIR}/deploy``.
1716 ``${TMPDIR}/deploy``.
1717 1715
1718 For more information on the structure of the Build Directory, see 1716 For more information on the structure of the Build Directory, see
1719 ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section. 1717 ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
@@ -1759,7 +1757,7 @@ system and gives an overview of their function and contents.
1759 with the contents of :term:`IMGDEPLOYDIR` by the :ref:`image 1757 with the contents of :term:`IMGDEPLOYDIR` by the :ref:`image
1760 <ref-classes-image>` class. 1758 <ref-classes-image>` class.
1761 1759
1762 For more information on the structure of the Build Directory, see 1760 For more information on the structure of the :term:`Build Directory`, see
1763 ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section. 1761 ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
1764 For more detail on the contents of the ``deploy`` directory, see the 1762 For more detail on the contents of the ``deploy`` directory, see the
1765 ":ref:`overview-manual/concepts:images`" and 1763 ":ref:`overview-manual/concepts:images`" and
@@ -2042,8 +2040,7 @@ system and gives an overview of their function and contents.
2042 You can set this directory by defining the :term:`DL_DIR` variable in the 2040 You can set this directory by defining the :term:`DL_DIR` variable in the
2043 ``conf/local.conf`` file. This directory is self-maintaining and you 2041 ``conf/local.conf`` file. This directory is self-maintaining and you
2044 should not have to touch it. By default, the directory is 2042 should not have to touch it. By default, the directory is
2045 ``downloads`` in the :term:`Build Directory`. 2043 ``downloads`` in the :term:`Build Directory`::
2046 ::
2047 2044
2048 #DL_DIR ?= "${TOPDIR}/downloads" 2045 #DL_DIR ?= "${TOPDIR}/downloads"
2049 2046
@@ -2264,8 +2261,8 @@ system and gives an overview of their function and contents.
2264 class, this variable points to the directory in which the recipe's 2261 class, this variable points to the directory in which the recipe's
2265 source code is built, which is outside of the OpenEmbedded build 2262 source code is built, which is outside of the OpenEmbedded build
2266 system. When set, this variable sets the :term:`B` variable, 2263 system. When set, this variable sets the :term:`B` variable,
2267 which is what the OpenEmbedded build system uses to locate the Build 2264 which is what the OpenEmbedded build system uses to locate the
2268 Directory. 2265 :term:`Build Directory`.
2269 2266
2270 See the ":ref:`ref-classes-externalsrc`" section for details. You 2267 See the ":ref:`ref-classes-externalsrc`" section for details. You
2271 can also find information on how to use this variable in the 2268 can also find information on how to use this variable in the
@@ -2285,9 +2282,8 @@ system and gives an overview of their function and contents.
2285 more than one feature, separate them with a space. 2282 more than one feature, separate them with a space.
2286 2283
2287 Typically, you configure this variable in your ``local.conf`` file, 2284 Typically, you configure this variable in your ``local.conf`` file,
2288 which is found in the :term:`Build Directory`. 2285 which is found in the :term:`Build Directory`. Although you can use this
2289 Although you can use this variable from within a recipe, best 2286 variable from within a recipe, best practices dictate that you do not.
2290 practices dictate that you do not.
2291 2287
2292 .. note:: 2288 .. note::
2293 2289
@@ -2684,10 +2680,9 @@ system and gives an overview of their function and contents.
2684 2680
2685 You define the :term:`FILESYSTEM_PERMS_TABLES` variable in the 2681 You define the :term:`FILESYSTEM_PERMS_TABLES` variable in the
2686 ``conf/local.conf`` file, which is found in the :term:`Build Directory`, 2682 ``conf/local.conf`` file, which is found in the :term:`Build Directory`,
2687 to point to your custom 2683 to point to your custom ``fs-perms.txt``. You can specify more than a
2688 ``fs-perms.txt``. You can specify more than a single file permissions 2684 single file permissions setting table. The paths you specify to these
2689 setting table. The paths you specify to these files must be defined 2685 files must be defined within the :term:`BBPATH` variable.
2690 within the :term:`BBPATH` variable.
2691 2686
2692 For guidance on how to create your own file permissions settings 2687 For guidance on how to create your own file permissions settings
2693 table file, examine the existing ``fs-perms.txt``. 2688 table file, examine the existing ``fs-perms.txt``.
@@ -6747,7 +6742,7 @@ system and gives an overview of their function and contents.
6747 to find the unpacked source. 6742 to find the unpacked source.
6748 6743
6749 As an example, assume a :term:`Source Directory` 6744 As an example, assume a :term:`Source Directory`
6750 top-level folder named ``poky`` and a default Build Directory at 6745 top-level folder named ``poky`` and a default :term:`Build Directory` at
6751 ``poky/build``. In this case, the work directory the build system 6746 ``poky/build``. In this case, the work directory the build system
6752 uses to keep the unpacked recipe for ``db`` is the following:: 6747 uses to keep the unpacked recipe for ``db`` is the following::
6753 6748
@@ -6792,7 +6787,7 @@ system and gives an overview of their function and contents.
6792 6787
6793 :term:`SDK_CUSTOM_TEMPLATECONF` 6788 :term:`SDK_CUSTOM_TEMPLATECONF`
6794 When building the extensible SDK, if :term:`SDK_CUSTOM_TEMPLATECONF` is set to 6789 When building the extensible SDK, if :term:`SDK_CUSTOM_TEMPLATECONF` is set to
6795 "1" and a ``conf/templateconf.cfg`` file exists in the build directory 6790 "1" and a ``conf/templateconf.cfg`` file exists in the :term:`Build Directory`
6796 (:term:`TOPDIR`) then this will be copied into the SDK. 6791 (:term:`TOPDIR`) then this will be copied into the SDK.
6797 6792
6798 :term:`SDK_DEPLOY` 6793 :term:`SDK_DEPLOY`
@@ -7195,8 +7190,7 @@ system and gives an overview of their function and contents.
7195 7190
7196 To enable file removal, set the variable to "1" in your 7191 To enable file removal, set the variable to "1" in your
7197 ``conf/local.conf`` configuration file in your: 7192 ``conf/local.conf`` configuration file in your:
7198 :term:`Build Directory`. 7193 :term:`Build Directory`::
7199 ::
7200 7194
7201 SKIP_FILEDEPS = "1" 7195 SKIP_FILEDEPS = "1"
7202 7196
@@ -8126,12 +8120,11 @@ system and gives an overview of their function and contents.
8126 You can select "glibc", "musl", "newlib", or "baremetal". 8120 You can select "glibc", "musl", "newlib", or "baremetal".
8127 8121
8128 :term:`TCLIBCAPPEND` 8122 :term:`TCLIBCAPPEND`
8129 Specifies a suffix to be appended onto the 8123 Specifies a suffix to be appended onto the :term:`TMPDIR` value. The
8130 :term:`TMPDIR` value. The suffix identifies the 8124 suffix identifies the ``libc`` variant for building. When you are
8131 ``libc`` variant for building. When you are building for multiple 8125 building for multiple variants with the same :term:`Build Directory`,
8132 variants with the same :term:`Build Directory`, this 8126 this mechanism ensures that output for different ``libc`` variants is
8133 mechanism ensures that output for different ``libc`` variants is kept 8127 kept separate to avoid potential conflicts.
8134 separate to avoid potential conflicts.
8135 8128
8136 In the ``defaultsetup.conf`` file, the default value of 8129 In the ``defaultsetup.conf`` file, the default value of
8137 :term:`TCLIBCAPPEND` is "-${TCLIBC}". However, distros such as poky, 8130 :term:`TCLIBCAPPEND` is "-${TCLIBC}". However, distros such as poky,
@@ -8419,7 +8412,7 @@ system and gives an overview of their function and contents.
8419 #TMPDIR = "${TOPDIR}/tmp" 8412 #TMPDIR = "${TOPDIR}/tmp"
8420 8413
8421 An example use for this scenario is to set :term:`TMPDIR` to a local disk, 8414 An example use for this scenario is to set :term:`TMPDIR` to a local disk,
8422 which does not use NFS, while having the Build Directory use NFS. 8415 which does not use NFS, while having the :term:`Build Directory` use NFS.
8423 8416
8424 The filesystem used by :term:`TMPDIR` must have standard filesystem 8417 The filesystem used by :term:`TMPDIR` must have standard filesystem
8425 semantics (i.e. mixed-case files are unique, POSIX file locking, and 8418 semantics (i.e. mixed-case files are unique, POSIX file locking, and
@@ -9105,7 +9098,7 @@ system and gives an overview of their function and contents.
9105 - :term:`PR`: The recipe revision 9098 - :term:`PR`: The recipe revision
9106 9099
9107 As an example, assume a Source Directory top-level folder name 9100 As an example, assume a Source Directory top-level folder name
9108 ``poky``, a default Build Directory at ``poky/build``, and a 9101 ``poky``, a default :term:`Build Directory` at ``poky/build``, and a
9109 ``qemux86-poky-linux`` machine target system. Furthermore, suppose 9102 ``qemux86-poky-linux`` machine target system. Furthermore, suppose
9110 your recipe is named ``foo_1.3.0-r0.bb``. In this case, the work 9103 your recipe is named ``foo_1.3.0-r0.bb``. In this case, the work
9111 directory the build system uses to build the package would be as 9104 directory the build system uses to build the package would be as