summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual')
-rw-r--r--documentation/ref-manual/classes.rst141
-rw-r--r--documentation/ref-manual/release-process.rst3
-rw-r--r--documentation/ref-manual/structure.rst9
-rw-r--r--documentation/ref-manual/system-requirements.rst53
-rw-r--r--documentation/ref-manual/variables.rst130
5 files changed, 266 insertions, 70 deletions
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index 45973befbe..bc7ccb8b71 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -355,8 +355,12 @@ file for details about how to enable this mechanism in your configuration
355file, how to disable it for specific recipes, and how to share ``ccache`` 355file, how to disable it for specific recipes, and how to share ``ccache``
356files between builds. 356files between builds.
357 357
358However, using the class can lead to unexpected side-effects. Thus, using 358Recipes can also explicitly disable `Ccache` support even when the
359this class is not recommended. 359:ref:`ref-classes-ccache` class is enabled, by setting the
360:term:`CCACHE_DISABLE` variable to "1".
361
362Using the :ref:`ref-classes-ccache` class can lead to unexpected side-effects.
363Using this class is not recommended.
360 364
361.. _ref-classes-chrpath: 365.. _ref-classes-chrpath:
362 366
@@ -909,6 +913,14 @@ software that uses the GNU ``gettext`` internationalization and localization
909system. All recipes building software that use ``gettext`` should inherit this 913system. All recipes building software that use ``gettext`` should inherit this
910class. 914class.
911 915
916This class will configure recipes to build translations *unless*:
917
918- the :term:`USE_NLS` variable is set to ``no``, or
919
920- the :term:`INHIBIT_DEFAULT_DEPS` variable is set and the recipe inheriting
921 the :ref:`ref-classes-gettext` class does not also inherit the
922 :ref:`ref-classes-cross-canadian` class.
923
912.. _ref-classes-github-releases: 924.. _ref-classes-github-releases:
913 925
914``github-releases`` 926``github-releases``
@@ -1993,7 +2005,8 @@ a couple different ways:
1993 Not using this naming convention can lead to subtle problems 2005 Not using this naming convention can lead to subtle problems
1994 caused by existing code that depends on that naming convention. 2006 caused by existing code that depends on that naming convention.
1995 2007
1996- Create or modify a target recipe that contains the following:: 2008- Or, create a :ref:`ref-classes-native` variant of any target recipe (e.g.
2009 ``myrecipe.bb``) by adding the following to the recipe::
1997 2010
1998 BBCLASSEXTEND = "native" 2011 BBCLASSEXTEND = "native"
1999 2012
@@ -2024,24 +2037,25 @@ couple different ways:
2024 inherit statement in the recipe after all other inherit statements so 2037 inherit statement in the recipe after all other inherit statements so
2025 that the :ref:`ref-classes-nativesdk` class is inherited last. 2038 that the :ref:`ref-classes-nativesdk` class is inherited last.
2026 2039
2027- Create a :ref:`ref-classes-nativesdk` variant of any recipe by adding the following:: 2040 .. note::
2028 2041
2029 BBCLASSEXTEND = "nativesdk" 2042 When creating a recipe, you must follow this naming convention::
2030 2043
2031 Inside the 2044 nativesdk-myrecipe.bb
2032 recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to
2033 specify any functionality specific to the respective SDK machine or
2034 target case.
2035 2045
2036.. note::
2037 2046
2038 When creating a recipe, you must follow this naming convention:: 2047 Not doing so can lead to subtle problems because there is code that
2048 depends on the naming convention.
2039 2049
2040 nativesdk-myrecipe.bb 2050- Or, create a :ref:`ref-classes-nativesdk` variant of any target recipe (e.g.
2051 ``myrecipe.bb``) by adding the following to the recipe::
2041 2052
2053 BBCLASSEXTEND = "nativesdk"
2042 2054
2043 Not doing so can lead to subtle problems because there is code that 2055 Inside the
2044 depends on the naming convention. 2056 recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to
2057 specify any functionality specific to the respective SDK machine or
2058 target case.
2045 2059
2046Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both 2060Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both
2047methods. The advantage of the second method is that you do not need to 2061methods. The advantage of the second method is that you do not need to
@@ -2690,6 +2704,25 @@ The :ref:`ref-classes-recipe_sanity` class checks for the presence of any host s
2690recipe prerequisites that might affect the build (e.g. variables that 2704recipe prerequisites that might affect the build (e.g. variables that
2691are set or software that is present). 2705are set or software that is present).
2692 2706
2707.. _ref-classes-relative_symlinks:
2708
2709``relative_symlinks``
2710=====================
2711
2712The :ref:`ref-classes-relative_symlinks` class walks the symbolic links in the
2713:term:`D` directory and replaces links pointing to absolute paths to relative
2714paths. This is occasionally used in some recipes that create wrong symbolic
2715links when their :ref:`ref-classes-native` version is built, and/or would cause
2716breakage in the :ref:`overview-manual/concepts:shared state cache`.
2717
2718For example, if the following symbolic link is found in :term:`D`::
2719
2720 /usr/bin/foo -> /sbin/bar
2721
2722It is replaced by::
2723
2724 /usr/bin/foo -> ../../sbin/bar
2725
2693.. _ref-classes-relocatable: 2726.. _ref-classes-relocatable:
2694 2727
2695``relocatable`` 2728``relocatable``
@@ -3184,6 +3217,22 @@ class assuming :term:`PATCHRESOLVE` is set to "user", the
3184:ref:`ref-classes-cml1` class, and the :ref:`ref-classes-devshell` class all 3217:ref:`ref-classes-cml1` class, and the :ref:`ref-classes-devshell` class all
3185use the :ref:`ref-classes-terminal` class. 3218use the :ref:`ref-classes-terminal` class.
3186 3219
3220.. _ref-classes-testexport:
3221
3222``testexport``
3223==============
3224
3225Based on the :ref:`ref-classes-testimage` class, the
3226:ref:`ref-classes-testexport` class can be used to export the test environment
3227outside of the :term:`OpenEmbedded Build System`. This will generate the
3228directory structure to execute the runtime tests using the
3229:oe_git:`runexported.py </openembedded-core/tree/meta/lib/oeqa/runexported.py>`
3230Python script.
3231
3232For more details on how to use :ref:`ref-classes-testexport`, see
3233the :ref:`test-manual/runtime-testing:Exporting Tests` section in the Yocto
3234Project Test Environment Manual.
3235
3187.. _ref-classes-testimage: 3236.. _ref-classes-testimage:
3188 3237
3189``testimage`` 3238``testimage``
@@ -3314,6 +3363,9 @@ The variables used by this class are:
3314- :term:`SPL_SIGN_ENABLE`: enable signing the FIT image. 3363- :term:`SPL_SIGN_ENABLE`: enable signing the FIT image.
3315- :term:`SPL_SIGN_KEYDIR`: directory containing the signing keys. 3364- :term:`SPL_SIGN_KEYDIR`: directory containing the signing keys.
3316- :term:`SPL_SIGN_KEYNAME`: base filename of the signing keys. 3365- :term:`SPL_SIGN_KEYNAME`: base filename of the signing keys.
3366- :term:`SPL_DTB_BINARY`: Name of the SPL device tree binary. Can be set to an
3367 empty string to indicate that no SPL should be created and added to the FIT
3368 image.
3317- :term:`UBOOT_FIT_ADDRESS_CELLS`: ``#address-cells`` value for the FIT image. 3369- :term:`UBOOT_FIT_ADDRESS_CELLS`: ``#address-cells`` value for the FIT image.
3318- :term:`UBOOT_FIT_DESC`: description string encoded into the FIT image. 3370- :term:`UBOOT_FIT_DESC`: description string encoded into the FIT image.
3319- :term:`UBOOT_FIT_GENERATE_KEYS`: generate the keys if they don't exist yet. 3371- :term:`UBOOT_FIT_GENERATE_KEYS`: generate the keys if they don't exist yet.
@@ -3342,22 +3394,51 @@ imitates.
3342``uninative`` 3394``uninative``
3343============= 3395=============
3344 3396
3345Attempts to isolate the build system from the host distribution's C 3397The :ref:`ref-classes-uninative` class allows binaries to run on systems with
3346library in order to make re-use of native shared state artifacts across 3398older or newer :wikipedia:`Glibc <Glibc>` versions. This means
3347different host distributions practical. With this class enabled, a 3399:ref:`ref-classes-native` recipe :ref:`overview-manual/concepts:shared state
3348tarball containing a pre-built C library is downloaded at the start of 3400cache` can be shared among different host distributions of different versions,
3349the build. In the Poky reference distribution this is enabled by default 3401i.e. the :ref:`overview-manual/concepts:shared state cache` is "universal".
3350through ``meta/conf/distro/include/yocto-uninative.inc``. Other 3402
3351distributions that do not derive from poky can also 3403To allow this to work, the dynamic loader is changed to our own :manpage:`ld.so
3352"``require conf/distro/include/yocto-uninative.inc``" to use this. 3404<ld.so.8>` when binaries are compiled using the
3353Alternatively if you prefer, you can build the uninative-tarball recipe 3405``--dynamic-linker`` option. This means when the binary is executed, it finds
3354yourself, publish the resulting tarball (e.g. via HTTP) and set 3406our own :manpage:`ld.so <ld.so.8>` and that loader has a modified search path
3355``UNINATIVE_URL`` and ``UNINATIVE_CHECKSUM`` appropriately. For an 3407which finds a newer Glibc version.
3356example, see the ``meta/conf/distro/include/yocto-uninative.inc``. 3408
3357 3409The linking of the binaries is not changed at link time since the
3358The :ref:`ref-classes-uninative` class is also used unconditionally by the extensible 3410headers on the system wouldn't match the newer Glibc and this causes
3359SDK. When building the extensible SDK, ``uninative-tarball`` is built 3411obtuse failures. Changing the loader is effectively the same as if the
3360and the resulting tarball is included within the SDK. 3412system had a Glibc upgrade after the binary was compiled, so it is a
3413mechanism supported by upstream.
3414
3415One caveat to this approach is that the uninative Glibc binary must be
3416equal to or newer in version to the versions on all the systems using
3417the common :ref:`overview-manual/concepts:shared state cache`. This is why
3418:ref:`ref-classes-uninative` is regularly changed on the development and stable
3419branches.
3420
3421Another potential issue is static linking: static libraries created on
3422a system with a new Glibc version may have symbols not present in older
3423versions, which would then fail during linking on older systems. This
3424is one reason we don't use static linking for our :ref:`ref-classes-native`
3425binaries.
3426
3427With this class enabled, a tarball containing a pre-built C library is
3428downloaded at the start of the build. In the Poky reference distribution this is
3429enabled by default through :oe_git:`meta/conf/distro/include/yocto-uninative.inc
3430</openembedded-core/tree/meta/conf/distro/include/yocto-uninative.inc>`. Other distributions that do
3431not derive from Poky can also "``require conf/distro/include/yocto-uninative.inc``"
3432to use this. Alternatively if you prefer, you can build the uninative-tarball
3433recipe yourself, publish the resulting tarball (e.g. via HTTP) and set
3434:term:`UNINATIVE_URL` and :term:`UNINATIVE_CHECKSUM` appropriately. For an
3435example, see :oe_git:`meta/conf/distro/include/yocto-uninative.inc
3436</openembedded-core/tree/meta/conf/distro/include/yocto-uninative.inc>`.
3437
3438The :ref:`ref-classes-uninative` class is also used unconditionally by the
3439:doc:`extensible SDK </sdk-manual/extensible>`. When building the extensible
3440SDK, ``uninative-tarball`` is built and the resulting tarball is included within
3441the SDK.
3361 3442
3362.. _ref-classes-update-alternatives: 3443.. _ref-classes-update-alternatives:
3363 3444
diff --git a/documentation/ref-manual/release-process.rst b/documentation/ref-manual/release-process.rst
index 639921b9f6..8263548448 100644
--- a/documentation/ref-manual/release-process.rst
+++ b/documentation/ref-manual/release-process.rst
@@ -62,7 +62,8 @@ codename are likely to be compatible and thus work together.
62 62
63Releases are given a nominal release version as well but the codename is 63Releases are given a nominal release version as well but the codename is
64used in repositories for this reason. You can find information on Yocto 64used in repositories for this reason. You can find information on Yocto
65Project releases and codenames at :yocto_wiki:`/Releases`. 65Project releases and codenames in the :yocto_home:`Releases page
66</development/releases/>`.
66 67
67Our :doc:`/migration-guides/index` detail how to migrate from one release of 68Our :doc:`/migration-guides/index` detail how to migrate from one release of
68the Yocto Project to the next. 69the Yocto Project to the next.
diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst
index 2190f5b90e..b92d9bb411 100644
--- a/documentation/ref-manual/structure.rst
+++ b/documentation/ref-manual/structure.rst
@@ -344,6 +344,15 @@ This configuration file is generated by :doc:`bblock </dev-manual/bblock>` and
344contains the signatures locked by ``bblock``. By default, it does not exist 344contains the signatures locked by ``bblock``. By default, it does not exist
345and will be created upon the first invocation of ``bblock``. 345and will be created upon the first invocation of ``bblock``.
346 346
347.. _structure-build-conf-auto.conf:
348
349``build/conf/auto.conf``
350------------------------
351
352This file contains configuration variables that are automatically modified by
353tools such as :oe_git:`bitbake-config-build </bitbake/tree/bin/bitbake-config-build>`.
354This file should not be modified manually.
355
347.. _structure-build-downloads: 356.. _structure-build-downloads:
348 357
349``build/downloads/`` 358``build/downloads/``
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
index b22572c6b4..ad7c70727a 100644
--- a/documentation/ref-manual/system-requirements.rst
+++ b/documentation/ref-manual/system-requirements.rst
@@ -58,36 +58,35 @@ Supported Linux Distributions
58Currently, the &DISTRO; release ("&DISTRO_NAME;") of the Yocto Project is 58Currently, the &DISTRO; release ("&DISTRO_NAME;") of the Yocto Project is
59supported on the following distributions: 59supported on the following distributions:
60 60
61- Ubuntu 20.04 (LTS) 61..
62 62 Can be generated with yocto-autobuilder-helper's scripts/yocto-supported-distros:
63- Ubuntu 22.04 (LTS) 63 yocto-supported-distros --release scarthgap --config yocto-autobuilder2/config.py --output-format docs --poky-distros
64
65- Ubuntu 23.04
66
67- Fedora 38
68
69- Fedora 39
70
71- CentOS Stream 8
72
73- Debian GNU/Linux 11 (Bullseye)
74
75- Debian GNU/Linux 12 (Bookworm)
76
77- OpenSUSE Leap 15.4
78 64
79- AlmaLinux 8 65- AlmaLinux 8
80
81- AlmaLinux 9 66- AlmaLinux 9
82 67- Debian 11
83- Rocky 9 68- Debian 12
69- Fedora 39
70- Fedora 40
71- Fedora 41
72- Rocky Linux 8
73- Rocky Linux 9
74- Ubuntu 20.04 (LTS)
75- Ubuntu 22.04 (LTS)
76- Ubuntu 24.04 (LTS)
77- Ubuntu 24.10
84 78
85The following distribution versions are still tested, even though the 79The following distribution versions are still tested, even though the
86organizations publishing them no longer make updates publicly available: 80organizations publishing them no longer make updates publicly available:
87 81
88- Ubuntu 18.04 (LTS) 82..
83 This list contains EOL distros that are still tested on the Autobuilder
84 (meaning there are running workers).
85 See https://endoflife.date for information of EOL releases.
89 86
90- Ubuntu 23.04 87- Fedora 39
88- Fedora 40
89- Ubuntu 20.04 (LTS)
91 90
92Note that the Yocto Project doesn't have access to private updates 91Note that the Yocto Project doesn't have access to private updates
93that some of these versions may have. Therefore, our testing has 92that some of these versions may have. Therefore, our testing has
@@ -96,7 +95,15 @@ limited value if you have access to such updates.
96Finally, here are the distribution versions which were previously 95Finally, here are the distribution versions which were previously
97tested on former revisions of "&DISTRO_NAME;", but no longer are: 96tested on former revisions of "&DISTRO_NAME;", but no longer are:
98 97
99*This list is currently empty* 98..
99 Can be generated with yocto-autobuilder-helper's scripts/yocto-supported-distros.
100 yocto-supported-distros --release scarthgap --config yocto-autobuilder2/config.py --output-format docs --old-distros
101
102- CentOS Stream 8
103- Fedora 38
104- OpenSUSE Leap 15.4
105- Ubuntu 18.04
106- Ubuntu 23.04
100 107
101.. note:: 108.. note::
102 109
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 9406f3548c..5b4561fc12 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -1458,6 +1458,11 @@ system and gives an overview of their function and contents.
1458 :term:`CC` 1458 :term:`CC`
1459 The minimal command and arguments used to run the C compiler. 1459 The minimal command and arguments used to run the C compiler.
1460 1460
1461 :term:`CCACHE_DISABLE`
1462 When inheriting the :ref:`ref-classes-ccache` class, the
1463 :term:`CCACHE_DISABLE` variable can be set to "1" in a recipe to disable
1464 `Ccache` support. This is useful when the recipe is known to not support it.
1465
1461 :term:`CCLD` 1466 :term:`CCLD`
1462 The minimal command and arguments used to run the linker when the C 1467 The minimal command and arguments used to run the linker when the C
1463 compiler is being used as the linker. 1468 compiler is being used as the linker.
@@ -3270,6 +3275,10 @@ system and gives an overview of their function and contents.
3270 3275
3271 This variable is used in the :ref:`ref-classes-kernel-fitimage` class. 3276 This variable is used in the :ref:`ref-classes-kernel-fitimage` class.
3272 3277
3278 :term:`FIT_CONF_PREFIX`
3279 When using the :ref:`ref-classes-kernel-fitimage`, this is the prefix
3280 used for creating FIT configuration nodes. Its default value is "conf-".
3281
3273 :term:`FIT_DESC` 3282 :term:`FIT_DESC`
3274 Specifies the description string encoded into a FIT image. The 3283 Specifies the description string encoded into a FIT image. The
3275 default value is set by the :ref:`ref-classes-kernel-fitimage` class as 3284 default value is set by the :ref:`ref-classes-kernel-fitimage` class as
@@ -4075,14 +4084,20 @@ system and gives an overview of their function and contents.
4075 added to the image by using the :term:`IMAGE_ROOTFS_EXTRA_SPACE` 4084 added to the image by using the :term:`IMAGE_ROOTFS_EXTRA_SPACE`
4076 variable. 4085 variable.
4077 4086
4087 When using Wic tool, beware that a second overhead factor is also applied.
4088 This overhead value is defined by the ``--overhead-factor`` option, which
4089 defaults to "1.3" when omitted. See the
4090 :ref:`ref-manual/kickstart:command: part or partition` chapter in
4091 :doc:`/ref-manual/kickstart` for details.
4092
4078 :term:`IMAGE_PKGTYPE` 4093 :term:`IMAGE_PKGTYPE`
4079 Defines the package type (i.e. DEB, RPM, IPK, or TAR) used by the 4094 Defines the package type (i.e. DEB, RPM or IPK) used by the
4080 OpenEmbedded build system. The variable is defined appropriately by 4095 OpenEmbedded build system. The variable is defined appropriately by
4081 the :ref:`ref-classes-package_deb`, :ref:`ref-classes-package_rpm`, 4096 one of the :ref:`ref-classes-package_deb`, :ref:`ref-classes-package_rpm`,
4082 or :ref:`ref-classes-package_ipk` class. 4097 or :ref:`ref-classes-package_ipk` classes.
4083 4098
4084 The :ref:`ref-classes-populate-sdk-*` and :ref:`ref-classes-image` 4099 The :ref:`ref-classes-populate-sdk-*` and :ref:`ref-classes-image`
4085 classes use the :term:`IMAGE_PKGTYPE` for packaging up images and SDKs. 4100 classes use the :term:`IMAGE_PKGTYPE` for packaging images and SDKs.
4086 4101
4087 You should not set the :term:`IMAGE_PKGTYPE` manually. Rather, the 4102 You should not set the :term:`IMAGE_PKGTYPE` manually. Rather, the
4088 variable is set indirectly through the appropriate 4103 variable is set indirectly through the appropriate
@@ -4091,12 +4106,6 @@ system and gives an overview of their function and contents.
4091 OpenEmbedded build system uses the first package type (e.g. DEB, RPM, 4106 OpenEmbedded build system uses the first package type (e.g. DEB, RPM,
4092 or IPK) that appears with the variable 4107 or IPK) that appears with the variable
4093 4108
4094 .. note::
4095
4096 Files using the ``.tar`` format are never used as a substitute
4097 packaging format for DEB, RPM, and IPK formatted files for your image
4098 or SDK.
4099
4100 :term:`IMAGE_POSTPROCESS_COMMAND` 4109 :term:`IMAGE_POSTPROCESS_COMMAND`
4101 Specifies a list of functions to call once the OpenEmbedded build 4110 Specifies a list of functions to call once the OpenEmbedded build
4102 system creates the final image output files. You can specify 4111 system creates the final image output files. You can specify
@@ -4772,8 +4781,7 @@ system and gives an overview of their function and contents.
4772 would place patch files and configuration fragment files (i.e. 4781 would place patch files and configuration fragment files (i.e.
4773 "out-of-tree"). However, if you want to use a ``defconfig`` file that 4782 "out-of-tree"). However, if you want to use a ``defconfig`` file that
4774 is part of the kernel tree (i.e. "in-tree"), you can use the 4783 is part of the kernel tree (i.e. "in-tree"), you can use the
4775 :term:`KBUILD_DEFCONFIG` variable and append the 4784 :term:`KBUILD_DEFCONFIG` variable to point to the
4776 :term:`KMACHINE` variable to point to the
4777 ``defconfig`` file. 4785 ``defconfig`` file.
4778 4786
4779 To use the variable, set it in the append file for your kernel recipe 4787 To use the variable, set it in the append file for your kernel recipe
@@ -5111,6 +5119,27 @@ system and gives an overview of their function and contents.
5111 the :term:`KERNEL_PATH` variable. Both variables are common variables 5119 the :term:`KERNEL_PATH` variable. Both variables are common variables
5112 used by external Makefiles to point to the kernel source directory. 5120 used by external Makefiles to point to the kernel source directory.
5113 5121
5122 :term:`KERNEL_SPLIT_MODULES`
5123 When inheriting the :ref:`ref-classes-kernel-module-split` class, this
5124 variable controls whether kernel modules are split into separate packages
5125 or bundled into a single package.
5126
5127 For some use cases, a monolithic kernel module package
5128 :term:`KERNEL_PACKAGE_NAME` that contains all modules built from the
5129 kernel sources may be preferred to speed up the installation.
5130
5131 By default, this variable is set to ``1``, resulting in one package per
5132 module. Setting it to any other value will generate a single monolithic
5133 package containing all kernel modules.
5134
5135 .. note::
5136
5137 If :term:`KERNEL_SPLIT_MODULES` is set to 0, it is still possible to
5138 install all kernel modules at once by adding ``kernel-modules`` (assuming
5139 :term:`KERNEL_PACKAGE_NAME` is ``kernel-modules``) to :term:`IMAGE_INSTALL`.
5140 The way it works is that a placeholder "kernel-modules" package will be
5141 created and will depend on every other individual kernel module packages.
5142
5114 :term:`KERNEL_SRC` 5143 :term:`KERNEL_SRC`
5115 The location of the kernel sources. This variable is set to the value 5144 The location of the kernel sources. This variable is set to the value
5116 of the :term:`STAGING_KERNEL_DIR` within the :ref:`ref-classes-module` 5145 of the :term:`STAGING_KERNEL_DIR` within the :ref:`ref-classes-module`
@@ -5200,7 +5229,7 @@ system and gives an overview of their function and contents.
5200 information on how this variable is used. 5229 information on how this variable is used.
5201 5230
5202 :term:`LAYERDEPENDS` 5231 :term:`LAYERDEPENDS`
5203 Lists the layers, separated by spaces, on which this recipe depends. 5232 Lists the layers, separated by spaces, on which this layer depends.
5204 Optionally, you can specify a specific layer version for a dependency 5233 Optionally, you can specify a specific layer version for a dependency
5205 by adding it to the end of the layer name. Here is an example:: 5234 by adding it to the end of the layer name. Here is an example::
5206 5235
@@ -6143,8 +6172,8 @@ system and gives an overview of their function and contents.
6143 6172
6144 .. note:: 6173 .. note::
6145 6174
6146 An easy way to see what overrides apply is to search for :term:`OVERRIDES` 6175 An easy way to see what overrides apply is to run the command
6147 in the output of the ``bitbake -e`` command. See the 6176 ``bitbake-getvar -r myrecipe OVERRIDES``. See the
6148 ":ref:`dev-manual/debugging:viewing variable values`" section in the Yocto 6177 ":ref:`dev-manual/debugging:viewing variable values`" section in the Yocto
6149 Project Development Tasks Manual for more information. 6178 Project Development Tasks Manual for more information.
6150 6179
@@ -7414,6 +7443,16 @@ system and gives an overview of their function and contents.
7414 :term:`REPODIR` 7443 :term:`REPODIR`
7415 See :term:`bitbake:REPODIR` in the BitBake manual. 7444 See :term:`bitbake:REPODIR` in the BitBake manual.
7416 7445
7446 :term:`REQUIRED_COMBINED_FEATURES`
7447 When inheriting the :ref:`ref-classes-features_check` class, this variable
7448 identifies combined features (the intersection of :term:`MACHINE_FEATURES`
7449 and :term:`DISTRO_FEATURES`) that must exist in the current configuration
7450 in order for the :term:`OpenEmbedded Build System` to build the recipe. In
7451 other words, if the :term:`REQUIRED_COMBINED_FEATURES` variable lists a
7452 feature that does not appear in :term:`COMBINED_FEATURES` within the
7453 current configuration, then the recipe will be skipped, and if the build
7454 system attempts to build the recipe then an error will be triggered.
7455
7417 :term:`REQUIRED_DISTRO_FEATURES` 7456 :term:`REQUIRED_DISTRO_FEATURES`
7418 When inheriting the :ref:`ref-classes-features_check` 7457 When inheriting the :ref:`ref-classes-features_check`
7419 class, this variable identifies distribution features that must exist 7458 class, this variable identifies distribution features that must exist
@@ -7424,6 +7463,32 @@ system and gives an overview of their function and contents.
7424 the recipe will be skipped, and if the build system attempts to build 7463 the recipe will be skipped, and if the build system attempts to build
7425 the recipe then an error will be triggered. 7464 the recipe then an error will be triggered.
7426 7465
7466 :term:`REQUIRED_IMAGE_FEATURES`
7467 When inheriting the :ref:`ref-classes-features_check` class, this variable
7468 identifies image features that must exist in the current
7469 configuration in order for the :term:`OpenEmbedded Build System` to build
7470 the recipe. In other words, if the :term:`REQUIRED_IMAGE_FEATURES` variable
7471 lists a feature that does not appear in :term:`IMAGE_FEATURES` within the
7472 current configuration, then the recipe will be skipped, and if the build
7473 system attempts to build the recipe then an error will be triggered.
7474
7475 Compared to other ``REQUIRED_*_FEATURES`` variables, the
7476 :term:`REQUIRED_IMAGE_FEATURES` varible only targets image recipes, as the
7477 :term:`IMAGE_FEATURES` variable is handled by the :ref:`ref-classes-core-image`
7478 class). However, the :term:`REQUIRED_IMAGE_FEATURES` varible can also be
7479 set from a :term:`Configuration File`, such as a distro
7480 configuration file, if the list of required image features should apply to
7481 all images using this :term:`DISTRO`.
7482
7483 :term:`REQUIRED_MACHINE_FEATURES`
7484 When inheriting the :ref:`ref-classes-features_check` class, this variable
7485 identifies :term:`MACHINE_FEATURES` that must exist in the current
7486 configuration in order for the :term:`OpenEmbedded Build System` to build
7487 the recipe. In other words, if the :term:`REQUIRED_MACHINE_FEATURES` variable
7488 lists a feature that does not appear in :term:`MACHINE_FEATURES` within the
7489 current configuration, then the recipe will be skipped, and if the build
7490 system attempts to build the recipe then an error will be triggered.
7491
7427 :term:`REQUIRED_VERSION` 7492 :term:`REQUIRED_VERSION`
7428 If there are multiple versions of a recipe available, this variable 7493 If there are multiple versions of a recipe available, this variable
7429 determines which version should be given preference. 7494 determines which version should be given preference.
@@ -8430,6 +8495,11 @@ system and gives an overview of their function and contents.
8430 section in the Yocto Project Board Support Package Developer's Guide 8495 section in the Yocto Project Board Support Package Developer's Guide
8431 for additional information. 8496 for additional information.
8432 8497
8498 :term:`SPL_DTB_BINARY`
8499 When inheriting the :ref:`ref-classes-uboot-sign` class, the
8500 :term:`SPL_DTB_BINARY` variable contains the name of the SPL binary to be
8501 compiled.
8502
8433 :term:`SPL_MKIMAGE_DTCOPTS` 8503 :term:`SPL_MKIMAGE_DTCOPTS`
8434 Options for the device tree compiler passed to ``mkimage -D`` feature 8504 Options for the device tree compiler passed to ``mkimage -D`` feature
8435 while creating a FIT image with the :ref:`ref-classes-uboot-sign` 8505 while creating a FIT image with the :ref:`ref-classes-uboot-sign`
@@ -8799,7 +8869,7 @@ system and gives an overview of their function and contents.
8799 directory for the build host. 8869 directory for the build host.
8800 8870
8801 :term:`STAGING_DIR` 8871 :term:`STAGING_DIR`
8802 Helps construct the ``recipe-sysroots`` directory, which is used 8872 Helps construct the ``recipe-sysroot*`` directories, which are used
8803 during packaging. 8873 during packaging.
8804 8874
8805 For information on how staging for recipe-specific sysroots occurs, 8875 For information on how staging for recipe-specific sysroots occurs,
@@ -10149,6 +10219,22 @@ system and gives an overview of their function and contents.
10149 passes and uses "all" for the target during the U-Boot building 10219 passes and uses "all" for the target during the U-Boot building
10150 process. 10220 process.
10151 10221
10222 :term:`UNINATIVE_CHECKSUM`
10223 When inheriting the :ref:`ref-classes-uninative` class, the
10224 :term:`UNINATIVE_CHECKSUM` variable flags contain the checksums of the
10225 uninative tarball as specified by the :term:`UNINATIVE_URL` variable.
10226 There should be one checksum per tarballs published at
10227 :term:`UNINATIVE_URL`, which match architectures. For example::
10228
10229 UNINATIVE_CHECKSUM[aarch64] ?= "812045d826b7fda88944055e8526b95a5a9440bfef608d5b53fd52faab49bf85"
10230 UNINATIVE_CHECKSUM[i686] ?= "5cc28efd0c15a75de4bcb147c6cce65f1c1c9d442173a220f08427f40a3ffa09"
10231 UNINATIVE_CHECKSUM[x86_64] ?= "4c03d1ed2b7b4e823aca4a1a23d8f2e322f1770fc10e859adcede5777aff4f3a"
10232
10233 :term:`UNINATIVE_URL`
10234 When inheriting the :ref:`ref-classes-uninative` class, the
10235 :term:`UNINATIVE_URL` variable contains the URL where the uninative
10236 tarballs are published.
10237
10152 :term:`UNKNOWN_CONFIGURE_OPT_IGNORE` 10238 :term:`UNKNOWN_CONFIGURE_OPT_IGNORE`
10153 Specifies a list of options that, if reported by the configure script 10239 Specifies a list of options that, if reported by the configure script
10154 as being invalid, should not generate a warning during the 10240 as being invalid, should not generate a warning during the
@@ -10239,6 +10325,18 @@ system and gives an overview of their function and contents.
10239 the Yocto Project Development Tasks Manual for information on how to 10325 the Yocto Project Development Tasks Manual for information on how to
10240 use this variable. 10326 use this variable.
10241 10327
10328 :term:`USE_NLS`
10329 Determine if language translations should be built for recipes that can
10330 build them. This variable can be equal to:
10331
10332 - ``yes``: translations are enabled.
10333 - ``no``: translation are disabled.
10334
10335 Recipes can use the value of this variable to enable language
10336 translations in their build. Classes such as :ref:`ref-classes-gettext`
10337 use the value of this variable to enable :wikipedia:`Gettext <Gettext>`
10338 support.
10339
10242 :term:`USE_VT` 10340 :term:`USE_VT`
10243 When using 10341 When using
10244 :ref:`SysVinit <dev-manual/new-recipe:enabling system services>`, 10342 :ref:`SysVinit <dev-manual/new-recipe:enabling system services>`,