diff options
Diffstat (limited to 'documentation/ref-manual')
| -rw-r--r-- | documentation/ref-manual/classes.rst | 191 | ||||
| -rw-r--r-- | documentation/ref-manual/features.rst | 8 | ||||
| -rw-r--r-- | documentation/ref-manual/qa-checks.rst | 11 | ||||
| -rw-r--r-- | documentation/ref-manual/variables.rst | 152 | 
4 files changed, 325 insertions, 37 deletions
| diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst index 662121ed9c..a56a2f7198 100644 --- a/documentation/ref-manual/classes.rst +++ b/documentation/ref-manual/classes.rst | |||
| @@ -392,8 +392,19 @@ file for details about how to enable this mechanism in your configuration | |||
| 392 | file, how to disable it for specific recipes, and how to share ``ccache`` | 392 | file, how to disable it for specific recipes, and how to share ``ccache`` | 
| 393 | files between builds. | 393 | files between builds. | 
| 394 | 394 | ||
| 395 | However, using the class can lead to unexpected side-effects. Thus, using | 395 | Recipes (including :ref:`ref-classes-native` ones) can make use of the host's | 
| 396 | this class is not recommended. | 396 | ``ccache`` binary (via :term:`HOSTTOOLS`) if the following configuration | 
| 397 | statements are provided in a :term:`configuration file`:: | ||
| 398 | |||
| 399 | ASSUME_PROVIDED += "ccache-native" | ||
| 400 | HOSTTOOLS += "ccache" | ||
| 401 | |||
| 402 | Recipes can also explicitly disable `Ccache` support even when the | ||
| 403 | :ref:`ref-classes-ccache` class is enabled, by setting the | ||
| 404 | :term:`CCACHE_DISABLE` variable to "1". | ||
| 405 | |||
| 406 | Using the :ref:`ref-classes-ccache` class can lead to unexpected side-effects. | ||
| 407 | Using this class is not recommended. | ||
| 397 | 408 | ||
| 398 | .. _ref-classes-chrpath: | 409 | .. _ref-classes-chrpath: | 
| 399 | 410 | ||
| @@ -955,6 +966,14 @@ software that uses the GNU ``gettext`` internationalization and localization | |||
| 955 | system. All recipes building software that use ``gettext`` should inherit this | 966 | system. All recipes building software that use ``gettext`` should inherit this | 
| 956 | class. | 967 | class. | 
| 957 | 968 | ||
| 969 | This class will configure recipes to build translations *unless*: | ||
| 970 | |||
| 971 | - the :term:`USE_NLS` variable is set to ``no``, or | ||
| 972 | |||
| 973 | - the :term:`INHIBIT_DEFAULT_DEPS` variable is set and the recipe inheriting | ||
| 974 | the :ref:`ref-classes-gettext` class does not also inherit the | ||
| 975 | :ref:`ref-classes-cross-canadian` class. | ||
| 976 | |||
| 958 | .. _ref-classes-github-releases: | 977 | .. _ref-classes-github-releases: | 
| 959 | 978 | ||
| 960 | ``github-releases`` | 979 | ``github-releases`` | 
| @@ -2174,6 +2193,19 @@ meson-python build system. | |||
| 2174 | 2193 | ||
| 2175 | Internally this uses the :ref:`ref-classes-python_pep517` class. | 2194 | Internally this uses the :ref:`ref-classes-python_pep517` class. | 
| 2176 | 2195 | ||
| 2196 | .. _ref-classes-python_pdm: | ||
| 2197 | |||
| 2198 | ``python_pdm`` | ||
| 2199 | ================= | ||
| 2200 | |||
| 2201 | The :ref:`ref-classes-python_pdm` class adds support for building Python | ||
| 2202 | packages with the `PDM <https://pdm-project.org/>`__ package and dependency manager. | ||
| 2203 | |||
| 2204 | This class adds ``python3-pdm-backend-native`` to the recipe's build-time | ||
| 2205 | dependencies. | ||
| 2206 | |||
| 2207 | Internally this uses the :ref:`ref-classes-python_pep517` class. | ||
| 2208 | |||
| 2177 | .. _ref-classes-python_pep517: | 2209 | .. _ref-classes-python_pep517: | 
| 2178 | 2210 | ||
| 2179 | ``python_pep517`` | 2211 | ``python_pep517`` | 
| @@ -2466,6 +2498,25 @@ The :ref:`ref-classes-recipe_sanity` class checks for the presence of any host s | |||
| 2466 | recipe prerequisites that might affect the build (e.g. variables that | 2498 | recipe prerequisites that might affect the build (e.g. variables that | 
| 2467 | are set or software that is present). | 2499 | are set or software that is present). | 
| 2468 | 2500 | ||
| 2501 | .. _ref-classes-relative_symlinks: | ||
| 2502 | |||
| 2503 | ``relative_symlinks`` | ||
| 2504 | ===================== | ||
| 2505 | |||
| 2506 | The :ref:`ref-classes-relative_symlinks` class walks the symbolic links in the | ||
| 2507 | :term:`D` directory and replaces links pointing to absolute paths to relative | ||
| 2508 | paths. This is occasionally used in some recipes that create wrong symbolic | ||
| 2509 | links when their :ref:`ref-classes-native` version is built, and/or would cause | ||
| 2510 | breakage in the :ref:`overview-manual/concepts:shared state cache`. | ||
| 2511 | |||
| 2512 | For example, if the following symbolic link is found in :term:`D`:: | ||
| 2513 | |||
| 2514 | /usr/bin/foo -> /sbin/bar | ||
| 2515 | |||
| 2516 | It is replaced by:: | ||
| 2517 | |||
| 2518 | /usr/bin/foo -> ../../sbin/bar | ||
| 2519 | |||
| 2469 | .. _ref-classes-relocatable: | 2520 | .. _ref-classes-relocatable: | 
| 2470 | 2521 | ||
| 2471 | ``relocatable`` | 2522 | ``relocatable`` | 
| @@ -2606,6 +2657,19 @@ The :ref:`ref-classes-rust-common` class is an internal class to the | |||
| 2606 | :ref:`ref-classes-cargo_common` and :ref:`ref-classes-rust` classes and is not | 2657 | :ref:`ref-classes-cargo_common` and :ref:`ref-classes-rust` classes and is not | 
| 2607 | intended to be used directly. | 2658 | intended to be used directly. | 
| 2608 | 2659 | ||
| 2660 | .. _ref-classes-rust-target-config: | ||
| 2661 | |||
| 2662 | ``rust-target-config`` | ||
| 2663 | ====================== | ||
| 2664 | |||
| 2665 | The :ref:`ref-classes-rust-target-config` class is an internal class to the | ||
| 2666 | :ref:`ref-classes-cargo_common` and :ref:`ref-classes-rust` classes and is not | ||
| 2667 | intended to be used directly. | ||
| 2668 | |||
| 2669 | It is used to generate a JSON specification file from the features listed in | ||
| 2670 | :term:`TUNE_FEATURES`, which is used for cross-compiling. The logic is done in a | ||
| 2671 | ``do_rust_gen_targets`` task. | ||
| 2672 | |||
| 2609 | .. _ref-classes-sanity: | 2673 | .. _ref-classes-sanity: | 
| 2610 | 2674 | ||
| 2611 | ``sanity`` | 2675 | ``sanity`` | 
| @@ -3169,15 +3233,65 @@ variable using the "type" varflag. Here is an example:: | |||
| 3169 | ``uboot-config`` | 3233 | ``uboot-config`` | 
| 3170 | ================ | 3234 | ================ | 
| 3171 | 3235 | ||
| 3172 | The :ref:`ref-classes-uboot-config` class provides support for U-Boot configuration for | 3236 | The :ref:`ref-classes-uboot-config` class provides support for configuring one | 
| 3173 | a machine. Specify the machine in your recipe as follows:: | 3237 | or more U-Boot build configurations. | 
| 3238 | |||
| 3239 | There are two ways to configure the recipe for your machine: | ||
| 3240 | |||
| 3241 | - Using :term:`UBOOT_CONFIG` variable. For example:: | ||
| 3242 | |||
| 3243 | UBOOT_CONFIG ??= "foo bar" | ||
| 3244 | UBOOT_CONFIG[foo] = "config,images,binary,makeopts" | ||
| 3245 | UBOOT_CONFIG[bar] = "config2,images2,binary2,makeopts2" | ||
| 3246 | |||
| 3247 | In this example, all possible configurations are selected (``foo`` and | ||
| 3248 | ``bar``), but it is also possible to build only ``foo`` or ``bar`` by | ||
| 3249 | changing the value of :term:`UBOOT_CONFIG` to include either one or the | ||
| 3250 | other. | ||
| 3251 | |||
| 3252 | Each build configuration is associated to a variable flag definition of | ||
| 3253 | :term:`UBOOT_CONFIG`, that can take up to three comma-separated options | ||
| 3254 | (``config,images,binary``): | ||
| 3255 | |||
| 3256 | - ``config``: defconfig file selected for this build configuration. | ||
| 3257 | These files are found in the source tree's ``configs`` folder of U-Boot. | ||
| 3258 | |||
| 3259 | *This option is mandatory.* | ||
| 3260 | |||
| 3261 | - ``images``: image types to append to the :term:`IMAGE_FSTYPES` variable | ||
| 3262 | for image generation for this build configuration. | ||
| 3263 | |||
| 3264 | This can allow building an extra image format that uses the binary | ||
| 3265 | generated by this build configuration. | ||
| 3266 | |||
| 3267 | This option is not mandatory and can be left empty. | ||
| 3268 | |||
| 3269 | - ``binary``: binary to select as the one to deploy in | ||
| 3270 | :term:`DEPLOY_DIR_IMAGE`. The output of a U-Boot build may be more than | ||
| 3271 | one binary, for example:: | ||
| 3272 | |||
| 3273 | u-boot.bin | ||
| 3274 | u-boot-with-spl.bin | ||
| 3275 | |||
| 3276 | Setting the ``binary`` value to ``u-boot-with-spl.bin`` will make this | ||
| 3277 | binary the one deployed in :term:`DEPLOY_DIR_IMAGE`. It is renamed to | ||
| 3278 | include the build configuration name in the process (``foo`` or ``bar`` in | ||
| 3279 | the above example). | ||
| 3280 | |||
| 3281 | This option defaults to :term:`UBOOT_BINARY` if unset. | ||
| 3282 | |||
| 3283 | - ``makeopts``: the additional options passed to ``make`` when configuring | ||
| 3284 | and compiling U-Boot for this configuration entry. The options in this | ||
| 3285 | entry are added before the options in :term:`UBOOT_MAKE_OPTS`. | ||
| 3174 | 3286 | ||
| 3175 | UBOOT_CONFIG ??= <default> | 3287 | - Or, using the :term:`UBOOT_MACHINE` variable (and its companion variable | 
| 3176 | UBOOT_CONFIG[foo] = "config,images,binary" | 3288 | :term:`UBOOT_BINARY`). For example:: | 
| 3177 | 3289 | ||
| 3178 | You can also specify the machine using this method:: | 3290 | UBOOT_MACHINE = "config" | 
| 3291 | UBOOT_BINARY = "u-boot.bin" | ||
| 3179 | 3292 | ||
| 3180 | UBOOT_MACHINE = "config" | 3293 | Using :term:`UBOOT_MACHINE` and :term:`UBOOT_CONFIG` at the same time is not | 
| 3294 | possible. | ||
| 3181 | 3295 | ||
| 3182 | See the :term:`UBOOT_CONFIG` and :term:`UBOOT_MACHINE` variables for additional | 3296 | See the :term:`UBOOT_CONFIG` and :term:`UBOOT_MACHINE` variables for additional | 
| 3183 | information. | 3297 | information. | 
| @@ -3293,22 +3407,51 @@ buildtime via :term:`UKI_FILENAME`. | |||
| 3293 | ``uninative`` | 3407 | ``uninative`` | 
| 3294 | ============= | 3408 | ============= | 
| 3295 | 3409 | ||
| 3296 | Attempts to isolate the build system from the host distribution's C | 3410 | The :ref:`ref-classes-uninative` class allows binaries to run on systems with | 
| 3297 | library in order to make re-use of native shared state artifacts across | 3411 | older or newer :wikipedia:`Glibc <Glibc>` versions. This means | 
| 3298 | different host distributions practical. With this class enabled, a | 3412 | :ref:`ref-classes-native` recipe :ref:`overview-manual/concepts:shared state | 
| 3299 | tarball containing a pre-built C library is downloaded at the start of | 3413 | cache` can be shared among different host distributions of different versions, | 
| 3300 | the build. In the Poky reference distribution this is enabled by default | 3414 | i.e. the :ref:`overview-manual/concepts:shared state cache` is "universal". | 
| 3301 | through ``meta/conf/distro/include/yocto-uninative.inc``. Other | 3415 | |
| 3302 | distributions that do not derive from poky can also | 3416 | To allow this to work, the dynamic loader is changed to our own :manpage:`ld.so | 
| 3303 | "``require conf/distro/include/yocto-uninative.inc``" to use this. | 3417 | <ld.so.8>` when binaries are compiled using the | 
| 3304 | Alternatively if you prefer, you can build the uninative-tarball recipe | 3418 | ``--dynamic-linker`` option. This means when the binary is executed, it finds | 
| 3305 | yourself, publish the resulting tarball (e.g. via HTTP) and set | 3419 | our own :manpage:`ld.so <ld.so.8>` and that loader has a modified search path | 
| 3306 | ``UNINATIVE_URL`` and ``UNINATIVE_CHECKSUM`` appropriately. For an | 3420 | which finds a newer Glibc version. | 
| 3307 | example, see the ``meta/conf/distro/include/yocto-uninative.inc``. | 3421 | |
| 3308 | 3422 | The linking of the binaries is not changed at link time since the | |
| 3309 | The :ref:`ref-classes-uninative` class is also used unconditionally by the extensible | 3423 | headers on the system wouldn't match the newer Glibc and this causes | 
| 3310 | SDK. When building the extensible SDK, ``uninative-tarball`` is built | 3424 | obtuse failures. Changing the loader is effectively the same as if the | 
| 3311 | and the resulting tarball is included within the SDK. | 3425 | system had a Glibc upgrade after the binary was compiled, so it is a | 
| 3426 | mechanism supported by upstream. | ||
| 3427 | |||
| 3428 | One caveat to this approach is that the uninative Glibc binary must be | ||
| 3429 | equal to or newer in version to the versions on all the systems using | ||
| 3430 | the common :ref:`overview-manual/concepts:shared state cache`. This is why | ||
| 3431 | :ref:`ref-classes-uninative` is regularly changed on the development and stable | ||
| 3432 | branches. | ||
| 3433 | |||
| 3434 | Another potential issue is static linking: static libraries created on | ||
| 3435 | a system with a new Glibc version may have symbols not present in older | ||
| 3436 | versions, which would then fail during linking on older systems. This | ||
| 3437 | is one reason we don't use static linking for our :ref:`ref-classes-native` | ||
| 3438 | binaries. | ||
| 3439 | |||
| 3440 | With this class enabled, a tarball containing a pre-built C library is | ||
| 3441 | downloaded at the start of the build. In the Poky reference distribution this is | ||
| 3442 | enabled by default through :oe_git:`meta/conf/distro/include/yocto-uninative.inc | ||
| 3443 | </openembedded-core/tree/meta/conf/distro/include/yocto-uninative.inc>`. Other distributions that do | ||
| 3444 | not derive from Poky can also "``require conf/distro/include/yocto-uninative.inc``" | ||
| 3445 | to use this. Alternatively if you prefer, you can build the uninative-tarball | ||
| 3446 | recipe yourself, publish the resulting tarball (e.g. via HTTP) and set | ||
| 3447 | :term:`UNINATIVE_URL` and :term:`UNINATIVE_CHECKSUM` appropriately. For an | ||
| 3448 | example, see :oe_git:`meta/conf/distro/include/yocto-uninative.inc | ||
| 3449 | </openembedded-core/tree/meta/conf/distro/include/yocto-uninative.inc>`. | ||
| 3450 | |||
| 3451 | The :ref:`ref-classes-uninative` class is also used unconditionally by the | ||
| 3452 | :doc:`extensible SDK </sdk-manual/extensible>`. When building the extensible | ||
| 3453 | SDK, ``uninative-tarball`` is built and the resulting tarball is included within | ||
| 3454 | the SDK. | ||
| 3312 | 3455 | ||
| 3313 | .. _ref-classes-update-alternatives: | 3456 | .. _ref-classes-update-alternatives: | 
| 3314 | 3457 | ||
| diff --git a/documentation/ref-manual/features.rst b/documentation/ref-manual/features.rst index 2c074ab9c7..40651a4c91 100644 --- a/documentation/ref-manual/features.rst +++ b/documentation/ref-manual/features.rst | |||
| @@ -54,6 +54,11 @@ Project metadata: | |||
| 54 | 54 | ||
| 55 | - *bluetooth:* Hardware has integrated BT | 55 | - *bluetooth:* Hardware has integrated BT | 
| 56 | 56 | ||
| 57 | - *coresight:* Support for the `Coresight | ||
| 58 | <https://docs.kernel.org/trace/coresight/coresight.html>`__ Linux Kernel | ||
| 59 | feature on Arm processors. This feature depends on the ``opencsd`` recipe | ||
| 60 | which is present in the :yocto_git:`meta-arm </meta-arm>` :term:`layer`. | ||
| 61 | |||
| 57 | - *efi:* Support for booting through EFI | 62 | - *efi:* Support for booting through EFI | 
| 58 | 63 | ||
| 59 | - *ext2:* Hardware HDD or Microdrive | 64 | - *ext2:* Hardware HDD or Microdrive | 
| @@ -180,6 +185,9 @@ metadata, as extra layers can define their own: | |||
| 180 | 185 | ||
| 181 | - *nls:* Include National Language Support (NLS). | 186 | - *nls:* Include National Language Support (NLS). | 
| 182 | 187 | ||
| 188 | - *opencl:* Include support for the :wikipedia:`OpenCL (Open Computing | ||
| 189 | Language) <OpenCL>` framework. | ||
| 190 | |||
| 183 | - *opengl:* Include the Open Graphics Library, which is a | 191 | - *opengl:* Include the Open Graphics Library, which is a | 
| 184 | cross-language, multi-platform application programming interface used | 192 | cross-language, multi-platform application programming interface used | 
| 185 | for rendering two and three-dimensional graphics. | 193 | for rendering two and three-dimensional graphics. | 
| diff --git a/documentation/ref-manual/qa-checks.rst b/documentation/ref-manual/qa-checks.rst index 9dfbbff02d..9654cf08e2 100644 --- a/documentation/ref-manual/qa-checks.rst +++ b/documentation/ref-manual/qa-checks.rst | |||
| @@ -983,17 +983,6 @@ message, it indicates that the :ref:`ref-tasks-install` step (or perhaps the bui | |||
| 983 | of the variables set up for this (``bindir``, ``sbindir``, etc.), and should be | 983 | of the variables set up for this (``bindir``, ``sbindir``, etc.), and should be | 
| 984 | changed so that it does. | 984 | changed so that it does. | 
| 985 | 985 | ||
| 986 | .. _qa-check-var-undefined: | ||
| 987 | |||
| 988 | ``var-undefined`` | ||
| 989 | ----------------- | ||
| 990 | |||
| 991 | - ``WORKDIR, DEPLOY_DIR, D, PN and PKGD all must be defined, unable to package [var-undefined]`` | ||
| 992 | |||
| 993 | Reports when variables fundamental to packaging (i.e. :term:`WORKDIR`, | ||
| 994 | :term:`DEPLOY_DIR`, :term:`D`, :term:`PN`, and :term:`PKGD`) are undefined | ||
| 995 | during :ref:`ref-tasks-package`. | ||
| 996 | |||
| 997 | .. _qa-check-version-going-backwards: | 986 | .. _qa-check-version-going-backwards: | 
| 998 | 987 | ||
| 999 | ``version-going-backwards`` | 988 | ``version-going-backwards`` | 
| diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index 591c03028c..a80ef364ed 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst | |||
| @@ -1526,6 +1526,11 @@ system and gives an overview of their function and contents. | |||
| 1526 | :term:`CC` | 1526 | :term:`CC` | 
| 1527 | The minimal command and arguments used to run the C compiler. | 1527 | The minimal command and arguments used to run the C compiler. | 
| 1528 | 1528 | ||
| 1529 | :term:`CCACHE_DISABLE` | ||
| 1530 | When inheriting the :ref:`ref-classes-ccache` class, the | ||
| 1531 | :term:`CCACHE_DISABLE` variable can be set to "1" in a recipe to disable | ||
| 1532 | `Ccache` support. This is useful when the recipe is known to not support it. | ||
| 1533 | |||
| 1529 | :term:`CCLD` | 1534 | :term:`CCLD` | 
| 1530 | The minimal command and arguments used to run the linker when the C | 1535 | The minimal command and arguments used to run the linker when the C | 
| 1531 | compiler is being used as the linker. | 1536 | compiler is being used as the linker. | 
| @@ -3956,6 +3961,70 @@ system and gives an overview of their function and contents. | |||
| 3956 | material for Wic is located in the | 3961 | material for Wic is located in the | 
| 3957 | ":doc:`/ref-manual/kickstart`" chapter. | 3962 | ":doc:`/ref-manual/kickstart`" chapter. | 
| 3958 | 3963 | ||
| 3964 | :term:`IMAGE_EXTRA_PARTITION_FILES` | ||
| 3965 | A space-separated list of files installed into the extra partition(s) | ||
| 3966 | when preparing an image using the Wic tool with the | ||
| 3967 | ``extra_partition`` source plugin. By default, | ||
| 3968 | the files are | ||
| 3969 | installed under the same name as the source files. To change the | ||
| 3970 | installed name, separate it from the original name with a semi-colon | ||
| 3971 | (;). Source files need to be located in | ||
| 3972 | :term:`DEPLOY_DIR_IMAGE`. Here is an | ||
| 3973 | example:: | ||
| 3974 | |||
| 3975 | IMAGE_EXTRA_PARTITION_FILES = "foobar file.conf;config" | ||
| 3976 | |||
| 3977 | In the above example, the file ``foobar`` is installed with its original name | ||
| 3978 | ``foobar``, while the file ``file.conf`` is installed and renamed to ``config``. | ||
| 3979 | |||
| 3980 | Alternatively, source files can be picked up using a glob pattern. | ||
| 3981 | However, hidden files are ignored, and the pattern is non-recursive | ||
| 3982 | (subdirectories are ignored). | ||
| 3983 | The destination file will have the same name as the base | ||
| 3984 | name of the source file path. To install files into a renamed directory | ||
| 3985 | within the target location, pass its name after a semi-colon (;). | ||
| 3986 | Here are two examples:: | ||
| 3987 | |||
| 3988 | IMAGE_EXTRA_PARTITION_FILES = "foo/*" | ||
| 3989 | IMAGE_EXTRA_PARTITION_FILES = "foo/*;bar/" | ||
| 3990 | |||
| 3991 | The first line in this example | ||
| 3992 | installs all files from ``foo`` directory | ||
| 3993 | into the root of the target partition. The second line in this example installs | ||
| 3994 | the same files into a ``bar`` directory within the target partition. | ||
| 3995 | The ``bar/`` directory is automatically created if it does not exist. | ||
| 3996 | |||
| 3997 | You can also specify the target by label, UUID or partition name if multiple | ||
| 3998 | extra partitions coexist. Let's take the following example. This would be | ||
| 3999 | the WKS file for the image currently being built:: | ||
| 4000 | |||
| 4001 | part --source extra_partition --fstype=ext4 --label foo | ||
| 4002 | part --source extra_partition --fstype=ext4 --uuid e7d0824e-cda3-4bed-9f54-9ef5312d105d | ||
| 4003 | part --source extra_partition --fstype=ext4 --part-name config | ||
| 4004 | |||
| 4005 | And the following configuration:: | ||
| 4006 | |||
| 4007 | IMAGE_EXTRA_PARTITION_FILES_label-foo = "foo/*" | ||
| 4008 | IMAGE_EXTRA_PARTITION_FILES_uuid-e7d0824e-cda3-4bed-9f54-9ef5312d105d = "foo/*;bar/" | ||
| 4009 | IMAGE_EXTRA_PARTITION_FILES_part-name-config = "config" | ||
| 4010 | |||
| 4011 | Then: | ||
| 4012 | |||
| 4013 | - The partition labeled "foo" would get all files from the ``foo`` | ||
| 4014 | directory. | ||
| 4015 | |||
| 4016 | - The partition whose UUID is "e7d0824e-cda3-4bed-9f54-9ef5312d105d" | ||
| 4017 | would get all files from the ``foo`` directory, installed into a | ||
| 4018 | ``bar`` directory. | ||
| 4019 | |||
| 4020 | - The partition named "config" would get the file ``config``. | ||
| 4021 | |||
| 4022 | You can find information on how to use the Wic tool in the | ||
| 4023 | ":ref:`dev-manual/wic:creating partitioned images using wic`" | ||
| 4024 | section of the Yocto Project Development Tasks Manual. Reference | ||
| 4025 | material for Wic is located in the | ||
| 4026 | ":doc:`/ref-manual/kickstart`" chapter. | ||
| 4027 | |||
| 3959 | :term:`IMAGE_FEATURES` | 4028 | :term:`IMAGE_FEATURES` | 
| 3960 | The primary list of features to include in an image. Typically, you | 4029 | The primary list of features to include in an image. Typically, you | 
| 3961 | configure this variable in an image recipe. Although you can use this | 4030 | configure this variable in an image recipe. Although you can use this | 
| @@ -5454,7 +5523,7 @@ system and gives an overview of their function and contents. | |||
| 5454 | information on how this variable is used. | 5523 | information on how this variable is used. | 
| 5455 | 5524 | ||
| 5456 | :term:`LAYERDEPENDS` | 5525 | :term:`LAYERDEPENDS` | 
| 5457 | Lists the layers, separated by spaces, on which this recipe depends. | 5526 | Lists the layers, separated by spaces, on which this layer depends. | 
| 5458 | Optionally, you can specify a specific layer version for a dependency | 5527 | Optionally, you can specify a specific layer version for a dependency | 
| 5459 | by adding it to the end of the layer name. Here is an example:: | 5528 | by adding it to the end of the layer name. Here is an example:: | 
| 5460 | 5529 | ||
| @@ -7871,6 +7940,16 @@ system and gives an overview of their function and contents. | |||
| 7871 | :term:`REPODIR` | 7940 | :term:`REPODIR` | 
| 7872 | See :term:`bitbake:REPODIR` in the BitBake manual. | 7941 | See :term:`bitbake:REPODIR` in the BitBake manual. | 
| 7873 | 7942 | ||
| 7943 | :term:`REQUIRED_COMBINED_FEATURES` | ||
| 7944 | When inheriting the :ref:`ref-classes-features_check` class, this variable | ||
| 7945 | identifies combined features (the intersection of :term:`MACHINE_FEATURES` | ||
| 7946 | and :term:`DISTRO_FEATURES`) that must exist in the current configuration | ||
| 7947 | in order for the :term:`OpenEmbedded Build System` to build the recipe. In | ||
| 7948 | other words, if the :term:`REQUIRED_COMBINED_FEATURES` variable lists a | ||
| 7949 | feature that does not appear in :term:`COMBINED_FEATURES` within the | ||
| 7950 | current configuration, then the recipe will be skipped, and if the build | ||
| 7951 | system attempts to build the recipe then an error will be triggered. | ||
| 7952 | |||
| 7874 | :term:`REQUIRED_DISTRO_FEATURES` | 7953 | :term:`REQUIRED_DISTRO_FEATURES` | 
| 7875 | When inheriting the :ref:`ref-classes-features_check` | 7954 | When inheriting the :ref:`ref-classes-features_check` | 
| 7876 | class, this variable identifies distribution features that must exist | 7955 | class, this variable identifies distribution features that must exist | 
| @@ -7881,6 +7960,41 @@ system and gives an overview of their function and contents. | |||
| 7881 | the recipe will be skipped, and if the build system attempts to build | 7960 | the recipe will be skipped, and if the build system attempts to build | 
| 7882 | the recipe then an error will be triggered. | 7961 | the recipe then an error will be triggered. | 
| 7883 | 7962 | ||
| 7963 | :term:`REQUIRED_IMAGE_FEATURES` | ||
| 7964 | When inheriting the :ref:`ref-classes-features_check` class, this variable | ||
| 7965 | identifies image features that must exist in the current | ||
| 7966 | configuration in order for the :term:`OpenEmbedded Build System` to build | ||
| 7967 | the recipe. In other words, if the :term:`REQUIRED_IMAGE_FEATURES` variable | ||
| 7968 | lists a feature that does not appear in :term:`IMAGE_FEATURES` within the | ||
| 7969 | current configuration, then the recipe will be skipped, and if the build | ||
| 7970 | system attempts to build the recipe then an error will be triggered. | ||
| 7971 | |||
| 7972 | Compared to other ``REQUIRED_*_FEATURES`` variables, the | ||
| 7973 | :term:`REQUIRED_IMAGE_FEATURES` varible only targets image recipes, as the | ||
| 7974 | :term:`IMAGE_FEATURES` variable is handled by the :ref:`ref-classes-core-image` | ||
| 7975 | class). However, the :term:`REQUIRED_IMAGE_FEATURES` varible can also be | ||
| 7976 | set from a :term:`Configuration File`, such as a distro | ||
| 7977 | configuration file, if the list of required image features should apply to | ||
| 7978 | all images using this :term:`DISTRO`. | ||
| 7979 | |||
| 7980 | :term:`REQUIRED_MACHINE_FEATURES` | ||
| 7981 | When inheriting the :ref:`ref-classes-features_check` class, this variable | ||
| 7982 | identifies :term:`MACHINE_FEATURES` that must exist in the current | ||
| 7983 | configuration in order for the :term:`OpenEmbedded Build System` to build | ||
| 7984 | the recipe. In other words, if the :term:`REQUIRED_MACHINE_FEATURES` variable | ||
| 7985 | lists a feature that does not appear in :term:`MACHINE_FEATURES` within the | ||
| 7986 | current configuration, then the recipe will be skipped, and if the build | ||
| 7987 | system attempts to build the recipe then an error will be triggered. | ||
| 7988 | |||
| 7989 | :term:`REQUIRED_TUNE_FEATURES` | ||
| 7990 | When inheriting the :ref:`ref-classes-features_check` class, this variable | ||
| 7991 | identifies tune features that must exist in the current configuration in | ||
| 7992 | order for the :term:`OpenEmbedded Build System` to build the recipe. In | ||
| 7993 | other words, if the :term:`REQUIRED_TUNE_FEATURES` variable lists a | ||
| 7994 | feature that does not appear in :term:`TUNE_FEATURES` within the current | ||
| 7995 | configuration, then the recipe will be skipped, and if the build system | ||
| 7996 | attempts to build the recipe then an error will be triggered. | ||
| 7997 | |||
| 7884 | :term:`REQUIRED_VERSION` | 7998 | :term:`REQUIRED_VERSION` | 
| 7885 | If there are multiple versions of a recipe available, this variable | 7999 | If there are multiple versions of a recipe available, this variable | 
| 7886 | determines which version should be given preference. | 8000 | determines which version should be given preference. | 
| @@ -10792,6 +10906,12 @@ system and gives an overview of their function and contents. | |||
| 10792 | Please see the "Selection of Processor Architecture and Board Type" | 10906 | Please see the "Selection of Processor Architecture and Board Type" | 
| 10793 | section in the U-Boot README for valid values for this variable. | 10907 | section in the U-Boot README for valid values for this variable. | 
| 10794 | 10908 | ||
| 10909 | :term:`UBOOT_MAKE_OPTS` | ||
| 10910 | The :term:`UBOOT_MAKE_OPTS` variable can be used to pass extra options to | ||
| 10911 | ``make`` when U-Boot is configured and compiled. | ||
| 10912 | |||
| 10913 | See the :ref:`ref-classes-uboot-config` class for more information. | ||
| 10914 | |||
| 10795 | :term:`UBOOT_MAKE_TARGET` | 10915 | :term:`UBOOT_MAKE_TARGET` | 
| 10796 | Specifies the target called in the ``Makefile``. The default target | 10916 | Specifies the target called in the ``Makefile``. The default target | 
| 10797 | is "all". | 10917 | is "all". | 
| @@ -10914,6 +11034,22 @@ system and gives an overview of their function and contents. | |||
| 10914 | `Unified Kernel Image (UKI) <https://uapi-group.org/specifications/specs/unified_kernel_image/>`__. | 11034 | `Unified Kernel Image (UKI) <https://uapi-group.org/specifications/specs/unified_kernel_image/>`__. | 
| 10915 | Defaults to ``ukify build``. | 11035 | Defaults to ``ukify build``. | 
| 10916 | 11036 | ||
| 11037 | :term:`UNINATIVE_CHECKSUM` | ||
| 11038 | When inheriting the :ref:`ref-classes-uninative` class, the | ||
| 11039 | :term:`UNINATIVE_CHECKSUM` variable flags contain the checksums of the | ||
| 11040 | uninative tarball as specified by the :term:`UNINATIVE_URL` variable. | ||
| 11041 | There should be one checksum per tarballs published at | ||
| 11042 | :term:`UNINATIVE_URL`, which match architectures. For example:: | ||
| 11043 | |||
| 11044 | UNINATIVE_CHECKSUM[aarch64] ?= "812045d826b7fda88944055e8526b95a5a9440bfef608d5b53fd52faab49bf85" | ||
| 11045 | UNINATIVE_CHECKSUM[i686] ?= "5cc28efd0c15a75de4bcb147c6cce65f1c1c9d442173a220f08427f40a3ffa09" | ||
| 11046 | UNINATIVE_CHECKSUM[x86_64] ?= "4c03d1ed2b7b4e823aca4a1a23d8f2e322f1770fc10e859adcede5777aff4f3a" | ||
| 11047 | |||
| 11048 | :term:`UNINATIVE_URL` | ||
| 11049 | When inheriting the :ref:`ref-classes-uninative` class, the | ||
| 11050 | :term:`UNINATIVE_URL` variable contains the URL where the uninative | ||
| 11051 | tarballs are published. | ||
| 11052 | |||
| 10917 | :term:`UNKNOWN_CONFIGURE_OPT_IGNORE` | 11053 | :term:`UNKNOWN_CONFIGURE_OPT_IGNORE` | 
| 10918 | Specifies a list of options that, if reported by the configure script | 11054 | Specifies a list of options that, if reported by the configure script | 
| 10919 | as being invalid, should not generate a warning during the | 11055 | as being invalid, should not generate a warning during the | 
| @@ -10933,7 +11069,7 @@ system and gives an overview of their function and contents. | |||
| 10933 | 11069 | ||
| 10934 | :term:`UNPACKDIR` | 11070 | :term:`UNPACKDIR` | 
| 10935 | This variable, used by the :ref:`ref-classes-base` class, | 11071 | This variable, used by the :ref:`ref-classes-base` class, | 
| 10936 | specifies where fetches sources should be unpacked by the | 11072 | specifies where fetched sources should be unpacked by the | 
| 10937 | :ref:`ref-tasks-unpack` task. | 11073 | :ref:`ref-tasks-unpack` task. | 
| 10938 | 11074 | ||
| 10939 | :term:`UPDATERCPN` | 11075 | :term:`UPDATERCPN` | 
| @@ -11009,6 +11145,18 @@ system and gives an overview of their function and contents. | |||
| 11009 | the Yocto Project Development Tasks Manual for information on how to | 11145 | the Yocto Project Development Tasks Manual for information on how to | 
| 11010 | use this variable. | 11146 | use this variable. | 
| 11011 | 11147 | ||
| 11148 | :term:`USE_NLS` | ||
| 11149 | Determine if language translations should be built for recipes that can | ||
| 11150 | build them. This variable can be equal to: | ||
| 11151 | |||
| 11152 | - ``yes``: translations are enabled. | ||
| 11153 | - ``no``: translation are disabled. | ||
| 11154 | |||
| 11155 | Recipes can use the value of this variable to enable language | ||
| 11156 | translations in their build. Classes such as :ref:`ref-classes-gettext` | ||
| 11157 | use the value of this variable to enable :wikipedia:`Gettext <Gettext>` | ||
| 11158 | support. | ||
| 11159 | |||
| 11012 | :term:`USE_VT` | 11160 | :term:`USE_VT` | 
| 11013 | When using | 11161 | When using | 
| 11014 | :ref:`SysVinit <dev-manual/new-recipe:enabling system services>`, | 11162 | :ref:`SysVinit <dev-manual/new-recipe:enabling system services>`, | 
