summaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--documentation/bsp-guide/bsp.rst2
-rw-r--r--documentation/dev-manual/build-quality.rst12
-rw-r--r--documentation/dev-manual/building.rst15
-rw-r--r--documentation/dev-manual/debugging.rst8
-rw-r--r--documentation/dev-manual/disk-space.rst3
-rw-r--r--documentation/dev-manual/error-reporting-tool.rst6
-rw-r--r--documentation/dev-manual/gobject-introspection.rst4
-rw-r--r--documentation/dev-manual/licenses.rst19
-rw-r--r--documentation/dev-manual/new-recipe.rst85
-rw-r--r--documentation/dev-manual/packages.rst16
-rw-r--r--documentation/dev-manual/quilt.rst4
-rw-r--r--documentation/dev-manual/read-only-rootfs.rst2
-rw-r--r--documentation/dev-manual/runtime-testing.rst4
-rw-r--r--documentation/dev-manual/sbom.rst4
-rw-r--r--documentation/dev-manual/securing-images.rst8
-rw-r--r--documentation/dev-manual/speeding-up-build.rst3
-rw-r--r--documentation/dev-manual/upgrading-recipes.rst3
-rw-r--r--documentation/dev-manual/vulnerabilities.rst10
-rw-r--r--documentation/dev-manual/wic.rst3
-rw-r--r--documentation/kernel-dev/common.rst10
-rw-r--r--documentation/migration-guides/migration-1.3.rst12
-rw-r--r--documentation/migration-guides/migration-1.5.rst9
-rw-r--r--documentation/migration-guides/migration-1.6.rst13
-rw-r--r--documentation/migration-guides/migration-1.7.rst13
-rw-r--r--documentation/migration-guides/migration-1.8.rst28
-rw-r--r--documentation/migration-guides/migration-2.0.rst2
-rw-r--r--documentation/migration-guides/migration-2.1.rst32
-rw-r--r--documentation/migration-guides/migration-2.3.rst22
-rw-r--r--documentation/migration-guides/migration-2.4.rst12
-rw-r--r--documentation/migration-guides/migration-2.5.rst10
-rw-r--r--documentation/migration-guides/migration-2.6.rst18
-rw-r--r--documentation/migration-guides/migration-2.7.rst3
-rw-r--r--documentation/migration-guides/migration-3.0.rst6
-rw-r--r--documentation/migration-guides/migration-3.1.rst6
-rw-r--r--documentation/migration-guides/migration-3.2.rst33
-rw-r--r--documentation/migration-guides/migration-3.3.rst17
-rw-r--r--documentation/migration-guides/migration-3.4.rst4
-rw-r--r--documentation/migration-guides/migration-4.0.rst21
-rw-r--r--documentation/migration-guides/migration-4.1.rst10
-rw-r--r--documentation/migration-guides/migration-general.rst14
-rw-r--r--documentation/migration-guides/release-notes-3.4.rst4
-rw-r--r--documentation/migration-guides/release-notes-4.0.rst11
-rw-r--r--documentation/migration-guides/release-notes-4.1.rst30
-rw-r--r--documentation/overview-manual/concepts.rst58
-rw-r--r--documentation/ref-manual/classes.rst611
-rw-r--r--documentation/ref-manual/features.rst2
-rw-r--r--documentation/ref-manual/qa-checks.rst12
-rw-r--r--documentation/ref-manual/structure.rst4
-rw-r--r--documentation/ref-manual/tasks.rst10
-rw-r--r--documentation/ref-manual/variables.rst690
-rw-r--r--documentation/sdk-manual/appendix-customizing.rst3
-rw-r--r--documentation/sdk-manual/extensible.rst5
-rw-r--r--documentation/test-manual/intro.rst18
-rw-r--r--documentation/test-manual/understand-autobuilder.rst2
54 files changed, 930 insertions, 1036 deletions
diff --git a/documentation/bsp-guide/bsp.rst b/documentation/bsp-guide/bsp.rst
index 23c70b5a30..fccf059ccc 100644
--- a/documentation/bsp-guide/bsp.rst
+++ b/documentation/bsp-guide/bsp.rst
@@ -1365,7 +1365,7 @@ Project Reference Manual.
1365 1365
1366- :term:`IMAGE_INSTALL`: 1366- :term:`IMAGE_INSTALL`:
1367 Specifies packages to install into an image through the 1367 Specifies packages to install into an image through the
1368 :ref:`image <ref-classes-image>` class. Recipes 1368 :ref:`ref-classes-image` class. Recipes
1369 use the :term:`IMAGE_INSTALL` variable. 1369 use the :term:`IMAGE_INSTALL` variable.
1370 1370
1371- ``do_image_wic[depends]``: A task that is constructed during the 1371- ``do_image_wic[depends]``: A task that is constructed during the
diff --git a/documentation/dev-manual/build-quality.rst b/documentation/dev-manual/build-quality.rst
index 03eee12bef..713ea3a48e 100644
--- a/documentation/dev-manual/build-quality.rst
+++ b/documentation/dev-manual/build-quality.rst
@@ -14,13 +14,11 @@ has already been built when the software is building, the software will
14link to the built library and that library will be pulled into your 14link to the built library and that library will be pulled into your
15image along with the new software even if you did not want the library. 15image along with the new software even if you did not want the library.
16 16
17The :ref:`buildhistory <ref-classes-buildhistory>` 17The :ref:`ref-classes-buildhistory` class helps you maintain the quality of
18class helps you maintain the quality of your build output. You 18your build output. You can use the class to highlight unexpected and possibly
19can use the class to highlight unexpected and possibly unwanted changes 19unwanted changes in the build output. When you enable build history, it records
20in the build output. When you enable build history, it records 20information about the contents of each package and image and then commits that
21information about the contents of each package and image and then 21information to a local Git repository where you can examine the information.
22commits that information to a local Git repository where you can examine
23the information.
24 22
25The remainder of this section describes the following: 23The remainder of this section describes the following:
26 24
diff --git a/documentation/dev-manual/building.rst b/documentation/dev-manual/building.rst
index 3064974cc5..1f1642e846 100644
--- a/documentation/dev-manual/building.rst
+++ b/documentation/dev-manual/building.rst
@@ -295,8 +295,8 @@ Follow these steps to create an :term:`Initramfs` image:
295 recipe, you should use :term:`PACKAGE_INSTALL` rather than 295 recipe, you should use :term:`PACKAGE_INSTALL` rather than
296 :term:`IMAGE_INSTALL`. :term:`PACKAGE_INSTALL` gives more direct control of 296 :term:`IMAGE_INSTALL`. :term:`PACKAGE_INSTALL` gives more direct control of
297 what is added to the image as compared to the defaults you might not 297 what is added to the image as compared to the defaults you might not
298 necessarily want that are set by the :ref:`image <ref-classes-image>` 298 necessarily want that are set by the :ref:`ref-classes-image`
299 or :ref:`core-image <ref-classes-core-image>` classes. 299 or :ref:`ref-classes-core-image` classes.
300 300
301#. *Build the Kernel Image and the Initramfs Image:* Build your kernel 301#. *Build the Kernel Image and the Initramfs Image:* Build your kernel
302 image using BitBake. Because the :term:`Initramfs` image recipe is a 302 image using BitBake. Because the :term:`Initramfs` image recipe is a
@@ -683,7 +683,7 @@ your tunings to best consider build times and package feed maintenance.
683 A recipe that just generates scripts can enable "all" architecture 683 A recipe that just generates scripts can enable "all" architecture
684 because there are no binaries to build. To specifically enable "all" 684 because there are no binaries to build. To specifically enable "all"
685 architecture, be sure your recipe inherits the 685 architecture, be sure your recipe inherits the
686 :ref:`allarch <ref-classes-allarch>` class. 686 :ref:`ref-classes-allarch` class.
687 This class is useful for "all" architectures because it configures 687 This class is useful for "all" architectures because it configures
688 many variables so packages can be used across multiple architectures. 688 many variables so packages can be used across multiple architectures.
689 689
@@ -796,7 +796,7 @@ where the development occurs. You want the recipe's
796the external directory and use it as is, not copy it. 796the external directory and use it as is, not copy it.
797 797
798To build from software that comes from an external source, all you need to do 798To build from software that comes from an external source, all you need to do
799is inherit the :ref:`externalsrc <ref-classes-externalsrc>` class and then set 799is inherit the :ref:`ref-classes-externalsrc` class and then set
800the :term:`EXTERNALSRC` variable to point to your external source code. Here 800the :term:`EXTERNALSRC` variable to point to your external source code. Here
801are the statements to put in your ``local.conf`` file:: 801are the statements to put in your ``local.conf`` file::
802 802
@@ -812,8 +812,7 @@ This next example shows how to accomplish the same thing by setting
812.. note:: 812.. note::
813 813
814 In order for these settings to take effect, you must globally or 814 In order for these settings to take effect, you must globally or
815 locally inherit the :ref:`externalsrc <ref-classes-externalsrc>` 815 locally inherit the :ref:`ref-classes-externalsrc` class.
816 class.
817 816
818By default, :ref:`ref-classes-externalsrc` builds the source code in a 817By default, :ref:`ref-classes-externalsrc` builds the source code in a
819directory separate from the external source directory as specified by 818directory separate from the external source directory as specified by
@@ -881,14 +880,14 @@ directory:
881 880
882#. *Using Local Files Only:* Inside your ``local.conf`` file, add the 881#. *Using Local Files Only:* Inside your ``local.conf`` file, add the
883 :term:`SOURCE_MIRROR_URL` variable, inherit the 882 :term:`SOURCE_MIRROR_URL` variable, inherit the
884 :ref:`own-mirrors <ref-classes-own-mirrors>` class, and use the 883 :ref:`ref-classes-own-mirrors` class, and use the
885 :term:`BB_NO_NETWORK` variable to your ``local.conf``:: 884 :term:`BB_NO_NETWORK` variable to your ``local.conf``::
886 885
887 SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/" 886 SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/"
888 INHERIT += "own-mirrors" 887 INHERIT += "own-mirrors"
889 BB_NO_NETWORK = "1" 888 BB_NO_NETWORK = "1"
890 889
891 The :term:`SOURCE_MIRROR_URL` and :ref:`own-mirrors <ref-classes-own-mirrors>` 890 The :term:`SOURCE_MIRROR_URL` and :ref:`ref-classes-own-mirrors`
892 class set up the system to use the downloads directory as your "own 891 class set up the system to use the downloads directory as your "own
893 mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that 892 mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that
894 BitBake's fetching process in step 3 stays local, which means files 893 BitBake's fetching process in step 3 stays local, which means files
diff --git a/documentation/dev-manual/debugging.rst b/documentation/dev-manual/debugging.rst
index 921022475f..9fb159eae6 100644
--- a/documentation/dev-manual/debugging.rst
+++ b/documentation/dev-manual/debugging.rst
@@ -153,7 +153,7 @@ In addition to variable values, the output of the ``bitbake -e`` and
153 classes included globally, recursively listing the files they include 153 classes included globally, recursively listing the files they include
154 or inherit in turn. Much of the behavior of the OpenEmbedded build 154 or inherit in turn. Much of the behavior of the OpenEmbedded build
155 system (including the behavior of the :ref:`ref-manual/tasks:normal recipe build tasks`) is 155 system (including the behavior of the :ref:`ref-manual/tasks:normal recipe build tasks`) is
156 implemented in the :ref:`base <ref-classes-base>` class and the 156 implemented in the :ref:`ref-classes-base` class and the
157 classes it inherits, rather than being built into BitBake itself. 157 classes it inherits, rather than being built into BitBake itself.
158 158
159- After the variable values, all functions appear in the output. For 159- After the variable values, all functions appear in the output. For
@@ -196,8 +196,7 @@ Following are a few of the available ``oe-pkgdata-util`` subcommands.
196 which contains the files stored in that package. 196 which contains the files stored in that package.
197 197
198 If you want to inspect the ``${WORKDIR}/packages-split`` 198 If you want to inspect the ``${WORKDIR}/packages-split``
199 directory, make sure that 199 directory, make sure that :ref:`ref-classes-rm-work` is not
200 :ref:`rm_work <ref-classes-rm-work>` is not
201 enabled when you build the recipe. 200 enabled when you build the recipe.
202 201
203- ``oe-pkgdata-util find-path path ...``: Lists the names of 202- ``oe-pkgdata-util find-path path ...``: Lists the names of
@@ -598,8 +597,7 @@ log to ``${T}/log.do_``\ `task`, and can also log to standard output
598 597
599The same logging functions are also available in shell functions, under 598The same logging functions are also available in shell functions, under
600the names ``bbplain``, ``bbnote``, ``bbdebug``, ``bbwarn``, ``bberror``, 599the names ``bbplain``, ``bbnote``, ``bbdebug``, ``bbwarn``, ``bberror``,
601and ``bbfatal``. The 600and ``bbfatal``. The :ref:`ref-classes-logging` class
602:ref:`logging <ref-classes-logging>` class
603implements these functions. See that class in the ``meta/classes`` 601implements these functions. See that class in the ``meta/classes``
604folder of the :term:`Source Directory` for information. 602folder of the :term:`Source Directory` for information.
605 603
diff --git a/documentation/dev-manual/disk-space.rst b/documentation/dev-manual/disk-space.rst
index 6fa48e1f4a..3a5d2b7297 100644
--- a/documentation/dev-manual/disk-space.rst
+++ b/documentation/dev-manual/disk-space.rst
@@ -14,8 +14,7 @@ the :term:`Build Directory`::
14 14
15Adding this statement deletes the work directory used for 15Adding this statement deletes the work directory used for
16building a recipe once the recipe is built. For more information on 16building a recipe once the recipe is built. For more information on
17"rm_work", see the 17"rm_work", see the :ref:`ref-classes-rm-work` class in the
18:ref:`rm_work <ref-classes-rm-work>` class in the
19Yocto Project Reference Manual. 18Yocto Project Reference Manual.
20 19
21Purging Duplicate Shared State Cache Files 20Purging Duplicate Shared State Cache Files
diff --git a/documentation/dev-manual/error-reporting-tool.rst b/documentation/dev-manual/error-reporting-tool.rst
index 6854f1046a..84f3d9cd1e 100644
--- a/documentation/dev-manual/error-reporting-tool.rst
+++ b/documentation/dev-manual/error-reporting-tool.rst
@@ -27,9 +27,9 @@ Enabling and Using the Tool
27=========================== 27===========================
28 28
29By default, the error reporting tool is disabled. You can enable it by 29By default, the error reporting tool is disabled. You can enable it by
30inheriting the :ref:`report-error <ref-classes-report-error>` 30inheriting the :ref:`ref-classes-report-error` class by adding the
31class by adding the following statement to the end of your 31following statement to the end of your ``local.conf`` file in your
32``local.conf`` file in your :term:`Build Directory`:: 32:term:`Build Directory`::
33 33
34 INHERIT += "report-error" 34 INHERIT += "report-error"
35 35
diff --git a/documentation/dev-manual/gobject-introspection.rst b/documentation/dev-manual/gobject-introspection.rst
index 28e51240c3..f7206e6fae 100644
--- a/documentation/dev-manual/gobject-introspection.rst
+++ b/documentation/dev-manual/gobject-introspection.rst
@@ -39,9 +39,7 @@ Enabling the Generation of Introspection Data
39Enabling the generation of introspection data (GIR files) in your 39Enabling the generation of introspection data (GIR files) in your
40library package involves the following: 40library package involves the following:
41 41
42#. Inherit the 42#. Inherit the :ref:`ref-classes-gobject-introspection` class.
43 :ref:`gobject-introspection <ref-classes-gobject-introspection>`
44 class.
45 43
46#. Make sure introspection is not disabled anywhere in the recipe or 44#. Make sure introspection is not disabled anywhere in the recipe or
47 from anything the recipe includes. Also, make sure that 45 from anything the recipe includes. Also, make sure that
diff --git a/documentation/dev-manual/licenses.rst b/documentation/dev-manual/licenses.rst
index 0f8d759519..65914e5efe 100644
--- a/documentation/dev-manual/licenses.rst
+++ b/documentation/dev-manual/licenses.rst
@@ -325,13 +325,12 @@ and not just the source used in the released image. It will include
325toolchain source, and other artifacts, which you would not generally 325toolchain source, and other artifacts, which you would not generally
326release. However, the more serious issue for most companies is 326release. However, the more serious issue for most companies is
327accidental release of proprietary software. The Yocto Project provides 327accidental release of proprietary software. The Yocto Project provides
328an :ref:`archiver <ref-classes-archiver>` class to 328an :ref:`ref-classes-archiver` class to help avoid some of these concerns.
329help avoid some of these concerns.
330 329
331Before you employ :term:`DL_DIR` or the :ref:`archiver <ref-classes-archiver>` class, you need to 330Before you employ :term:`DL_DIR` or the :ref:`ref-classes-archiver` class, you
332decide how you choose to provide source. The source :ref:`archiver <ref-classes-archiver>` class 331need to decide how you choose to provide source. The source
333can generate tarballs and SRPMs and can create them with various levels 332:ref:`ref-classes-archiver` class can generate tarballs and SRPMs and can
334of compliance in mind. 333create them with various levels of compliance in mind.
335 334
336One way of doing this (but certainly not the only way) is to release 335One way of doing this (but certainly not the only way) is to release
337just the source as a tarball. You can do this by adding the following to 336just the source as a tarball. You can do this by adding the following to
@@ -417,8 +416,8 @@ generation are included on your image.
417 adds a separate package and an upgrade path for adding licenses to an 416 adds a separate package and an upgrade path for adding licenses to an
418 image. 417 image.
419 418
420As the source :ref:`archiver <ref-classes-archiver>` class has already archived the original 419As the source :ref:`ref-classes-archiver` class has already archived the
421unmodified source that contains the license files, you would have 420original unmodified source that contains the license files, you would have
422already met the requirements for inclusion of the license information 421already met the requirements for inclusion of the license information
423with source as defined by the GPL and other open source licenses. 422with source as defined by the GPL and other open source licenses.
424 423
@@ -488,8 +487,8 @@ mechanisms as well as explicitly included in the image recipe with
488:term:`IMAGE_INSTALL`, and depends on a static linked library recipe B 487:term:`IMAGE_INSTALL`, and depends on a static linked library recipe B
489(``DEPENDS += "B"``), package B will neither appear in the generated license 488(``DEPENDS += "B"``), package B will neither appear in the generated license
490manifest nor in the generated source tarballs. This occurs as the 489manifest nor in the generated source tarballs. This occurs as the
491:ref:`license <ref-classes-license>` and :ref:`archiver <ref-classes-archiver>` 490:ref:`ref-classes-license` and :ref:`ref-classes-archiver` classes assume that
492classes assume that only packages included via :term:`RDEPENDS` or :term:`RRECOMMENDS` 491only packages included via :term:`RDEPENDS` or :term:`RRECOMMENDS`
493end up in the image. 492end up in the image.
494 493
495As a result, potential obligations regarding license compliance for package B 494As a result, potential obligations regarding license compliance for package B
diff --git a/documentation/dev-manual/new-recipe.rst b/documentation/dev-manual/new-recipe.rst
index 3adebf2746..4751f64b7e 100644
--- a/documentation/dev-manual/new-recipe.rst
+++ b/documentation/dev-manual/new-recipe.rst
@@ -565,7 +565,7 @@ your software is built:
565 need to modify the configuration. 565 need to modify the configuration.
566 566
567 When using Autotools, your recipe needs to inherit the 567 When using Autotools, your recipe needs to inherit the
568 :ref:`autotools <ref-classes-autotools>` class and it does not have to 568 :ref:`ref-classes-autotools` class and it does not have to
569 contain a :ref:`ref-tasks-configure` task. However, you might still want to 569 contain a :ref:`ref-tasks-configure` task. However, you might still want to
570 make some adjustments. For example, you can set :term:`EXTRA_OECONF` or 570 make some adjustments. For example, you can set :term:`EXTRA_OECONF` or
571 :term:`PACKAGECONFIG_CONFARGS` to pass any needed configure options that 571 :term:`PACKAGECONFIG_CONFARGS` to pass any needed configure options that
@@ -576,7 +576,7 @@ your software is built:
576 need to modify the configuration. 576 need to modify the configuration.
577 577
578 When you use CMake, your recipe needs to inherit the 578 When you use CMake, your recipe needs to inherit the
579 :ref:`cmake <ref-classes-cmake>` class and it does not have to contain a 579 :ref:`ref-classes-cmake` class and it does not have to contain a
580 :ref:`ref-tasks-configure` task. You can make some adjustments by setting 580 :ref:`ref-tasks-configure` task. You can make some adjustments by setting
581 :term:`EXTRA_OECMAKE` to pass any needed configure options that are 581 :term:`EXTRA_OECMAKE` to pass any needed configure options that are
582 specific to the recipe. 582 specific to the recipe.
@@ -712,7 +712,7 @@ Here are some common issues that cause failures.
712 ":ref:`dev-manual/debugging:debugging parallel make races`" section. 712 ":ref:`dev-manual/debugging:debugging parallel make races`" section.
713 713
714- *Improper host path usage:* This failure applies to recipes building 714- *Improper host path usage:* This failure applies to recipes building
715 for the target or ":ref:`nativesdk <ref-classes-nativesdk>`" only. The 715 for the target or ":ref:`ref-classes-nativesdk`" only. The
716 failure occurs when the compilation process uses improper headers, 716 failure occurs when the compilation process uses improper headers,
717 libraries, or other files from the host system when cross-compiling for 717 libraries, or other files from the host system when cross-compiling for
718 the target. 718 the target.
@@ -807,14 +807,13 @@ installed correctly.
807 re-execute :ref:`ref-tasks-install` if needed. 807 re-execute :ref:`ref-tasks-install` if needed.
808 808
809 - ``oe_runmake install``, which can be run directly or can be run 809 - ``oe_runmake install``, which can be run directly or can be run
810 indirectly by the 810 indirectly by the :ref:`ref-classes-autotools` and
811 :ref:`autotools <ref-classes-autotools>` and 811 :ref:`ref-classes-cmake` classes, runs ``make install`` in parallel.
812 :ref:`cmake <ref-classes-cmake>` classes, 812 Sometimes, a Makefile can have missing dependencies between targets that
813 runs ``make install`` in parallel. Sometimes, a Makefile can have 813 can result in race conditions. If you experience intermittent failures
814 missing dependencies between targets that can result in race 814 during :ref:`ref-tasks-install`, you might be able to work around them by
815 conditions. If you experience intermittent failures during 815 disabling parallel Makefile installs by adding the following to the
816 :ref:`ref-tasks-install`, you might be able to work around them by disabling 816 recipe::
817 parallel Makefile installs by adding the following to the recipe::
818 817
819 PARALLEL_MAKEINST = "" 818 PARALLEL_MAKEINST = ""
820 819
@@ -854,7 +853,7 @@ different ways:
854 shutdown of all other programs. 853 shutdown of all other programs.
855 854
856 To enable a service using SysVinit, your recipe needs to inherit the 855 To enable a service using SysVinit, your recipe needs to inherit the
857 :ref:`update-rc.d <ref-classes-update-rc.d>` class. The class helps 856 :ref:`ref-classes-update-rc.d` class. The class helps
858 facilitate safely installing the package on the target. 857 facilitate safely installing the package on the target.
859 858
860 You will need to set the 859 You will need to set the
@@ -870,7 +869,7 @@ different ways:
870 https://freedesktop.org/wiki/Software/systemd/. 869 https://freedesktop.org/wiki/Software/systemd/.
871 870
872 To enable a service using systemd, your recipe needs to inherit the 871 To enable a service using systemd, your recipe needs to inherit the
873 :ref:`systemd <ref-classes-systemd>` class. See the ``systemd.bbclass`` file 872 :ref:`ref-classes-systemd` class. See the ``systemd.bbclass`` file
874 located in your :term:`Source Directory` section for more information. 873 located in your :term:`Source Directory` section for more information.
875 874
876Packaging 875Packaging
@@ -886,14 +885,12 @@ take. The following list describes the process:
886 other logical components that should be split out. The :ref:`ref-tasks-package` 885 other logical components that should be split out. The :ref:`ref-tasks-package`
887 task ensures that files are split up and packaged correctly. 886 task ensures that files are split up and packaged correctly.
888 887
889- *Running QA Checks*: The 888- *Running QA Checks*: The :ref:`ref-classes-insane` class adds a
890 :ref:`insane <ref-classes-insane>` class adds a
891 step to the package generation process so that output quality 889 step to the package generation process so that output quality
892 assurance checks are generated by the OpenEmbedded build system. This 890 assurance checks are generated by the OpenEmbedded build system. This
893 step performs a range of checks to be sure the build's output is free 891 step performs a range of checks to be sure the build's output is free
894 of common problems that show up during runtime. For information on 892 of common problems that show up during runtime. For information on
895 these checks, see the 893 these checks, see the :ref:`ref-classes-insane` class and
896 :ref:`insane <ref-classes-insane>` class and
897 the ":ref:`ref-manual/qa-checks:qa error and warning messages`" 894 the ":ref:`ref-manual/qa-checks:qa error and warning messages`"
898 chapter in the Yocto Project Reference Manual. 895 chapter in the Yocto Project Reference Manual.
899 896
@@ -934,8 +931,7 @@ take. The following list describes the process:
934 On the other hand, if the recipe produces packages that do not 931 On the other hand, if the recipe produces packages that do not
935 contain anything specific to the target machine or architecture at 932 contain anything specific to the target machine or architecture at
936 all (e.g. recipes that simply package script files or configuration 933 all (e.g. recipes that simply package script files or configuration
937 files), you should use the 934 files), you should use the :ref:`ref-classes-allarch` class to
938 :ref:`allarch <ref-classes-allarch>` class to
939 do this for you by adding this to your recipe:: 935 do this for you by adding this to your recipe::
940 936
941 inherit allarch 937 inherit allarch
@@ -1002,18 +998,16 @@ same functionality, you can use a virtual provider (i.e. ``virtual/*``)
1002as a placeholder for the actual provider. The actual provider is 998as a placeholder for the actual provider. The actual provider is
1003determined at build-time. 999determined at build-time.
1004 1000
1005A common scenario where a virtual provider is used would be for the 1001A common scenario where a virtual provider is used would be for the kernel
1006kernel recipe. Suppose you have three kernel recipes whose 1002recipe. Suppose you have three kernel recipes whose :term:`PN` values map to
1007:term:`PN` values map to ``kernel-big``, 1003``kernel-big``, ``kernel-mid``, and ``kernel-small``. Furthermore, each of
1008``kernel-mid``, and ``kernel-small``. Furthermore, each of these recipes 1004these recipes in some way uses a :term:`PROVIDES` statement that essentially
1009in some way uses a :term:`PROVIDES` 1005identifies itself as being able to provide ``virtual/kernel``. Here is one way
1010statement that essentially identifies itself as being able to provide 1006through the :ref:`ref-classes-kernel` class::
1011``virtual/kernel``. Here is one way through the
1012:ref:`kernel <ref-classes-kernel>` class::
1013 1007
1014 PROVIDES += "virtual/kernel" 1008 PROVIDES += "virtual/kernel"
1015 1009
1016Any recipe that inherits the :ref:`kernel <ref-classes-kernel>` class is 1010Any recipe that inherits the :ref:`ref-classes-kernel` class is
1017going to utilize a :term:`PROVIDES` statement that identifies that recipe as 1011going to utilize a :term:`PROVIDES` statement that identifies that recipe as
1018being able to provide the ``virtual/kernel`` item. 1012being able to provide the ``virtual/kernel`` item.
1019 1013
@@ -1223,7 +1217,7 @@ Autotooled Package
1223 1217
1224Applications that use Autotools such as ``autoconf`` and ``automake`` 1218Applications that use Autotools such as ``autoconf`` and ``automake``
1225require a recipe that has a source archive listed in :term:`SRC_URI` and 1219require a recipe that has a source archive listed in :term:`SRC_URI` and
1226also inherit the :ref:`autotools <ref-classes-autotools>` class, 1220also inherit the :ref:`ref-classes-autotools` class,
1227which contains the definitions of all the steps needed to build an 1221which contains the definitions of all the steps needed to build an
1228Autotool-based application. The result of the build is automatically 1222Autotool-based application. The result of the build is automatically
1229packaged. And, if the application uses NLS for localization, packages 1223packaged. And, if the application uses NLS for localization, packages
@@ -1353,24 +1347,19 @@ could lead to compatibility problems with ABI in the future. However,
1353sometimes you have no choice. 1347sometimes you have no choice.
1354 1348
1355The easiest solution is to create a recipe that uses the 1349The easiest solution is to create a recipe that uses the
1356:ref:`bin_package <ref-classes-bin-package>` class 1350:ref:`ref-classes-bin-package` class and to be sure that you are using default
1357and to be sure that you are using default locations for build artifacts. 1351locations for build artifacts. In most cases, the
1358In most cases, the :ref:`bin_package <ref-classes-bin-package>` class handles "skipping" the 1352:ref:`ref-classes-bin-package` class handles "skipping" the configure and
1359configure and compile steps as well as sets things up to grab packages 1353compile steps as well as sets things up to grab packages from the appropriate
1360from the appropriate area. In particular, this class sets ``noexec`` on 1354area. In particular, this class sets ``noexec`` on both the
1361both the :ref:`ref-tasks-configure` 1355:ref:`ref-tasks-configure` and :ref:`ref-tasks-compile` tasks, sets
1362and :ref:`ref-tasks-compile` tasks, 1356``FILES:${PN}`` to "/" so that it picks up all files, and sets up a
1363sets ``FILES:${PN}`` to "/" so that it picks up all files, and sets up a 1357:ref:`ref-tasks-install` task, which effectively copies all files from ``${S}``
1364:ref:`ref-tasks-install` task, which 1358to ``${D}``. The :ref:`ref-classes-bin-package` class works well when the files
1365effectively copies all files from ``${S}`` to ``${D}``. The 1359extracted into ``${S}`` are already laid out in the way they should be laid out
1366:ref:`bin_package <ref-classes-bin-package>` class works well when the files extracted into ``${S}`` 1360on the target. For more information on these variables, see the :term:`FILES`,
1367are already laid out in the way they should be laid out on the target. 1361:term:`PN`, :term:`S`, and :term:`D` variables in the Yocto Project Reference
1368For more information on these variables, see the 1362Manual's variable glossary.
1369:term:`FILES`,
1370:term:`PN`,
1371:term:`S`, and
1372:term:`D` variables in the Yocto Project
1373Reference Manual's variable glossary.
1374 1363
1375.. note:: 1364.. note::
1376 1365
@@ -1388,7 +1377,7 @@ Reference Manual's variable glossary.
1388 section in the Yocto Project Overview and Concepts Manual for more 1377 section in the Yocto Project Overview and Concepts Manual for more
1389 information. 1378 information.
1390 1379
1391If you cannot use the :ref:`bin_package <ref-classes-bin-package>` class, you need to be sure you are 1380If you cannot use the :ref:`ref-classes-bin-package` class, you need to be sure you are
1392doing the following: 1381doing the following:
1393 1382
1394- Create a recipe where the 1383- Create a recipe where the
diff --git a/documentation/dev-manual/packages.rst b/documentation/dev-manual/packages.rst
index 2decdcb253..0c584c177a 100644
--- a/documentation/dev-manual/packages.rst
+++ b/documentation/dev-manual/packages.rst
@@ -643,8 +643,7 @@ Lighttpd, or Nginx), take the appropriate steps to do so.
643From within the :term:`Build Directory` where you have built an image based on 643From within the :term:`Build Directory` where you have built an image based on
644your packaging choice (i.e. the :term:`PACKAGE_CLASSES` setting), simply start 644your packaging choice (i.e. the :term:`PACKAGE_CLASSES` setting), simply start
645the server. The following example assumes a :term:`Build Directory` of ``poky/build`` 645the server. The following example assumes a :term:`Build Directory` of ``poky/build``
646and a :term:`PACKAGE_CLASSES` setting of 646and a :term:`PACKAGE_CLASSES` setting of ":ref:`ref-classes-package_rpm`"::
647":ref:`package_rpm <ref-classes-package_rpm>`"::
648 647
649 $ cd poky/build/tmp/deploy/rpm 648 $ cd poky/build/tmp/deploy/rpm
650 $ python3 -m http.server 649 $ python3 -m http.server
@@ -909,8 +908,8 @@ see the :yocto_wiki:`Ptest </Ptest>` wiki page.
909 908
910.. note:: 909.. note::
911 910
912 A recipe is "ptest-enabled" if it inherits the 911 A recipe is "ptest-enabled" if it inherits the :ref:`ref-classes-ptest`
913 :ref:`ptest <ref-classes-ptest>` class. 912 class.
914 913
915Adding ptest to Your Build 914Adding ptest to Your Build
916-------------------------- 915--------------------------
@@ -940,7 +939,7 @@ In order to enable a recipe to run installed ptests on target hardware,
940you need to prepare the recipes that build the packages you want to 939you need to prepare the recipes that build the packages you want to
941test. Here is what you have to do for each recipe: 940test. Here is what you have to do for each recipe:
942 941
943- *Be sure the recipe inherits the* :ref:`ptest <ref-classes-ptest>` *class:* 942- *Be sure the recipe inherits the* :ref:`ref-classes-ptest` *class:*
944 Include the following line in each recipe:: 943 Include the following line in each recipe::
945 944
946 inherit ptest 945 inherit ptest
@@ -991,7 +990,7 @@ test. Here is what you have to do for each recipe:
991 special configurations prior to compiling the test code, you must 990 special configurations prior to compiling the test code, you must
992 insert a ``do_configure_ptest`` function into the recipe. 991 insert a ``do_configure_ptest`` function into the recipe.
993 992
994- *Install the test suite:* The :ref:`ptest <ref-classes-ptest>` class 993- *Install the test suite:* The :ref:`ref-classes-ptest` class
995 automatically copies the file ``run-ptest`` to the target and then runs make 994 automatically copies the file ``run-ptest`` to the target and then runs make
996 ``install-ptest`` to run the tests. If this is not enough, you need 995 ``install-ptest`` to run the tests. If this is not enough, you need
997 to create a ``do_install_ptest`` function and make sure it gets 996 to create a ``do_install_ptest`` function and make sure it gets
@@ -1145,9 +1144,8 @@ Here are three key points in the previous example:
1145 sub-module's license is unavailable, the sub-module's name appears in 1144 sub-module's license is unavailable, the sub-module's name appears in
1146 the comments. 1145 the comments.
1147 1146
1148- The ``inherit npm`` statement causes the 1147- The ``inherit npm`` statement causes the :ref:`ref-classes-npm` class to
1149 :ref:`npm <ref-classes-npm>` class to package 1148 package up all the modules.
1150 up all the modules.
1151 1149
1152You can run the following command to build the ``cute-files`` package:: 1150You can run the following command to build the ``cute-files`` package::
1153 1151
diff --git a/documentation/dev-manual/quilt.rst b/documentation/dev-manual/quilt.rst
index 24343e2fac..59240705ad 100644
--- a/documentation/dev-manual/quilt.rst
+++ b/documentation/dev-manual/quilt.rst
@@ -12,7 +12,7 @@ form of a patch all using Quilt.
12.. note:: 12.. note::
13 13
14 With regard to preserving changes to source files, if you clean a 14 With regard to preserving changes to source files, if you clean a
15 recipe or have :ref:`rm_work <ref-classes-rm-work>` enabled, the 15 recipe or have :ref:`ref-classes-rm-work` enabled, the
16 :ref:`devtool workflow <sdk-manual/extensible:using \`\`devtool\`\` in your sdk workflow>` 16 :ref:`devtool workflow <sdk-manual/extensible:using \`\`devtool\`\` in your sdk workflow>`
17 as described in the Yocto Project Application Development and the 17 as described in the Yocto Project Application Development and the
18 Extensible Software Development Kit (eSDK) manual is a safer 18 Extensible Software Development Kit (eSDK) manual is a safer
@@ -61,7 +61,7 @@ Follow these general steps:
61 once you run the :ref:`ref-tasks-clean` or :ref:`ref-tasks-cleanall` 61 once you run the :ref:`ref-tasks-clean` or :ref:`ref-tasks-cleanall`
62 tasks using BitBake (i.e. ``bitbake -c clean package`` and 62 tasks using BitBake (i.e. ``bitbake -c clean package`` and
63 ``bitbake -c cleanall package``). Modifications will also disappear if 63 ``bitbake -c cleanall package``). Modifications will also disappear if
64 you use the :ref:`rm_work <ref-classes-rm-work>` feature as described in 64 you use the :ref:`ref-classes-rm-work` feature as described in
65 the ":ref:`dev-manual/disk-space:conserving disk space during builds`" 65 the ":ref:`dev-manual/disk-space:conserving disk space during builds`"
66 section. 66 section.
67 67
diff --git a/documentation/dev-manual/read-only-rootfs.rst b/documentation/dev-manual/read-only-rootfs.rst
index e29659c678..251178ed54 100644
--- a/documentation/dev-manual/read-only-rootfs.rst
+++ b/documentation/dev-manual/read-only-rootfs.rst
@@ -76,7 +76,7 @@ from running during root filesystem creation:
76 native tools, which run on the host system, to accomplish the same 76 native tools, which run on the host system, to accomplish the same
77 tasks, or by alternatively running the processes under QEMU, which 77 tasks, or by alternatively running the processes under QEMU, which
78 has the ``qemu_run_binary`` function. For more information, see the 78 has the ``qemu_run_binary`` function. For more information, see the
79 :ref:`qemu <ref-classes-qemu>` class. 79 :ref:`ref-classes-qemu` class.
80 80
81Areas With Write Access 81Areas With Write Access
82======================= 82=======================
diff --git a/documentation/dev-manual/runtime-testing.rst b/documentation/dev-manual/runtime-testing.rst
index 36ccf746ee..c5c5653bef 100644
--- a/documentation/dev-manual/runtime-testing.rst
+++ b/documentation/dev-manual/runtime-testing.rst
@@ -332,8 +332,8 @@ You can start the tests automatically or manually:
332 bitbake core-image-sato 332 bitbake core-image-sato
333 333
334- *Manually running tests:* To manually run the tests, first globally 334- *Manually running tests:* To manually run the tests, first globally
335 inherit the :ref:`testimage <ref-classes-testimage>` class 335 inherit the :ref:`ref-classes-testimage` class by editing your
336 by editing your ``local.conf`` file:: 336 ``local.conf`` file::
337 337
338 INHERIT += "testimage" 338 INHERIT += "testimage"
339 339
diff --git a/documentation/dev-manual/sbom.rst b/documentation/dev-manual/sbom.rst
index d155b4775f..c67b7344d1 100644
--- a/documentation/dev-manual/sbom.rst
+++ b/documentation/dev-manual/sbom.rst
@@ -26,7 +26,7 @@ assessments, as all the components used in the Software Supply Chain are listed.
26 26
27The OpenEmbedded build system doesn't generate such information by default. 27The OpenEmbedded build system doesn't generate such information by default.
28To make this happen, you must inherit the 28To make this happen, you must inherit the
29:ref:`create-spdx <ref-classes-create-spdx>` class from a configuration file:: 29:ref:`ref-classes-create-spdx` class from a configuration file::
30 30
31 INHERIT += "create-spdx" 31 INHERIT += "create-spdx"
32 32
@@ -39,7 +39,7 @@ containing an index of JSON :term:`SPDX` files for individual recipes, together
39with an ``IMAGE-MACHINE.spdx.tar.zst`` compressed archive containing all such 39with an ``IMAGE-MACHINE.spdx.tar.zst`` compressed archive containing all such
40files. 40files.
41 41
42The :ref:`create-spdx <ref-classes-create-spdx>` class offers options to include 42The :ref:`ref-classes-create-spdx` class offers options to include
43more information in the output :term:`SPDX` data, such as making the generated 43more information in the output :term:`SPDX` data, such as making the generated
44files more human readable (:term:`SPDX_PRETTY`), adding compressed archives of 44files more human readable (:term:`SPDX_PRETTY`), adding compressed archives of
45the files in the generated target packages (:term:`SPDX_ARCHIVE_PACKAGED`), 45the files in the generated target packages (:term:`SPDX_ARCHIVE_PACKAGED`),
diff --git a/documentation/dev-manual/securing-images.rst b/documentation/dev-manual/securing-images.rst
index f8dd572104..6a9223c19c 100644
--- a/documentation/dev-manual/securing-images.rst
+++ b/documentation/dev-manual/securing-images.rst
@@ -128,11 +128,9 @@ system to make your images more secure:
128 service type users). When you set up passwords for multiple images or 128 service type users). When you set up passwords for multiple images or
129 users, you should not duplicate passwords. 129 users, you should not duplicate passwords.
130 130
131 To set up passwords, use the 131 To set up passwords, use the :ref:`ref-classes-extrausers` class, which
132 :ref:`extrausers <ref-classes-extrausers>` 132 is the preferred method. For an example on how to set up both root and
133 class, which is the preferred method. For an example on how to set up 133 user passwords, see the ":ref:`ref-classes-extrausers`" section.
134 both root and user passwords, see the
135 ":ref:`ref-classes-extrausers`" section.
136 134
137 .. note:: 135 .. note::
138 136
diff --git a/documentation/dev-manual/speeding-up-build.rst b/documentation/dev-manual/speeding-up-build.rst
index 696b1bdf76..31b6f75ab0 100644
--- a/documentation/dev-manual/speeding-up-build.rst
+++ b/documentation/dev-manual/speeding-up-build.rst
@@ -61,8 +61,7 @@ Following are additional factors that can affect build speed:
61 file system on the principle that if there was a significant failure, 61 file system on the principle that if there was a significant failure,
62 the :term:`Build Directory` contents could easily be rebuilt. 62 the :term:`Build Directory` contents could easily be rebuilt.
63 63
64- Inheriting the 64- Inheriting the :ref:`ref-classes-rm-work` class:
65 :ref:`rm_work <ref-classes-rm-work>` class:
66 Inheriting this class has shown to speed up builds due to 65 Inheriting this class has shown to speed up builds due to
67 significantly lower amounts of data stored in the data cache as well 66 significantly lower amounts of data stored in the data cache as well
68 as on disk. Inheriting this class also makes cleanup of 67 as on disk. Inheriting this class also makes cleanup of
diff --git a/documentation/dev-manual/upgrading-recipes.rst b/documentation/dev-manual/upgrading-recipes.rst
index dd220cc6c8..13133fddcf 100644
--- a/documentation/dev-manual/upgrading-recipes.rst
+++ b/documentation/dev-manual/upgrading-recipes.rst
@@ -113,8 +113,7 @@ The following steps describe how to set up the AUH utility:
113 ``upgrade-helper/work/recipe/buildhistory-diff.txt`` file found in 113 ``upgrade-helper/work/recipe/buildhistory-diff.txt`` file found in
114 your :term:`Build Directory`. 114 your :term:`Build Directory`.
115 115
116 - If you want to enable testing through the 116 - If you want to enable testing through the :ref:`ref-classes-testimage`
117 :ref:`testimage <ref-classes-testimage>`
118 class, which is optional, you need to have the following set in 117 class, which is optional, you need to have the following set in
119 your ``conf/local.conf`` file:: 118 your ``conf/local.conf`` file::
120 119
diff --git a/documentation/dev-manual/vulnerabilities.rst b/documentation/dev-manual/vulnerabilities.rst
index f8dac5edc6..0ee3ec52c5 100644
--- a/documentation/dev-manual/vulnerabilities.rst
+++ b/documentation/dev-manual/vulnerabilities.rst
@@ -27,8 +27,9 @@ patches to fix them, see ":ref:`dev-manual/changes:submitting a change to the yo
27Vulnerability check at build time 27Vulnerability check at build time
28================================= 28=================================
29 29
30To enable a check for CVE security vulnerabilities using :ref:`cve-check <ref-classes-cve-check>` in the specific image 30To enable a check for CVE security vulnerabilities using
31or target you are building, add the following setting to your configuration:: 31:ref:`ref-classes-cve-check` in the specific image or target you are building,
32add the following setting to your configuration::
32 33
33 INHERIT += "cve-check" 34 INHERIT += "cve-check"
34 35
@@ -100,7 +101,7 @@ It is also possible to check the CVE status of individual packages as follows::
100Fixing CVE product name and version mappings 101Fixing CVE product name and version mappings
101============================================ 102============================================
102 103
103By default, :ref:`cve-check <ref-classes-cve-check>` uses the recipe name :term:`BPN` as CVE 104By default, :ref:`ref-classes-cve-check` uses the recipe name :term:`BPN` as CVE
104product name when querying the CVE database. If this mapping contains false positives, e.g. 105product name when querying the CVE database. If this mapping contains false positives, e.g.
105some reported CVEs are not for the software component in question, or false negatives like 106some reported CVEs are not for the software component in question, or false negatives like
106some CVEs are not found to impact the recipe when they should, then the problems can be 107some CVEs are not found to impact the recipe when they should, then the problems can be
@@ -167,8 +168,7 @@ the :term:`CVE_CHECK_SKIP_RECIPE` variable.
167Implementation details 168Implementation details
168====================== 169======================
169 170
170Here's what the :ref:`cve-check <ref-classes-cve-check>` class does to 171Here's what the :ref:`ref-classes-cve-check` class does to find unpatched CVE IDs.
171find unpatched CVE IDs.
172 172
173First the code goes through each patch file provided by a recipe. If a valid CVE ID 173First the code goes through each patch file provided by a recipe. If a valid CVE ID
174is found in the name of the file, the corresponding CVE is considered as patched. 174is found in the name of the file, the corresponding CVE is considered as patched.
diff --git a/documentation/dev-manual/wic.rst b/documentation/dev-manual/wic.rst
index d698cec77c..a8d2f46955 100644
--- a/documentation/dev-manual/wic.rst
+++ b/documentation/dev-manual/wic.rst
@@ -59,8 +59,7 @@ this information is required to use Wic, you might find it interesting.
59 59
60- Wic is a completely independent standalone utility that initially 60- Wic is a completely independent standalone utility that initially
61 provides easier-to-use and more flexible replacements for an existing 61 provides easier-to-use and more flexible replacements for an existing
62 functionality in OE-Core's 62 functionality in OE-Core's :ref:`ref-classes-image-live`
63 :ref:`image-live <ref-classes-image-live>`
64 class. The difference between Wic and those examples is that with Wic 63 class. The difference between Wic and those examples is that with Wic
65 the functionality of those scripts is implemented by a 64 the functionality of those scripts is implemented by a
66 general-purpose partitioning language, which is based on Redhat 65 general-purpose partitioning language, which is based on Redhat
diff --git a/documentation/kernel-dev/common.rst b/documentation/kernel-dev/common.rst
index fd00a9d1dc..dff8f504fd 100644
--- a/documentation/kernel-dev/common.rst
+++ b/documentation/kernel-dev/common.rst
@@ -1685,12 +1685,10 @@ looks much like the one provided with the ``hello-mod`` template::
1685 ... 1685 ...
1686 1686
1687The important point to note here is the :term:`KERNEL_SRC` variable. The 1687The important point to note here is the :term:`KERNEL_SRC` variable. The
1688:ref:`module <ref-classes-module>` class sets this variable and the 1688:ref:`ref-classes-module` class sets this variable and the :term:`KERNEL_PATH`
1689:term:`KERNEL_PATH` variable to 1689variable to ``${STAGING_KERNEL_DIR}`` with the necessary Linux kernel build
1690``${STAGING_KERNEL_DIR}`` with the necessary Linux kernel build 1690information to build modules. If your module ``Makefile`` uses a different
1691information to build modules. If your module ``Makefile`` uses a 1691variable, you might want to override the :ref:`ref-tasks-compile` step, or
1692different variable, you might want to override the
1693:ref:`ref-tasks-compile` step, or
1694create a patch to the ``Makefile`` to work with the more typical 1692create a patch to the ``Makefile`` to work with the more typical
1695:term:`KERNEL_SRC` or :term:`KERNEL_PATH` variables. 1693:term:`KERNEL_SRC` or :term:`KERNEL_PATH` variables.
1696 1694
diff --git a/documentation/migration-guides/migration-1.3.rst b/documentation/migration-guides/migration-1.3.rst
index a135574744..95f7e3572b 100644
--- a/documentation/migration-guides/migration-1.3.rst
+++ b/documentation/migration-guides/migration-1.3.rst
@@ -91,11 +91,11 @@ consistency.
91nativesdk 91nativesdk
92~~~~~~~~~ 92~~~~~~~~~
93 93
94The suffix ``nativesdk`` is now implemented as a prefix, which simplifies a 94The suffix ``nativesdk`` is now implemented as a prefix, which simplifies a lot
95lot of the packaging code for :ref:`nativesdk <ref-classes-nativesdk>` recipes. 95of the packaging code for :ref:`ref-classes-nativesdk` recipes. All custom
96All custom :ref:`nativesdk <ref-classes-nativesdk>` recipes, which are 96:ref:`ref-classes-nativesdk` recipes, which are relocatable packages that are
97relocatable packages that are native to :term:`SDK_ARCH`, and any references 97native to :term:`SDK_ARCH`, and any references need to be updated to use
98need to be updated to use ``nativesdk-*`` instead of ``*-nativesdk``. 98``nativesdk-*`` instead of ``*-nativesdk``.
99 99
100.. _migration-1.3-task-recipes: 100.. _migration-1.3-task-recipes:
101 101
@@ -109,7 +109,7 @@ automatic upgrade path for most packages. However, you should update
109references in your own recipes and configurations as they could be 109references in your own recipes and configurations as they could be
110removed in future releases. You should also rename any custom ``task-*`` 110removed in future releases. You should also rename any custom ``task-*``
111recipes to ``packagegroup-*``, and change them to inherit 111recipes to ``packagegroup-*``, and change them to inherit
112:ref:`packagegroup <ref-classes-packagegroup>` instead of ``task``, as well 112:ref:`ref-classes-packagegroup` instead of ``task``, as well
113as taking the opportunity to remove anything now handled by 113as taking the opportunity to remove anything now handled by
114:ref:`ref-classes-packagegroup`, such as providing ``-dev`` and ``-dbg`` 114:ref:`ref-classes-packagegroup`, such as providing ``-dev`` and ``-dbg``
115packages, setting :term:`LIC_FILES_CHKSUM`, and so forth. See the 115packages, setting :term:`LIC_FILES_CHKSUM`, and so forth. See the
diff --git a/documentation/migration-guides/migration-1.5.rst b/documentation/migration-guides/migration-1.5.rst
index 14b1f4a0a5..d82d33f91f 100644
--- a/documentation/migration-guides/migration-1.5.rst
+++ b/documentation/migration-guides/migration-1.5.rst
@@ -95,9 +95,8 @@ The following changes have been made to the package QA checks:
95 this file within :ref:`ref-tasks-install` if "make 95 this file within :ref:`ref-tasks-install` if "make
96 install" is installing it. 96 install" is installing it.
97 97
98- If you are using the :ref:`buildhistory <ref-classes-buildhistory>` class, 98- If you are using the :ref:`ref-classes-buildhistory` class, the check for the
99 the check for the package 99 package version going backwards is now controlled using a standard QA check.
100 version going backwards is now controlled using a standard QA check.
101 Thus, if you have customized your :term:`ERROR_QA` or :term:`WARN_QA` values 100 Thus, if you have customized your :term:`ERROR_QA` or :term:`WARN_QA` values
102 and still wish to have this check performed, you should add 101 and still wish to have this check performed, you should add
103 "version-going-backwards" to your value for one or the other 102 "version-going-backwards" to your value for one or the other
@@ -131,7 +130,7 @@ The following directory changes exist:
131 it easier to delete :term:`TMPDIR` and preserve the build history. 130 it easier to delete :term:`TMPDIR` and preserve the build history.
132 Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`. 131 Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`.
133 132
134- When :ref:`buildhistory <ref-classes-buildhistory>` is enabled, its output 133- When :ref:`ref-classes-buildhistory` is enabled, its output
135 is now written under the :term:`Build Directory` rather than :term:`TMPDIR`. 134 is now written under the :term:`Build Directory` rather than :term:`TMPDIR`.
136 Doing so makes it easier to delete :term:`TMPDIR` and preserve the build 135 Doing so makes it easier to delete :term:`TMPDIR` and preserve the build
137 history. Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`. 136 history. Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`.
@@ -223,7 +222,7 @@ Task Recipes
223The previously deprecated ``task.bbclass`` has now been dropped. For 222The previously deprecated ``task.bbclass`` has now been dropped. For
224recipes that previously inherited from this class, you should rename 223recipes that previously inherited from this class, you should rename
225them from ``task-*`` to ``packagegroup-*`` and inherit 224them from ``task-*`` to ``packagegroup-*`` and inherit
226:ref:`packagegroup <ref-classes-packagegroup>` instead. 225:ref:`ref-classes-packagegroup` instead.
227 226
228For more information, see the ":ref:`ref-classes-packagegroup`" section. 227For more information, see the ":ref:`ref-classes-packagegroup`" section.
229 228
diff --git a/documentation/migration-guides/migration-1.6.rst b/documentation/migration-guides/migration-1.6.rst
index 1baf8b311a..48c7c7572e 100644
--- a/documentation/migration-guides/migration-1.6.rst
+++ b/documentation/migration-guides/migration-1.6.rst
@@ -11,9 +11,8 @@ Project 1.6 Release (codename "daisy") from the prior release.
11``archiver`` Class 11``archiver`` Class
12------------------ 12------------------
13 13
14The :ref:`archiver <ref-classes-archiver>` class has been rewritten 14The :ref:`ref-classes-archiver` class has been rewritten and its configuration
15and its configuration has been simplified. For more details on the 15has been simplified. For more details on the source archiver, see the
16source archiver, see the
17":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`" 16":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`"
18section in the Yocto Project Development Tasks Manual. 17section in the Yocto Project Development Tasks Manual.
19 18
@@ -224,7 +223,7 @@ Package Tests (ptest) are built but not installed by default. For
224information on using Package Tests, see the 223information on using Package Tests, see the
225":ref:`dev-manual/packages:testing packages with ptest`" section in the 224":ref:`dev-manual/packages:testing packages with ptest`" section in the
226Yocto Project Development Tasks Manual. For information on the 225Yocto Project Development Tasks Manual. For information on the
227:ref:`ptest <ref-classes-ptest>` class, see the ":ref:`ref-classes-ptest`" 226:ref:`ref-classes-ptest` class, see the ":ref:`ref-classes-ptest`"
228section. 227section.
229 228
230.. _migration-1.6-build-changes: 229.. _migration-1.6-build-changes:
@@ -234,13 +233,13 @@ Build Changes
234 233
235Separate build and source directories have been enabled by default for 234Separate build and source directories have been enabled by default for
236selected recipes where it is known to work and for all 235selected recipes where it is known to work and for all
237recipes that inherit the :ref:`cmake <ref-classes-cmake>` class. In 236recipes that inherit the :ref:`ref-classes-cmake` class. In
238future releases the :ref:`autotools <ref-classes-autotools>` class 237future releases the :ref:`ref-classes-autotools` class
239will enable a separate :term:`Build Directory` by default as well. Recipes 238will enable a separate :term:`Build Directory` by default as well. Recipes
240building Autotools-based software that fails to build with a separate 239building Autotools-based software that fails to build with a separate
241:term:`Build Directory` should be changed to inherit from the 240:term:`Build Directory` should be changed to inherit from the
242:ref:`autotools-brokensep <ref-classes-autotools>` class instead of 241:ref:`autotools-brokensep <ref-classes-autotools>` class instead of
243the :ref:`autotools <ref-classes-autotools>` or ``autotools_stage`` classes. 242the :ref:`ref-classes-autotools` or ``autotools_stage`` classes.
244 243
245.. _migration-1.6-building-qemu-native: 244.. _migration-1.6-building-qemu-native:
246 245
diff --git a/documentation/migration-guides/migration-1.7.rst b/documentation/migration-guides/migration-1.7.rst
index 94e9904b66..ca8222098a 100644
--- a/documentation/migration-guides/migration-1.7.rst
+++ b/documentation/migration-guides/migration-1.7.rst
@@ -41,13 +41,11 @@ section for more information.
41Autotools Class Changes 41Autotools Class Changes
42----------------------- 42-----------------------
43 43
44The following :ref:`autotools <ref-classes-autotools>` class changes 44The following :ref:`ref-classes-autotools` class changes occurred:
45occurred:
46 45
47- *A separate :term:`Build Directory` is now used by default:* The 46- *A separate :term:`Build Directory` is now used by default:* The
48 :ref:`autotools <ref-classes-autotools>` class has been 47 :ref:`ref-classes-autotools` class has been changed to use a directory for
49 changed to use a directory for building 48 building (:term:`B`), which is separate from the source directory
50 (:term:`B`), which is separate from the source directory
51 (:term:`S`). This is commonly referred to as ``B != S``, or 49 (:term:`S`). This is commonly referred to as ``B != S``, or
52 an out-of-tree build. 50 an out-of-tree build.
53 51
@@ -56,9 +54,8 @@ occurred:
56 However, if the software is not capable of being built in this 54 However, if the software is not capable of being built in this
57 manner, you will need to either patch the software so that it can 55 manner, you will need to either patch the software so that it can
58 build separately, or you will need to change the recipe to inherit 56 build separately, or you will need to change the recipe to inherit
59 the :ref:`autotools-brokensep <ref-classes-autotools>` class 57 the :ref:`autotools-brokensep <ref-classes-autotools>` class instead
60 instead of the :ref:`autotools <ref-classes-autotools>` 58 of the :ref:`ref-classes-autotools` or ``autotools_stage`` classes.
61 or ``autotools_stage`` classes.
62 59
63- The ``--foreign`` option is no longer passed to ``automake`` when 60- The ``--foreign`` option is no longer passed to ``automake`` when
64 running ``autoconf``: This option tells ``automake`` that a 61 running ``autoconf``: This option tells ``automake`` that a
diff --git a/documentation/migration-guides/migration-1.8.rst b/documentation/migration-guides/migration-1.8.rst
index 6a1f9ed56d..5cc5f8a047 100644
--- a/documentation/migration-guides/migration-1.8.rst
+++ b/documentation/migration-guides/migration-1.8.rst
@@ -70,17 +70,16 @@ the following::
70Kernel Build Changes 70Kernel Build Changes
71-------------------- 71--------------------
72 72
73The kernel build process was changed to place the source in a common 73The kernel build process was changed to place the source in a common shared work
74shared work area and to place build artifacts separately in the source 74area and to place build artifacts separately in the source code tree. In theory,
75code tree. In theory, migration paths have been provided for most common 75migration paths have been provided for most common usages in kernel recipes but
76usages in kernel recipes but this might not work in all cases. In 76this might not work in all cases. In particular, users need to ensure that
77particular, users need to ensure that ``${S}`` (source files) and 77``${S}`` (source files) and ``${B}`` (build artifacts) are used correctly in
78``${B}`` (build artifacts) are used correctly in functions such as 78functions such as :ref:`ref-tasks-configure` and :ref:`ref-tasks-install`. For
79:ref:`ref-tasks-configure` and 79kernel recipes that do not inherit from :ref:`ref-classes-kernel-yocto` or
80:ref:`ref-tasks-install`. For kernel recipes that do not 80include ``linux-yocto.inc``, you might wish to refer to the ``linux.inc`` file
81inherit from :ref:`kernel-yocto <ref-classes-kernel-yocto>` or include ``linux-yocto.inc``, you might 81in the ``meta-oe`` layer for the kinds of changes you need to make. For reference,
82wish to refer to the ``linux.inc`` file in the ``meta-oe`` layer for the 82here is the
83kinds of changes you need to make. For reference, here is the
84:oe_git:`commit </meta-openembedded/commit/meta-oe/recipes-kernel/linux/linux.inc?id=fc7132ede27ac67669448d3d2845ce7d46c6a1ee>` 83:oe_git:`commit </meta-openembedded/commit/meta-oe/recipes-kernel/linux/linux.inc?id=fc7132ede27ac67669448d3d2845ce7d46c6a1ee>`
85where the ``linux.inc`` file in ``meta-oe`` was updated. 84where the ``linux.inc`` file in ``meta-oe`` was updated.
86 85
@@ -123,10 +122,9 @@ need to take corrective steps.
123Rebuild Improvements 122Rebuild Improvements
124-------------------- 123--------------------
125 124
126Changes have been made to the :ref:`base <ref-classes-base>`, 125Changes have been made to the :ref:`ref-classes-base`,
127:ref:`autotools <ref-classes-autotools>`, and 126:ref:`ref-classes-autotools`, and :ref:`ref-classes-cmake` classes to clean out
128:ref:`cmake <ref-classes-cmake>` classes to clean out generated files 127generated files when the :ref:`ref-tasks-configure` task needs to be
129when the :ref:`ref-tasks-configure` task needs to be
130re-executed. 128re-executed.
131 129
132One of the improvements is to attempt to run "make clean" during the 130One of the improvements is to attempt to run "make clean" during the
diff --git a/documentation/migration-guides/migration-2.0.rst b/documentation/migration-guides/migration-2.0.rst
index 66b3c632f9..13be9846df 100644
--- a/documentation/migration-guides/migration-2.0.rst
+++ b/documentation/migration-guides/migration-2.0.rst
@@ -216,7 +216,7 @@ modifications synchronized, it is not always obvious to developers how
216to manipulate the Metadata as compared to the source. 216to manipulate the Metadata as compared to the source.
217 217
218Metadata processing has now been removed from the 218Metadata processing has now been removed from the
219:ref:`kernel-yocto <ref-classes-kernel-yocto>` class and the external 219:ref:`ref-classes-kernel-yocto` class and the external
220Metadata repository ``yocto-kernel-cache``, which has always been used 220Metadata repository ``yocto-kernel-cache``, which has always been used
221to seed the ``linux-yocto`` "meta" branch. This separate ``linux-yocto`` 221to seed the ``linux-yocto`` "meta" branch. This separate ``linux-yocto``
222cache repository is now the primary location for this data. Due to this 222cache repository is now the primary location for this data. Due to this
diff --git a/documentation/migration-guides/migration-2.1.rst b/documentation/migration-guides/migration-2.1.rst
index 01352acbfa..18b05b52cc 100644
--- a/documentation/migration-guides/migration-2.1.rst
+++ b/documentation/migration-guides/migration-2.1.rst
@@ -66,7 +66,7 @@ Makefile Environment Changes
66:term:`EXTRA_OEMAKE` now defaults to "" instead of 66:term:`EXTRA_OEMAKE` now defaults to "" instead of
67"-e MAKEFLAGS=". Setting :term:`EXTRA_OEMAKE` to "-e MAKEFLAGS=" by default 67"-e MAKEFLAGS=". Setting :term:`EXTRA_OEMAKE` to "-e MAKEFLAGS=" by default
68was a historical accident that has required many classes (e.g. 68was a historical accident that has required many classes (e.g.
69:ref:`autotools <ref-classes-autotools>`, ``module``) and recipes to override this default in order 69:ref:`ref-classes-autotools`, ``module``) and recipes to override this default in order
70to work with sensible build systems. When upgrading to the release, you 70to work with sensible build systems. When upgrading to the release, you
71must edit any recipe that relies upon this old default by either setting 71must edit any recipe that relies upon this old default by either setting
72:term:`EXTRA_OEMAKE` back to "-e MAKEFLAGS=" or by explicitly setting any 72:term:`EXTRA_OEMAKE` back to "-e MAKEFLAGS=" or by explicitly setting any
@@ -100,7 +100,7 @@ breaking FHS.
100``ac_cv_sizeof_off_t`` is No Longer Cached in Site Files 100``ac_cv_sizeof_off_t`` is No Longer Cached in Site Files
101-------------------------------------------------------- 101--------------------------------------------------------
102 102
103For recipes inheriting the :ref:`autotools <ref-classes-autotools>` 103For recipes inheriting the :ref:`ref-classes-autotools`
104class, ``ac_cv_sizeof_off_t`` is no longer cached in the site files for 104class, ``ac_cv_sizeof_off_t`` is no longer cached in the site files for
105``autoconf``. The reason for this change is because the 105``autoconf``. The reason for this change is because the
106``ac_cv_sizeof_off_t`` value is not necessarily static per architecture 106``ac_cv_sizeof_off_t`` value is not necessarily static per architecture
@@ -108,12 +108,12 @@ as was previously assumed. Rather, the value changes based on whether
108large file support is enabled. For most software that uses ``autoconf``, 108large file support is enabled. For most software that uses ``autoconf``,
109this change should not be a problem. However, if you have a recipe that 109this change should not be a problem. However, if you have a recipe that
110bypasses the standard :ref:`ref-tasks-configure` task 110bypasses the standard :ref:`ref-tasks-configure` task
111from the :ref:`autotools <ref-classes-autotools>` class and the software the recipe is building 111from the :ref:`ref-classes-autotools` class and the software the recipe is building
112uses a very old version of ``autoconf``, the recipe might be incapable 112uses a very old version of ``autoconf``, the recipe might be incapable
113of determining the correct size of ``off_t`` during :ref:`ref-tasks-configure`. 113of determining the correct size of ``off_t`` during :ref:`ref-tasks-configure`.
114 114
115The best course of action is to patch the software as necessary to allow 115The best course of action is to patch the software as necessary to allow
116the default implementation from the :ref:`autotools <ref-classes-autotools>` class to work such 116the default implementation from the :ref:`ref-classes-autotools` class to work such
117that ``autoreconf`` succeeds and produces a working configure script, 117that ``autoreconf`` succeeds and produces a working configure script,
118and to remove the overridden :ref:`ref-tasks-configure` task such that the default 118and to remove the overridden :ref:`ref-tasks-configure` task such that the default
119implementation does get used. 119implementation does get used.
@@ -138,9 +138,8 @@ should make edits so that those tasks are after the
138after :ref:`ref-tasks-rootfs` so that your added tasks run at the correct 138after :ref:`ref-tasks-rootfs` so that your added tasks run at the correct
139time. 139time.
140 140
141A minor part of this restructuring is that the post-processing 141A minor part of this restructuring is that the post-processing definitions and
142definitions and functions have been moved from the 142functions have been moved from the :ref:`ref-classes-image` class to the
143:ref:`image <ref-classes-image>` class to the
144:ref:`rootfs-postcommands <ref-classes-rootfs*>` class. Functionally, 143:ref:`rootfs-postcommands <ref-classes-rootfs*>` class. Functionally,
145however, they remain unchanged. 144however, they remain unchanged.
146 145
@@ -191,18 +190,17 @@ Class Changes
191The following classes have changed: 190The following classes have changed:
192 191
193- ``autotools_stage``: Removed because the 192- ``autotools_stage``: Removed because the
194 :ref:`autotools <ref-classes-autotools>` class now provides its 193 :ref:`ref-classes-autotools` class now provides its
195 functionality. Recipes that inherited from ``autotools_stage`` should 194 functionality. Recipes that inherited from ``autotools_stage`` should
196 now inherit from :ref:`autotools <ref-classes-autotools>` instead. 195 now inherit from :ref:`ref-classes-autotools` instead.
197 196
198- ``boot-directdisk``: Merged into the ``image-vm`` class. The 197- ``boot-directdisk``: Merged into the ``image-vm`` class. The
199 ``boot-directdisk`` class was rarely directly used. Consequently, 198 ``boot-directdisk`` class was rarely directly used. Consequently,
200 this change should not cause any issues. 199 this change should not cause any issues.
201 200
202- ``bootimg``: Merged into the 201- ``bootimg``: Merged into the :ref:`ref-classes-image-live` class. The
203 :ref:`image-live <ref-classes-image-live>` class. The ``bootimg`` 202 ``bootimg`` class was rarely directly used. Consequently, this change should
204 class was rarely directly used. Consequently, this change should not 203 not cause any issues.
205 cause any issues.
206 204
207- ``packageinfo``: Removed due to its limited use by the Hob UI, which 205- ``packageinfo``: Removed due to its limited use by the Hob UI, which
208 has itself been removed. 206 has itself been removed.
@@ -257,14 +255,14 @@ The following changes have been made for the Poky distribution:
257 not need to change anything unless you are relying on this naming 255 not need to change anything unless you are relying on this naming
258 elsewhere. 256 elsewhere.
259 257
260- The :ref:`uninative <ref-classes-uninative>` class is now enabled 258- The :ref:`ref-classes-uninative` class is now enabled
261 by default in Poky. This class attempts to isolate the build system 259 by default in Poky. This class attempts to isolate the build system
262 from the host distribution's C library and makes re-use of native 260 from the host distribution's C library and makes re-use of native
263 shared state artifacts across different host distributions practical. 261 shared state artifacts across different host distributions practical.
264 With this class enabled, a tarball containing a pre-built C library 262 With this class enabled, a tarball containing a pre-built C library
265 is downloaded at the start of the build. 263 is downloaded at the start of the build.
266 264
267 The :ref:`uninative <ref-classes-uninative>` class is enabled through the 265 The :ref:`ref-classes-uninative` class is enabled through the
268 ``meta/conf/distro/include/yocto-uninative.inc`` file, which for 266 ``meta/conf/distro/include/yocto-uninative.inc`` file, which for
269 those not using the Poky distribution, can include to easily enable 267 those not using the Poky distribution, can include to easily enable
270 the same functionality. 268 the same functionality.
@@ -403,9 +401,9 @@ These additional changes exist:
403 as these directories are automatically found and added. 401 as these directories are automatically found and added.
404 402
405- Inaccurate disk and CPU percentage data has been dropped from 403- Inaccurate disk and CPU percentage data has been dropped from
406 :ref:`buildstats <ref-classes-buildstats>` output. This data has been replaced with 404 :ref:`ref-classes-buildstats` output. This data has been replaced with
407 ``getrusage()`` data and corrected IO statistics. You will probably 405 ``getrusage()`` data and corrected IO statistics. You will probably
408 need to update any custom code that reads the :ref:`buildstats <ref-classes-buildstats>` data. 406 need to update any custom code that reads the :ref:`ref-classes-buildstats` data.
409 407
410- The ``meta/conf/distro/include/package_regex.inc`` is now deprecated. 408- The ``meta/conf/distro/include/package_regex.inc`` is now deprecated.
411 The contents of this file have been moved to individual recipes. 409 The contents of this file have been moved to individual recipes.
diff --git a/documentation/migration-guides/migration-2.3.rst b/documentation/migration-guides/migration-2.3.rst
index 6126af857d..38117d41b4 100644
--- a/documentation/migration-guides/migration-2.3.rst
+++ b/documentation/migration-guides/migration-2.3.rst
@@ -52,7 +52,7 @@ Consider the following:
52 post-installation script that is installed by a function added to 52 post-installation script that is installed by a function added to
53 :term:`SYSROOT_PREPROCESS_FUNCS`. 53 :term:`SYSROOT_PREPROCESS_FUNCS`.
54 54
55 For an example, see the :ref:`pixbufcache <ref-classes-pixbufcache>` class in ``meta/classes/`` in 55 For an example, see the :ref:`ref-classes-pixbufcache` class in ``meta/classes/`` in
56 the :ref:`overview-manual/development-environment:yocto project source repositories`. 56 the :ref:`overview-manual/development-environment:yocto project source repositories`.
57 57
58 .. note:: 58 .. note::
@@ -402,7 +402,7 @@ The following QA checks have changed:
402 warning, you need to address missing runtime dependencies. 402 warning, you need to address missing runtime dependencies.
403 403
404 For additional information, see the 404 For additional information, see the
405 :ref:`insane <ref-classes-insane>` class and the 405 :ref:`ref-classes-insane` class and the
406 ":ref:`ref-manual/qa-checks:errors and warnings`" section. 406 ":ref:`ref-manual/qa-checks:errors and warnings`" section.
407 407
408.. _migration-2.3-miscellaneous-changes: 408.. _migration-2.3-miscellaneous-changes:
@@ -446,7 +446,7 @@ The following miscellaneous changes have occurred:
446 RSA keys only, and with recent versions of OpenSSH, which deprecates 446 RSA keys only, and with recent versions of OpenSSH, which deprecates
447 DSA host keys. 447 DSA host keys.
448 448
449- The :ref:`buildhistory <ref-classes-buildhistory>` class now 449- The :ref:`ref-classes-buildhistory` class now
450 correctly uses tabs as separators between all columns in 450 correctly uses tabs as separators between all columns in
451 ``installed-package-sizes.txt`` in order to aid import into other 451 ``installed-package-sizes.txt`` in order to aid import into other
452 tools. 452 tools.
@@ -484,26 +484,24 @@ The following miscellaneous changes have occurred:
484 484
485 If you need to preserve these ``.la`` files (e.g. in a custom 485 If you need to preserve these ``.la`` files (e.g. in a custom
486 distribution), you must change :term:`INHERIT_DISTRO` such that 486 distribution), you must change :term:`INHERIT_DISTRO` such that
487 ":ref:`remove-libtool <ref-classes-remove-libtool>`" is not included 487 ":ref:`ref-classes-remove-libtool`" is not included
488 in the value. 488 in the value.
489 489
490- Extensible SDKs built for GCC 5+ now refuse to install on a 490- Extensible SDKs built for GCC 5+ now refuse to install on a
491 distribution where the host GCC version is 4.8 or 4.9. This change 491 distribution where the host GCC version is 4.8 or 4.9. This change
492 resulted from the fact that the installation is known to fail due to 492 resulted from the fact that the installation is known to fail due to
493 the way the ``uninative`` shared state (sstate) package is built. See 493 the way the ``uninative`` shared state (sstate) package is built. See
494 the :ref:`uninative <ref-classes-uninative>` class for additional 494 the :ref:`ref-classes-uninative` class for additional information.
495 information.
496 495
497- All :ref:`native <ref-classes-native>` and 496- All :ref:`ref-classes-native` and :ref:`ref-classes-nativesdk` recipes now
498 :ref:`nativesdk <ref-classes-nativesdk>` recipes now use a separate 497 use a separate :term:`DISTRO_FEATURES` value instead of sharing the value
499 :term:`DISTRO_FEATURES` value instead of sharing the value used by 498 used by recipes for the target, in order to avoid unnecessary rebuilds.
500 recipes for the target, in order to avoid unnecessary rebuilds.
501 499
502 The :term:`DISTRO_FEATURES` for :ref:`native <ref-classes-native>` recipes 500 The :term:`DISTRO_FEATURES` for :ref:`ref-classes-native` recipes
503 is :term:`DISTRO_FEATURES_NATIVE` added to an intersection of 501 is :term:`DISTRO_FEATURES_NATIVE` added to an intersection of
504 :term:`DISTRO_FEATURES` and :term:`DISTRO_FEATURES_FILTER_NATIVE`. 502 :term:`DISTRO_FEATURES` and :term:`DISTRO_FEATURES_FILTER_NATIVE`.
505 503
506 For :ref:`nativesdk <ref-classes-nativesdk>` recipes, the corresponding 504 For :ref:`ref-classes-nativesdk` recipes, the corresponding
507 variables are :term:`DISTRO_FEATURES_NATIVESDK` and 505 variables are :term:`DISTRO_FEATURES_NATIVESDK` and
508 :term:`DISTRO_FEATURES_FILTER_NATIVESDK`. 506 :term:`DISTRO_FEATURES_FILTER_NATIVESDK`.
509 507
diff --git a/documentation/migration-guides/migration-2.4.rst b/documentation/migration-guides/migration-2.4.rst
index 74149f8058..9637301a47 100644
--- a/documentation/migration-guides/migration-2.4.rst
+++ b/documentation/migration-guides/migration-2.4.rst
@@ -197,12 +197,10 @@ Kernel Device Tree Move
197----------------------- 197-----------------------
198 198
199Kernel Device Tree support is now easier to enable in a kernel recipe. 199Kernel Device Tree support is now easier to enable in a kernel recipe.
200The Device Tree code has moved to a 200The Device Tree code has moved to a :ref:`ref-classes-kernel-devicetree` class.
201:ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class.
202Functionality is automatically enabled for any recipe that inherits the 201Functionality is automatically enabled for any recipe that inherits the
203:ref:`kernel <ref-classes-kernel>` class and sets the 202:ref:`kernel <ref-classes-kernel>` class and sets the :term:`KERNEL_DEVICETREE`
204:term:`KERNEL_DEVICETREE` variable. The 203variable. The previous mechanism for doing this,
205previous mechanism for doing this,
206``meta/recipes-kernel/linux/linux-dtb.inc``, is still available to avoid 204``meta/recipes-kernel/linux/linux-dtb.inc``, is still available to avoid
207breakage, but triggers a deprecation warning. Future releases of the 205breakage, but triggers a deprecation warning. Future releases of the
208Yocto Project will remove ``meta/recipes-kernel/linux/linux-dtb.inc``. 206Yocto Project will remove ``meta/recipes-kernel/linux/linux-dtb.inc``.
@@ -271,11 +269,11 @@ The following are additional changes:
271 from ``meta-poky`` to OE-Core (i.e. from 269 from ``meta-poky`` to OE-Core (i.e. from
272 ``meta-poky/conf/distro/include`` to ``meta/conf/distro/include``). 270 ``meta-poky/conf/distro/include`` to ``meta/conf/distro/include``).
273 271
274- The :ref:`buildhistory <ref-classes-buildhistory>` class now makes 272- The :ref:`ref-classes-buildhistory` class now makes
275 a single commit per build rather than one commit per subdirectory in 273 a single commit per build rather than one commit per subdirectory in
276 the repository. This behavior assumes the commits are enabled with 274 the repository. This behavior assumes the commits are enabled with
277 :term:`BUILDHISTORY_COMMIT` = "1", which 275 :term:`BUILDHISTORY_COMMIT` = "1", which
278 is typical. Previously, the :ref:`buildhistory <ref-classes-buildhistory>` class made one commit 276 is typical. Previously, the :ref:`ref-classes-buildhistory` class made one commit
279 per subdirectory in the repository in order to make it easier to see 277 per subdirectory in the repository in order to make it easier to see
280 the changes for a particular subdirectory. To view a particular 278 the changes for a particular subdirectory. To view a particular
281 change, specify that subdirectory as the last parameter on the 279 change, specify that subdirectory as the last parameter on the
diff --git a/documentation/migration-guides/migration-2.5.rst b/documentation/migration-guides/migration-2.5.rst
index 8456c2306a..9f089bb93b 100644
--- a/documentation/migration-guides/migration-2.5.rst
+++ b/documentation/migration-guides/migration-2.5.rst
@@ -139,7 +139,7 @@ The following are BitBake changes:
139- Several explicit "run this task for all recipes in the dependency 139- Several explicit "run this task for all recipes in the dependency
140 tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``, 140 tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``,
141 and the ``*all`` tasks provided by the ``distrodata`` and 141 and the ``*all`` tasks provided by the ``distrodata`` and
142 :ref:`archiver <ref-classes-archiver>` classes). There is a BitBake option to complete this for 142 :ref:`ref-classes-archiver` classes). There is a BitBake option to complete this for
143 any arbitrary task. For example:: 143 any arbitrary task. For example::
144 144
145 bitbake <target> -c fetchall 145 bitbake <target> -c fetchall
@@ -189,7 +189,7 @@ Miscellaneous Changes
189 189
190The following are additional changes: 190The following are additional changes:
191 191
192- The :ref:`kernel <ref-classes-kernel>` class supports building packages for multiple kernels. 192- The :ref:`ref-classes-kernel` class supports building packages for multiple kernels.
193 If your kernel recipe or ``.bbappend`` file mentions packaging at 193 If your kernel recipe or ``.bbappend`` file mentions packaging at
194 all, you should replace references to the kernel in package names 194 all, you should replace references to the kernel in package names
195 with ``${KERNEL_PACKAGE_NAME}``. For example, if you disable 195 with ``${KERNEL_PACKAGE_NAME}``. For example, if you disable
@@ -197,7 +197,7 @@ The following are additional changes:
197 ``RDEPENDS_kernel-base = ""`` you can avoid warnings using 197 ``RDEPENDS_kernel-base = ""`` you can avoid warnings using
198 ``RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""`` instead. 198 ``RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""`` instead.
199 199
200- The :ref:`buildhistory <ref-classes-buildhistory>` class commits changes to the repository by 200- The :ref:`ref-classes-buildhistory` class commits changes to the repository by
201 default so you no longer need to set ``BUILDHISTORY_COMMIT = "1"``. 201 default so you no longer need to set ``BUILDHISTORY_COMMIT = "1"``.
202 If you want to disable commits you need to set 202 If you want to disable commits you need to set
203 ``BUILDHISTORY_COMMIT = "0"`` in your configuration. 203 ``BUILDHISTORY_COMMIT = "0"`` in your configuration.
@@ -209,12 +209,12 @@ The following are additional changes:
209 maintains a full-featured BSP in the ``meta-ti`` layer. This rename 209 maintains a full-featured BSP in the ``meta-ti`` layer. This rename
210 avoids the previous name clash that existed between the two BSPs. 210 avoids the previous name clash that existed between the two BSPs.
211 211
212- The :ref:`update-alternatives <ref-classes-update-alternatives>` class no longer works with SysV ``init`` 212- The :ref:`ref-classes-update-alternatives` class no longer works with SysV ``init``
213 scripts because this usage has been problematic. Also, the 213 scripts because this usage has been problematic. Also, the
214 ``sysklogd`` recipe no longer uses ``update-alternatives`` because it 214 ``sysklogd`` recipe no longer uses ``update-alternatives`` because it
215 is incompatible with other implementations. 215 is incompatible with other implementations.
216 216
217- By default, the :ref:`cmake <ref-classes-cmake>` class uses 217- By default, the :ref:`ref-classes-cmake` class uses
218 ``ninja`` instead of ``make`` for building. This improves build 218 ``ninja`` instead of ``make`` for building. This improves build
219 performance. If a recipe is broken with ``ninja``, then the recipe 219 performance. If a recipe is broken with ``ninja``, then the recipe
220 can set ``OECMAKE_GENERATOR = "Unix Makefiles"`` to change back to 220 can set ``OECMAKE_GENERATOR = "Unix Makefiles"`` to change back to
diff --git a/documentation/migration-guides/migration-2.6.rst b/documentation/migration-guides/migration-2.6.rst
index 356f720850..477714b489 100644
--- a/documentation/migration-guides/migration-2.6.rst
+++ b/documentation/migration-guides/migration-2.6.rst
@@ -128,10 +128,9 @@ missing from :term:`DEPENDS`).
128 128
129.. note:: 129.. note::
130 130
131 This change affects classes beyond just the two mentioned (i.e. 131 This change affects classes beyond just the two mentioned (i.e. ``distutils``
132 ``distutils`` and ``distutils3``). Any recipe that inherits ``distutils*`` 132 and ``distutils3``). Any recipe that inherits ``distutils*`` classes are
133 classes are affected. For example, the ``setuptools`` and 133 affected. For example, the ``setuptools`` and :ref:`ref-classes-setuptools3`
134 :ref:`setuptools3 <ref-classes-setuptools3>`
135 recipes are affected since they inherit the ``distutils*`` classes. 134 recipes are affected since they inherit the ``distutils*`` classes.
136 135
137Fetching these types of dependencies that are not provided in the 136Fetching these types of dependencies that are not provided in the
@@ -315,12 +314,11 @@ This section provides information about automatic testing changes:
315 exists and has been replaced by the 314 exists and has been replaced by the
316 :term:`TESTIMAGE_AUTO` variable. 315 :term:`TESTIMAGE_AUTO` variable.
317 316
318- Inheriting the :ref:`testimage <ref-classes-testimage>` and 317- Inheriting the :ref:`ref-classes-testimage` and :ref:`ref-classes-testsdk`
319 :ref:`testsdk <ref-classes-testsdk>` classes: best practices now dictate 318 classes: best practices now dictate that you use the :term:`IMAGE_CLASSES`
320 that you use the :term:`IMAGE_CLASSES` variable rather than the 319 variable rather than the :term:`INHERIT` variable when you inherit the
321 :term:`INHERIT` variable when you inherit the 320 :ref:`ref-classes-testimage` and :ref:`ref-classes-testsdk` classes used
322 :ref:`testimage <ref-classes-testimage>` and 321 for automatic testing.
323 :ref:`testsdk <ref-classes-testsdk>` classes used for automatic testing.
324 322
325.. _migration-2.6-openssl-changes: 323.. _migration-2.6-openssl-changes:
326 324
diff --git a/documentation/migration-guides/migration-2.7.rst b/documentation/migration-guides/migration-2.7.rst
index 6b17ceb90b..c49d2f05d2 100644
--- a/documentation/migration-guides/migration-2.7.rst
+++ b/documentation/migration-guides/migration-2.7.rst
@@ -174,8 +174,7 @@ The following miscellaneous changes occurred:
174- ``base/pixbufcache``: Obsolete ``sstatecompletions`` code has been 174- ``base/pixbufcache``: Obsolete ``sstatecompletions`` code has been
175 removed. 175 removed.
176 176
177- :ref:`native <ref-classes-native>` class: 177- :ref:`ref-classes-native` class: :term:`RDEPENDS` handling has been enabled.
178 :term:`RDEPENDS` handling has been enabled.
179 178
180- ``inetutils``: This recipe has rsh disabled. 179- ``inetutils``: This recipe has rsh disabled.
181 180
diff --git a/documentation/migration-guides/migration-3.0.rst b/documentation/migration-guides/migration-3.0.rst
index 5ecfe2d54a..8e7a58e74d 100644
--- a/documentation/migration-guides/migration-3.0.rst
+++ b/documentation/migration-guides/migration-3.0.rst
@@ -49,7 +49,7 @@ The following recipes have been removed.
49- ``core-image-lsb-sdk``: Part of removed LSB support. 49- ``core-image-lsb-sdk``: Part of removed LSB support.
50 50
51- ``cve-check-tool``: Functionally replaced by the ``cve-update-db`` 51- ``cve-check-tool``: Functionally replaced by the ``cve-update-db``
52 recipe and :ref:`cve-check <ref-classes-cve-check>` class. 52 recipe and :ref:`ref-classes-cve-check` class.
53 53
54- ``eglinfo``: No longer maintained. ``eglinfo`` from ``mesa-demos`` is 54- ``eglinfo``: No longer maintained. ``eglinfo`` from ``mesa-demos`` is
55 an adequate and maintained alternative. 55 an adequate and maintained alternative.
@@ -144,7 +144,7 @@ CVE Checking
144------------ 144------------
145 145
146``cve-check-tool`` has been functionally replaced by a new 146``cve-check-tool`` has been functionally replaced by a new
147``cve-update-db`` recipe and functionality built into the :ref:`cve-check <ref-classes-cve-check>` 147``cve-update-db`` recipe and functionality built into the :ref:`ref-classes-cve-check`
148class. The result uses NVD JSON data feeds rather than the deprecated 148class. The result uses NVD JSON data feeds rather than the deprecated
149XML feeds that ``cve-check-tool`` was using, supports CVSSv3 scoring, 149XML feeds that ``cve-check-tool`` was using, supports CVSSv3 scoring,
150and makes other improvements. 150and makes other improvements.
@@ -287,7 +287,7 @@ The following miscellaneous changes have occurred.
287 :term:`NATIVELSBSTRING` to use all lowercase 287 :term:`NATIVELSBSTRING` to use all lowercase
288 characters even if it does not contain a version number. This change 288 characters even if it does not contain a version number. This change
289 is necessary only if you are not using 289 is necessary only if you are not using
290 :ref:`uninative <ref-classes-uninative>` and :term:`SANITY_TESTED_DISTROS`. 290 :ref:`ref-classes-uninative` and :term:`SANITY_TESTED_DISTROS`.
291 291
292- In the ``base-files`` recipe, writing the hostname into 292- In the ``base-files`` recipe, writing the hostname into
293 ``/etc/hosts`` and ``/etc/hostname`` is now done within the main 293 ``/etc/hosts`` and ``/etc/hostname`` is now done within the main
diff --git a/documentation/migration-guides/migration-3.1.rst b/documentation/migration-guides/migration-3.1.rst
index cbad40112b..fdb959c4af 100644
--- a/documentation/migration-guides/migration-3.1.rst
+++ b/documentation/migration-guides/migration-3.1.rst
@@ -127,7 +127,7 @@ renamed to ``features_check``; the ``distro_features_check`` class still
127exists but generates a warning and redirects to the new class. In 127exists but generates a warning and redirects to the new class. In
128preparation for a future removal of the old class it is recommended that 128preparation for a future removal of the old class it is recommended that
129you update recipes currently inheriting ``distro_features_check`` to 129you update recipes currently inheriting ``distro_features_check`` to
130inherit :ref:`features_check <ref-classes-features_check>` instead. 130inherit :ref:`ref-classes-features_check` instead.
131 131
132.. _migration-3.1-removed-classes: 132.. _migration-3.1-removed-classes:
133 133
@@ -240,10 +240,10 @@ Warnings will now be shown at :ref:`ref-tasks-package_qa` time in the following
240circumstances: 240circumstances:
241 241
242- A recipe installs ``.desktop`` files containing ``MimeType`` keys but 242- A recipe installs ``.desktop`` files containing ``MimeType`` keys but
243 does not inherit the new :ref:`mime-xdg <ref-classes-mime-xdg>` class 243 does not inherit the new :ref:`ref-classes-mime-xdg` class
244 244
245- A recipe installs ``.xml`` files into ``${datadir}/mime/packages`` 245- A recipe installs ``.xml`` files into ``${datadir}/mime/packages``
246 but does not inherit the :ref:`mime <ref-classes-mime>` class 246 but does not inherit the :ref:`ref-classes-mime` class
247 247
248.. _migration-3.1-x86-live-wic: 248.. _migration-3.1-x86-live-wic:
249 249
diff --git a/documentation/migration-guides/migration-3.2.rst b/documentation/migration-guides/migration-3.2.rst
index b53f2b7802..c538df04d2 100644
--- a/documentation/migration-guides/migration-3.2.rst
+++ b/documentation/migration-guides/migration-3.2.rst
@@ -177,13 +177,23 @@ errors:
177 177
178In addition, the following new checks were added and default to triggering an error: 178In addition, the following new checks were added and default to triggering an error:
179 179
180- :ref:`shebang-size <qa-check-shebang-size>`: Check for shebang (#!) lines longer than 128 characters, which can give an error at runtime depending on the operating system. 180- :ref:`shebang-size <qa-check-shebang-size>`: Check for shebang (#!) lines
181 longer than 128 characters, which can give an error at runtime depending on
182 the operating system.
181 183
182- :ref:`unhandled-features-check <qa-check-unhandled-features-check>`: Check if any of the variables supported by the :ref:`features_check <ref-classes-features_check>` class is set while not inheriting the class itself. 184- :ref:`unhandled-features-check <qa-check-unhandled-features-check>`: Check
185 if any of the variables supported by the :ref:`ref-classes-features_check`
186 class is set while not inheriting the class itself.
183 187
184- :ref:`missing-update-alternatives <qa-check-missing-update-alternatives>`: Check if the recipe sets the :term:`ALTERNATIVE` variable for any of its packages, and does not inherit the :ref:`update-alternatives <ref-classes-update-alternatives>` class. 188- :ref:`missing-update-alternatives <qa-check-missing-update-alternatives>`:
189 Check if the recipe sets the :term:`ALTERNATIVE` variable for any of its
190 packages, and does not inherit the :ref:`ref-classes-update-alternatives`
191 class.
185 192
186- A trailing slash or duplicated slashes in the value of :term:`S` or :term:`B` will now trigger a warning so that they can be removed and path comparisons can be more reliable --- remove any instances of these in your recipes if the warning is displayed. 193- A trailing slash or duplicated slashes in the value of :term:`S` or :term:`B`
194 will now trigger a warning so that they can be removed and path comparisons
195 can be more reliable --- remove any instances of these in your recipes if the
196 warning is displayed.
187 197
188 198
189.. _migration-3.2-src-uri-file-globbing: 199.. _migration-3.2-src-uri-file-globbing:
@@ -209,9 +219,18 @@ files into a subdirectory and reference that instead.
209deploy class now cleans ``DEPLOYDIR`` before ``do_deploy`` 219deploy class now cleans ``DEPLOYDIR`` before ``do_deploy``
210---------------------------------------------------------- 220----------------------------------------------------------
211 221
212:ref:`ref-tasks-deploy` as implemented in the :ref:`deploy <ref-classes-deploy>` class now cleans up ${:term:`DEPLOYDIR`} before running, just as :ref:`ref-tasks-install` cleans up ${:term:`D`} before running. This reduces the risk of :term:`DEPLOYDIR` being accidentally contaminated by files from previous runs, possibly even with different config, in case of incremental builds. 222:ref:`ref-tasks-deploy` as implemented in the :ref:`ref-classes-deploy` class
223now cleans up ${:term:`DEPLOYDIR`} before running, just as
224:ref:`ref-tasks-install` cleans up ${:term:`D`} before running. This reduces
225the risk of :term:`DEPLOYDIR` being accidentally contaminated by files from
226previous runs, possibly even with different config, in case of incremental
227builds.
213 228
214Most recipes and classes that inherit the :ref:`deploy <ref-classes-deploy>` class or interact with :ref:`ref-tasks-deploy` are unlikely to be affected by this unless they add ``prefuncs`` to :ref:`ref-tasks-deploy` *which also* put files into ``${DEPLOYDIR}`` --- these should be refactored to use ``do_deploy_prepend`` instead. 229Most recipes and classes that inherit the :ref:`ref-classes-deploy` class or
230interact with :ref:`ref-tasks-deploy` are unlikely to be affected by this
231unless they add ``prefuncs`` to :ref:`ref-tasks-deploy` *which also* put files
232into ``${DEPLOYDIR}`` --- these should be refactored to use
233``do_deploy_prepend`` instead.
215 234
216 235
217.. _migration-3.2-nativesdk-sdk-provides-dummy: 236.. _migration-3.2-nativesdk-sdk-provides-dummy:
@@ -219,7 +238,7 @@ Most recipes and classes that inherit the :ref:`deploy <ref-classes-deploy>` cla
219Custom SDK / SDK-style recipes need to include ``nativesdk-sdk-provides-dummy`` 238Custom SDK / SDK-style recipes need to include ``nativesdk-sdk-provides-dummy``
220------------------------------------------------------------------------------- 239-------------------------------------------------------------------------------
221 240
222All :ref:`nativesdk <ref-classes-nativesdk>` packages require ``/bin/sh`` due 241All :ref:`ref-classes-nativesdk` packages require ``/bin/sh`` due
223to their postinstall scriptlets, thus this package has to be dummy-provided 242to their postinstall scriptlets, thus this package has to be dummy-provided
224within the SDK and ``nativesdk-sdk-provides-dummy`` now does this. If you have 243within the SDK and ``nativesdk-sdk-provides-dummy`` now does this. If you have
225a custom SDK recipe (or your own SDK-style recipe similar to e.g. 244a custom SDK recipe (or your own SDK-style recipe similar to e.g.
diff --git a/documentation/migration-guides/migration-3.3.rst b/documentation/migration-guides/migration-3.3.rst
index 16d5e2a3ee..d1e589d7b4 100644
--- a/documentation/migration-guides/migration-3.3.rst
+++ b/documentation/migration-guides/migration-3.3.rst
@@ -63,13 +63,13 @@ need to update those.
63New ``python3targetconfig`` class 63New ``python3targetconfig`` class
64--------------------------------- 64---------------------------------
65 65
66A new :ref:`python3targetconfig <ref-classes-python3targetconfig>` class has 66A new :ref:`ref-classes-python3targetconfig` class has
67been created for situations where you would previously have inherited the 67been created for situations where you would previously have inherited the
68:ref:`python3native <ref-classes-python3native>` class but need access to 68:ref:`ref-classes-python3native` class but need access to
69target configuration data (such as correct installation directories). Recipes 69target configuration data (such as correct installation directories). Recipes
70where this situation applies should be changed to inherit 70where this situation applies should be changed to inherit
71:ref:`python3targetconfig <ref-classes-python3targetconfig>` instead of 71:ref:`ref-classes-python3targetconfig` instead of
72:ref:`python3native <ref-classes-python3native>`. This also adds a dependency 72:ref:`ref-classes-python3native`. This also adds a dependency
73on target ``python3``, so it should only be used where appropriate in order to 73on target ``python3``, so it should only be used where appropriate in order to
74avoid unnecessarily lengthening builds. 74avoid unnecessarily lengthening builds.
75 75
@@ -99,11 +99,10 @@ variable so that recipes can specify it explicitly, for example::
99 S = "${WORKDIR}/git" 99 S = "${WORKDIR}/git"
100 DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule" 100 DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule"
101 101
102Recipes that inherit from ``distutils3`` (or 102Recipes that inherit from ``distutils3`` (or :ref:`ref-classes-setuptools3`
103:ref:`setuptools3 <ref-classes-setuptools3>` which itself inherits 103which itself inherits ``distutils3``) that also set :term:`S` to point to a
104``distutils3``) that also set :term:`S` to point to a Python module within a 104Python module within a subdirectory in the aforementioned manner should be
105subdirectory in the aforementioned manner should be changed to set 105changed to set ``DISTUTILS_SETUP_PATH`` instead.
106``DISTUTILS_SETUP_PATH`` instead.
107 106
108 107
109.. _migration-3.3-bitbake: 108.. _migration-3.3-bitbake:
diff --git a/documentation/migration-guides/migration-3.4.rst b/documentation/migration-guides/migration-3.4.rst
index 88238091a1..076c589c8c 100644
--- a/documentation/migration-guides/migration-3.4.rst
+++ b/documentation/migration-guides/migration-3.4.rst
@@ -126,7 +126,7 @@ Removed classes
126- ``image-mklibs``: not actively tested and upstream mklibs still 126- ``image-mklibs``: not actively tested and upstream mklibs still
127 requires Python 2 127 requires Python 2
128- ``meta``: no longer useful. Recipes that need to skip installing 128- ``meta``: no longer useful. Recipes that need to skip installing
129 packages should inherit :ref:`nopackages <ref-classes-nopackages>` instead. 129 packages should inherit :ref:`ref-classes-nopackages` instead.
130 130
131Prelinking disabled by default 131Prelinking disabled by default
132~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 132~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -259,7 +259,7 @@ Miscellaneous
259 instead. 259 instead.
260 260
261- The obsolete ``oe_machinstall`` function previously provided in the 261- The obsolete ``oe_machinstall`` function previously provided in the
262 :ref:`utils <ref-classes-utils>` class has been removed. For 262 :ref:`ref-classes-utils` class has been removed. For
263 machine-specific installation it is recommended that you use the 263 machine-specific installation it is recommended that you use the
264 built-in override support in the fetcher or overrides in general 264 built-in override support in the fetcher or overrides in general
265 instead. 265 instead.
diff --git a/documentation/migration-guides/migration-4.0.rst b/documentation/migration-guides/migration-4.0.rst
index dd840f2bb3..3106498404 100644
--- a/documentation/migration-guides/migration-4.0.rst
+++ b/documentation/migration-guides/migration-4.0.rst
@@ -119,7 +119,7 @@ License changes
119- The ``AVAILABLE_LICENSES`` variable has been removed. This variable was a performance 119- The ``AVAILABLE_LICENSES`` variable has been removed. This variable was a performance
120 liability and is highly dependent on which layers are added to the configuration, 120 liability and is highly dependent on which layers are added to the configuration,
121 which can cause signature issues for users. In addition the ``available_licenses()`` 121 which can cause signature issues for users. In addition the ``available_licenses()``
122 function has been removed from the :ref:`license <ref-classes-license>` class as 122 function has been removed from the :ref:`ref-classes-license` class as
123 it is no longer needed. 123 it is no longer needed.
124 124
125Removed recipes 125Removed recipes
@@ -143,15 +143,14 @@ Python changes
143 143
144- The Python package build process is now based on `wheels <https://pythonwheels.com/>`__. 144- The Python package build process is now based on `wheels <https://pythonwheels.com/>`__.
145 Here are the new Python packaging classes that should be used: 145 Here are the new Python packaging classes that should be used:
146 :ref:`python_flit_core <ref-classes-python_flit_core>`, 146 :ref:`ref-classes-python_flit_core`, :ref:`ref-classes-python_setuptools_build_meta`
147 :ref:`python_setuptools_build_meta <ref-classes-python_setuptools_build_meta>` 147 and :ref:`ref-classes-python_poetry_core`.
148 and :ref:`python_poetry_core <ref-classes-python_poetry_core>`.
149 148
150- The :ref:`setuptools3 <ref-classes-setuptools3>` class :ref:`ref-tasks-install` task now 149- The :ref:`ref-classes-setuptools3` class :ref:`ref-tasks-install` task now
151 installs the ``wheel`` binary archive. In current versions of ``setuptools`` the 150 installs the ``wheel`` binary archive. In current versions of ``setuptools`` the
152 legacy ``setup.py install`` method is deprecated. If the ``setup.py`` cannot be used 151 legacy ``setup.py install`` method is deprecated. If the ``setup.py`` cannot be used
153 with wheels, for example it creates files outside of the Python module or standard 152 with wheels, for example it creates files outside of the Python module or standard
154 entry points, then :ref:`setuptools3_legacy <ref-classes-setuptools3_legacy>` should 153 entry points, then :ref:`ref-classes-setuptools3_legacy` should
155 be used instead. 154 be used instead.
156 155
157Prelink removed 156Prelink removed
@@ -173,7 +172,7 @@ Reproducible as standard
173 172
174Reproducibility is now considered as standard functionality, thus the 173Reproducibility is now considered as standard functionality, thus the
175``reproducible`` class has been removed and its previous contents merged into the 174``reproducible`` class has been removed and its previous contents merged into the
176:ref:`base <ref-classes-base>` class. If you have references in your configuration to 175:ref:`ref-classes-base` class. If you have references in your configuration to
177``reproducible`` in :term:`INHERIT`, :term:`USER_CLASSES` etc. then they should be 176``reproducible`` in :term:`INHERIT`, :term:`USER_CLASSES` etc. then they should be
178removed. 177removed.
179 178
@@ -215,15 +214,15 @@ Miscellaneous changes
215~~~~~~~~~~~~~~~~~~~~~ 214~~~~~~~~~~~~~~~~~~~~~
216 215
217- ``blacklist.bbclass`` is removed and the functionality moved to the 216- ``blacklist.bbclass`` is removed and the functionality moved to the
218 :ref:`base <ref-classes-base>` class with a more descriptive 217 :ref:`ref-classes-base` class with a more descriptive
219 ``varflag`` variable named :term:`SKIP_RECIPE` which will use the `bb.parse.SkipRecipe()` 218 ``varflag`` variable named :term:`SKIP_RECIPE` which will use the `bb.parse.SkipRecipe()`
220 function. The usage remains the same, for example:: 219 function. The usage remains the same, for example::
221 220
222 SKIP_RECIPE[my-recipe] = "Reason for skipping recipe" 221 SKIP_RECIPE[my-recipe] = "Reason for skipping recipe"
223 222
224- :ref:`allarch <ref-classes-allarch>` packagegroups can no longer depend on packages 223- :ref:`ref-classes-allarch` packagegroups can no longer depend on packages
225 which use :term:`PKG` renaming such as :ref:`ref-classes-debian`. Such packagegroups 224 which use :term:`PKG` renaming such as :ref:`ref-classes-debian`. Such packagegroups
226 recipes should be changed to avoid inheriting :ref:`allarch <ref-classes-allarch>`. 225 recipes should be changed to avoid inheriting :ref:`ref-classes-allarch`.
227 226
228- The ``lnr`` script has been removed. ``lnr`` implemented the same behaviour as `ln --relative --symbolic`, 227- The ``lnr`` script has been removed. ``lnr`` implemented the same behaviour as `ln --relative --symbolic`,
229 since at the time of creation `--relative` was only available in coreutils 8.16 228 since at the time of creation `--relative` was only available in coreutils 8.16
@@ -232,7 +231,7 @@ Miscellaneous changes
232 any calls to ``lnr`` in your recipes or classes, they should be replaced with 231 any calls to ``lnr`` in your recipes or classes, they should be replaced with
233 `ln --relative --symbolic` or `ln -rs` if you prefer the short version. 232 `ln --relative --symbolic` or `ln -rs` if you prefer the short version.
234 233
235- The ``package_qa_handle_error()`` function formerly in the :ref:`insane <ref-classes-insane>` 234- The ``package_qa_handle_error()`` function formerly in the :ref:`ref-classes-insane`
236 class has been moved and renamed - if you have any references in your own custom 235 class has been moved and renamed - if you have any references in your own custom
237 classes they should be changed to ``oe.qa.handle_error()``. 236 classes they should be changed to ``oe.qa.handle_error()``.
238 237
diff --git a/documentation/migration-guides/migration-4.1.rst b/documentation/migration-guides/migration-4.1.rst
index 8b9db40ddc..86721b9873 100644
--- a/documentation/migration-guides/migration-4.1.rst
+++ b/documentation/migration-guides/migration-4.1.rst
@@ -92,7 +92,7 @@ now cause an error::
92 92
93 INHERIT += "testimage" 93 INHERIT += "testimage"
94 94
95Since :ref:`testimage <ref-classes-testimage>` is a class intended solely to 95Since :ref:`ref-classes-testimage` is a class intended solely to
96affect image recipes, this would be correctly specified as:: 96affect image recipes, this would be correctly specified as::
97 97
98 IMAGE_CLASSES += "testimage" 98 IMAGE_CLASSES += "testimage"
@@ -154,16 +154,16 @@ Miscellaneous changes
154 you can set :term:`WATCHDOG_TIMEOUT` to the desired timeout in seconds. Note 154 you can set :term:`WATCHDOG_TIMEOUT` to the desired timeout in seconds. Note
155 that the same :term:`WATCHDOG_TIMEOUT` variable also specifies the timeout used 155 that the same :term:`WATCHDOG_TIMEOUT` variable also specifies the timeout used
156 for the ``watchdog`` tool (if that is being built). 156 for the ``watchdog`` tool (if that is being built).
157- The :ref:`image-buildinfo <ref-classes-image-buildinfo>` class now writes to 157- The :ref:`ref-classes-image-buildinfo` class now writes to
158 ``${sysconfdir}/buildinfo`` instead of ``${sysconfdir}/build`` by default (i.e. 158 ``${sysconfdir}/buildinfo`` instead of ``${sysconfdir}/build`` by default (i.e.
159 the default value of :term:`IMAGE_BUILDINFO_FILE` has been changed). If you have 159 the default value of :term:`IMAGE_BUILDINFO_FILE` has been changed). If you have
160 code that reads this from images at build or runtime you will need to update it 160 code that reads this from images at build or runtime you will need to update it
161 or specify your own value for :term:`IMAGE_BUILDINFO_FILE`. 161 or specify your own value for :term:`IMAGE_BUILDINFO_FILE`.
162- In the :ref:`archiver <ref-classes-archiver>` class, the default 162- In the :ref:`ref-classes-archiver` class, the default
163 ``ARCHIVER_OUTDIR`` value no longer includes the :term:`MACHINE` value in order 163 ``ARCHIVER_OUTDIR`` value no longer includes the :term:`MACHINE` value in order
164 to avoid the archive task running multiple times in a multiconfig setup. If you 164 to avoid the archive task running multiple times in a multiconfig setup. If you
165 have custom code that does something with the files archived by the 165 have custom code that does something with the files archived by the
166 :ref:`archiver <ref-classes-archiver>` class then you may need to adjust it to 166 :ref:`ref-classes-archiver` class then you may need to adjust it to
167 the new structure. 167 the new structure.
168- If you are not using `systemd` then udev is now configured to use labels 168- If you are not using `systemd` then udev is now configured to use labels
169 (``LABEL`` or ``PARTLABEL``) to set the mount point for the device. For example:: 169 (``LABEL`` or ``PARTLABEL``) to set the mount point for the device. For example::
@@ -194,7 +194,7 @@ Miscellaneous changes
194 :term:`PACKAGECONFIG`. If you are customising this file you will need to 194 :term:`PACKAGECONFIG`. If you are customising this file you will need to
195 update your customisations. 195 update your customisations.
196- With the introduction of picobuild in 196- With the introduction of picobuild in
197 :ref:`python_pep517 <ref-classes-python_pep517>`, The ``PEP517_BUILD_API`` 197 :ref:`ref-classes-python_pep517`, The ``PEP517_BUILD_API``
198 variable is no longer supported. If you have any references to this variable 198 variable is no longer supported. If you have any references to this variable
199 you should remove them. 199 you should remove them.
200 200
diff --git a/documentation/migration-guides/migration-general.rst b/documentation/migration-guides/migration-general.rst
index c3b8a785db..1820f5cfd8 100644
--- a/documentation/migration-guides/migration-general.rst
+++ b/documentation/migration-guides/migration-general.rst
@@ -76,24 +76,24 @@ any new Yocto Project release.
76 76
77- *Checking Image / SDK Changes*: 77- *Checking Image / SDK Changes*:
78 78
79 The :ref:`buildhistory <ref-classes-buildhistory>` class can be used 79 The :ref:`ref-classes-buildhistory` class can be used
80 if you wish to check the impact of changes to images / SDKs across 80 if you wish to check the impact of changes to images / SDKs across
81 the migration (e.g. added/removed packages, added/removed files, size 81 the migration (e.g. added/removed packages, added/removed files, size
82 changes etc.). To do this, follow these steps: 82 changes etc.). To do this, follow these steps:
83 83
84 #. Enable :ref:`buildhistory <ref-classes-buildhistory>` before the migration 84 #. Enable :ref:`ref-classes-buildhistory` before the migration
85 85
86 #. Run a pre-migration build 86 #. Run a pre-migration build
87 87
88 #. Capture the :ref:`buildhistory <ref-classes-buildhistory>` output (as 88 #. Capture the :ref:`ref-classes-buildhistory` output (as
89 specified by :term:`BUILDHISTORY_DIR`) and ensure it is preserved for 89 specified by :term:`BUILDHISTORY_DIR`) and ensure it is preserved for
90 subsequent builds. How you would do this depends on how you are running 90 subsequent builds. How you would do this depends on how you are running
91 your builds - if you are doing this all on one workstation in the same 91 your builds - if you are doing this all on one workstation in the same
92 :term:`Build Directory` you may not need to do anything other than not 92 :term:`Build Directory` you may not need to do anything other than not
93 deleting the :ref:`buildhistory <ref-classes-buildhistory>` output 93 deleting the :ref:`ref-classes-buildhistory` output
94 directory. For builds in a pipeline it may be more complicated. 94 directory. For builds in a pipeline it may be more complicated.
95 95
96 #. Set a tag in the :ref:`buildhistory <ref-classes-buildhistory>` output (which is a git repository) before 96 #. Set a tag in the :ref:`ref-classes-buildhistory` output (which is a git repository) before
97 migration, to make the commit from the pre-migration build easy to find 97 migration, to make the commit from the pre-migration build easy to find
98 as you may end up running multiple builds during the migration. 98 as you may end up running multiple builds during the migration.
99 99
@@ -102,7 +102,7 @@ any new Yocto Project release.
102 #. Run a build 102 #. Run a build
103 103
104 #. Check the output changes between the previously set tag and HEAD in the 104 #. Check the output changes between the previously set tag and HEAD in the
105 :ref:`buildhistory <ref-classes-buildhistory>` output using ``git diff`` or ``buildhistory-diff``. 105 :ref:`ref-classes-buildhistory` output using ``git diff`` or ``buildhistory-diff``.
106 106
107 For more information on using :ref:`buildhistory <ref-classes-buildhistory>`, see 107 For more information on using :ref:`ref-classes-buildhistory`, see
108 :ref:`dev-manual/build-quality:maintaining build output quality`. 108 :ref:`dev-manual/build-quality:maintaining build output quality`.
diff --git a/documentation/migration-guides/release-notes-3.4.rst b/documentation/migration-guides/release-notes-3.4.rst
index 6b2b7eade6..d76bb004b1 100644
--- a/documentation/migration-guides/release-notes-3.4.rst
+++ b/documentation/migration-guides/release-notes-3.4.rst
@@ -9,7 +9,7 @@ New Features / Enhancements in 3.4
9- Linux kernel 5.14, glibc 2.34 and ~280 other recipe upgrades 9- Linux kernel 5.14, glibc 2.34 and ~280 other recipe upgrades
10- Switched override character to ':' (replacing '_') for more robust parsing and improved performance --- see the above migration guide for help 10- Switched override character to ':' (replacing '_') for more robust parsing and improved performance --- see the above migration guide for help
11- Rust integrated into core, providing rust support for cross-compilation and SDK 11- Rust integrated into core, providing rust support for cross-compilation and SDK
12- New :ref:`create-spdx <ref-classes-create-spdx>` class for creating SPDX SBoM documents 12- New :ref:`ref-classes-create-spdx` class for creating SPDX SBoM documents
13- New recipes: cargo, core-image-ptest-all, core-image-ptest-fast, core-image-weston-sdk, erofs-utils, gcompat, gi-docgen, libmicrohttpd, libseccomp, libstd-rs, perlcross, python3-markdown, python3-pyyaml, python3-smartypants, python3-typogrify, rust, rust-cross, rust-cross-canadian, rust-hello-world, rust-llvm, rust-tools-cross-canadian, rustfmt, xwayland 13- New recipes: cargo, core-image-ptest-all, core-image-ptest-fast, core-image-weston-sdk, erofs-utils, gcompat, gi-docgen, libmicrohttpd, libseccomp, libstd-rs, perlcross, python3-markdown, python3-pyyaml, python3-smartypants, python3-typogrify, rust, rust-cross, rust-cross-canadian, rust-hello-world, rust-llvm, rust-tools-cross-canadian, rustfmt, xwayland
14- Several optimisations to reduce unnecessary task dependencies for faster builds 14- Several optimisations to reduce unnecessary task dependencies for faster builds
15- seccomp integrated into core, with additional enabling for gnutls, systemd, qemu 15- seccomp integrated into core, with additional enabling for gnutls, systemd, qemu
@@ -71,7 +71,7 @@ New Features / Enhancements in 3.4
71 71
72 - Enable :ref:`ref-tasks-populate_sdk` with multilibs 72 - Enable :ref:`ref-tasks-populate_sdk` with multilibs
73 - New ``SDKPATHINSTALL`` variable decouples default install path from 73 - New ``SDKPATHINSTALL`` variable decouples default install path from
74 built in path to avoid rebuilding :ref:`nativesdk <ref-classes-nativesdk>` 74 built in path to avoid rebuilding :ref:`ref-classes-nativesdk`
75 components on e.g. :term:`DISTRO_VERSION` changes 75 components on e.g. :term:`DISTRO_VERSION` changes
76 - eSDK: Error if trying to generate an eSDK from a multiconfig 76 - eSDK: Error if trying to generate an eSDK from a multiconfig
77 - eSDK: introduce :term:`TOOLCHAIN_HOST_TASK_ESDK` to be used in place of :term:`TOOLCHAIN_HOST_TASK` to add components to the host part of the eSDK 77 - eSDK: introduce :term:`TOOLCHAIN_HOST_TASK_ESDK` to be used in place of :term:`TOOLCHAIN_HOST_TASK` to add components to the host part of the eSDK
diff --git a/documentation/migration-guides/release-notes-4.0.rst b/documentation/migration-guides/release-notes-4.0.rst
index b1f89cf0a7..563113b4db 100644
--- a/documentation/migration-guides/release-notes-4.0.rst
+++ b/documentation/migration-guides/release-notes-4.0.rst
@@ -13,7 +13,7 @@ New Features / Enhancements in 4.0
13- Reproducibility: this release fixes the reproducibility issues with 13- Reproducibility: this release fixes the reproducibility issues with
14 ``rust-llvm`` and ``golang``. Recipes in OpenEmbedded-Core are now fully 14 ``rust-llvm`` and ``golang``. Recipes in OpenEmbedded-Core are now fully
15 reproducible. Functionality previously in the optional "reproducible" 15 reproducible. Functionality previously in the optional "reproducible"
16 class has been merged into the :ref:`base <ref-classes-base>` class. 16 class has been merged into the :ref:`ref-classes-base` class.
17 17
18- Network access is now disabled by default for tasks other than where it is expected to ensure build integrity (where host kernel supports it) 18- Network access is now disabled by default for tasks other than where it is expected to ensure build integrity (where host kernel supports it)
19 19
@@ -31,8 +31,7 @@ New Features / Enhancements in 4.0
31- The Python package build process is now based on `wheels <https://pythonwheels.com/>`__ 31- The Python package build process is now based on `wheels <https://pythonwheels.com/>`__
32 in line with the upstream direction. 32 in line with the upstream direction.
33 33
34- New :ref:`overlayfs <ref-classes-overlayfs>` and 34- New :ref:`ref-classes-overlayfs` and :ref:`ref-classes-overlayfs-etc` classes and
35 :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` classes and
36 ``overlayroot`` support in the :term:`Initramfs` framework to make it easier to 35 ``overlayroot`` support in the :term:`Initramfs` framework to make it easier to
37 overlay read-only filesystems (for example) with 36 overlay read-only filesystems (for example) with
38 :wikipedia:`OverlayFS <OverlayFS>`. 37 :wikipedia:`OverlayFS <OverlayFS>`.
@@ -218,7 +217,7 @@ New Features / Enhancements in 4.0
218 - Ensure addition of patch-fuzz retriggers do_qa_patch 217 - Ensure addition of patch-fuzz retriggers do_qa_patch
219 - Added a sanity check for allarch packagegroups 218 - Added a sanity check for allarch packagegroups
220 219
221- :ref:`create-spdx <ref-classes-create-spdx>` class improvements: 220- :ref:`ref-classes-create-spdx` class improvements:
222 221
223 - Get SPDX-License-Identifier from source files 222 - Get SPDX-License-Identifier from source files
224 - Generate manifest also for SDKs 223 - Generate manifest also for SDKs
@@ -238,9 +237,9 @@ New Features / Enhancements in 4.0
238 237
239- SDK-related enhancements: 238- SDK-related enhancements:
240 239
241 - Extended recipes to :ref:`nativesdk <ref-classes-nativesdk>`: ``cargo``, 240 - Extended recipes to :ref:`ref-classes-nativesdk`: ``cargo``,
242 ``librsvg``, ``libstd-rs``, ``libva``, ``python3-docutil``, ``python3-packaging`` 241 ``librsvg``, ``libstd-rs``, ``libva``, ``python3-docutil``, ``python3-packaging``
243 - Enabled :ref:`nativesdk <ref-classes-nativesdk>` recipes to find a correct version 242 - Enabled :ref:`ref-classes-nativesdk` recipes to find a correct version
244 of the rust cross compiler 243 of the rust cross compiler
245 - Support creating per-toolchain cmake file in SDK 244 - Support creating per-toolchain cmake file in SDK
246 245
diff --git a/documentation/migration-guides/release-notes-4.1.rst b/documentation/migration-guides/release-notes-4.1.rst
index 09eb6d8c06..cd48e202ab 100644
--- a/documentation/migration-guides/release-notes-4.1.rst
+++ b/documentation/migration-guides/release-notes-4.1.rst
@@ -30,7 +30,7 @@ New Features / Enhancements in 4.1
30 - Support for building rust for the target 30 - Support for building rust for the target
31 - Significant SDK toolchain build optimisation 31 - Significant SDK toolchain build optimisation
32 - Support for building native components in the SDK 32 - Support for building native components in the SDK
33 - Support ``crate://`` fetcher with :ref:`externalsrc <ref-classes-externalsrc>` 33 - Support ``crate://`` fetcher with :ref:`ref-classes-externalsrc`
34 34
35- New core recipes: 35- New core recipes:
36 36
@@ -52,7 +52,7 @@ New Features / Enhancements in 4.1
52 - Added support for Ignored CVEs 52 - Added support for Ignored CVEs
53 - Enable recursive CVE checking also for ``do_populate_sdk`` 53 - Enable recursive CVE checking also for ``do_populate_sdk``
54 - New :term:`CVE_CHECK_SHOW_WARNINGS` variable to disable unpatched CVE warning messages 54 - New :term:`CVE_CHECK_SHOW_WARNINGS` variable to disable unpatched CVE warning messages
55 - The :ref:`pypi <ref-classes-pypi>` class now defaults :term:`CVE_PRODUCT` from :term:`PYPI_PACKAGE` 55 - The :ref:`ref-classes-pypi` class now defaults :term:`CVE_PRODUCT` from :term:`PYPI_PACKAGE`
56 - Added current kernel CVEs to ignore list since we stay as close to the kernel stable releases as we can 56 - Added current kernel CVEs to ignore list since we stay as close to the kernel stable releases as we can
57 - Optimisations to avoid dependencies on fetching 57 - Optimisations to avoid dependencies on fetching
58 58
@@ -60,9 +60,9 @@ New Features / Enhancements in 4.1
60- Dependency of -dev package on main package is now an :term:`RRECOMMENDS` and can be easily set via new :term:`DEV_PKG_DEPENDENCY` variable 60- Dependency of -dev package on main package is now an :term:`RRECOMMENDS` and can be easily set via new :term:`DEV_PKG_DEPENDENCY` variable
61 61
62- Support for CPU, I/O and memory pressure regulation in BitBake 62- Support for CPU, I/O and memory pressure regulation in BitBake
63- Pressure data gathering in :ref:`buildstats <ref-classes-buildstats>` and rendering in ``pybootchartgui`` 63- Pressure data gathering in :ref:`ref-classes-buildstats` and rendering in ``pybootchartgui``
64 64
65- New Picobuild system for lightweight Python PEP-517 build support in the :ref:`python_pep517 <ref-classes-python_pep517>` class 65- New Picobuild system for lightweight Python PEP-517 build support in the :ref:`ref-classes-python_pep517` class
66 66
67- Many classes are now split into global and recipe contexts for better 67- Many classes are now split into global and recipe contexts for better
68 validation. For more information, see 68 validation. For more information, see
@@ -99,10 +99,10 @@ New Features / Enhancements in 4.1
99- SDK-related enhancements: 99- SDK-related enhancements:
100 100
101 - :ref:`Support for using the regular build system as an SDK <sdk-manual/extensible:Setting up the Extensible SDK environment directly in a Yocto build>` 101 - :ref:`Support for using the regular build system as an SDK <sdk-manual/extensible:Setting up the Extensible SDK environment directly in a Yocto build>`
102 - :ref:`image-buildinfo <ref-classes-image-buildinfo>` class now also writes build information to SDKs 102 - :ref:`ref-classes-image-buildinfo` class now also writes build information to SDKs
103 - New :term:`SDK_TOOLCHAIN_LANGS` variable to control support of rust / go in SDK 103 - New :term:`SDK_TOOLCHAIN_LANGS` variable to control support of rust / go in SDK
104 - rust-llvm: enabled :ref:`nativesdk <ref-classes-nativesdk>` variant 104 - rust-llvm: enabled :ref:`ref-classes-nativesdk` variant
105 - python3-pluggy: enabled for :ref:`native <ref-classes-native>` / :ref:`nativesdk <ref-classes-nativesdk>` 105 - python3-pluggy: enabled for :ref:`ref-classes-native` / :ref:`ref-classes-nativesdk`
106 106
107- QEMU/runqemu enhancements: 107- QEMU/runqemu enhancements:
108 108
@@ -115,11 +115,11 @@ New Features / Enhancements in 4.1
115 - New variable :term:`UBOOT_MKIMAGE_KERNEL_TYPE` 115 - New variable :term:`UBOOT_MKIMAGE_KERNEL_TYPE`
116 - New variable :term:`FIT_PAD_ALG` to control FIT image padding algorithm 116 - New variable :term:`FIT_PAD_ALG` to control FIT image padding algorithm
117 - New :term:`KERNEL_DEPLOY_DEPEND` variable to allow disabling image dependency on deploying the kernel 117 - New :term:`KERNEL_DEPLOY_DEPEND` variable to allow disabling image dependency on deploying the kernel
118 - :ref:`image_types <ref-classes-image_types>`: isolate the write of UBI 118 - :ref:`ref-classes-image_types`: isolate the write of UBI
119 configuration to a ``write_ubi_config`` function that can be easily overridden 119 configuration to a ``write_ubi_config`` function that can be easily overridden
120 120
121- openssh: add support for config snippet includes to ssh and sshd 121- openssh: add support for config snippet includes to ssh and sshd
122- :ref:`create-spdx <ref-classes-create-spdx>`: Add :term:`SPDX_PRETTY` option 122- :ref:`ref-classes-create-spdx`: Add :term:`SPDX_PRETTY` option
123- wpa-supplicant: build static library if not disabled via :term:`DISABLE_STATIC` 123- wpa-supplicant: build static library if not disabled via :term:`DISABLE_STATIC`
124- wpa-supplicant: package dynamic modules 124- wpa-supplicant: package dynamic modules
125- openssl: extract legacy provider module to a separate package 125- openssl: extract legacy provider module to a separate package
@@ -132,11 +132,11 @@ New Features / Enhancements in 4.1
132- systemd: systemd-systemctl: Support instance conf files during enable 132- systemd: systemd-systemctl: Support instance conf files during enable
133- weston.init: enable ``xwayland`` in weston.ini if ``x11`` is in :term:`DISTRO_FEATURES` 133- weston.init: enable ``xwayland`` in weston.ini if ``x11`` is in :term:`DISTRO_FEATURES`
134- New ``npm_registry`` Python module to enable caching with nodejs 16+ 134- New ``npm_registry`` Python module to enable caching with nodejs 16+
135- :ref:`npm <ref-classes-npm>`: replaced ``npm pack`` call with ``tar czf`` for nodejs 16+ compatibility and improved ``do_configure`` performance 135- :ref:`ref-classes-npm`: replaced ``npm pack`` call with ``tar czf`` for nodejs 16+ compatibility and improved ``do_configure`` performance
136- Enabled :ref:`bin_package <ref-classes-bin-package>` class to work properly in the native case 136- Enabled :ref:`ref-classes-bin-package` class to work properly in the native case
137- Enabled :ref:`buildpaths <qa-check-buildpaths>` QA check as a warning by default 137- Enabled :ref:`buildpaths <qa-check-buildpaths>` QA check as a warning by default
138- New :term:`OVERLAYFS_ETC_EXPOSE_LOWER` to provide read-only access to the original ``/etc`` content with :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` 138- New :term:`OVERLAYFS_ETC_EXPOSE_LOWER` to provide read-only access to the original ``/etc`` content with :ref:`ref-classes-overlayfs-etc`
139- New :term:`OVERLAYFS_QA_SKIP` variable to allow skipping check on :ref:`overlayfs <ref-classes-overlayfs>` mounts 139- New :term:`OVERLAYFS_QA_SKIP` variable to allow skipping check on :ref:`ref-classes-overlayfs` mounts
140- New :term:`PACKAGECONFIG` options for individual recipes: 140- New :term:`PACKAGECONFIG` options for individual recipes:
141 141
142 - apr: xsi-strerror 142 - apr: xsi-strerror
@@ -176,7 +176,7 @@ New Features / Enhancements in 4.1
176- The Python ``zoneinfo`` module is now split out to its own ``python3-zoneinfo`` package. 176- The Python ``zoneinfo`` module is now split out to its own ``python3-zoneinfo`` package.
177- busybox: added devmem 128-bit support 177- busybox: added devmem 128-bit support
178- vim: split xxd out into its own package 178- vim: split xxd out into its own package
179- New :ref:`github-releases <ref-classes-github-releases>` class to consolidate version checks for github-based packages 179- New :ref:`ref-classes-github-releases` class to consolidate version checks for github-based packages
180- ``devtool reset`` now preserves ``workspace/sources`` source trees in ``workspace/attic/sources/`` instead of leaving them in-place 180- ``devtool reset`` now preserves ``workspace/sources`` source trees in ``workspace/attic/sources/`` instead of leaving them in-place
181- scripts/patchreview: Add commit to stored json data 181- scripts/patchreview: Add commit to stored json data
182- scripts/patchreview: Make json output human parsable 182- scripts/patchreview: Make json output human parsable
@@ -204,7 +204,7 @@ Known Issues in 4.1
204 :yocto_bugs:`bug 14626 </show_bug.cgi?id=14626>`, which also details the fix. 204 :yocto_bugs:`bug 14626 </show_bug.cgi?id=14626>`, which also details the fix.
205 205
206- The change to :ref:`migration-4.1-classes-split` inadvertently moved the 206- The change to :ref:`migration-4.1-classes-split` inadvertently moved the
207 :ref:`externalsrc <ref-classes-externalsrc>` class to ``meta/classes-recipe``, 207 :ref:`ref-classes-externalsrc` class to ``meta/classes-recipe``,
208 when it is not recipe-specific and can also be used in a global context. The 208 when it is not recipe-specific and can also be used in a global context. The
209 class will be moved back to ``meta/classes`` in the next point release. Filed 209 class will be moved back to ``meta/classes`` in the next point release. Filed
210 as :yocto_bugs:`bug 14940 </show_bug.cgi?id=14940>`. 210 as :yocto_bugs:`bug 14940 </show_bug.cgi?id=14940>`.
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
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index fed3dcc066..7dba617db5 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -37,7 +37,7 @@ information.
37``allarch`` 37``allarch``
38=========== 38===========
39 39
40The :ref:`allarch <ref-classes-allarch>` class is inherited by recipes that do not produce 40The :ref:`ref-classes-allarch` class is inherited by recipes that do not produce
41architecture-specific output. The class disables functionality that is 41architecture-specific output. The class disables functionality that is
42normally needed for recipes that produce executable binaries (such as 42normally needed for recipes that produce executable binaries (such as
43building the cross-compiler and a C library as pre-requisites, and 43building the cross-compiler and a C library as pre-requisites, and
@@ -49,7 +49,7 @@ splitting out of debug symbols during packaging).
49 produce packages that depend on tunings through use of the 49 produce packages that depend on tunings through use of the
50 :term:`RDEPENDS` and 50 :term:`RDEPENDS` and
51 :term:`TUNE_PKGARCH` variables, should never be 51 :term:`TUNE_PKGARCH` variables, should never be
52 configured for all architectures using :ref:`allarch <ref-classes-allarch>`. This is the case 52 configured for all architectures using :ref:`ref-classes-allarch`. This is the case
53 even if the recipes do not produce architecture-specific output. 53 even if the recipes do not produce architecture-specific output.
54 54
55 Configuring such recipes for all architectures causes the 55 Configuring such recipes for all architectures causes the
@@ -58,22 +58,22 @@ splitting out of debug symbols during packaging).
58 Additionally, unnecessary rebuilds occur every time an image for a 58 Additionally, unnecessary rebuilds occur every time an image for a
59 different :term:`MACHINE` is built even when the recipe never changes. 59 different :term:`MACHINE` is built even when the recipe never changes.
60 60
61By default, all recipes inherit the :ref:`base <ref-classes-base>` and 61By default, all recipes inherit the :ref:`ref-classes-base` and
62:ref:`package <ref-classes-package>` classes, which enable 62:ref:`ref-classes-package` classes, which enable
63functionality needed for recipes that produce executable output. If your 63functionality needed for recipes that produce executable output. If your
64recipe, for example, only produces packages that contain configuration 64recipe, for example, only produces packages that contain configuration
65files, media files, or scripts (e.g. Python and Perl), then it should 65files, media files, or scripts (e.g. Python and Perl), then it should
66inherit the :ref:`allarch <ref-classes-allarch>` class. 66inherit the :ref:`ref-classes-allarch` class.
67 67
68.. _ref-classes-archiver: 68.. _ref-classes-archiver:
69 69
70``archiver`` 70``archiver``
71============ 71============
72 72
73The :ref:`archiver <ref-classes-archiver>` class supports releasing source code and other 73The :ref:`ref-classes-archiver` class supports releasing source code and other
74materials with the binaries. 74materials with the binaries.
75 75
76For more details on the source :ref:`archiver <ref-classes-archiver>`, see the 76For more details on the source :ref:`ref-classes-archiver`, see the
77":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`" 77":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`"
78section in the Yocto Project Development Tasks Manual. You can also see 78section in the Yocto Project Development Tasks Manual. You can also see
79the :term:`ARCHIVER_MODE` variable for information 79the :term:`ARCHIVER_MODE` variable for information
@@ -102,7 +102,7 @@ By default, the :ref:`autotools* <ref-classes-autotools>` classes use out-of-tre
102If the software being built by a recipe does not support using 102If the software being built by a recipe does not support using
103out-of-tree builds, you should have the recipe inherit the 103out-of-tree builds, you should have the recipe inherit the
104:ref:`autotools-brokensep <ref-classes-autotools>` class. The :ref:`autotools-brokensep <ref-classes-autotools>` class behaves 104:ref:`autotools-brokensep <ref-classes-autotools>` class. The :ref:`autotools-brokensep <ref-classes-autotools>` class behaves
105the same as the :ref:`autotools <ref-classes-autotools>` class but builds with :term:`B` 105the same as the :ref:`ref-classes-autotools` class but builds with :term:`B`
106== :term:`S`. This method is useful when out-of-tree build 106== :term:`S`. This method is useful when out-of-tree build
107support is either not present or is broken. 107support is either not present or is broken.
108 108
@@ -133,14 +133,13 @@ It's useful to have some idea of how the tasks defined by the
133``base`` 133``base``
134======== 134========
135 135
136The :ref:`base <ref-classes-base>` class is special in that every ``.bb`` file implicitly 136The :ref:`ref-classes-base` class is special in that every ``.bb`` file implicitly
137inherits the class. This class contains definitions for standard basic 137inherits the class. This class contains definitions for standard basic
138tasks such as fetching, unpacking, configuring (empty by default), 138tasks such as fetching, unpacking, configuring (empty by default),
139compiling (runs any ``Makefile`` present), installing (empty by default) 139compiling (runs any ``Makefile`` present), installing (empty by default)
140and packaging (empty by default). These classes are often overridden or 140and packaging (empty by default). These classes are often overridden or
141extended by other classes such as the 141extended by other classes such as the :ref:`ref-classes-autotools` class or the
142:ref:`autotools <ref-classes-autotools>` class or the 142:ref:`ref-classes-package` class.
143:ref:`package <ref-classes-package>` class.
144 143
145The class also contains some commonly used functions such as 144The class also contains some commonly used functions such as
146``oe_runmake``, which runs ``make`` with the arguments specified in 145``oe_runmake``, which runs ``make`` with the arguments specified in
@@ -160,7 +159,7 @@ software that includes bash-completion data.
160``bin_package`` 159``bin_package``
161=============== 160===============
162 161
163The :ref:`bin_package <ref-classes-bin-package>` class is a helper class for recipes that extract the 162The :ref:`ref-classes-bin-package` class is a helper class for recipes that extract the
164contents of a binary package (e.g. an RPM) and install those contents 163contents of a binary package (e.g. an RPM) and install those contents
165rather than building the binary from source. The binary package is 164rather than building the binary from source. The binary package is
166extracted and new packages in the configured output package format are 165extracted and new packages in the configured output package format are
@@ -187,7 +186,7 @@ example use for this class.
187``binconfig`` 186``binconfig``
188============= 187=============
189 188
190The :ref:`binconfig <ref-classes-binconfig>` class helps to correct paths in shell scripts. 189The :ref:`ref-classes-binconfig` class helps to correct paths in shell scripts.
191 190
192Before ``pkg-config`` had become widespread, libraries shipped shell 191Before ``pkg-config`` had become widespread, libraries shipped shell
193scripts to give information about the libraries and include paths needed 192scripts to give information about the libraries and include paths needed
@@ -207,7 +206,7 @@ information.
207``binconfig-disabled`` 206``binconfig-disabled``
208====================== 207======================
209 208
210An alternative version of the :ref:`binconfig <ref-classes-binconfig>` 209An alternative version of the :ref:`ref-classes-binconfig`
211class, which disables binary configuration scripts by making them return 210class, which disables binary configuration scripts by making them return
212an error in favor of using ``pkg-config`` to query the information. The 211an error in favor of using ``pkg-config`` to query the information. The
213scripts to be disabled should be specified using the :term:`BINCONFIG` 212scripts to be disabled should be specified using the :term:`BINCONFIG`
@@ -218,7 +217,7 @@ variable within the recipe inheriting the class.
218``buildhistory`` 217``buildhistory``
219================ 218================
220 219
221The :ref:`buildhistory <ref-classes-buildhistory>` class records a history of build output metadata, 220The :ref:`ref-classes-buildhistory` class records a history of build output metadata,
222which can be used to detect possible regressions as well as used for 221which can be used to detect possible regressions as well as used for
223analysis of the build output. For more information on using Build 222analysis of the build output. For more information on using Build
224History, see the 223History, see the
@@ -230,7 +229,7 @@ section in the Yocto Project Development Tasks Manual.
230``buildstats`` 229``buildstats``
231============== 230==============
232 231
233The :ref:`buildstats <ref-classes-buildstats>` class records performance statistics about each task 232The :ref:`ref-classes-buildstats` class records performance statistics about each task
234executed during the build (e.g. elapsed time, CPU usage, and I/O usage). 233executed during the build (e.g. elapsed time, CPU usage, and I/O usage).
235 234
236When you use this class, the output goes into the 235When you use this class, the output goes into the
@@ -244,7 +243,7 @@ Collecting build statistics is enabled by default through the
244:term:`USER_CLASSES` variable from your 243:term:`USER_CLASSES` variable from your
245``local.conf`` file. Consequently, you do not have to do anything to 244``local.conf`` file. Consequently, you do not have to do anything to
246enable the class. However, if you want to disable the class, simply 245enable the class. However, if you want to disable the class, simply
247remove ":ref:`buildstats <ref-classes-buildstats>`" from the :term:`USER_CLASSES` list. 246remove ":ref:`ref-classes-buildstats`" from the :term:`USER_CLASSES` list.
248 247
249.. _ref-classes-buildstats-summary: 248.. _ref-classes-buildstats-summary:
250 249
@@ -253,14 +252,14 @@ remove ":ref:`buildstats <ref-classes-buildstats>`" from the :term:`USER_CLASSES
253 252
254When inherited globally, prints statistics at the end of the build on 253When inherited globally, prints statistics at the end of the build on
255sstate re-use. In order to function, this class requires the 254sstate re-use. In order to function, this class requires the
256:ref:`buildstats <ref-classes-buildstats>` class be enabled. 255:ref:`ref-classes-buildstats` class be enabled.
257 256
258.. _ref-classes-ccache: 257.. _ref-classes-ccache:
259 258
260``ccache`` 259``ccache``
261========== 260==========
262 261
263The :ref:`ccache <ref-classes-ccache>` class enables the C/C++ Compiler Cache for the build. 262The :ref:`ref-classes-ccache` class enables the C/C++ Compiler Cache for the build.
264This class is used to give a minor performance boost during the build. 263This class is used to give a minor performance boost during the build.
265 264
266See https://ccache.samba.org/ for information on the C/C++ Compiler 265See https://ccache.samba.org/ for information on the C/C++ Compiler
@@ -277,9 +276,9 @@ this class is not recommended.
277``chrpath`` 276``chrpath``
278=========== 277===========
279 278
280The :ref:`chrpath <ref-classes-chrpath>` class is a wrapper around the "chrpath" utility, which 279The :ref:`ref-classes-chrpath` class is a wrapper around the "chrpath" utility, which
281is used during the build process for :ref:`nativesdk <ref-classes-nativesdk>`, :ref:`cross <ref-classes-cross>`, and 280is used during the build process for :ref:`ref-classes-nativesdk`, :ref:`ref-classes-cross`, and
282:ref:`cross-canadian <ref-classes-cross-canadian>` recipes to change ``RPATH`` records within binaries 281:ref:`ref-classes-cross-canadian` recipes to change ``RPATH`` records within binaries
283in order to make them relocatable. 282in order to make them relocatable.
284 283
285.. _ref-classes-cmake: 284.. _ref-classes-cmake:
@@ -287,7 +286,7 @@ in order to make them relocatable.
287``cmake`` 286``cmake``
288========= 287=========
289 288
290The ref:`cmake <ref-classes-cmake>` class allows for recipes that need to build software using 289The ref:`ref-classes-cmake` class allows for recipes that need to build software using
291the `CMake <https://cmake.org/overview/>`__ build system. You can use 290the `CMake <https://cmake.org/overview/>`__ build system. You can use
292the :term:`EXTRA_OECMAKE` variable to specify 291the :term:`EXTRA_OECMAKE` variable to specify
293additional configuration options to be passed using the ``cmake`` 292additional configuration options to be passed using the ``cmake``
@@ -304,7 +303,7 @@ Modules during
304``cml1`` 303``cml1``
305======== 304========
306 305
307The :ref:`cml1 <ref-classes-cml1>` class provides basic support for the Linux kernel style 306The :ref:`ref-classes-cml1` class provides basic support for the Linux kernel style
308build configuration system. 307build configuration system.
309 308
310.. _ref-classes-compress_doc: 309.. _ref-classes-compress_doc:
@@ -322,18 +321,18 @@ but you can select an alternative mechanism by setting the
322``copyleft_compliance`` 321``copyleft_compliance``
323======================= 322=======================
324 323
325The :ref:`copyleft_compliance <ref-classes-copyleft_compliance>` class preserves source code for the purposes 324The :ref:`ref-classes-copyleft_compliance` class preserves source code for the purposes
326of license compliance. This class is an alternative to the :ref:`archiver <ref-classes-archiver>` 325of license compliance. This class is an alternative to the :ref:`ref-classes-archiver`
327class and is still used by some users even though it has been deprecated 326class and is still used by some users even though it has been deprecated
328in favor of the :ref:`archiver <ref-classes-archiver>` class. 327in favor of the :ref:`ref-classes-archiver` class.
329 328
330.. _ref-classes-copyleft_filter: 329.. _ref-classes-copyleft_filter:
331 330
332``copyleft_filter`` 331``copyleft_filter``
333=================== 332===================
334 333
335A class used by the :ref:`archiver <ref-classes-archiver>` and 334A class used by the :ref:`ref-classes-archiver` and
336:ref:`copyleft_compliance <ref-classes-copyleft_compliance>` classes 335:ref:`ref-classes-copyleft_compliance` classes
337for filtering licenses. The ``copyleft_filter`` class is an internal 336for filtering licenses. The ``copyleft_filter`` class is an internal
338class and is not intended to be used directly. 337class and is not intended to be used directly.
339 338
@@ -342,7 +341,7 @@ class and is not intended to be used directly.
342``core-image`` 341``core-image``
343============== 342==============
344 343
345The :ref:`core-image <ref-classes-core-image>` class provides common definitions for the 344The :ref:`ref-classes-core-image` class provides common definitions for the
346``core-image-*`` image recipes, such as support for additional 345``core-image-*`` image recipes, such as support for additional
347:term:`IMAGE_FEATURES`. 346:term:`IMAGE_FEATURES`.
348 347
@@ -372,7 +371,7 @@ support.
372``create-spdx`` 371``create-spdx``
373=============== 372===============
374 373
375The :ref:`create-spdx <ref-classes-create-spdx>` class provides support for 374The :ref:`ref-classes-create-spdx` class provides support for
376automatically creating :term:`SPDX` :term:`SBOM` documents based upon image 375automatically creating :term:`SPDX` :term:`SBOM` documents based upon image
377and SDK contents. 376and SDK contents.
378 377
@@ -398,7 +397,7 @@ section in the Yocto Project Development Manual for more details.
398``cross`` 397``cross``
399========= 398=========
400 399
401The :ref:`cross <ref-classes-cross>` class provides support for the recipes that build the 400The :ref:`ref-classes-cross` class provides support for the recipes that build the
402cross-compilation tools. 401cross-compilation tools.
403 402
404.. _ref-classes-cross-canadian: 403.. _ref-classes-cross-canadian:
@@ -406,7 +405,7 @@ cross-compilation tools.
406``cross-canadian`` 405``cross-canadian``
407================== 406==================
408 407
409The :ref:`cross-canadian <ref-classes-cross-canadian>` class provides support for the recipes that build 408The :ref:`ref-classes-cross-canadian` class provides support for the recipes that build
410the Canadian Cross-compilation tools for SDKs. See the 409the Canadian Cross-compilation tools for SDKs. See the
411":ref:`overview-manual/concepts:cross-development toolchain generation`" 410":ref:`overview-manual/concepts:cross-development toolchain generation`"
412section in the Yocto Project Overview and Concepts Manual for more 411section in the Yocto Project Overview and Concepts Manual for more
@@ -417,7 +416,7 @@ discussion on these cross-compilation tools.
417``crosssdk`` 416``crosssdk``
418============ 417============
419 418
420The :ref:`crosssdk <ref-classes-crosssdk>` class provides support for the recipes that build the 419The :ref:`ref-classes-crosssdk` class provides support for the recipes that build the
421cross-compilation tools used for building SDKs. See the 420cross-compilation tools used for building SDKs. See the
422":ref:`overview-manual/concepts:cross-development toolchain generation`" 421":ref:`overview-manual/concepts:cross-development toolchain generation`"
423section in the Yocto Project Overview and Concepts Manual for more 422section in the Yocto Project Overview and Concepts Manual for more
@@ -428,7 +427,7 @@ discussion on these cross-compilation tools.
428``cve-check`` 427``cve-check``
429============= 428=============
430 429
431The :ref:`cve-check <ref-classes-cve-check>` class looks for known CVEs (Common Vulnerabilities 430The :ref:`ref-classes-cve-check` class looks for known CVEs (Common Vulnerabilities
432and Exposures) while building with BitBake. This class is meant to be 431and Exposures) while building with BitBake. This class is meant to be
433inherited globally from a configuration file:: 432inherited globally from a configuration file::
434 433
@@ -492,7 +491,7 @@ section in the Development Tasks Manual.
492``debian`` 491``debian``
493========== 492==========
494 493
495The :ref:`debian <ref-classes-debian>` class renames output packages so that they follow the 494The :ref:`ref-classes-debian` class renames output packages so that they follow the
496Debian naming policy (i.e. ``glibc`` becomes ``libc6`` and 495Debian naming policy (i.e. ``glibc`` becomes ``libc6`` and
497``glibc-devel`` becomes ``libc6-dev``.) Renaming includes the library 496``glibc-devel`` becomes ``libc6-dev``.) Renaming includes the library
498name and version as part of the package name. 497name and version as part of the package name.
@@ -507,7 +506,7 @@ naming scheme.
507``deploy`` 506``deploy``
508========== 507==========
509 508
510The :ref:`deploy <ref-classes-deploy>` class handles deploying files to the 509The :ref:`ref-classes-deploy` class handles deploying files to the
511:term:`DEPLOY_DIR_IMAGE` directory. The main 510:term:`DEPLOY_DIR_IMAGE` directory. The main
512function of this class is to allow the deploy step to be accelerated by 511function of this class is to allow the deploy step to be accelerated by
513shared state. Recipes that inherit this class should define their own 512shared state. Recipes that inherit this class should define their own
@@ -523,17 +522,17 @@ staging the files from :term:`DEPLOYDIR` to :term:`DEPLOY_DIR_IMAGE`.
523``devshell`` 522``devshell``
524============ 523============
525 524
526The :ref:`devshell <ref-classes-devshell>` class adds the :ref:`ref-tasks-devshell` task. Distribution 525The :ref:`ref-classes-devshell` class adds the :ref:`ref-tasks-devshell` task. Distribution
527policy dictates whether to include this class. See the ":ref:`dev-manual/development-shell:using a development shell`" 526policy dictates whether to include this class. See the ":ref:`dev-manual/development-shell:using a development shell`"
528section in the Yocto Project Development Tasks Manual for more 527section in the Yocto Project Development Tasks Manual for more
529information about using :ref:`devshell <ref-classes-devshell>`. 528information about using :ref:`ref-classes-devshell`.
530 529
531.. _ref-classes-devupstream: 530.. _ref-classes-devupstream:
532 531
533``devupstream`` 532``devupstream``
534=============== 533===============
535 534
536The :ref:`devupstream <ref-classes-devupstream>` class uses 535The :ref:`ref-classes-devupstream` class uses
537:term:`BBCLASSEXTEND` to add a variant of the 536:term:`BBCLASSEXTEND` to add a variant of the
538recipe that fetches from an alternative URI (e.g. Git) instead of a 537recipe that fetches from an alternative URI (e.g. Git) instead of a
539tarball. Following is an example:: 538tarball. Following is an example::
@@ -555,10 +554,10 @@ Any development-specific adjustments can be done by using the
555 554
556The class 555The class
557currently only supports creating a development variant of the target 556currently only supports creating a development variant of the target
558recipe, not :ref:`native <ref-classes-native>` or :ref:`nativesdk <ref-classes-nativesdk>` variants. 557recipe, not :ref:`ref-classes-native` or :ref:`ref-classes-nativesdk` variants.
559 558
560The :term:`BBCLASSEXTEND` syntax (i.e. ``devupstream:target``) provides 559The :term:`BBCLASSEXTEND` syntax (i.e. ``devupstream:target``) provides
561support for :ref:`native <ref-classes-native>` and :ref:`nativesdk <ref-classes-nativesdk>` variants. Consequently, this 560support for :ref:`ref-classes-native` and :ref:`ref-classes-nativesdk` variants. Consequently, this
562functionality can be added in a future release. 561functionality can be added in a future release.
563 562
564Support for other version control systems such as Subversion is limited 563Support for other version control systems such as Subversion is limited
@@ -570,7 +569,7 @@ due to BitBake's automatic fetch dependencies (e.g.
570``externalsrc`` 569``externalsrc``
571=============== 570===============
572 571
573The :ref:`externalsrc <ref-classes-externalsrc>` class supports building software from source code 572The :ref:`ref-classes-externalsrc` class supports building software from source code
574that is external to the OpenEmbedded build system. Building software 573that is external to the OpenEmbedded build system. Building software
575from an external source tree means that the build system's normal fetch, 574from an external source tree means that the build system's normal fetch,
576unpack, and patch process is not used. 575unpack, and patch process is not used.
@@ -578,7 +577,7 @@ unpack, and patch process is not used.
578By default, the OpenEmbedded build system uses the :term:`S` 577By default, the OpenEmbedded build system uses the :term:`S`
579and :term:`B` variables to locate unpacked recipe source code 578and :term:`B` variables to locate unpacked recipe source code
580and to build it, respectively. When your recipe inherits the 579and to build it, respectively. When your recipe inherits the
581:ref:`externalsrc <ref-classes-externalsrc>` class, you use the 580:ref:`ref-classes-externalsrc` class, you use the
582:term:`EXTERNALSRC` and :term:`EXTERNALSRC_BUILD` variables to 581:term:`EXTERNALSRC` and :term:`EXTERNALSRC_BUILD` variables to
583ultimately define :term:`S` and :term:`B`. 582ultimately define :term:`S` and :term:`B`.
584 583
@@ -594,10 +593,9 @@ See these variables for more information:
594:term:`WORKDIR`, :term:`BPN`, and 593:term:`WORKDIR`, :term:`BPN`, and
595:term:`PV`, 594:term:`PV`,
596 595
597For more information on the :ref:`externalsrc <ref-classes-externalsrc>` class, see the comments in 596For more information on the :ref:`ref-classes-externalsrc` class, see the comments in
598``meta/classes/externalsrc.bbclass`` in the :term:`Source Directory`. 597``meta/classes/externalsrc.bbclass`` in the :term:`Source Directory`.
599For information on how to use the 598For information on how to use the :ref:`ref-classes-externalsrc` class, see the
600:ref:`externalsrc <ref-classes-externalsrc>` class, see the
601":ref:`dev-manual/building:building software from an external source`" 599":ref:`dev-manual/building:building software from an external source`"
602section in the Yocto Project Development Tasks Manual. 600section in the Yocto Project Development Tasks Manual.
603 601
@@ -606,7 +604,7 @@ section in the Yocto Project Development Tasks Manual.
606``extrausers`` 604``extrausers``
607============== 605==============
608 606
609The :ref:`extrausers <ref-classes-extrausers>` class allows additional user and group configuration 607The :ref:`ref-classes-extrausers` class allows additional user and group configuration
610to be applied at the image level. Inheriting this class either globally 608to be applied at the image level. Inheriting this class either globally
611or from an image recipe allows additional user and group operations to 609or from an image recipe allows additional user and group operations to
612be performed using the 610be performed using the
@@ -614,13 +612,11 @@ be performed using the
614 612
615.. note:: 613.. note::
616 614
617 The user and group operations added using the 615 The user and group operations added using the :ref:`ref-classes-extrausers`
618 :ref:`extrausers <ref-classes-extrausers>`
619 class are not tied to a specific recipe outside of the recipe for the 616 class are not tied to a specific recipe outside of the recipe for the
620 image. Thus, the operations can be performed across the image as a 617 image. Thus, the operations can be performed across the image as a
621 whole. Use the 618 whole. Use the :ref:`ref-classes-useradd` class to add user and group
622 :ref:`useradd <ref-classes-useradd>` 619 configuration to a specific recipe.
623 class to add user and group configuration to a specific recipe.
624 620
625Here is an example that uses this class in an image recipe:: 621Here is an example that uses this class in an image recipe::
626 622
@@ -668,9 +664,9 @@ Finally, here is an example that sets the root password::
668``features_check`` 664``features_check``
669================== 665==================
670 666
671The :ref:`features_check <ref-classes-features_check>` class allows individual recipes to check 667The :ref:`ref-classes-features_check` class allows individual recipes to check
672for required and conflicting 668for required and conflicting :term:`DISTRO_FEATURES`, :term:`MACHINE_FEATURES`
673:term:`DISTRO_FEATURES`, :term:`MACHINE_FEATURES` or :term:`COMBINED_FEATURES`. 669or :term:`COMBINED_FEATURES`.
674 670
675This class provides support for the following variables: 671This class provides support for the following variables:
676 672
@@ -694,7 +690,7 @@ triggered.
694``fontcache`` 690``fontcache``
695============= 691=============
696 692
697The :ref:`fontcache <ref-classes-fontcache>` class generates the proper post-install and 693The :ref:`ref-classes-fontcache` class generates the proper post-install and
698post-remove (postinst and postrm) scriptlets for font packages. These 694post-remove (postinst and postrm) scriptlets for font packages. These
699scriptlets call ``fc-cache`` (part of ``Fontconfig``) to add the fonts 695scriptlets call ``fc-cache`` (part of ``Fontconfig``) to add the fonts
700to the font information cache. Since the cache files are 696to the font information cache. Since the cache files are
@@ -710,9 +706,9 @@ packages containing the fonts.
710``fs-uuid`` 706``fs-uuid``
711=========== 707===========
712 708
713The :ref:`fs-uuid <ref-classes-fs-uuid>` class extracts UUID from 709The :ref:`ref-classes-fs-uuid` class extracts UUID from
714``${``\ :term:`ROOTFS`\ ``}``, which must have been built 710``${``\ :term:`ROOTFS`\ ``}``, which must have been built
715by the time that this function gets called. The :ref:`fs-uuid <ref-classes-fs-uuid>` class only 711by the time that this function gets called. The :ref:`ref-classes-fs-uuid` class only
716works on ``ext`` file systems and depends on ``tune2fs``. 712works on ``ext`` file systems and depends on ``tune2fs``.
717 713
718.. _ref-classes-gconf: 714.. _ref-classes-gconf:
@@ -720,7 +716,7 @@ works on ``ext`` file systems and depends on ``tune2fs``.
720``gconf`` 716``gconf``
721========= 717=========
722 718
723The :ref:`gconf <ref-classes-gconf>` class provides common functionality for recipes that need 719The :ref:`ref-classes-gconf` class provides common functionality for recipes that need
724to install GConf schemas. The schemas will be put into a separate 720to install GConf schemas. The schemas will be put into a separate
725package (``${``\ :term:`PN`\ ``}-gconf``) that is created 721package (``${``\ :term:`PN`\ ``}-gconf``) that is created
726automatically when this class is inherited. This package uses the 722automatically when this class is inherited. This package uses the
@@ -732,7 +728,7 @@ register and unregister the schemas in the target image.
732``gettext`` 728``gettext``
733=========== 729===========
734 730
735The :ref:`gettext <ref-classes-gettext>` class provides support for building 731The :ref:`ref-classes-gettext` class provides support for building
736software that uses the GNU ``gettext`` internationalization and localization 732software that uses the GNU ``gettext`` internationalization and localization
737system. All recipes building software that use ``gettext`` should inherit this 733system. All recipes building software that use ``gettext`` should inherit this
738class. 734class.
@@ -742,11 +738,11 @@ class.
742``github-releases`` 738``github-releases``
743=================== 739===================
744 740
745For recipes that fetch release tarballs from github, the :ref:`github-releases <ref-classes-github-releases>` 741For recipes that fetch release tarballs from github, the :ref:`ref-classes-github-releases`
746class sets up a standard way for checking available upstream versions 742class sets up a standard way for checking available upstream versions
747(to support ``devtool upgrade`` and the Automated Upgrade Helper (AUH)). 743(to support ``devtool upgrade`` and the Automated Upgrade Helper (AUH)).
748 744
749To use it, add ":ref:`github-releases <ref-classes-github-releases>`" to the inherit line in the recipe, 745To use it, add ":ref:`ref-classes-github-releases`" to the inherit line in the recipe,
750and if the default value of :term:`GITHUB_BASE_URI` is not suitable, 746and if the default value of :term:`GITHUB_BASE_URI` is not suitable,
751then set your own value in the recipe. You should then use ``${GITHUB_BASE_URI}`` 747then set your own value in the recipe. You should then use ``${GITHUB_BASE_URI}``
752in the value you set for :term:`SRC_URI` within the recipe. 748in the value you set for :term:`SRC_URI` within the recipe.
@@ -756,7 +752,7 @@ in the value you set for :term:`SRC_URI` within the recipe.
756``gnomebase`` 752``gnomebase``
757============= 753=============
758 754
759The :ref:`gnomebase <ref-classes-gnomebase>` class is the base class for recipes that build 755The :ref:`ref-classes-gnomebase` class is the base class for recipes that build
760software from the GNOME stack. This class sets 756software from the GNOME stack. This class sets
761:term:`SRC_URI` to download the source from the GNOME 757:term:`SRC_URI` to download the source from the GNOME
762mirrors as well as extending :term:`FILES` with the typical 758mirrors as well as extending :term:`FILES` with the typical
@@ -785,7 +781,7 @@ introspection. This functionality is only enabled if the
785``grub-efi`` 781``grub-efi``
786============ 782============
787 783
788The :ref:`grub-efi <ref-classes-grub-efi>` class provides ``grub-efi``-specific functions for 784The :ref:`ref-classes-grub-efi` class provides ``grub-efi``-specific functions for
789building bootable images. 785building bootable images.
790 786
791This class supports several variables: 787This class supports several variables:
@@ -817,7 +813,7 @@ This class supports several variables:
817``gsettings`` 813``gsettings``
818============= 814=============
819 815
820The :ref:`gsettings <ref-classes-gsettings>` class provides common functionality for recipes that 816The :ref:`ref-classes-gsettings` class provides common functionality for recipes that
821need to install GSettings (glib) schemas. The schemas are assumed to be 817need to install GSettings (glib) schemas. The schemas are assumed to be
822part of the main package. Appropriate post-install and post-remove 818part of the main package. Appropriate post-install and post-remove
823(postinst/postrm) scriptlets are added to register and unregister the 819(postinst/postrm) scriptlets are added to register and unregister the
@@ -828,7 +824,7 @@ schemas in the target image.
828``gtk-doc`` 824``gtk-doc``
829=========== 825===========
830 826
831The :ref:`gtk-doc <ref-classes-gtk-doc>` class is a helper class to pull in the appropriate 827The :ref:`ref-classes-gtk-doc` class is a helper class to pull in the appropriate
832``gtk-doc`` dependencies and disable ``gtk-doc``. 828``gtk-doc`` dependencies and disable ``gtk-doc``.
833 829
834.. _ref-classes-gtk-icon-cache: 830.. _ref-classes-gtk-icon-cache:
@@ -836,7 +832,7 @@ The :ref:`gtk-doc <ref-classes-gtk-doc>` class is a helper class to pull in the
836``gtk-icon-cache`` 832``gtk-icon-cache``
837================== 833==================
838 834
839The :ref:`gtk-icon-cache <ref-classes-gtk-icon-cache>` class generates the proper post-install and 835The :ref:`ref-classes-gtk-icon-cache` class generates the proper post-install and
840post-remove (postinst/postrm) scriptlets for packages that use GTK+ and 836post-remove (postinst/postrm) scriptlets for packages that use GTK+ and
841install icons. These scriptlets call ``gtk-update-icon-cache`` to add 837install icons. These scriptlets call ``gtk-update-icon-cache`` to add
842the fonts to GTK+'s icon cache. Since the cache files are 838the fonts to GTK+'s icon cache. Since the cache files are
@@ -849,7 +845,7 @@ creation.
849``gtk-immodules-cache`` 845``gtk-immodules-cache``
850======================= 846=======================
851 847
852The :ref:`gtk-immodules-cache <ref-classes-gtk-immodules-cache>` class generates the proper post-install and 848The :ref:`ref-classes-gtk-immodules-cache` class generates the proper post-install and
853post-remove (postinst/postrm) scriptlets for packages that install GTK+ 849post-remove (postinst/postrm) scriptlets for packages that install GTK+
854input method modules for virtual keyboards. These scriptlets call 850input method modules for virtual keyboards. These scriptlets call
855``gtk-update-icon-cache`` to add the input method modules to the cache. 851``gtk-update-icon-cache`` to add the input method modules to the cache.
@@ -867,7 +863,7 @@ the packages containing the modules.
867``gzipnative`` 863``gzipnative``
868============== 864==============
869 865
870The :ref:`gzipnative <ref-classes-gzipnative>` class enables the use of different native versions of 866The :ref:`ref-classes-gzipnative` class enables the use of different native versions of
871``gzip`` and ``pigz`` rather than the versions of these tools from the 867``gzip`` and ``pigz`` rather than the versions of these tools from the
872build host. 868build host.
873 869
@@ -876,7 +872,7 @@ build host.
876``icecc`` 872``icecc``
877========= 873=========
878 874
879The :ref:`icecc <ref-classes-icecc>` class supports 875The :ref:`ref-classes-icecc` class supports
880`Icecream <https://github.com/icecc/icecream>`__, which facilitates 876`Icecream <https://github.com/icecc/icecream>`__, which facilitates
881taking compile jobs and distributing them among remote machines. 877taking compile jobs and distributing them among remote machines.
882 878
@@ -924,13 +920,13 @@ Additionally, you can list recipes using the
924your ``local.conf`` file to force ``icecc`` to be enabled for recipes 920your ``local.conf`` file to force ``icecc`` to be enabled for recipes
925using an empty :term:`PARALLEL_MAKE` variable. 921using an empty :term:`PARALLEL_MAKE` variable.
926 922
927Inheriting the :ref:`icecc <ref-classes-icecc>` class changes all sstate signatures. 923Inheriting the :ref:`ref-classes-icecc` class changes all sstate signatures.
928Consequently, if a development team has a dedicated build system that 924Consequently, if a development team has a dedicated build system that
929populates :term:`SSTATE_MIRRORS` and they want to 925populates :term:`SSTATE_MIRRORS` and they want to
930reuse sstate from :term:`SSTATE_MIRRORS`, then all developers and the build 926reuse sstate from :term:`SSTATE_MIRRORS`, then all developers and the build
931system need to either inherit the :ref:`icecc <ref-classes-icecc>` class or nobody should. 927system need to either inherit the :ref:`ref-classes-icecc` class or nobody should.
932 928
933At the distribution level, you can inherit the :ref:`icecc <ref-classes-icecc>` class to be 929At the distribution level, you can inherit the :ref:`ref-classes-icecc` class to be
934sure that all builders start with the same sstate signatures. After 930sure that all builders start with the same sstate signatures. After
935inheriting the class, you can then disable the feature by setting the 931inheriting the class, you can then disable the feature by setting the
936:term:`ICECC_DISABLED` variable to "1" as follows:: 932:term:`ICECC_DISABLED` variable to "1" as follows::
@@ -950,7 +946,7 @@ individually as follows in your ``local.conf`` file::
950``image`` 946``image``
951========= 947=========
952 948
953The :ref:`image <ref-classes-image>` class helps support creating images in different formats. 949The :ref:`ref-classes-image` class helps support creating images in different formats.
954First, the root filesystem is created from packages using one of the 950First, the root filesystem is created from packages using one of the
955``rootfs*.bbclass`` files (depending on the package format used) and 951``rootfs*.bbclass`` files (depending on the package format used) and
956then one or more image files are created. 952then one or more image files are created.
@@ -973,7 +969,7 @@ Yocto Project Overview and Concepts Manual.
973``image-buildinfo`` 969``image-buildinfo``
974=================== 970===================
975 971
976The :ref:`image-buildinfo <ref-classes-image-buildinfo>` class writes a plain text file containing 972The :ref:`ref-classes-image-buildinfo` class writes a plain text file containing
977build information to the target filesystem at ``${sysconfdir}/buildinfo`` 973build information to the target filesystem at ``${sysconfdir}/buildinfo``
978by default (as specified by :term:`IMAGE_BUILDINFO_FILE`). 974by default (as specified by :term:`IMAGE_BUILDINFO_FILE`).
979This can be useful for manually determining the origin of any given 975This can be useful for manually determining the origin of any given
@@ -995,14 +991,14 @@ to ``/buildinfo`` by default (as specified by
995``image_types`` 991``image_types``
996=============== 992===============
997 993
998The :ref:`image_types <ref-classes-image_types>` class defines all of the standard image output types 994The :ref:`ref-classes-image_types` class defines all of the standard image output types
999that you can enable through the 995that you can enable through the
1000:term:`IMAGE_FSTYPES` variable. You can use this 996:term:`IMAGE_FSTYPES` variable. You can use this
1001class as a reference on how to add support for custom image output 997class as a reference on how to add support for custom image output
1002types. 998types.
1003 999
1004By default, the :ref:`image <ref-classes-image>` class automatically 1000By default, the :ref:`ref-classes-image` class automatically
1005enables the :ref:`image_types <ref-classes-image_types>` class. The :ref:`image <ref-classes-image>` class uses the 1001enables the :ref:`ref-classes-image_types` class. The :ref:`ref-classes-image` class uses the
1006``IMGCLASSES`` variable as follows:: 1002``IMGCLASSES`` variable as follows::
1007 1003
1008 IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}" 1004 IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
@@ -1014,7 +1010,7 @@ enables the :ref:`image_types <ref-classes-image_types>` class. The :ref:`image
1014 IMGCLASSES += "image-postinst-intercepts" 1010 IMGCLASSES += "image-postinst-intercepts"
1015 inherit ${IMGCLASSES} 1011 inherit ${IMGCLASSES}
1016 1012
1017The :ref:`image_types <ref-classes-image_types>` class also handles conversion and compression of images. 1013The :ref:`ref-classes-image_types` class also handles conversion and compression of images.
1018 1014
1019.. note:: 1015.. note::
1020 1016
@@ -1040,7 +1036,7 @@ Normally, you do not use this class directly. Instead, you add "live" to
1040``insane`` 1036``insane``
1041========== 1037==========
1042 1038
1043The :ref:`insane <ref-classes-insane>` class adds a step to the package generation process so 1039The :ref:`ref-classes-insane` class adds a step to the package generation process so
1044that output quality assurance checks are generated by the OpenEmbedded 1040that output quality assurance checks are generated by the OpenEmbedded
1045build system. A range of checks are performed that check the build's 1041build system. A range of checks are performed that check the build's
1046output for common problems that show up during runtime. Distribution 1042output for common problems that show up during runtime. Distribution
@@ -1100,7 +1096,7 @@ Here are the tests you can list with the :term:`WARN_QA` and
1100 the package is installed into the image during the 1096 the package is installed into the image during the
1101 :ref:`ref-tasks-rootfs` task because the auto-detected 1097 :ref:`ref-tasks-rootfs` task because the auto-detected
1102 dependency was not satisfied. An example of this would be where the 1098 dependency was not satisfied. An example of this would be where the
1103 :ref:`update-rc.d <ref-classes-update-rc.d>` class automatically 1099 :ref:`ref-classes-update-rc.d` class automatically
1104 adds a dependency on the ``initscripts-functions`` package to 1100 adds a dependency on the ``initscripts-functions`` package to
1105 packages that install an initscript that refers to 1101 packages that install an initscript that refers to
1106 ``/etc/init.d/functions``. The recipe should really have an explicit 1102 ``/etc/init.d/functions``. The recipe should really have an explicit
@@ -1340,7 +1336,7 @@ Here are the tests you can list with the :term:`WARN_QA` and
1340``insserv`` 1336``insserv``
1341=========== 1337===========
1342 1338
1343The :ref:`insserv <ref-classes-insserv>` class uses the ``insserv`` utility to update the order 1339The :ref:`ref-classes-insserv` class uses the ``insserv`` utility to update the order
1344of symbolic links in ``/etc/rc?.d/`` within an image based on 1340of symbolic links in ``/etc/rc?.d/`` within an image based on
1345dependencies specified by LSB headers in the ``init.d`` scripts 1341dependencies specified by LSB headers in the ``init.d`` scripts
1346themselves. 1342themselves.
@@ -1350,10 +1346,10 @@ themselves.
1350``kernel`` 1346``kernel``
1351========== 1347==========
1352 1348
1353The :ref:`kernel <ref-classes-kernel>` class handles building Linux kernels. The class contains 1349The :ref:`ref-classes-kernel` class handles building Linux kernels. The class contains
1354code to build all kernel trees. All needed headers are staged into the 1350code to build all kernel trees. All needed headers are staged into the
1355:term:`STAGING_KERNEL_DIR` directory to allow out-of-tree module builds 1351:term:`STAGING_KERNEL_DIR` directory to allow out-of-tree module builds
1356using the :ref:`module <ref-classes-module>` class. 1352using the :ref:`ref-classes-module` class.
1357 1353
1358This means that each built kernel module is packaged separately and 1354This means that each built kernel module is packaged separately and
1359inter-module dependencies are created by parsing the ``modinfo`` output. 1355inter-module dependencies are created by parsing the ``modinfo`` output.
@@ -1361,23 +1357,22 @@ If all modules are required, then installing the ``kernel-modules``
1361package installs all packages with modules and various other kernel 1357package installs all packages with modules and various other kernel
1362packages such as ``kernel-vmlinux``. 1358packages such as ``kernel-vmlinux``.
1363 1359
1364The :ref:`kernel <ref-classes-kernel>` class contains logic that allows you to embed an initial 1360The :ref:`ref-classes-kernel` class contains logic that allows you to embed an initial
1365RAM filesystem (:term:`Initramfs`) image when you build the kernel image. For 1361RAM filesystem (:term:`Initramfs`) image when you build the kernel image. For
1366information on how to build an :term:`Initramfs`, see the 1362information on how to build an :term:`Initramfs`, see the
1367":ref:`dev-manual/building:building an initial ram filesystem (Initramfs) image`" section in 1363":ref:`dev-manual/building:building an initial ram filesystem (Initramfs) image`" section in
1368the Yocto Project Development Tasks Manual. 1364the Yocto Project Development Tasks Manual.
1369 1365
1370Various other classes are used by the :ref:`kernel <ref-classes-kernel>` and :ref:`module <ref-classes-module>` classes 1366Various other classes are used by the :ref:`ref-classes-kernel` and :ref:`ref-classes-module` classes
1371internally including the :ref:`kernel-arch <ref-classes-kernel-arch>`, 1367internally including the :ref:`ref-classes-kernel-arch`, :ref:`ref-classes-module-base`, and
1372:ref:`module-base <ref-classes-module-base>`, and 1368:ref:`ref-classes-linux-kernel-base` classes.
1373:ref:`linux-kernel-base <ref-classes-linux-kernel-base>` classes.
1374 1369
1375.. _ref-classes-kernel-arch: 1370.. _ref-classes-kernel-arch:
1376 1371
1377``kernel-arch`` 1372``kernel-arch``
1378=============== 1373===============
1379 1374
1380The :ref:`kernel-arch <ref-classes-kernel-arch>` class sets the ``ARCH`` environment variable for 1375The :ref:`ref-classes-kernel-arch` class sets the ``ARCH`` environment variable for
1381Linux kernel compilation (including modules). 1376Linux kernel compilation (including modules).
1382 1377
1383.. _ref-classes-kernel-devicetree: 1378.. _ref-classes-kernel-devicetree:
@@ -1385,26 +1380,25 @@ Linux kernel compilation (including modules).
1385``kernel-devicetree`` 1380``kernel-devicetree``
1386===================== 1381=====================
1387 1382
1388The :ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class, which is inherited by the 1383The :ref:`ref-classes-kernel-devicetree` class, which is inherited by the
1389:ref:`kernel <ref-classes-kernel>` class, supports device tree 1384:ref:`ref-classes-kernel` class, supports device tree generation.
1390generation.
1391 1385
1392.. _ref-classes-kernel-fitimage: 1386.. _ref-classes-kernel-fitimage:
1393 1387
1394``kernel-fitimage`` 1388``kernel-fitimage``
1395=================== 1389===================
1396 1390
1397The :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class provides support to pack a kernel image, 1391The :ref:`ref-classes-kernel-fitimage` class provides support to pack a kernel image,
1398device trees, a U-boot script, a :term:`Initramfs` bundle and a RAM disk 1392device trees, a U-boot script, a :term:`Initramfs` bundle and a RAM disk
1399into a single FIT image. In theory, a FIT image can support any number 1393into a single FIT image. In theory, a FIT image can support any number
1400of kernels, U-boot scripts, :term:`Initramfs` bundles, RAM disks and device-trees. 1394of kernels, U-boot scripts, :term:`Initramfs` bundles, RAM disks and device-trees.
1401However, :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` currently only supports 1395However, :ref:`ref-classes-kernel-fitimage` currently only supports
1402limited usecases: just one kernel image, an optional U-boot script, 1396limited usecases: just one kernel image, an optional U-boot script,
1403an optional :term:`Initramfs` bundle, an optional RAM disk, and any number of 1397an optional :term:`Initramfs` bundle, an optional RAM disk, and any number of
1404device tree. 1398device tree.
1405 1399
1406To create a FIT image, it is required that :term:`KERNEL_CLASSES` 1400To create a FIT image, it is required that :term:`KERNEL_CLASSES`
1407is set to include ":ref:`kernel-fitimage <ref-classes-kernel-fitimage>`" and :term:`KERNEL_IMAGETYPE` 1401is set to include ":ref:`ref-classes-kernel-fitimage`" and :term:`KERNEL_IMAGETYPE`
1408is set to "fitImage". 1402is set to "fitImage".
1409 1403
1410The options for the device tree compiler passed to ``mkimage -D`` 1404The options for the device tree compiler passed to ``mkimage -D``
@@ -1412,19 +1406,19 @@ when creating the FIT image are specified using the
1412:term:`UBOOT_MKIMAGE_DTCOPTS` variable. 1406:term:`UBOOT_MKIMAGE_DTCOPTS` variable.
1413 1407
1414Only a single kernel can be added to the FIT image created by 1408Only a single kernel can be added to the FIT image created by
1415:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the kernel image in FIT is mandatory. The 1409:ref:`ref-classes-kernel-fitimage` and the kernel image in FIT is mandatory. The
1416address where the kernel image is to be loaded by U-Boot is 1410address where the kernel image is to be loaded by U-Boot is
1417specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by 1411specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by
1418:term:`UBOOT_ENTRYPOINT`. 1412:term:`UBOOT_ENTRYPOINT`.
1419 1413
1420Multiple device trees can be added to the FIT image created by 1414Multiple device trees can be added to the FIT image created by
1421:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the device tree is optional. 1415:ref:`ref-classes-kernel-fitimage` and the device tree is optional.
1422The address where the device tree is to be loaded by U-Boot is 1416The address where the device tree is to be loaded by U-Boot is
1423specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays 1417specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays
1424and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries. 1418and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries.
1425 1419
1426Only a single RAM disk can be added to the FIT image created by 1420Only a single RAM disk can be added to the FIT image created by
1427:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the RAM disk in FIT is optional. 1421:ref:`ref-classes-kernel-fitimage` and the RAM disk in FIT is optional.
1428The address where the RAM disk image is to be loaded by U-Boot 1422The address where the RAM disk image is to be loaded by U-Boot
1429is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by 1423is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by
1430:term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to FIT image when 1424:term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to FIT image when
@@ -1432,7 +1426,7 @@ is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by
1432is set to 0. 1426is set to 0.
1433 1427
1434Only a single :term:`Initramfs` bundle can be added to the FIT image created by 1428Only a single :term:`Initramfs` bundle can be added to the FIT image created by
1435:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the :term:`Initramfs` bundle in FIT is optional. 1429:ref:`ref-classes-kernel-fitimage` and the :term:`Initramfs` bundle in FIT is optional.
1436In case of :term:`Initramfs`, the kernel is configured to be bundled with the root filesystem 1430In case of :term:`Initramfs`, the kernel is configured to be bundled with the root filesystem
1437in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin). 1431in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin).
1438When the kernel is copied to RAM and executed, it unpacks the :term:`Initramfs` root filesystem. 1432When the kernel is copied to RAM and executed, it unpacks the :term:`Initramfs` root filesystem.
@@ -1442,21 +1436,21 @@ The address where the :term:`Initramfs` bundle is to be loaded by U-boot is spec
1442by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`. 1436by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`.
1443 1437
1444Only a single U-boot boot script can be added to the FIT image created by 1438Only a single U-boot boot script can be added to the FIT image created by
1445:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the boot script is optional. 1439:ref:`ref-classes-kernel-fitimage` and the boot script is optional.
1446The boot script is specified in the ITS file as a text file containing 1440The boot script is specified in the ITS file as a text file containing
1447U-boot commands. When using a boot script the user should configure the 1441U-boot commands. When using a boot script the user should configure the
1448U-boot :ref:`ref-tasks-install` task to copy the script to sysroot. 1442U-boot :ref:`ref-tasks-install` task to copy the script to sysroot.
1449So the script can be included in the FIT image by the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` 1443So the script can be included in the FIT image by the :ref:`ref-classes-kernel-fitimage`
1450class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to 1444class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to
1451load the boot script from the FIT image and executes it. 1445load the boot script from the FIT image and executes it.
1452 1446
1453The FIT image generated by :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class is signed when the 1447The FIT image generated by :ref:`ref-classes-kernel-fitimage` class is signed when the
1454variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`, 1448variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`,
1455:term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set 1449:term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set
1456appropriately. The default values used for :term:`FIT_HASH_ALG` and 1450appropriately. The default values used for :term:`FIT_HASH_ALG` and
1457:term:`FIT_SIGN_ALG` in :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` are "sha256" and 1451:term:`FIT_SIGN_ALG` in :ref:`ref-classes-kernel-fitimage` are "sha256" and
1458"rsa2048" respectively. The keys for signing fitImage can be generated using 1452"rsa2048" respectively. The keys for signing fitImage can be generated using
1459the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class when both :term:`FIT_GENERATE_KEYS` and 1453the :ref:`ref-classes-kernel-fitimage` class when both :term:`FIT_GENERATE_KEYS` and
1460:term:`UBOOT_SIGN_ENABLE` are set to "1". 1454:term:`UBOOT_SIGN_ENABLE` are set to "1".
1461 1455
1462 1456
@@ -1465,7 +1459,7 @@ the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class when both :term:`
1465``kernel-grub`` 1459``kernel-grub``
1466=============== 1460===============
1467 1461
1468The :ref:`kernel-grub <ref-classes-kernel-grub>` class updates the boot area and the boot menu with 1462The :ref:`ref-classes-kernel-grub` class updates the boot area and the boot menu with
1469the kernel as the priority boot mechanism while installing a RPM to 1463the kernel as the priority boot mechanism while installing a RPM to
1470update the kernel on a deployed target. 1464update the kernel on a deployed target.
1471 1465
@@ -1474,7 +1468,7 @@ update the kernel on a deployed target.
1474``kernel-module-split`` 1468``kernel-module-split``
1475======================= 1469=======================
1476 1470
1477The :ref:`kernel-module-split <ref-classes-kernel-module-split>` class provides common functionality for 1471The :ref:`ref-classes-kernel-module-split` class provides common functionality for
1478splitting Linux kernel modules into separate packages. 1472splitting Linux kernel modules into separate packages.
1479 1473
1480.. _ref-classes-kernel-uboot: 1474.. _ref-classes-kernel-uboot:
@@ -1482,7 +1476,7 @@ splitting Linux kernel modules into separate packages.
1482``kernel-uboot`` 1476``kernel-uboot``
1483================ 1477================
1484 1478
1485The :ref:`kernel-uboot <ref-classes-kernel-uboot>` class provides support for building from 1479The :ref:`ref-classes-kernel-uboot` class provides support for building from
1486vmlinux-style kernel sources. 1480vmlinux-style kernel sources.
1487 1481
1488.. _ref-classes-kernel-uimage: 1482.. _ref-classes-kernel-uimage:
@@ -1490,14 +1484,14 @@ vmlinux-style kernel sources.
1490``kernel-uimage`` 1484``kernel-uimage``
1491================= 1485=================
1492 1486
1493The :ref:`kernel-uimage <ref-classes-kernel-uimage>` class provides support to pack uImage. 1487The :ref:`ref-classes-kernel-uimage` class provides support to pack uImage.
1494 1488
1495.. _ref-classes-kernel-yocto: 1489.. _ref-classes-kernel-yocto:
1496 1490
1497``kernel-yocto`` 1491``kernel-yocto``
1498================ 1492================
1499 1493
1500The :ref:`kernel-yocto <ref-classes-kernel-yocto>` class provides common functionality for building 1494The :ref:`ref-classes-kernel-yocto` class provides common functionality for building
1501from linux-yocto style kernel source repositories. 1495from linux-yocto style kernel source repositories.
1502 1496
1503.. _ref-classes-kernelsrc: 1497.. _ref-classes-kernelsrc:
@@ -1505,14 +1499,14 @@ from linux-yocto style kernel source repositories.
1505``kernelsrc`` 1499``kernelsrc``
1506============= 1500=============
1507 1501
1508The :ref:`kernelsrc <ref-classes-kernelsrc>` class sets the Linux kernel source and version. 1502The :ref:`ref-classes-kernelsrc` class sets the Linux kernel source and version.
1509 1503
1510.. _ref-classes-lib_package: 1504.. _ref-classes-lib_package:
1511 1505
1512``lib_package`` 1506``lib_package``
1513=============== 1507===============
1514 1508
1515The :ref:`lib_package <ref-classes-lib_package>` class supports recipes that build libraries and 1509The :ref:`ref-classes-lib_package` class supports recipes that build libraries and
1516produce executable binaries, where those binaries should not be 1510produce executable binaries, where those binaries should not be
1517installed by default along with the library. Instead, the binaries are 1511installed by default along with the library. Instead, the binaries are
1518added to a separate ``${``\ :term:`PN`\ ``}-bin`` package to 1512added to a separate ``${``\ :term:`PN`\ ``}-bin`` package to
@@ -1523,7 +1517,7 @@ make their installation optional.
1523``libc*`` 1517``libc*``
1524========= 1518=========
1525 1519
1526The :ref:`libc* <ref-classes-libc*>` classes support recipes that build packages with ``libc``: 1520The :ref:`ref-classes-libc*` classes support recipes that build packages with ``libc``:
1527 1521
1528- The :ref:`libc-common <ref-classes-libc*>` class provides common support for building with 1522- The :ref:`libc-common <ref-classes-libc*>` class provides common support for building with
1529 ``libc``. 1523 ``libc``.
@@ -1536,7 +1530,7 @@ The :ref:`libc* <ref-classes-libc*>` classes support recipes that build packages
1536``license`` 1530``license``
1537=========== 1531===========
1538 1532
1539The :ref:`license <ref-classes-license>` class provides license manifest creation and license 1533The :ref:`ref-classes-license` class provides license manifest creation and license
1540exclusion. This class is enabled by default using the default value for 1534exclusion. This class is enabled by default using the default value for
1541the :term:`INHERIT_DISTRO` variable. 1535the :term:`INHERIT_DISTRO` variable.
1542 1536
@@ -1545,7 +1539,7 @@ the :term:`INHERIT_DISTRO` variable.
1545``linux-kernel-base`` 1539``linux-kernel-base``
1546===================== 1540=====================
1547 1541
1548The :ref:`linux-kernel-base <ref-classes-linux-kernel-base>` class provides common functionality for 1542The :ref:`ref-classes-linux-kernel-base` class provides common functionality for
1549recipes that build out of the Linux kernel source tree. These builds 1543recipes that build out of the Linux kernel source tree. These builds
1550goes beyond the kernel itself. For example, the Perf recipe also 1544goes beyond the kernel itself. For example, the Perf recipe also
1551inherits this class. 1545inherits this class.
@@ -1564,11 +1558,11 @@ number of other classes.
1564``logging`` 1558``logging``
1565=========== 1559===========
1566 1560
1567The :ref:`logging <ref-classes-logging>` class provides the standard shell functions used to log 1561The :ref:`ref-classes-logging` class provides the standard shell functions used to log
1568messages for various BitBake severity levels (i.e. ``bbplain``, 1562messages for various BitBake severity levels (i.e. ``bbplain``,
1569``bbnote``, ``bbwarn``, ``bberror``, ``bbfatal``, and ``bbdebug``). 1563``bbnote``, ``bbwarn``, ``bberror``, ``bbfatal``, and ``bbdebug``).
1570 1564
1571This class is enabled by default since it is inherited by the :ref:`base <ref-classes-base>` 1565This class is enabled by default since it is inherited by the :ref:`ref-classes-base`
1572class. 1566class.
1573 1567
1574.. _ref-classes-metadata_scm: 1568.. _ref-classes-metadata_scm:
@@ -1576,20 +1570,20 @@ class.
1576``metadata_scm`` 1570``metadata_scm``
1577================ 1571================
1578 1572
1579The :ref:`metadata_scm <ref-classes-metadata_scm>` class provides functionality for querying the 1573The :ref:`ref-classes-metadata_scm` class provides functionality for querying the
1580branch and revision of a Source Code Manager (SCM) repository. 1574branch and revision of a Source Code Manager (SCM) repository.
1581 1575
1582The :ref:`base <ref-classes-base>` class uses this class to print the 1576The :ref:`ref-classes-base` class uses this class to print the revisions of
1583revisions of each layer before starting every build. The 1577each layer before starting every build. The :ref:`ref-classes-metadata_scm`
1584:ref:`metadata_scm <ref-classes-metadata_scm>` class is enabled by default because it is inherited by 1578class is enabled by default because it is inherited by the
1585the :ref:`base <ref-classes-base>` class. 1579:ref:`ref-classes-base` class.
1586 1580
1587.. _ref-classes-migrate_localcount: 1581.. _ref-classes-migrate_localcount:
1588 1582
1589``migrate_localcount`` 1583``migrate_localcount``
1590====================== 1584======================
1591 1585
1592The :ref:`migrate_localcount <ref-classes-migrate_localcount>` class verifies a recipe's localcount data and 1586The :ref:`ref-classes-migrate_localcount` class verifies a recipe's localcount data and
1593increments it appropriately. 1587increments it appropriately.
1594 1588
1595.. _ref-classes-mime: 1589.. _ref-classes-mime:
@@ -1597,7 +1591,7 @@ increments it appropriately.
1597``mime`` 1591``mime``
1598======== 1592========
1599 1593
1600The :ref:`mime <ref-classes-mime>` class generates the proper post-install and post-remove 1594The :ref:`ref-classes-mime` class generates the proper post-install and post-remove
1601(postinst/postrm) scriptlets for packages that install MIME type files. 1595(postinst/postrm) scriptlets for packages that install MIME type files.
1602These scriptlets call ``update-mime-database`` to add the MIME types to 1596These scriptlets call ``update-mime-database`` to add the MIME types to
1603the shared database. 1597the shared database.
@@ -1607,7 +1601,7 @@ the shared database.
1607``mime-xdg`` 1601``mime-xdg``
1608============ 1602============
1609 1603
1610The :ref:`mime-xdg <ref-classes-mime-xdg>` class generates the proper 1604The :ref:`ref-classes-mime-xdg` class generates the proper
1611post-install and post-remove (postinst/postrm) scriptlets for packages 1605post-install and post-remove (postinst/postrm) scriptlets for packages
1612that install ``.desktop`` files containing ``MimeType`` entries. 1606that install ``.desktop`` files containing ``MimeType`` entries.
1613These scriptlets call ``update-desktop-database`` to add the MIME types 1607These scriptlets call ``update-desktop-database`` to add the MIME types
@@ -1628,25 +1622,23 @@ package names to the :term:`MIME_XDG_PACKAGES` variable.
1628``mirrors`` 1622``mirrors``
1629=========== 1623===========
1630 1624
1631The :ref:`mirrors <ref-classes-mirrors>` class sets up some standard 1625The :ref:`ref-classes-mirrors` class sets up some standard
1632:term:`MIRRORS` entries for source code mirrors. These 1626:term:`MIRRORS` entries for source code mirrors. These
1633mirrors provide a fall-back path in case the upstream source specified 1627mirrors provide a fall-back path in case the upstream source specified
1634in :term:`SRC_URI` within recipes is unavailable. 1628in :term:`SRC_URI` within recipes is unavailable.
1635 1629
1636This class is enabled by default since it is inherited by the 1630This class is enabled by default since it is inherited by the
1637:ref:`base <ref-classes-base>` class. 1631:ref:`ref-classes-base` class.
1638 1632
1639.. _ref-classes-module: 1633.. _ref-classes-module:
1640 1634
1641``module`` 1635``module``
1642========== 1636==========
1643 1637
1644The :ref:`module <ref-classes-module>` class provides support for building out-of-tree Linux 1638The :ref:`ref-classes-module` class provides support for building out-of-tree Linux
1645kernel modules. The class inherits the 1639kernel modules. The class inherits the :ref:`ref-classes-module-base` and
1646:ref:`module-base <ref-classes-module-base>` and 1640:ref:`ref-classes-kernel-module-split` classes, and implements the
1647:ref:`kernel-module-split <ref-classes-kernel-module-split>` classes, 1641:ref:`ref-tasks-compile` and :ref:`ref-tasks-install` tasks. The class provides
1648and implements the :ref:`ref-tasks-compile` and
1649:ref:`ref-tasks-install` tasks. The class provides
1650everything needed to build and package a kernel module. 1642everything needed to build and package a kernel module.
1651 1643
1652For general information on out-of-tree Linux kernel modules, see the 1644For general information on out-of-tree Linux kernel modules, see the
@@ -1658,18 +1650,18 @@ section in the Yocto Project Linux Kernel Development Manual.
1658``module-base`` 1650``module-base``
1659=============== 1651===============
1660 1652
1661The :ref:`module-base <ref-classes-module-base>` class provides the base functionality for building 1653The :ref:`ref-classes-module-base` class provides the base functionality for
1662Linux kernel modules. Typically, a recipe that builds software that 1654building Linux kernel modules. Typically, a recipe that builds software that
1663includes one or more kernel modules and has its own means of building 1655includes one or more kernel modules and has its own means of building the module
1664the module inherits this class as opposed to inheriting the 1656inherits this class as opposed to inheriting the :ref:`ref-classes-module`
1665:ref:`module <ref-classes-module>` class. 1657class.
1666 1658
1667.. _ref-classes-multilib*: 1659.. _ref-classes-multilib*:
1668 1660
1669``multilib*`` 1661``multilib*``
1670============= 1662=============
1671 1663
1672The :ref:`multilib* <ref-classes-multilib*>` classes provide support for building libraries with 1664The :ref:`ref-classes-multilib*` classes provide support for building libraries with
1673different target optimizations or target architectures and installing 1665different target optimizations or target architectures and installing
1674them side-by-side in the same image. 1666them side-by-side in the same image.
1675 1667
@@ -1682,17 +1674,17 @@ section in the Yocto Project Development Tasks Manual.
1682``native`` 1674``native``
1683========== 1675==========
1684 1676
1685The :ref:`native <ref-classes-native>` class provides common functionality for recipes that 1677The :ref:`ref-classes-native` class provides common functionality for recipes that
1686build tools to run on the :term:`Build Host` (i.e. tools that use the compiler 1678build tools to run on the :term:`Build Host` (i.e. tools that use the compiler
1687or other tools from the build host). 1679or other tools from the build host).
1688 1680
1689You can create a recipe that builds tools that run natively on the host 1681You can create a recipe that builds tools that run natively on the host
1690a couple different ways: 1682a couple different ways:
1691 1683
1692- Create a ``myrecipe-native.bb`` recipe that inherits the :ref:`native <ref-classes-native>` 1684- Create a ``myrecipe-native.bb`` recipe that inherits the :ref:`ref-classes-native`
1693 class. If you use this method, you must order the inherit statement 1685 class. If you use this method, you must order the inherit statement
1694 in the recipe after all other inherit statements so that the 1686 in the recipe after all other inherit statements so that the
1695 :ref:`native <ref-classes-native>` class is inherited last. 1687 :ref:`ref-classes-native` class is inherited last.
1696 1688
1697 .. note:: 1689 .. note::
1698 1690
@@ -1714,7 +1706,7 @@ a couple different ways:
1714 specify any functionality specific to the respective native or target 1706 specify any functionality specific to the respective native or target
1715 case. 1707 case.
1716 1708
1717Although applied differently, the :ref:`native <ref-classes-native>` class is used with both 1709Although applied differently, the :ref:`ref-classes-native` class is used with both
1718methods. The advantage of the second method is that you do not need to 1710methods. The advantage of the second method is that you do not need to
1719have two separate recipes (assuming you need both) for native and 1711have two separate recipes (assuming you need both) for native and
1720target. All common parts of the recipe are automatically shared. 1712target. All common parts of the recipe are automatically shared.
@@ -1724,7 +1716,7 @@ target. All common parts of the recipe are automatically shared.
1724``nativesdk`` 1716``nativesdk``
1725============= 1717=============
1726 1718
1727The :ref:`nativesdk <ref-classes-nativesdk>` class provides common functionality for recipes that 1719The :ref:`ref-classes-nativesdk` class provides common functionality for recipes that
1728wish to build tools to run as part of an SDK (i.e. tools that run on 1720wish to build tools to run as part of an SDK (i.e. tools that run on
1729:term:`SDKMACHINE`). 1721:term:`SDKMACHINE`).
1730 1722
@@ -1732,11 +1724,11 @@ You can create a recipe that builds tools that run on the SDK machine a
1732couple different ways: 1724couple different ways:
1733 1725
1734- Create a ``nativesdk-myrecipe.bb`` recipe that inherits the 1726- Create a ``nativesdk-myrecipe.bb`` recipe that inherits the
1735 :ref:`nativesdk <ref-classes-nativesdk>` class. If you use this method, you must order the 1727 :ref:`ref-classes-nativesdk` class. If you use this method, you must order the
1736 inherit statement in the recipe after all other inherit statements so 1728 inherit statement in the recipe after all other inherit statements so
1737 that the :ref:`nativesdk <ref-classes-nativesdk>` class is inherited last. 1729 that the :ref:`ref-classes-nativesdk` class is inherited last.
1738 1730
1739- Create a :ref:`nativesdk <ref-classes-nativesdk>` variant of any recipe by adding the following:: 1731- Create a :ref:`ref-classes-nativesdk` variant of any recipe by adding the following::
1740 1732
1741 BBCLASSEXTEND = "nativesdk" 1733 BBCLASSEXTEND = "nativesdk"
1742 1734
@@ -1755,7 +1747,7 @@ couple different ways:
1755 Not doing so can lead to subtle problems because there is code that 1747 Not doing so can lead to subtle problems because there is code that
1756 depends on the naming convention. 1748 depends on the naming convention.
1757 1749
1758Although applied differently, the :ref:`nativesdk <ref-classes-nativesdk>` class is used with both 1750Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both
1759methods. The advantage of the second method is that you do not need to 1751methods. The advantage of the second method is that you do not need to
1760have two separate recipes (assuming you need both) for the SDK machine 1752have two separate recipes (assuming you need both) for the SDK machine
1761and the target. All common parts of the recipe are automatically shared. 1753and the target. All common parts of the recipe are automatically shared.
@@ -1790,11 +1782,11 @@ section in the Yocto Project Development Tasks Manual.
1790``oelint`` 1782``oelint``
1791========== 1783==========
1792 1784
1793The :ref:`oelint <ref-classes-oelint>` class is an obsolete lint checking tool available in 1785The :ref:`ref-classes-oelint` class is an obsolete lint checking tool available in
1794``meta/classes`` in the :term:`Source Directory`. 1786``meta/classes`` in the :term:`Source Directory`.
1795 1787
1796There are some classes that could be generally useful in OE-Core but 1788There are some classes that could be generally useful in OE-Core but
1797are never actually used within OE-Core itself. The :ref:`oelint <ref-classes-oelint>` class is 1789are never actually used within OE-Core itself. The :ref:`ref-classes-oelint` class is
1798one such example. However, being aware of this class can reduce the 1790one such example. However, being aware of this class can reduce the
1799proliferation of different versions of similar classes across multiple 1791proliferation of different versions of similar classes across multiple
1800layers. 1792layers.
@@ -1808,7 +1800,7 @@ It's often desired in Embedded System design to have a read-only root filesystem
1808But a lot of different applications might want to have read-write access to 1800But a lot of different applications might want to have read-write access to
1809some parts of a filesystem. It can be especially useful when your update mechanism 1801some parts of a filesystem. It can be especially useful when your update mechanism
1810overwrites the whole root filesystem, but you may want your application data to be preserved 1802overwrites the whole root filesystem, but you may want your application data to be preserved
1811between updates. The :ref:`overlayfs <ref-classes-overlayfs>` class provides a way 1803between updates. The :ref:`ref-classes-overlayfs` class provides a way
1812to achieve that by means of ``overlayfs`` and at the same time keeping the base 1804to achieve that by means of ``overlayfs`` and at the same time keeping the base
1813root filesystem read-only. 1805root filesystem read-only.
1814 1806
@@ -1848,7 +1840,7 @@ and then in your recipe::
1848On a practical note, your application recipe might require multiple 1840On a practical note, your application recipe might require multiple
1849overlays to be mounted before running to avoid writing to the underlying 1841overlays to be mounted before running to avoid writing to the underlying
1850file system (which can be forbidden in case of read-only file system) 1842file system (which can be forbidden in case of read-only file system)
1851To achieve that :ref:`overlayfs <ref-classes-overlayfs>` provides a ``systemd`` 1843To achieve that :ref:`ref-classes-overlayfs` provides a ``systemd``
1852helper service for mounting overlays. This helper service is named 1844helper service for mounting overlays. This helper service is named
1853``${PN}-overlays.service`` and can be depended on in your application recipe 1845``${PN}-overlays.service`` and can be depended on in your application recipe
1854(named ``application`` in the following example) ``systemd`` unit by adding 1846(named ``application`` in the following example) ``systemd`` unit by adding
@@ -1861,7 +1853,7 @@ to the unit the following::
1861.. note:: 1853.. note::
1862 1854
1863 The class does not support the ``/etc`` directory itself, because ``systemd`` depends on it. 1855 The class does not support the ``/etc`` directory itself, because ``systemd`` depends on it.
1864 In order to get ``/etc`` in overlayfs, see :ref:`overlayfs-etc <ref-classes-overlayfs-etc>`. 1856 In order to get ``/etc`` in overlayfs, see :ref:`ref-classes-overlayfs-etc`.
1865 1857
1866.. _ref-classes-overlayfs-etc: 1858.. _ref-classes-overlayfs-etc:
1867 1859
@@ -1913,7 +1905,7 @@ The class provides two options for ``/sbin/init`` generation:
1913``own-mirrors`` 1905``own-mirrors``
1914=============== 1906===============
1915 1907
1916The :ref:`own-mirrors <ref-classes-own-mirrors>` class makes it easier to set up your own 1908The :ref:`ref-classes-own-mirrors` class makes it easier to set up your own
1917:term:`PREMIRRORS` from which to first fetch source 1909:term:`PREMIRRORS` from which to first fetch source
1918before attempting to fetch it from the upstream specified in 1910before attempting to fetch it from the upstream specified in
1919:term:`SRC_URI` within each recipe. 1911:term:`SRC_URI` within each recipe.
@@ -1932,18 +1924,16 @@ in :term:`SOURCE_MIRROR_URL`.
1932``package`` 1924``package``
1933=========== 1925===========
1934 1926
1935The :ref:`package <ref-classes-package>` class supports generating packages from a build's 1927The :ref:`ref-classes-package` class supports generating packages from a build's
1936output. The core generic functionality is in ``package.bbclass``. The 1928output. The core generic functionality is in ``package.bbclass``. The
1937code specific to particular package types resides in these 1929code specific to particular package types resides in these
1938package-specific classes: 1930package-specific classes: :ref:`ref-classes-package_deb`,
1939:ref:`package_deb <ref-classes-package_deb>`, 1931:ref:`ref-classes-package_rpm`, :ref:`ref-classes-package_ipk`, and
1940:ref:`package_rpm <ref-classes-package_rpm>`, 1932:ref:`ref-classes-package_tar`.
1941:ref:`package_ipk <ref-classes-package_ipk>`, and
1942:ref:`package_tar <ref-classes-package_tar>`.
1943 1933
1944.. note:: 1934.. note::
1945 1935
1946 The :ref:`package_tar <ref-classes-package_tar>` class is broken and 1936 The :ref:`ref-classes-package_tar` class is broken and
1947 not supported. It is recommended that you do not use this class. 1937 not supported. It is recommended that you do not use this class.
1948 1938
1949You can control the list of resulting package formats by using the 1939You can control the list of resulting package formats by using the
@@ -1969,7 +1959,7 @@ complete build of the package with all dependencies previously built.
1969The reason for this discrepancy is because the RPM package manager 1959The reason for this discrepancy is because the RPM package manager
1970creates and processes more :term:`Metadata` than the IPK package 1960creates and processes more :term:`Metadata` than the IPK package
1971manager. Consequently, you might consider setting :term:`PACKAGE_CLASSES` to 1961manager. Consequently, you might consider setting :term:`PACKAGE_CLASSES` to
1972":ref:`package_ipk <ref-classes-package_ipk>`" if you are building smaller systems. 1962":ref:`ref-classes-package_ipk`" if you are building smaller systems.
1973 1963
1974Before making your package manager decision, however, you should 1964Before making your package manager decision, however, you should
1975consider some further things about using RPM: 1965consider some further things about using RPM:
@@ -1997,12 +1987,12 @@ at these two Yocto Project mailing list links:
1997``package_deb`` 1987``package_deb``
1998=============== 1988===============
1999 1989
2000The :ref:`package_deb <ref-classes-package_deb>` class provides support for creating packages that 1990The :ref:`ref-classes-package_deb` class provides support for creating packages that
2001use the Debian (i.e. ``.deb``) file format. The class ensures the 1991use the Debian (i.e. ``.deb``) file format. The class ensures the
2002packages are written out in a ``.deb`` file format to the 1992packages are written out in a ``.deb`` file format to the
2003``${``\ :term:`DEPLOY_DIR_DEB`\ ``}`` directory. 1993``${``\ :term:`DEPLOY_DIR_DEB`\ ``}`` directory.
2004 1994
2005This class inherits the :ref:`package <ref-classes-package>` class and 1995This class inherits the :ref:`ref-classes-package` class and
2006is enabled through the :term:`PACKAGE_CLASSES` 1996is enabled through the :term:`PACKAGE_CLASSES`
2007variable in the ``local.conf`` file. 1997variable in the ``local.conf`` file.
2008 1998
@@ -2011,12 +2001,12 @@ variable in the ``local.conf`` file.
2011``package_ipk`` 2001``package_ipk``
2012=============== 2002===============
2013 2003
2014The :ref:`package_ipk <ref-classes-package_ipk>` class provides support for creating packages that 2004The :ref:`ref-classes-package_ipk` class provides support for creating packages that
2015use the IPK (i.e. ``.ipk``) file format. The class ensures the packages 2005use the IPK (i.e. ``.ipk``) file format. The class ensures the packages
2016are written out in a ``.ipk`` file format to the 2006are written out in a ``.ipk`` file format to the
2017``${``\ :term:`DEPLOY_DIR_IPK`\ ``}`` directory. 2007``${``\ :term:`DEPLOY_DIR_IPK`\ ``}`` directory.
2018 2008
2019This class inherits the :ref:`package <ref-classes-package>` class and 2009This class inherits the :ref:`ref-classes-package` class and
2020is enabled through the :term:`PACKAGE_CLASSES` 2010is enabled through the :term:`PACKAGE_CLASSES`
2021variable in the ``local.conf`` file. 2011variable in the ``local.conf`` file.
2022 2012
@@ -2025,12 +2015,12 @@ variable in the ``local.conf`` file.
2025``package_rpm`` 2015``package_rpm``
2026=============== 2016===============
2027 2017
2028The :ref:`package_rpm <ref-classes-package_rpm>` class provides support for creating packages that 2018The :ref:`ref-classes-package_rpm` class provides support for creating packages that
2029use the RPM (i.e. ``.rpm``) file format. The class ensures the packages 2019use the RPM (i.e. ``.rpm``) file format. The class ensures the packages
2030are written out in a ``.rpm`` file format to the 2020are written out in a ``.rpm`` file format to the
2031``${``\ :term:`DEPLOY_DIR_RPM`\ ``}`` directory. 2021``${``\ :term:`DEPLOY_DIR_RPM`\ ``}`` directory.
2032 2022
2033This class inherits the :ref:`package <ref-classes-package>` class and 2023This class inherits the :ref:`ref-classes-package` class and
2034is enabled through the :term:`PACKAGE_CLASSES` 2024is enabled through the :term:`PACKAGE_CLASSES`
2035variable in the ``local.conf`` file. 2025variable in the ``local.conf`` file.
2036 2026
@@ -2039,17 +2029,17 @@ variable in the ``local.conf`` file.
2039``package_tar`` 2029``package_tar``
2040=============== 2030===============
2041 2031
2042The :ref:`package_tar <ref-classes-package_tar>` class provides support for creating tarballs. The 2032The :ref:`ref-classes-package_tar` class provides support for creating tarballs. The
2043class ensures the packages are written out in a tarball format to the 2033class ensures the packages are written out in a tarball format to the
2044``${``\ :term:`DEPLOY_DIR_TAR`\ ``}`` directory. 2034``${``\ :term:`DEPLOY_DIR_TAR`\ ``}`` directory.
2045 2035
2046This class inherits the :ref:`package <ref-classes-package>` class and 2036This class inherits the :ref:`ref-classes-package` class and
2047is enabled through the :term:`PACKAGE_CLASSES` 2037is enabled through the :term:`PACKAGE_CLASSES`
2048variable in the ``local.conf`` file. 2038variable in the ``local.conf`` file.
2049 2039
2050.. note:: 2040.. note::
2051 2041
2052 You cannot specify the :ref:`package_tar <ref-classes-package_tar>` class first using the 2042 You cannot specify the :ref:`ref-classes-package_tar` class first using the
2053 :term:`PACKAGE_CLASSES` variable. You must use ``.deb``, ``.ipk``, or ``.rpm`` 2043 :term:`PACKAGE_CLASSES` variable. You must use ``.deb``, ``.ipk``, or ``.rpm``
2054 file formats for your image or SDK. 2044 file formats for your image or SDK.
2055 2045
@@ -2058,20 +2048,20 @@ variable in the ``local.conf`` file.
2058``packagedata`` 2048``packagedata``
2059=============== 2049===============
2060 2050
2061The :ref:`packagedata <ref-classes-packagedata>` class provides common functionality for reading 2051The :ref:`ref-classes-packagedata` class provides common functionality for reading
2062``pkgdata`` files found in :term:`PKGDATA_DIR`. These 2052``pkgdata`` files found in :term:`PKGDATA_DIR`. These
2063files contain information about each output package produced by the 2053files contain information about each output package produced by the
2064OpenEmbedded build system. 2054OpenEmbedded build system.
2065 2055
2066This class is enabled by default because it is inherited by the 2056This class is enabled by default because it is inherited by the
2067:ref:`package <ref-classes-package>` class. 2057:ref:`ref-classes-package` class.
2068 2058
2069.. _ref-classes-packagegroup: 2059.. _ref-classes-packagegroup:
2070 2060
2071``packagegroup`` 2061``packagegroup``
2072================ 2062================
2073 2063
2074The :ref:`packagegroup <ref-classes-packagegroup>` class sets default values appropriate for package 2064The :ref:`ref-classes-packagegroup` class sets default values appropriate for package
2075group recipes (e.g. :term:`PACKAGES`, :term:`PACKAGE_ARCH`, :term:`ALLOW_EMPTY`, and 2065group recipes (e.g. :term:`PACKAGES`, :term:`PACKAGE_ARCH`, :term:`ALLOW_EMPTY`, and
2076so forth). It is highly recommended that all package group recipes 2066so forth). It is highly recommended that all package group recipes
2077inherit this class. 2067inherit this class.
@@ -2087,18 +2077,18 @@ Previously, this class was called the ``task`` class.
2087``patch`` 2077``patch``
2088========= 2078=========
2089 2079
2090The :ref:`patch <ref-classes-patch>` class provides all functionality for applying patches 2080The :ref:`ref-classes-patch` class provides all functionality for applying patches
2091during the :ref:`ref-tasks-patch` task. 2081during the :ref:`ref-tasks-patch` task.
2092 2082
2093This class is enabled by default because it is inherited by the 2083This class is enabled by default because it is inherited by the
2094:ref:`base <ref-classes-base>` class. 2084:ref:`ref-classes-base` class.
2095 2085
2096.. _ref-classes-perlnative: 2086.. _ref-classes-perlnative:
2097 2087
2098``perlnative`` 2088``perlnative``
2099============== 2089==============
2100 2090
2101When inherited by a recipe, the :ref:`perlnative <ref-classes-perlnative>` class supports using the 2091When inherited by a recipe, the :ref:`ref-classes-perlnative` class supports using the
2102native version of Perl built by the build system rather than using the 2092native version of Perl built by the build system rather than using the
2103version provided by the build host. 2093version provided by the build host.
2104 2094
@@ -2107,14 +2097,14 @@ version provided by the build host.
2107``pypi`` 2097``pypi``
2108======== 2098========
2109 2099
2110The :ref:`pypi <ref-classes-pypi>` class sets variables appropriately for recipes that build 2100The :ref:`ref-classes-pypi` class sets variables appropriately for recipes that build
2111Python modules from `PyPI <https://pypi.org/>`__, the Python Package Index. 2101Python modules from `PyPI <https://pypi.org/>`__, the Python Package Index.
2112By default it determines the PyPI package name based upon :term:`BPN` 2102By default it determines the PyPI package name based upon :term:`BPN`
2113(stripping the "python-" or "python3-" prefix off if present), however in 2103(stripping the "python-" or "python3-" prefix off if present), however in
2114some cases you may need to set it manually in the recipe by setting 2104some cases you may need to set it manually in the recipe by setting
2115:term:`PYPI_PACKAGE`. 2105:term:`PYPI_PACKAGE`.
2116 2106
2117Variables set by the :ref:`pypi <ref-classes-pypi>` class include :term:`SRC_URI`, :term:`SECTION`, 2107Variables set by the :ref:`ref-classes-pypi` class include :term:`SRC_URI`, :term:`SECTION`,
2118:term:`HOMEPAGE`, :term:`UPSTREAM_CHECK_URI`, :term:`UPSTREAM_CHECK_REGEX` 2108:term:`HOMEPAGE`, :term:`UPSTREAM_CHECK_URI`, :term:`UPSTREAM_CHECK_REGEX`
2119and :term:`CVE_PRODUCT`. 2109and :term:`CVE_PRODUCT`.
2120 2110
@@ -2123,7 +2113,7 @@ and :term:`CVE_PRODUCT`.
2123``python_flit_core`` 2113``python_flit_core``
2124==================== 2114====================
2125 2115
2126The :ref:`python_flit_core <ref-classes-python_flit_core>` class enables building Python modules which declare 2116The :ref:`ref-classes-python_flit_core` class enables building Python modules which declare
2127the `PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant 2117the `PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant
2128``flit_core.buildapi`` ``build-backend`` in the ``[build-system]`` 2118``flit_core.buildapi`` ``build-backend`` in the ``[build-system]``
2129section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__). 2119section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__).
@@ -2131,40 +2121,39 @@ section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep
2131Python modules built with ``flit_core.buildapi`` are pure Python (no 2121Python modules built with ``flit_core.buildapi`` are pure Python (no
2132``C`` or ``Rust`` extensions). 2122``C`` or ``Rust`` extensions).
2133 2123
2134Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class. 2124Internally this uses the :ref:`ref-classes-python_pep517` class.
2135 2125
2136.. _ref-classes-python_pep517: 2126.. _ref-classes-python_pep517:
2137 2127
2138``python_pep517`` 2128``python_pep517``
2139================= 2129=================
2140 2130
2141The :ref:`python_pep517 <ref-classes-python_pep517>` class builds and installs a Python ``wheel`` binary 2131The :ref:`ref-classes-python_pep517` class builds and installs a Python ``wheel`` binary
2142archive (see `PEP-517 <https://peps.python.org/pep-0517/>`__). 2132archive (see `PEP-517 <https://peps.python.org/pep-0517/>`__).
2143 2133
2144Recipes wouldn't inherit this directly, instead typically another class will 2134Recipes wouldn't inherit this directly, instead typically another class will
2145inherit this and add the relevant native dependencies. 2135inherit this and add the relevant native dependencies.
2146 2136
2147Examples of classes which do this are :ref:`python_flit_core 2137Examples of classes which do this are :ref:`ref-classes-python_flit_core`,
2148<ref-classes-python_flit_core>`, :ref:`python_setuptools_build_meta 2138:ref:`ref-classes-python_setuptools_build_meta`, and
2149<ref-classes-python_setuptools_build_meta>`, and :ref:`python_poetry_core 2139:ref:`ref-classes-python_poetry_core`.
2150<ref-classes-python_poetry_core>`.
2151 2140
2152.. _ref-classes-python_poetry_core: 2141.. _ref-classes-python_poetry_core:
2153 2142
2154``python_poetry_core`` 2143``python_poetry_core``
2155====================== 2144======================
2156 2145
2157The :ref:`python_poetry_core <ref-classes-python_poetry_core>` class enables building Python modules which use the 2146The :ref:`ref-classes-python_poetry_core` class enables building Python modules which use the
2158`Poetry Core <https://python-poetry.org>`__ build system. 2147`Poetry Core <https://python-poetry.org>`__ build system.
2159 2148
2160Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class. 2149Internally this uses the :ref:`ref-classes-python_pep517` class.
2161 2150
2162.. _ref-classes-pixbufcache: 2151.. _ref-classes-pixbufcache:
2163 2152
2164``pixbufcache`` 2153``pixbufcache``
2165=============== 2154===============
2166 2155
2167The :ref:`pixbufcache <ref-classes-pixbufcache>` class generates the proper post-install and 2156The :ref:`ref-classes-pixbufcache` class generates the proper post-install and
2168post-remove (postinst/postrm) scriptlets for packages that install 2157post-remove (postinst/postrm) scriptlets for packages that install
2169pixbuf loaders, which are used with ``gdk-pixbuf``. These scriptlets 2158pixbuf loaders, which are used with ``gdk-pixbuf``. These scriptlets
2170call ``update_pixbuf_cache`` to add the pixbuf loaders to the cache. 2159call ``update_pixbuf_cache`` to add the pixbuf loaders to the cache.
@@ -2182,13 +2171,13 @@ containing the loaders.
2182``pkgconfig`` 2171``pkgconfig``
2183============= 2172=============
2184 2173
2185The :ref:`pkgconfig <ref-classes-pkgconfig>` class provides a standard way to get header and 2174The :ref:`ref-classes-pkgconfig` class provides a standard way to get header and
2186library information by using ``pkg-config``. This class aims to smooth 2175library information by using ``pkg-config``. This class aims to smooth
2187integration of ``pkg-config`` into libraries that use it. 2176integration of ``pkg-config`` into libraries that use it.
2188 2177
2189During staging, BitBake installs ``pkg-config`` data into the 2178During staging, BitBake installs ``pkg-config`` data into the
2190``sysroots/`` directory. By making use of sysroot functionality within 2179``sysroots/`` directory. By making use of sysroot functionality within
2191``pkg-config``, the :ref:`pkgconfig <ref-classes-pkgconfig>` class no longer has to manipulate the 2180``pkg-config``, the :ref:`ref-classes-pkgconfig` class no longer has to manipulate the
2192files. 2181files.
2193 2182
2194.. _ref-classes-populate-sdk: 2183.. _ref-classes-populate-sdk:
@@ -2196,7 +2185,7 @@ files.
2196``populate_sdk`` 2185``populate_sdk``
2197================ 2186================
2198 2187
2199The :ref:`populate_sdk <ref-classes-populate-sdk>` class provides support for SDK-only recipes. For 2188The :ref:`ref-classes-populate-sdk` class provides support for SDK-only recipes. For
2200information on advantages gained when building a cross-development 2189information on advantages gained when building a cross-development
2201toolchain using the :ref:`ref-tasks-populate_sdk` 2190toolchain using the :ref:`ref-tasks-populate_sdk`
2202task, see the ":ref:`sdk-manual/appendix-obtain:building an sdk installer`" 2191task, see the ":ref:`sdk-manual/appendix-obtain:building an sdk installer`"
@@ -2208,7 +2197,7 @@ Software Development Kit (eSDK) manual.
2208``populate_sdk_*`` 2197``populate_sdk_*``
2209================== 2198==================
2210 2199
2211The :ref:`populate_sdk_* <ref-classes-populate-sdk-*>` classes support SDK creation and consist of the 2200The :ref:`ref-classes-populate-sdk-*` classes support SDK creation and consist of the
2212following classes: 2201following classes:
2213 2202
2214- :ref:`populate_sdk_base <ref-classes-populate-sdk-*>`: The base class supporting SDK creation under 2203- :ref:`populate_sdk_base <ref-classes-populate-sdk-*>`: The base class supporting SDK creation under
@@ -2265,7 +2254,7 @@ Software Development Kit (eSDK) manual.
2265``prexport`` 2254``prexport``
2266============ 2255============
2267 2256
2268The :ref:`prexport <ref-classes-prexport>` class provides functionality for exporting 2257The :ref:`ref-classes-prexport` class provides functionality for exporting
2269:term:`PR` values. 2258:term:`PR` values.
2270 2259
2271.. note:: 2260.. note::
@@ -2278,7 +2267,7 @@ The :ref:`prexport <ref-classes-prexport>` class provides functionality for expo
2278``primport`` 2267``primport``
2279============ 2268============
2280 2269
2281The :ref:`primport <ref-classes-primport>` class provides functionality for importing 2270The :ref:`ref-classes-primport` class provides functionality for importing
2282:term:`PR` values. 2271:term:`PR` values.
2283 2272
2284.. note:: 2273.. note::
@@ -2291,13 +2280,13 @@ The :ref:`primport <ref-classes-primport>` class provides functionality for impo
2291``prserv`` 2280``prserv``
2292========== 2281==========
2293 2282
2294The :ref:`prserv <ref-classes-prserv>` class provides functionality for using a :ref:`PR 2283The :ref:`ref-classes-prserv` class provides functionality for using a :ref:`PR
2295service <dev-manual/packages:working with a pr service>` in order to 2284service <dev-manual/packages:working with a pr service>` in order to
2296automatically manage the incrementing of the :term:`PR` 2285automatically manage the incrementing of the :term:`PR`
2297variable for each recipe. 2286variable for each recipe.
2298 2287
2299This class is enabled by default because it is inherited by the 2288This class is enabled by default because it is inherited by the
2300:ref:`package <ref-classes-package>` class. However, the OpenEmbedded 2289:ref:`ref-classes-package` class. However, the OpenEmbedded
2301build system will not enable the functionality of this class unless 2290build system will not enable the functionality of this class unless
2302:term:`PRSERV_HOST` has been set. 2291:term:`PRSERV_HOST` has been set.
2303 2292
@@ -2306,7 +2295,7 @@ build system will not enable the functionality of this class unless
2306``ptest`` 2295``ptest``
2307========= 2296=========
2308 2297
2309The :ref:`ptest <ref-classes-ptest>` class provides functionality for packaging and installing 2298The :ref:`ref-classes-ptest` class provides functionality for packaging and installing
2310runtime tests for recipes that build software that provides these tests. 2299runtime tests for recipes that build software that provides these tests.
2311 2300
2312This class is intended to be inherited by individual recipes. However, 2301This class is intended to be inherited by individual recipes. However,
@@ -2333,7 +2322,7 @@ section in the Yocto Project Development Tasks Manual.
2333``python3-dir`` 2322``python3-dir``
2334=============== 2323===============
2335 2324
2336The :ref:`python3-dir <ref-classes-python3-dir>` class provides the base version, location, and site 2325The :ref:`ref-classes-python3-dir` class provides the base version, location, and site
2337package location for Python 3. 2326package location for Python 3.
2338 2327
2339.. _ref-classes-python3native: 2328.. _ref-classes-python3native:
@@ -2341,7 +2330,7 @@ package location for Python 3.
2341``python3native`` 2330``python3native``
2342================= 2331=================
2343 2332
2344The :ref:`python3native <ref-classes-python3native>` class supports using the native version of Python 2333The :ref:`ref-classes-python3native` class supports using the native version of Python
23453 built by the build system rather than support of the version provided 23343 built by the build system rather than support of the version provided
2346by the build host. 2335by the build host.
2347 2336
@@ -2350,7 +2339,7 @@ by the build host.
2350``python3targetconfig`` 2339``python3targetconfig``
2351======================= 2340=======================
2352 2341
2353The :ref:`python3targetconfig <ref-classes-python3targetconfig>` class supports using the native version of Python 2342The :ref:`ref-classes-python3targetconfig` class supports using the native version of Python
23543 built by the build system rather than support of the version provided 23433 built by the build system rather than support of the version provided
2355by the build host, except that the configuration for the target machine 2344by the build host, except that the configuration for the target machine
2356is accessible (such as correct installation directories). This also adds a 2345is accessible (such as correct installation directories). This also adds a
@@ -2362,7 +2351,7 @@ in order to avoid unnecessarily lengthening builds.
2362``qemu`` 2351``qemu``
2363======== 2352========
2364 2353
2365The :ref:`qemu <ref-classes-qemu>` class provides functionality for recipes that either need 2354The :ref:`ref-classes-qemu` class provides functionality for recipes that either need
2366QEMU or test for the existence of QEMU. Typically, this class is used to 2355QEMU or test for the existence of QEMU. Typically, this class is used to
2367run programs for a target system on the build host using QEMU's 2356run programs for a target system on the build host using QEMU's
2368application emulation mode. 2357application emulation mode.
@@ -2372,7 +2361,7 @@ application emulation mode.
2372``recipe_sanity`` 2361``recipe_sanity``
2373================= 2362=================
2374 2363
2375The :ref:`recipe_sanity <ref-classes-recipe_sanity>` class checks for the presence of any host system 2364The :ref:`ref-classes-recipe_sanity` class checks for the presence of any host system
2376recipe prerequisites that might affect the build (e.g. variables that 2365recipe prerequisites that might affect the build (e.g. variables that
2377are set or software that is present). 2366are set or software that is present).
2378 2367
@@ -2381,19 +2370,18 @@ are set or software that is present).
2381``relocatable`` 2370``relocatable``
2382=============== 2371===============
2383 2372
2384The :ref:`relocatable <ref-classes-relocatable>` class enables relocation of binaries when they are 2373The :ref:`ref-classes-relocatable` class enables relocation of binaries when they are
2385installed into the sysroot. 2374installed into the sysroot.
2386 2375
2387This class makes use of the :ref:`chrpath <ref-classes-chrpath>` class 2376This class makes use of the :ref:`ref-classes-chrpath` class and is used by
2388and is used by both the :ref:`cross <ref-classes-cross>` and 2377both the :ref:`ref-classes-cross` and :ref:`ref-classes-native` classes.
2389:ref:`native <ref-classes-native>` classes.
2390 2378
2391.. _ref-classes-remove-libtool: 2379.. _ref-classes-remove-libtool:
2392 2380
2393``remove-libtool`` 2381``remove-libtool``
2394================== 2382==================
2395 2383
2396The :ref:`remove-libtool <ref-classes-remove-libtool>` class adds a post function to the 2384The :ref:`ref-classes-remove-libtool` class adds a post function to the
2397:ref:`ref-tasks-install` task to remove all ``.la`` files 2385:ref:`ref-tasks-install` task to remove all ``.la`` files
2398installed by ``libtool``. Removing these files results in them being 2386installed by ``libtool``. Removing these files results in them being
2399absent from both the sysroot and target packages. 2387absent from both the sysroot and target packages.
@@ -2405,14 +2393,14 @@ override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows::
2405 2393
2406.. note:: 2394.. note::
2407 2395
2408 The :ref:`remove-libtool <ref-classes-remove-libtool>` class is not enabled by default. 2396 The :ref:`ref-classes-remove-libtool` class is not enabled by default.
2409 2397
2410.. _ref-classes-report-error: 2398.. _ref-classes-report-error:
2411 2399
2412``report-error`` 2400``report-error``
2413================ 2401================
2414 2402
2415The :ref:`report-error <ref-classes-report-error>` class supports enabling the :ref:`error reporting 2403The :ref:`ref-classes-report-error` class supports enabling the :ref:`error reporting
2416tool <dev-manual/error-reporting-tool:using the error reporting tool>`", 2404tool <dev-manual/error-reporting-tool:using the error reporting tool>`",
2417which allows you to submit build error information to a central database. 2405which allows you to submit build error information to a central database.
2418 2406
@@ -2427,7 +2415,7 @@ are created and stored in
2427``rm_work`` 2415``rm_work``
2428=========== 2416===========
2429 2417
2430The :ref:`rm_work <ref-classes-rm-work>` class supports deletion of temporary workspace, which 2418The :ref:`ref-classes-rm-work` class supports deletion of temporary workspace, which
2431can ease your hard drive demands during builds. 2419can ease your hard drive demands during builds.
2432 2420
2433The OpenEmbedded build system can use a substantial amount of disk space 2421The OpenEmbedded build system can use a substantial amount of disk space
@@ -2436,19 +2424,18 @@ under the ``${TMPDIR}/work`` directory for each recipe. Once the build
2436system generates the packages for a recipe, the work files for that 2424system generates the packages for a recipe, the work files for that
2437recipe are no longer needed. However, by default, the build system 2425recipe are no longer needed. However, by default, the build system
2438preserves these files for inspection and possible debugging purposes. If 2426preserves these files for inspection and possible debugging purposes. If
2439you would rather have these files deleted to save disk space as the 2427you would rather have these files deleted to save disk space as the build
2440build progresses, you can enable :ref:`rm_work <ref-classes-rm-work>` by adding the following to 2428progresses, you can enable :ref:`ref-classes-rm-work` by adding the following to
2441your ``local.conf`` file, which is found in the :term:`Build Directory`:: 2429your ``local.conf`` file, which is found in the :term:`Build Directory`::
2442 2430
2443 INHERIT += "rm_work" 2431 INHERIT += "rm_work"
2444 2432
2445If you are 2433If you are modifying and building source code out of the work directory for a
2446modifying and building source code out of the work directory for a 2434recipe, enabling :ref:`ref-classes-rm-work` will potentially result in your
2447recipe, enabling :ref:`rm_work <ref-classes-rm-work>` will potentially result in your changes to 2435changes to the source being lost. To exclude some recipes from having their work
2448the source being lost. To exclude some recipes from having their work 2436directories deleted by :ref:`ref-classes-rm-work`, you can add the names of the
2449directories deleted by :ref:`rm_work <ref-classes-rm-work>`, you can add the names of the recipe 2437recipe or recipes you are working on to the :term:`RM_WORK_EXCLUDE` variable,
2450or recipes you are working on to the :term:`RM_WORK_EXCLUDE` variable, which 2438which can also be set in your ``local.conf`` file. Here is an example::
2451can also be set in your ``local.conf`` file. Here is an example::
2452 2439
2453 RM_WORK_EXCLUDE += "busybox glibc" 2440 RM_WORK_EXCLUDE += "busybox glibc"
2454 2441
@@ -2457,7 +2444,7 @@ can also be set in your ``local.conf`` file. Here is an example::
2457``rootfs*`` 2444``rootfs*``
2458=========== 2445===========
2459 2446
2460The :ref:`rootfs* <ref-classes-rootfs*>` classes support creating the root filesystem for an 2447The :ref:`ref-classes-rootfs*` classes support creating the root filesystem for an
2461image and consist of the following classes: 2448image and consist of the following classes:
2462 2449
2463- The :ref:`rootfs-postcommands <ref-classes-rootfs*>` class, which defines filesystem 2450- The :ref:`rootfs-postcommands <ref-classes-rootfs*>` class, which defines filesystem
@@ -2476,8 +2463,8 @@ image and consist of the following classes:
2476 on the build host directly into the root filesystem. 2463 on the build host directly into the root filesystem.
2477 2464
2478The root filesystem is created from packages using one of the 2465The root filesystem is created from packages using one of the
2479:ref:`rootfs*.bbclass <ref-classes-rootfs*>` files as determined by the 2466:ref:`ref-classes-rootfs*` files as determined by the :term:`PACKAGE_CLASSES`
2480:term:`PACKAGE_CLASSES` variable. 2467variable.
2481 2468
2482For information on how root filesystem images are created, see the 2469For information on how root filesystem images are created, see the
2483":ref:`overview-manual/concepts:image generation`" 2470":ref:`overview-manual/concepts:image generation`"
@@ -2488,7 +2475,7 @@ section in the Yocto Project Overview and Concepts Manual.
2488``sanity`` 2475``sanity``
2489========== 2476==========
2490 2477
2491The :ref:`sanity <ref-classes-sanity>` class checks to see if prerequisite software is present 2478The :ref:`ref-classes-sanity` class checks to see if prerequisite software is present
2492on the host system so that users can be notified of potential problems 2479on the host system so that users can be notified of potential problems
2493that might affect their build. The class also performs basic user 2480that might affect their build. The class also performs basic user
2494configuration checks from the ``local.conf`` configuration file to 2481configuration checks from the ``local.conf`` configuration file to
@@ -2500,17 +2487,17 @@ usually determines whether to include this class.
2500``scons`` 2487``scons``
2501========= 2488=========
2502 2489
2503The :ref:`scons <ref-classes-scons>` class supports recipes that need to build software that 2490The :ref:`ref-classes-scons` class supports recipes that need to build software
2504uses the SCons build system. You can use the 2491that uses the SCons build system. You can use the :term:`EXTRA_OESCONS`
2505:term:`EXTRA_OESCONS` variable to specify 2492variable to specify additional configuration options you want to pass SCons
2506additional configuration options you want to pass SCons command line. 2493command line.
2507 2494
2508.. _ref-classes-sdl: 2495.. _ref-classes-sdl:
2509 2496
2510``sdl`` 2497``sdl``
2511======= 2498=======
2512 2499
2513The :ref:`sdl <ref-classes-sdl>` class supports recipes that need to build software that uses 2500The :ref:`ref-classes-sdl` class supports recipes that need to build software that uses
2514the Simple DirectMedia Layer (SDL) library. 2501the Simple DirectMedia Layer (SDL) library.
2515 2502
2516.. _ref-classes-python_setuptools_build_meta: 2503.. _ref-classes-python_setuptools_build_meta:
@@ -2518,8 +2505,8 @@ the Simple DirectMedia Layer (SDL) library.
2518``python_setuptools_build_meta`` 2505``python_setuptools_build_meta``
2519================================ 2506================================
2520 2507
2521The :ref:`python_setuptools_build_meta <ref-classes-python_setuptools_build_meta>` class enables building Python modules which 2508The :ref:`ref-classes-python_setuptools_build_meta` class enables building
2522declare the 2509Python modules which declare the
2523`PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant 2510`PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant
2524``setuptools.build_meta`` ``build-backend`` in the ``[build-system]`` 2511``setuptools.build_meta`` ``build-backend`` in the ``[build-system]``
2525section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__). 2512section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__).
@@ -2527,21 +2514,22 @@ section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep
2527Python modules built with ``setuptools.build_meta`` can be pure Python or 2514Python modules built with ``setuptools.build_meta`` can be pure Python or
2528include ``C`` or ``Rust`` extensions). 2515include ``C`` or ``Rust`` extensions).
2529 2516
2530Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class. 2517Internally this uses the :ref:`ref-classes-python_pep517` class.
2531 2518
2532.. _ref-classes-setuptools3: 2519.. _ref-classes-setuptools3:
2533 2520
2534``setuptools3`` 2521``setuptools3``
2535=============== 2522===============
2536 2523
2537The :ref:`setuptools3 <ref-classes-setuptools3>` class supports Python version 3.x extensions that 2524The :ref:`ref-classes-setuptools3` class supports Python version 3.x extensions
2538use build systems based on ``setuptools`` (e.g. only have a ``setup.py`` and 2525that use build systems based on ``setuptools`` (e.g. only have a ``setup.py``
2539have not migrated to the official ``pyproject.toml`` format). If your recipe 2526and have not migrated to the official ``pyproject.toml`` format). If your recipe
2540uses these build systems, the recipe needs to inherit the :ref:`setuptools3 <ref-classes-setuptools3>` class. 2527uses these build systems, the recipe needs to inherit the
2528:ref:`ref-classes-setuptools3` class.
2541 2529
2542 .. note:: 2530 .. note::
2543 2531
2544 The :ref:`setuptools3 <ref-classes-setuptools3>` class :ref:`ref-tasks-compile` task now calls 2532 The :ref:`ref-classes-setuptools3` class :ref:`ref-tasks-compile` task now calls
2545 ``setup.py bdist_wheel`` to build the ``wheel`` binary archive format 2533 ``setup.py bdist_wheel`` to build the ``wheel`` binary archive format
2546 (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__). 2534 (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__).
2547 2535
@@ -2552,22 +2540,22 @@ uses these build systems, the recipe needs to inherit the :ref:`setuptools3 <ref
2552 2540
2553 .. note:: 2541 .. note::
2554 2542
2555 The :ref:`setuptools3 <ref-classes-setuptools3>` class :ref:`ref-tasks-install` task now installs the ``wheel`` 2543 The :ref:`ref-classes-setuptools3` class :ref:`ref-tasks-install` task now
2556 binary archive. In current versions of ``setuptools`` the legacy ``setup.py 2544 installs the ``wheel`` binary archive. In current versions of
2557 install`` method is deprecated. If the ``setup.py`` cannot be used with 2545 ``setuptools`` the legacy ``setup.py install`` method is deprecated. If
2558 wheels, for example it creates files outside of the Python module or 2546 the ``setup.py`` cannot be used with wheels, for example it creates files
2559 standard entry points, then :ref:`setuptools3_legacy 2547 outside of the Python module or standard entry points, then
2560 <ref-classes-setuptools3_legacy>` should be used. 2548 :ref:`ref-classes-setuptools3_legacy` should be used.
2561 2549
2562.. _ref-classes-setuptools3_legacy: 2550.. _ref-classes-setuptools3_legacy:
2563 2551
2564``setuptools3_legacy`` 2552``setuptools3_legacy``
2565====================== 2553======================
2566 2554
2567The :ref:`setuptools3_legacy <ref-classes-setuptools3_legacy>` class supports 2555The :ref:`ref-classes-setuptools3_legacy` class supports
2568Python version 3.x extensions that use build systems based on ``setuptools`` 2556Python version 3.x extensions that use build systems based on ``setuptools``
2569(e.g. only have a ``setup.py`` and have not migrated to the official 2557(e.g. only have a ``setup.py`` and have not migrated to the official
2570``pyproject.toml`` format). Unlike :ref:`setuptools3 <ref-classes-setuptools3>`, 2558``pyproject.toml`` format). Unlike :ref:`ref-classes-setuptools3`,
2571this uses the traditional ``setup.py`` ``build`` and ``install`` commands and 2559this uses the traditional ``setup.py`` ``build`` and ``install`` commands and
2572not wheels. This use of ``setuptools`` like this is 2560not wheels. This use of ``setuptools`` like this is
2573`deprecated <https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5830>`__ 2561`deprecated <https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5830>`__
@@ -2578,36 +2566,35 @@ but still relatively common.
2578``setuptools3-base`` 2566``setuptools3-base``
2579==================== 2567====================
2580 2568
2581The :ref:`setuptools3-base <ref-classes-setuptools3-base>` class provides a reusable base for other classes 2569The :ref:`ref-classes-setuptools3-base` class provides a reusable base for
2582that support building Python version 3.x extensions. If you need 2570other classes that support building Python version 3.x extensions. If you need
2583functionality that is not provided by the :ref:`setuptools3 <ref-classes-setuptools3>` class, you may 2571functionality that is not provided by the :ref:`ref-classes-setuptools3` class,
2584want to ``inherit setuptools3-base``. Some recipes do not need the tasks 2572you may want to ``inherit setuptools3-base``. Some recipes do not need the tasks
2585in the :ref:`setuptools3 <ref-classes-setuptools3>` class and inherit this class instead. 2573in the :ref:`ref-classes-setuptools3` class and inherit this class instead.
2586 2574
2587.. _ref-classes-sign_rpm: 2575.. _ref-classes-sign_rpm:
2588 2576
2589``sign_rpm`` 2577``sign_rpm``
2590============ 2578============
2591 2579
2592The :ref:`sign_rpm <ref-classes-sign_rpm>` class supports generating signed RPM packages. 2580The :ref:`ref-classes-sign_rpm` class supports generating signed RPM packages.
2593 2581
2594.. _ref-classes-siteconfig: 2582.. _ref-classes-siteconfig:
2595 2583
2596``siteconfig`` 2584``siteconfig``
2597============== 2585==============
2598 2586
2599The :ref:`siteconfig <ref-classes-siteconfig>` class provides functionality for handling site 2587The :ref:`ref-classes-siteconfig` class provides functionality for handling site
2600configuration. The class is used by the 2588configuration. The class is used by the :ref:`ref-classes-autotools` class to
2601:ref:`autotools <ref-classes-autotools>` class to accelerate the 2589accelerate the :ref:`ref-tasks-configure` task.
2602:ref:`ref-tasks-configure` task.
2603 2590
2604.. _ref-classes-siteinfo: 2591.. _ref-classes-siteinfo:
2605 2592
2606``siteinfo`` 2593``siteinfo``
2607============ 2594============
2608 2595
2609The :ref:`siteinfo <ref-classes-siteinfo>` class provides information about the targets that might 2596The :ref:`ref-classes-siteinfo` class provides information about the targets
2610be needed by other classes or recipes. 2597that might be needed by other classes or recipes.
2611 2598
2612As an example, consider Autotools, which can require tests that must 2599As an example, consider Autotools, which can require tests that must
2613execute on the target hardware. Since this is not possible in general 2600execute on the target hardware. Since this is not possible in general
@@ -2627,9 +2614,9 @@ The class also provides variables like :term:`SITEINFO_ENDIANNESS` and
2627``sstate`` 2614``sstate``
2628========== 2615==========
2629 2616
2630The :ref:`sstate <ref-classes-sstate>` class provides support for Shared State (sstate). By 2617The :ref:`ref-classes-sstate` class provides support for Shared State (sstate).
2631default, the class is enabled through the 2618By default, the class is enabled through the :term:`INHERIT_DISTRO` variable's
2632:term:`INHERIT_DISTRO` variable's default value. 2619default value.
2633 2620
2634For more information on sstate, see the 2621For more information on sstate, see the
2635":ref:`overview-manual/concepts:shared state cache`" 2622":ref:`overview-manual/concepts:shared state cache`"
@@ -2640,7 +2627,7 @@ section in the Yocto Project Overview and Concepts Manual.
2640``staging`` 2627``staging``
2641=========== 2628===========
2642 2629
2643The :ref:`staging <ref-classes-staging>` class installs files into individual recipe work 2630The :ref:`ref-classes-staging` class installs files into individual recipe work
2644directories for sysroots. The class contains the following key tasks: 2631directories for sysroots. The class contains the following key tasks:
2645 2632
2646- The :ref:`ref-tasks-populate_sysroot` task, 2633- The :ref:`ref-tasks-populate_sysroot` task,
@@ -2653,8 +2640,8 @@ directories for sysroots. The class contains the following key tasks:
2653 installs the files into the individual recipe work directories (i.e. 2640 installs the files into the individual recipe work directories (i.e.
2654 :term:`WORKDIR`). 2641 :term:`WORKDIR`).
2655 2642
2656The code in the :ref:`staging <ref-classes-staging>` class is complex and basically works in two 2643The code in the :ref:`ref-classes-staging` class is complex and basically works
2657stages: 2644in two stages:
2658 2645
2659- *Stage One:* The first stage addresses recipes that have files they 2646- *Stage One:* The first stage addresses recipes that have files they
2660 want to share with other recipes that have dependencies on the 2647 want to share with other recipes that have dependencies on the
@@ -2727,8 +2714,7 @@ stages:
2727 dependencies traversed or installed. The same sstate dependency code 2714 dependencies traversed or installed. The same sstate dependency code
2728 is used so that builds should be identical regardless of whether 2715 is used so that builds should be identical regardless of whether
2729 sstate was used or not. For a closer look, see the 2716 sstate was used or not. For a closer look, see the
2730 ``setscene_depvalid()`` function in the 2717 ``setscene_depvalid()`` function in the :ref:`ref-classes-sstate` class.
2731 :ref:`sstate <ref-classes-sstate>` class.
2732 2718
2733 The build system is careful to maintain manifests of the files it 2719 The build system is careful to maintain manifests of the files it
2734 installs so that any given dependency can be installed as needed. The 2720 installs so that any given dependency can be installed as needed. The
@@ -2740,8 +2726,8 @@ stages:
2740``syslinux`` 2726``syslinux``
2741============ 2727============
2742 2728
2743The :ref:`syslinux <ref-classes-syslinux>` class provides syslinux-specific functions for building 2729The :ref:`ref-classes-syslinux` class provides syslinux-specific functions for
2744bootable images. 2730building bootable images.
2745 2731
2746The class supports the following variables: 2732The class supports the following variables:
2747 2733
@@ -2783,8 +2769,8 @@ The class supports the following variables:
2783``systemd`` 2769``systemd``
2784=========== 2770===========
2785 2771
2786The :ref:`systemd <ref-classes-systemd>` class provides support for recipes that install systemd 2772The :ref:`ref-classes-systemd` class provides support for recipes that install
2787unit files. 2773systemd unit files.
2788 2774
2789The functionality for this class is disabled unless you have "systemd" 2775The functionality for this class is disabled unless you have "systemd"
2790in :term:`DISTRO_FEATURES`. 2776in :term:`DISTRO_FEATURES`.
@@ -2809,7 +2795,7 @@ Services are set up to start on boot automatically
2809unless you have set 2795unless you have set
2810:term:`SYSTEMD_AUTO_ENABLE` to "disable". 2796:term:`SYSTEMD_AUTO_ENABLE` to "disable".
2811 2797
2812For more information on :ref:`systemd <ref-classes-systemd>`, see the 2798For more information on :ref:`ref-classes-systemd`, see the
2813":ref:`dev-manual/init-manager:selecting an initialization manager`" 2799":ref:`dev-manual/init-manager:selecting an initialization manager`"
2814section in the Yocto Project Development Tasks Manual. 2800section in the Yocto Project Development Tasks Manual.
2815 2801
@@ -2818,18 +2804,18 @@ section in the Yocto Project Development Tasks Manual.
2818``systemd-boot`` 2804``systemd-boot``
2819================ 2805================
2820 2806
2821The :ref:`systemd-boot <ref-classes-systemd-boot>` class provides functions specific to the 2807The :ref:`ref-classes-systemd-boot` class provides functions specific to the
2822systemd-boot bootloader for building bootable images. This is an 2808systemd-boot bootloader for building bootable images. This is an
2823internal class and is not intended to be used directly. 2809internal class and is not intended to be used directly.
2824 2810
2825.. note:: 2811.. note::
2826 2812
2827 The :ref:`systemd-boot <ref-classes-systemd-boot>` class is a result from merging the ``gummiboot`` class 2813 The :ref:`ref-classes-systemd-boot` class is a result from merging the ``gummiboot`` class
2828 used in previous Yocto Project releases with the ``systemd`` project. 2814 used in previous Yocto Project releases with the ``systemd`` project.
2829 2815
2830Set the :term:`EFI_PROVIDER` variable to 2816Set the :term:`EFI_PROVIDER` variable to ":ref:`ref-classes-systemd-boot`" to
2831":ref:`systemd-boot <ref-classes-systemd-boot>`" to use this class. Doing so creates a standalone EFI 2817use this class. Doing so creates a standalone EFI bootloader that is not
2832bootloader that is not dependent on systemd. 2818dependent on systemd.
2833 2819
2834For information on more variables used and supported in this class, see 2820For information on more variables used and supported in this class, see
2835the :term:`SYSTEMD_BOOT_CFG`, 2821the :term:`SYSTEMD_BOOT_CFG`,
@@ -2845,24 +2831,22 @@ for more information.
2845``terminal`` 2831``terminal``
2846============ 2832============
2847 2833
2848The :ref:`terminal <ref-classes-terminal>` class provides support for starting a terminal session. 2834The :ref:`ref-classes-terminal` class provides support for starting a terminal
2849The :term:`OE_TERMINAL` variable controls which 2835session. The :term:`OE_TERMINAL` variable controls which terminal emulator is
2850terminal emulator is used for the session. 2836used for the session.
2851 2837
2852Other classes use the :ref:`terminal <ref-classes-terminal>` class anywhere a separate terminal 2838Other classes use the :ref:`ref-classes-terminal` class anywhere a separate
2853session needs to be started. For example, the 2839terminal session needs to be started. For example, the :ref:`ref-classes-patch`
2854:ref:`patch <ref-classes-patch>` class assuming 2840class assuming :term:`PATCHRESOLVE` is set to "user", the
2855:term:`PATCHRESOLVE` is set to "user", the 2841:ref:`ref-classes-cml1` class, and the :ref:`ref-classes-devshell` class all
2856:ref:`cml1 <ref-classes-cml1>` class, and the 2842use the :ref:`ref-classes-terminal` class.
2857:ref:`devshell <ref-classes-devshell>` class all use the :ref:`terminal <ref-classes-terminal>`
2858class.
2859 2843
2860.. _ref-classes-testimage: 2844.. _ref-classes-testimage:
2861 2845
2862``testimage`` 2846``testimage``
2863============= 2847=============
2864 2848
2865The :ref:`testimage <ref-classes-testimage>` class supports running automated tests against 2849The :ref:`ref-classes-testimage` class supports running automated tests against
2866images using QEMU and on actual hardware. The classes handle loading the 2850images using QEMU and on actual hardware. The classes handle loading the
2867tests and starting the image. To use the classes, you need to perform 2851tests and starting the image. To use the classes, you need to perform
2868steps to set up the environment. 2852steps to set up the environment.
@@ -2874,7 +2858,7 @@ To enable this class, add the following to your configuration::
2874The tests are commands that run on the target system over ``ssh``. Each 2858The tests are commands that run on the target system over ``ssh``. Each
2875test is written in Python and makes use of the ``unittest`` module. 2859test is written in Python and makes use of the ``unittest`` module.
2876 2860
2877The :ref:`testimage <ref-classes-testimage>` class runs tests on an image when called using the 2861The :ref:`ref-classes-testimage` class runs tests on an image when called using the
2878following:: 2862following::
2879 2863
2880 $ bitbake -c testimage image 2864 $ bitbake -c testimage image
@@ -2894,7 +2878,7 @@ section in the Yocto Project Development Tasks Manual.
2894=========== 2878===========
2895 2879
2896This class supports running automated tests against software development 2880This class supports running automated tests against software development
2897kits (SDKs). The :ref:`testsdk <ref-classes-testsdk>` class runs tests on an SDK when called 2881kits (SDKs). The :ref:`ref-classes-testsdk` class runs tests on an SDK when called
2898using the following:: 2882using the following::
2899 2883
2900 $ bitbake -c testsdk image 2884 $ bitbake -c testsdk image
@@ -2902,7 +2886,7 @@ using the following::
2902.. note:: 2886.. note::
2903 2887
2904 Best practices include using :term:`IMAGE_CLASSES` rather than 2888 Best practices include using :term:`IMAGE_CLASSES` rather than
2905 :term:`INHERIT` to inherit the :ref:`testsdk <ref-classes-testsdk>` class for automated SDK 2889 :term:`INHERIT` to inherit the :ref:`ref-classes-testsdk` class for automated SDK
2906 testing. 2890 testing.
2907 2891
2908.. _ref-classes-texinfo: 2892.. _ref-classes-texinfo:
@@ -2928,7 +2912,7 @@ host system.
2928``toaster`` 2912``toaster``
2929=========== 2913===========
2930 2914
2931The :ref:`toaster <ref-classes-toaster>` class collects information about packages and images and 2915The :ref:`ref-classes-toaster` class collects information about packages and images and
2932sends them as events that the BitBake user interface can receive. The 2916sends them as events that the BitBake user interface can receive. The
2933class is enabled when the Toaster user interface is running. 2917class is enabled when the Toaster user interface is running.
2934 2918
@@ -2939,7 +2923,7 @@ This class is not intended to be used directly.
2939``toolchain-scripts`` 2923``toolchain-scripts``
2940===================== 2924=====================
2941 2925
2942The :ref:`toolchain-scripts <ref-classes-toolchain-scripts>` class provides the scripts used for setting up 2926The :ref:`ref-classes-toolchain-scripts` class provides the scripts used for setting up
2943the environment for installed SDKs. 2927the environment for installed SDKs.
2944 2928
2945.. _ref-classes-typecheck: 2929.. _ref-classes-typecheck:
@@ -2947,7 +2931,7 @@ the environment for installed SDKs.
2947``typecheck`` 2931``typecheck``
2948============= 2932=============
2949 2933
2950The :ref:`typecheck <ref-classes-typecheck>` class provides support for validating the values of 2934The :ref:`ref-classes-typecheck` class provides support for validating the values of
2951variables set at the configuration level against their defined types. 2935variables set at the configuration level against their defined types.
2952The OpenEmbedded build system allows you to define the type of a 2936The OpenEmbedded build system allows you to define the type of a
2953variable using the "type" varflag. Here is an example:: 2937variable using the "type" varflag. Here is an example::
@@ -2959,7 +2943,7 @@ variable using the "type" varflag. Here is an example::
2959``uboot-config`` 2943``uboot-config``
2960================ 2944================
2961 2945
2962The :ref:`uboot-config <ref-classes-uboot-config>` class provides support for U-Boot configuration for 2946The :ref:`ref-classes-uboot-config` class provides support for U-Boot configuration for
2963a machine. Specify the machine in your recipe as follows:: 2947a machine. Specify the machine in your recipe as follows::
2964 2948
2965 UBOOT_CONFIG ??= <default> 2949 UBOOT_CONFIG ??= <default>
@@ -2990,7 +2974,7 @@ yourself, publish the resulting tarball (e.g. via HTTP) and set
2990``UNINATIVE_URL`` and ``UNINATIVE_CHECKSUM`` appropriately. For an 2974``UNINATIVE_URL`` and ``UNINATIVE_CHECKSUM`` appropriately. For an
2991example, see the ``meta/conf/distro/include/yocto-uninative.inc``. 2975example, see the ``meta/conf/distro/include/yocto-uninative.inc``.
2992 2976
2993The :ref:`uninative <ref-classes-uninative>` class is also used unconditionally by the extensible 2977The :ref:`ref-classes-uninative` class is also used unconditionally by the extensible
2994SDK. When building the extensible SDK, ``uninative-tarball`` is built 2978SDK. When building the extensible SDK, ``uninative-tarball`` is built
2995and the resulting tarball is included within the SDK. 2979and the resulting tarball is included within the SDK.
2996 2980
@@ -2999,12 +2983,12 @@ and the resulting tarball is included within the SDK.
2999``update-alternatives`` 2983``update-alternatives``
3000======================= 2984=======================
3001 2985
3002The :ref:`update-alternatives <ref-classes-update-alternatives>` class helps the alternatives system when 2986The :ref:`ref-classes-update-alternatives` class helps the alternatives system when
3003multiple sources provide the same command. This situation occurs when 2987multiple sources provide the same command. This situation occurs when
3004several programs that have the same or similar function are installed 2988several programs that have the same or similar function are installed
3005with the same name. For example, the ``ar`` command is available from 2989with the same name. For example, the ``ar`` command is available from
3006the ``busybox``, ``binutils`` and ``elfutils`` packages. The 2990the ``busybox``, ``binutils`` and ``elfutils`` packages. The
3007:ref:`update-alternatives <ref-classes-update-alternatives>` class handles renaming the binaries so that 2991:ref:`ref-classes-update-alternatives` class handles renaming the binaries so that
3008multiple packages can be installed without conflicts. The ``ar`` command 2992multiple packages can be installed without conflicts. The ``ar`` command
3009still works regardless of which packages are installed or subsequently 2993still works regardless of which packages are installed or subsequently
3010removed. The class renames the conflicting binary in each package and 2994removed. The class renames the conflicting binary in each package and
@@ -3037,7 +3021,7 @@ file.
3037``update-rc.d`` 3021``update-rc.d``
3038=============== 3022===============
3039 3023
3040The :ref:`update-rc.d <ref-classes-update-rc.d>` class uses ``update-rc.d`` to safely install an 3024The :ref:`ref-classes-update-rc.d` class uses ``update-rc.d`` to safely install an
3041initialization script on behalf of the package. The OpenEmbedded build 3025initialization script on behalf of the package. The OpenEmbedded build
3042system takes care of details such as making sure the script is stopped 3026system takes care of details such as making sure the script is stopped
3043before a package is removed and started when the package is installed. 3027before a package is removed and started when the package is installed.
@@ -3085,13 +3069,11 @@ set static values, the OpenEmbedded build system looks in
3085:term:`BBPATH` for ``files/passwd`` and ``files/group`` 3069:term:`BBPATH` for ``files/passwd`` and ``files/group``
3086files for the values. 3070files for the values.
3087 3071
3088To use static ``uid`` and ``gid`` values, you need to set some 3072To use static ``uid`` and ``gid`` values, you need to set some variables. See
3089variables. See the :term:`USERADDEXTENSION`, 3073the :term:`USERADDEXTENSION`, :term:`USERADD_UID_TABLES`,
3090:term:`USERADD_UID_TABLES`, 3074:term:`USERADD_GID_TABLES`, and :term:`USERADD_ERROR_DYNAMIC` variables.
3091:term:`USERADD_GID_TABLES`, and 3075You can also see the :ref:`ref-classes-useradd` class for additional
3092:term:`USERADD_ERROR_DYNAMIC` variables. 3076information.
3093You can also see the :ref:`useradd <ref-classes-useradd>` class for
3094additional information.
3095 3077
3096.. note:: 3078.. note::
3097 3079
@@ -3106,32 +3088,31 @@ additional information.
3106``utility-tasks`` 3088``utility-tasks``
3107================= 3089=================
3108 3090
3109The :ref:`utility-tasks <ref-classes-utility-tasks>` class provides support for various "utility" type 3091The :ref:`ref-classes-utility-tasks` class provides support for various
3110tasks that are applicable to all recipes, such as 3092"utility" type tasks that are applicable to all recipes, such as
3111:ref:`ref-tasks-clean` and 3093:ref:`ref-tasks-clean` and :ref:`ref-tasks-listtasks`.
3112:ref:`ref-tasks-listtasks`.
3113 3094
3114This class is enabled by default because it is inherited by the 3095This class is enabled by default because it is inherited by the
3115:ref:`base <ref-classes-base>` class. 3096:ref:`ref-classes-base` class.
3116 3097
3117.. _ref-classes-utils: 3098.. _ref-classes-utils:
3118 3099
3119``utils`` 3100``utils``
3120========= 3101=========
3121 3102
3122The :ref:`utils <ref-classes-utils>` class provides some useful Python functions that are 3103The :ref:`ref-classes-utils` class provides some useful Python functions that are
3123typically used in inline Python expressions (e.g. ``${@...}``). One 3104typically used in inline Python expressions (e.g. ``${@...}``). One
3124example use is for ``bb.utils.contains()``. 3105example use is for ``bb.utils.contains()``.
3125 3106
3126This class is enabled by default because it is inherited by the 3107This class is enabled by default because it is inherited by the
3127:ref:`base <ref-classes-base>` class. 3108:ref:`ref-classes-base` class.
3128 3109
3129.. _ref-classes-vala: 3110.. _ref-classes-vala:
3130 3111
3131``vala`` 3112``vala``
3132======== 3113========
3133 3114
3134The :ref:`vala <ref-classes-vala>` class supports recipes that need to build software written 3115The :ref:`ref-classes-vala` class supports recipes that need to build software written
3135using the Vala programming language. 3116using the Vala programming language.
3136 3117
3137.. _ref-classes-waf: 3118.. _ref-classes-waf:
@@ -3139,7 +3120,7 @@ using the Vala programming language.
3139``waf`` 3120``waf``
3140======= 3121=======
3141 3122
3142The :ref:`waf <ref-classes-waf>` class supports recipes that need to build software that uses 3123The :ref:`ref-classes-waf` class supports recipes that need to build software that uses
3143the Waf build system. You can use the 3124the Waf build system. You can use the
3144:term:`EXTRA_OECONF` or 3125:term:`EXTRA_OECONF` or
3145:term:`PACKAGECONFIG_CONFARGS` variables 3126:term:`PACKAGECONFIG_CONFARGS` variables
diff --git a/documentation/ref-manual/features.rst b/documentation/ref-manual/features.rst
index 0229747650..794a6fd15b 100644
--- a/documentation/ref-manual/features.rst
+++ b/documentation/ref-manual/features.rst
@@ -358,7 +358,7 @@ Here are the image features available for all images:
358 a given image. 358 a given image.
359 359
360Some image features are available only when you inherit the 360Some image features are available only when you inherit the
361:ref:`core-image <ref-classes-core-image>` class. The current list of 361:ref:`ref-classes-core-image` class. The current list of
362these valid features is as follows: 362these valid features is as follows:
363 363
364- *hwcodecs:* Installs hardware acceleration codecs. 364- *hwcodecs:* Installs hardware acceleration codecs.
diff --git a/documentation/ref-manual/qa-checks.rst b/documentation/ref-manual/qa-checks.rst
index 798d4be4cf..13096816d2 100644
--- a/documentation/ref-manual/qa-checks.rst
+++ b/documentation/ref-manual/qa-checks.rst
@@ -580,7 +580,7 @@ Errors and Warnings
580 580
581 The specified package contains mime type files (``.xml`` files in 581 The specified package contains mime type files (``.xml`` files in
582 ``${datadir}/mime/packages``) and yet does not inherit the 582 ``${datadir}/mime/packages``) and yet does not inherit the
583 :ref:`mime <ref-classes-mime>` class which will ensure that these get 583 :ref:`ref-classes-mime` class which will ensure that these get
584 properly installed. Either add ``inherit mime`` to the recipe or remove the 584 properly installed. Either add ``inherit mime`` to the recipe or remove the
585 files at the :ref:`ref-tasks-install` step if they are not needed. 585 files at the :ref:`ref-tasks-install` step if they are not needed.
586 586
@@ -590,7 +590,7 @@ Errors and Warnings
590- ``package contains desktop file with key 'MimeType' but does not inhert mime-xdg: <packagename> path '<file>' [mime-xdg]`` 590- ``package contains desktop file with key 'MimeType' but does not inhert mime-xdg: <packagename> path '<file>' [mime-xdg]``
591 591
592 The specified package contains a .desktop file with a 'MimeType' key 592 The specified package contains a .desktop file with a 'MimeType' key
593 present, but does not inherit the :ref:`mime-xdg <ref-classes-mime-xdg>` 593 present, but does not inherit the :ref:`ref-classes-mime-xdg`
594 class that is required in order for that to be activated. Either add 594 class that is required in order for that to be activated. Either add
595 ``inherit mime`` to the recipe or remove the files at the 595 ``inherit mime`` to the recipe or remove the files at the
596 :ref:`ref-tasks-install` step if they are not needed. 596 :ref:`ref-tasks-install` step if they are not needed.
@@ -621,9 +621,9 @@ Errors and Warnings
621- ``<recipename>: recipe doesn't inherit features_check [unhandled-features-check]`` 621- ``<recipename>: recipe doesn't inherit features_check [unhandled-features-check]``
622 622
623 This check ensures that if one of the variables that the 623 This check ensures that if one of the variables that the
624 :ref:`features_check <ref-classes-features_check>` class supports (e.g. 624 :ref:`ref-classes-features_check` class supports (e.g.
625 :term:`REQUIRED_DISTRO_FEATURES`) is used, then the recipe 625 :term:`REQUIRED_DISTRO_FEATURES`) is used, then the recipe
626 inherits :ref:`features_check <ref-classes-features_check>` in order for 626 inherits :ref:`ref-classes-features_check` in order for
627 the requirement to actually work. If you are seeing this message, either 627 the requirement to actually work. If you are seeing this message, either
628 add ``inherit features_check`` to your recipe or remove the reference to 628 add ``inherit features_check`` to your recipe or remove the reference to
629 the variable if it is not needed. 629 the variable if it is not needed.
@@ -634,7 +634,7 @@ Errors and Warnings
634- ``<recipename>: recipe defines ALTERNATIVE:<packagename> but doesn't inherit update-alternatives. This might fail during do_rootfs later! [missing-update-alternatives]`` 634- ``<recipename>: recipe defines ALTERNATIVE:<packagename> but doesn't inherit update-alternatives. This might fail during do_rootfs later! [missing-update-alternatives]``
635 635
636 This check ensures that if a recipe sets the :term:`ALTERNATIVE` variable that the 636 This check ensures that if a recipe sets the :term:`ALTERNATIVE` variable that the
637 recipe also inherits :ref:`update-alternatives <ref-classes-update-alternatives>` such 637 recipe also inherits :ref:`ref-classes-update-alternatives` such
638 that the alternative will be correctly set up. If you are seeing this message, either 638 that the alternative will be correctly set up. If you are seeing this message, either
639 add ``inherit update-alternatives`` to your recipe or remove the reference to the variable 639 add ``inherit update-alternatives`` to your recipe or remove the reference to the variable
640 if it is not needed. 640 if it is not needed.
@@ -655,7 +655,7 @@ Errors and Warnings
655- ``<packagename> contains perllocal.pod (<files>), should not be installed [perllocalpod]`` 655- ``<packagename> contains perllocal.pod (<files>), should not be installed [perllocalpod]``
656 656
657 ``perllocal.pod`` is an index file of locally installed modules and so shouldn't be 657 ``perllocal.pod`` is an index file of locally installed modules and so shouldn't be
658 installed by any distribution packages. The :ref:`cpan <ref-classes-cpan>` class 658 installed by any distribution packages. The :ref:`ref-classes-cpan` class
659 already sets ``NO_PERLLOCAL`` to stop this file being generated by most Perl recipes, 659 already sets ``NO_PERLLOCAL`` to stop this file being generated by most Perl recipes,
660 but if a recipe is using ``MakeMaker`` directly then they might not be doing this 660 but if a recipe is using ``MakeMaker`` directly then they might not be doing this
661 correctly. This check ensures that perllocal.pod is not in any package in order to 661 correctly. This check ensures that perllocal.pod is not in any package in order to
diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst
index f3a52a19f3..e895382eec 100644
--- a/documentation/ref-manual/structure.rst
+++ b/documentation/ref-manual/structure.rst
@@ -233,7 +233,7 @@ is available via the :term:`TOPDIR` variable.
233----------------------- 233-----------------------
234 234
235The OpenEmbedded build system creates this directory when you enable 235The OpenEmbedded build system creates this directory when you enable
236build history via the :ref:`buildhistory <ref-classes-buildhistory>` class file. The directory 236build history via the :ref:`ref-classes-buildhistory` class file. The directory
237organizes build information into image, packages, and SDK 237organizes build information into image, packages, and SDK
238subdirectories. For information on the build history feature, see the 238subdirectories. For information on the build history feature, see the
239":ref:`dev-manual/build-quality:maintaining build output quality`" 239":ref:`dev-manual/build-quality:maintaining build output quality`"
@@ -375,7 +375,7 @@ remove the ``build/sstate-cache`` directory.
375~~~~~~~~~~~~~~~~~~~~~~~~~ 375~~~~~~~~~~~~~~~~~~~~~~~~~
376 376
377This directory stores the build statistics as generated by the 377This directory stores the build statistics as generated by the
378:ref:`buildstats <ref-classes-buildstats>` class. 378:ref:`ref-classes-buildstats` class.
379 379
380.. _structure-build-tmp-cache: 380.. _structure-build-tmp-cache:
381 381
diff --git a/documentation/ref-manual/tasks.rst b/documentation/ref-manual/tasks.rst
index e626095b20..7a664cc6c0 100644
--- a/documentation/ref-manual/tasks.rst
+++ b/documentation/ref-manual/tasks.rst
@@ -78,9 +78,9 @@ task runs with the current working directory set to
78``${``\ :term:`B`\ ``}``. 78``${``\ :term:`B`\ ``}``.
79 79
80Recipes implementing this task should inherit the 80Recipes implementing this task should inherit the
81:ref:`deploy <ref-classes-deploy>` class and should write the output 81:ref:`ref-classes-deploy` class and should write the output
82to ``${``\ :term:`DEPLOYDIR`\ ``}``, which is not to be 82to ``${``\ :term:`DEPLOYDIR`\ ``}``, which is not to be
83confused with ``${DEPLOY_DIR}``. The :ref:`deploy <ref-classes-deploy>` class sets up 83confused with ``${DEPLOY_DIR}``. The :ref:`ref-classes-deploy` class sets up
84:ref:`ref-tasks-deploy` as a shared state (sstate) task that can be accelerated 84:ref:`ref-tasks-deploy` as a shared state (sstate) task that can be accelerated
85through sstate use. The sstate mechanism takes care of copying the 85through sstate use. The sstate mechanism takes care of copying the
86output from ``${DEPLOYDIR}`` to ``${DEPLOY_DIR_IMAGE}``. 86output from ``${DEPLOYDIR}`` to ``${DEPLOY_DIR_IMAGE}``.
@@ -102,7 +102,7 @@ Adding :ref:`ref-tasks-deploy` after other tasks works the same way.
102.. note:: 102.. note::
103 103
104 You do not need to add ``before do_build`` to the ``addtask`` command 104 You do not need to add ``before do_build`` to the ``addtask`` command
105 (though it is harmless), because the :ref:`base <ref-classes-base>` class contains the following:: 105 (though it is harmless), because the :ref:`ref-classes-base` class contains the following::
106 106
107 do_build[recrdeptask] += "do_deploy" 107 do_build[recrdeptask] += "do_deploy"
108 108
@@ -225,7 +225,7 @@ section in the Yocto Project Overview and Concepts Manual.
225----------------- 225-----------------
226 226
227Runs QA checks on packaged files. For more information on these checks, 227Runs QA checks on packaged files. For more information on these checks,
228see the :ref:`insane <ref-classes-insane>` class. 228see the :ref:`ref-classes-insane` class.
229 229
230.. _ref-tasks-package_write_deb: 230.. _ref-tasks-package_write_deb:
231 231
@@ -406,7 +406,7 @@ Installs the files into the individual recipe specific sysroots (i.e.
406``recipe-sysroot`` and ``recipe-sysroot-native`` under 406``recipe-sysroot`` and ``recipe-sysroot-native`` under
407``${``\ :term:`WORKDIR`\ ``}`` based upon the 407``${``\ :term:`WORKDIR`\ ``}`` based upon the
408dependencies specified by :term:`DEPENDS`). See the 408dependencies specified by :term:`DEPENDS`). See the
409":ref:`staging <ref-classes-staging>`" class for more information. 409":ref:`ref-classes-staging`" class for more information.
410 410
411.. _ref-tasks-rm_work: 411.. _ref-tasks-rm_work:
412 412
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 5f5fea344e..f2decd713b 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -126,7 +126,7 @@ system and gives an overview of their function and contents.
126 ":ref:`ref-classes-update-alternatives`" section. 126 ":ref:`ref-classes-update-alternatives`" section.
127 127
128 :term:`ANY_OF_DISTRO_FEATURES` 128 :term:`ANY_OF_DISTRO_FEATURES`
129 When inheriting the :ref:`features_check <ref-classes-features_check>` 129 When inheriting the :ref:`ref-classes-features_check`
130 class, this variable identifies a list of distribution features where 130 class, this variable identifies a list of distribution features where
131 at least one must be enabled in the current configuration in order 131 at least one must be enabled in the current configuration in order
132 for the OpenEmbedded build system to build the recipe. In other words, 132 for the OpenEmbedded build system to build the recipe. In other words,
@@ -139,14 +139,14 @@ system and gives an overview of their function and contents.
139 An override list of append strings for each target specified with 139 An override list of append strings for each target specified with
140 :term:`LABELS`. 140 :term:`LABELS`.
141 141
142 See the :ref:`grub-efi <ref-classes-grub-efi>` class for more 142 See the :ref:`ref-classes-grub-efi` class for more
143 information on how this variable is used. 143 information on how this variable is used.
144 144
145 :term:`AR` 145 :term:`AR`
146 The minimal command and arguments used to run ``ar``. 146 The minimal command and arguments used to run ``ar``.
147 147
148 :term:`ARCHIVER_MODE` 148 :term:`ARCHIVER_MODE`
149 When used with the :ref:`archiver <ref-classes-archiver>` class, 149 When used with the :ref:`ref-classes-archiver` class,
150 determines the type of information used to create a released archive. 150 determines the type of information used to create a released archive.
151 You can use this variable to create archives of patched source, 151 You can use this variable to create archives of patched source,
152 original source, configured source, and so forth by employing the 152 original source, configured source, and so forth by employing the
@@ -197,13 +197,13 @@ system and gives an overview of their function and contents.
197 order to send patches and forward bugs. 197 order to send patches and forward bugs.
198 198
199 :term:`AUTO_LIBNAME_PKGS` 199 :term:`AUTO_LIBNAME_PKGS`
200 When the :ref:`debian <ref-classes-debian>` class is inherited, 200 When the :ref:`ref-classes-debian` class is inherited,
201 which is the default behavior, :term:`AUTO_LIBNAME_PKGS` specifies which 201 which is the default behavior, :term:`AUTO_LIBNAME_PKGS` specifies which
202 packages should be checked for libraries and renamed according to 202 packages should be checked for libraries and renamed according to
203 Debian library package naming. 203 Debian library package naming.
204 204
205 The default value is "${PACKAGES}", which causes the 205 The default value is "${PACKAGES}", which causes the
206 :ref:`debian <ref-classes-debian>` class to act on all packages that are 206 :ref:`ref-classes-debian` class to act on all packages that are
207 explicitly generated by the recipe. 207 explicitly generated by the recipe.
208 208
209 :term:`AUTOREV` 209 :term:`AUTOREV`
@@ -215,7 +215,7 @@ system and gives an overview of their function and contents.
215 If you use the previous statement to retrieve the latest version of 215 If you use the previous statement to retrieve the latest version of
216 software, you need to be sure :term:`PV` contains 216 software, you need to be sure :term:`PV` contains
217 ``${``\ :term:`SRCPV`\ ``}``. For example, suppose you have a kernel 217 ``${``\ :term:`SRCPV`\ ``}``. For example, suppose you have a kernel
218 recipe that inherits the :ref:`kernel <ref-classes-kernel>` class and you 218 recipe that inherits the :ref:`ref-classes-kernel` class and you
219 use the previous statement. In this example, ``${SRCPV}`` does not 219 use the previous statement. In this example, ``${SRCPV}`` does not
220 automatically get into :term:`PV`. Consequently, you need to change 220 automatically get into :term:`PV`. Consequently, you need to change
221 :term:`PV` in your recipe so that it does contain ``${SRCPV}``. 221 :term:`PV` in your recipe so that it does contain ``${SRCPV}``.
@@ -227,7 +227,7 @@ system and gives an overview of their function and contents.
227 :term:`AUTO_SYSLINUXMENU` 227 :term:`AUTO_SYSLINUXMENU`
228 Enables creating an automatic menu for the syslinux bootloader. You 228 Enables creating an automatic menu for the syslinux bootloader. You
229 must set this variable in your recipe. The 229 must set this variable in your recipe. The
230 :ref:`syslinux <ref-classes-syslinux>` class checks this variable. 230 :ref:`ref-classes-syslinux` class checks this variable.
231 231
232 :term:`AVAILTUNES` 232 :term:`AVAILTUNES`
233 The list of defined CPU and Application Binary Interface (ABI) 233 The list of defined CPU and Application Binary Interface (ABI)
@@ -701,7 +701,7 @@ system and gives an overview of their function and contents.
701 ``quilt-native``, which is a copy of Quilt built to run on the build 701 ``quilt-native``, which is a copy of Quilt built to run on the build
702 system; "crosses" such as ``gcc-cross``, which is a compiler built to 702 system; "crosses" such as ``gcc-cross``, which is a compiler built to
703 run on the build machine but produces binaries that run on the target 703 run on the build machine but produces binaries that run on the target
704 :term:`MACHINE`; ":ref:`nativesdk <ref-classes-nativesdk>`", which 704 :term:`MACHINE`; ":ref:`ref-classes-nativesdk`", which
705 targets the SDK machine instead of :term:`MACHINE`; and "mulitlibs" in 705 targets the SDK machine instead of :term:`MACHINE`; and "mulitlibs" in
706 the form "``multilib:``\ multilib_name". 706 the form "``multilib:``\ multilib_name".
707 707
@@ -909,13 +909,12 @@ system and gives an overview of their function and contents.
909 See :term:`bitbake:BBTARGETS` in the BitBake manual. 909 See :term:`bitbake:BBTARGETS` in the BitBake manual.
910 910
911 :term:`BINCONFIG` 911 :term:`BINCONFIG`
912 When inheriting the 912 When inheriting the :ref:`ref-classes-binconfig-disabled` class, this
913 :ref:`binconfig-disabled <ref-classes-binconfig-disabled>` class, 913 variable specifies binary configuration scripts to disable in favor of
914 this variable specifies binary configuration scripts to disable in 914 using ``pkg-config`` to query the information. The
915 favor of using ``pkg-config`` to query the information. The 915 :ref:`ref-classes-binconfig-disabled` class will modify the specified
916 :ref:`binconfig-disabled <ref-classes-binconfig-disabled>` class will modify the specified scripts to 916 scripts to return an error so that calls to them can be easily found
917 return an error so that calls to them can be easily found and 917 and replaced.
918 replaced.
919 918
920 To add multiple scripts, separate them by spaces. Here is an example 919 To add multiple scripts, separate them by spaces. Here is an example
921 from the ``libpng`` recipe:: 920 from the ``libpng`` recipe::
@@ -923,7 +922,7 @@ system and gives an overview of their function and contents.
923 BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config" 922 BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config"
924 923
925 :term:`BINCONFIG_GLOB` 924 :term:`BINCONFIG_GLOB`
926 When inheriting the :ref:`binconfig <ref-classes-binconfig>` class, 925 When inheriting the :ref:`ref-classes-binconfig` class,
927 this variable specifies a wildcard for configuration scripts that 926 this variable specifies a wildcard for configuration scripts that
928 need editing. The scripts are edited to correct any paths that have 927 need editing. The scripts are edited to correct any paths that have
929 been set up during compilation so that they are correct for use when 928 been set up during compilation so that they are correct for use when
@@ -1048,8 +1047,7 @@ system and gives an overview of their function and contents.
1048 :term:`BUILD_PREFIX` 1047 :term:`BUILD_PREFIX`
1049 The toolchain binary prefix used for native recipes. The OpenEmbedded 1048 The toolchain binary prefix used for native recipes. The OpenEmbedded
1050 build system uses the :term:`BUILD_PREFIX` value to set the 1049 build system uses the :term:`BUILD_PREFIX` value to set the
1051 :term:`TARGET_PREFIX` when building for 1050 :term:`TARGET_PREFIX` when building for :ref:`ref-classes-native` recipes.
1052 :ref:`native <ref-classes-native>` recipes.
1053 1051
1054 :term:`BUILD_STRIP` 1052 :term:`BUILD_STRIP`
1055 Specifies the command to be used to strip debugging symbols from 1053 Specifies the command to be used to strip debugging symbols from
@@ -1060,7 +1058,7 @@ system and gives an overview of their function and contents.
1060 :term:`BUILD_SYS` 1058 :term:`BUILD_SYS`
1061 Specifies the system, including the architecture and the operating 1059 Specifies the system, including the architecture and the operating
1062 system, to use when building for the build host (i.e. when building 1060 system, to use when building for the build host (i.e. when building
1063 :ref:`native <ref-classes-native>` recipes). 1061 :ref:`ref-classes-native` recipes).
1064 1062
1065 The OpenEmbedded build system automatically sets this variable based 1063 The OpenEmbedded build system automatically sets this variable based
1066 on :term:`BUILD_ARCH`, 1064 on :term:`BUILD_ARCH`,
@@ -1080,22 +1078,22 @@ system and gives an overview of their function and contents.
1080 :term:`BUILDDIR` defaults to ``build`` in the current directory. 1078 :term:`BUILDDIR` defaults to ``build`` in the current directory.
1081 1079
1082 :term:`BUILDHISTORY_COMMIT` 1080 :term:`BUILDHISTORY_COMMIT`
1083 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 1081 When inheriting the :ref:`ref-classes-buildhistory` class, this variable
1084 class, this variable specifies whether or not to commit the build 1082 specifies whether or not to commit the build history output in a local
1085 history output in a local Git repository. If set to "1", this local 1083 Git repository. If set to "1", this local repository will be maintained
1086 repository will be maintained automatically by the :ref:`buildhistory <ref-classes-buildhistory>` 1084 automatically by the :ref:`ref-classes-buildhistory` class and a commit
1087 class and a commit will be created on every build for changes to each 1085 will be created on every build for changes to each top-level subdirectory
1088 top-level subdirectory of the build history output (images, packages, 1086 of the build history output (images, packages, and sdk). If you want to
1089 and sdk). If you want to track changes to build history over time, 1087 track changes to build history over time, you should set this value to
1090 you should set this value to "1". 1088 "1".
1091 1089
1092 By default, the :ref:`buildhistory <ref-classes-buildhistory>` class 1090 By default, the :ref:`ref-classes-buildhistory` class
1093 enables committing the buildhistory output in a local Git repository:: 1091 enables committing the buildhistory output in a local Git repository::
1094 1092
1095 BUILDHISTORY_COMMIT ?= "1" 1093 BUILDHISTORY_COMMIT ?= "1"
1096 1094
1097 :term:`BUILDHISTORY_COMMIT_AUTHOR` 1095 :term:`BUILDHISTORY_COMMIT_AUTHOR`
1098 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 1096 When inheriting the :ref:`ref-classes-buildhistory`
1099 class, this variable specifies the author to use for each Git commit. 1097 class, this variable specifies the author to use for each Git commit.
1100 In order for the :term:`BUILDHISTORY_COMMIT_AUTHOR` variable to work, the 1098 In order for the :term:`BUILDHISTORY_COMMIT_AUTHOR` variable to work, the
1101 :term:`BUILDHISTORY_COMMIT` variable must 1099 :term:`BUILDHISTORY_COMMIT` variable must
@@ -1106,22 +1104,24 @@ system and gives an overview of their function and contents.
1106 email@host". Providing an email address or host that is not valid 1104 email@host". Providing an email address or host that is not valid
1107 does not produce an error. 1105 does not produce an error.
1108 1106
1109 By default, the :ref:`buildhistory <ref-classes-buildhistory>` class sets the variable as follows:: 1107 By default, the :ref:`ref-classes-buildhistory` class sets the variable
1108 as follows::
1110 1109
1111 BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>" 1110 BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>"
1112 1111
1113 :term:`BUILDHISTORY_DIR` 1112 :term:`BUILDHISTORY_DIR`
1114 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 1113 When inheriting the :ref:`ref-classes-buildhistory`
1115 class, this variable specifies the directory in which build history 1114 class, this variable specifies the directory in which build history
1116 information is kept. For more information on how the variable works, 1115 information is kept. For more information on how the variable works,
1117 see the :ref:`ref-classes-buildhistory` class. 1116 see the :ref:`ref-classes-buildhistory` class.
1118 1117
1119 By default, the :ref:`buildhistory <ref-classes-buildhistory>` class sets the directory as follows:: 1118 By default, the :ref:`ref-classes-buildhistory` class sets the directory
1119 as follows::
1120 1120
1121 BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory" 1121 BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory"
1122 1122
1123 :term:`BUILDHISTORY_FEATURES` 1123 :term:`BUILDHISTORY_FEATURES`
1124 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 1124 When inheriting the :ref:`ref-classes-buildhistory`
1125 class, this variable specifies the build history features to be 1125 class, this variable specifies the build history features to be
1126 enabled. For more information on how build history works, see the 1126 enabled. For more information on how build history works, see the
1127 ":ref:`dev-manual/build-quality:maintaining build output quality`" 1127 ":ref:`dev-manual/build-quality:maintaining build output quality`"
@@ -1143,13 +1143,13 @@ system and gives an overview of their function and contents.
1143 This saves one file per task and lists the SHA-256 checksums for 1143 This saves one file per task and lists the SHA-256 checksums for
1144 each file staged (i.e. the output of the task). 1144 each file staged (i.e. the output of the task).
1145 1145
1146 By default, the :ref:`buildhistory <ref-classes-buildhistory>` class enables the following 1146 By default, the :ref:`ref-classes-buildhistory` class enables the
1147 features:: 1147 following features::
1148 1148
1149 BUILDHISTORY_FEATURES ?= "image package sdk" 1149 BUILDHISTORY_FEATURES ?= "image package sdk"
1150 1150
1151 :term:`BUILDHISTORY_IMAGE_FILES` 1151 :term:`BUILDHISTORY_IMAGE_FILES`
1152 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 1152 When inheriting the :ref:`ref-classes-buildhistory`
1153 class, this variable specifies a list of paths to files copied from 1153 class, this variable specifies a list of paths to files copied from
1154 the image contents into the build history directory under an 1154 the image contents into the build history directory under an
1155 "image-files" directory in the directory for the image, so that you 1155 "image-files" directory in the directory for the image, so that you
@@ -1159,39 +1159,39 @@ system and gives an overview of their function and contents.
1159 any file. Specifying an invalid path does not produce an error. 1159 any file. Specifying an invalid path does not produce an error.
1160 Consequently, you can include files that might not always be present. 1160 Consequently, you can include files that might not always be present.
1161 1161
1162 By default, the :ref:`buildhistory <ref-classes-buildhistory>` class provides paths to the 1162 By default, the :ref:`ref-classes-buildhistory` class provides paths to
1163 following files:: 1163 the following files::
1164 1164
1165 BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group" 1165 BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group"
1166 1166
1167 :term:`BUILDHISTORY_PATH_PREFIX_STRIP` 1167 :term:`BUILDHISTORY_PATH_PREFIX_STRIP`
1168 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 1168 When inheriting the :ref:`ref-classes-buildhistory`
1169 class, this variable specifies a common path prefix that should be 1169 class, this variable specifies a common path prefix that should be
1170 stripped off the beginning of paths in the task signature list when the 1170 stripped off the beginning of paths in the task signature list when the
1171 ``task`` feature is active in :term:`BUILDHISTORY_FEATURES`. This can be 1171 ``task`` feature is active in :term:`BUILDHISTORY_FEATURES`. This can be
1172 useful when build history is populated from multiple sources that may not 1172 useful when build history is populated from multiple sources that may not
1173 all use the same top level directory. 1173 all use the same top level directory.
1174 1174
1175 By default, the :ref:`buildhistory <ref-classes-buildhistory>` class sets the variable as follows:: 1175 By default, the :ref:`ref-classes-buildhistory` class sets the variable
1176 as follows::
1176 1177
1177 BUILDHISTORY_PATH_PREFIX_STRIP ?= "" 1178 BUILDHISTORY_PATH_PREFIX_STRIP ?= ""
1178 1179
1179 In this case, no prefixes will be stripped. 1180 In this case, no prefixes will be stripped.
1180 1181
1181 :term:`BUILDHISTORY_PUSH_REPO` 1182 :term:`BUILDHISTORY_PUSH_REPO`
1182 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 1183 When inheriting the :ref:`ref-classes-buildhistory` class, this variable
1183 class, this variable optionally specifies a remote repository to 1184 optionally specifies a remote repository to which build history pushes
1184 which build history pushes Git changes. In order for 1185 Git changes. In order for :term:`BUILDHISTORY_PUSH_REPO` to work,
1185 :term:`BUILDHISTORY_PUSH_REPO` to work, 1186 :term:`BUILDHISTORY_COMMIT` must be set to "1".
1186 :term:`BUILDHISTORY_COMMIT` must be set to
1187 "1".
1188 1187
1189 The repository should correspond to a remote address that specifies a 1188 The repository should correspond to a remote address that specifies a
1190 repository as understood by Git, or alternatively to a remote name 1189 repository as understood by Git, or alternatively to a remote name
1191 that you have set up manually using ``git remote`` within the local 1190 that you have set up manually using ``git remote`` within the local
1192 repository. 1191 repository.
1193 1192
1194 By default, the :ref:`buildhistory <ref-classes-buildhistory>` class sets the variable as follows:: 1193 By default, the :ref:`ref-classes-buildhistory` class sets the variable
1194 as follows::
1195 1195
1196 BUILDHISTORY_PUSH_REPO ?= "" 1196 BUILDHISTORY_PUSH_REPO ?= ""
1197 1197
@@ -1224,8 +1224,7 @@ system and gives an overview of their function and contents.
1224 1224
1225 :term:`BUILDSTATS_BASE` 1225 :term:`BUILDSTATS_BASE`
1226 Points to the location of the directory that holds build statistics 1226 Points to the location of the directory that holds build statistics
1227 when you use and enable the 1227 when you use and enable the :ref:`ref-classes-buildstats` class. The
1228 :ref:`buildstats <ref-classes-buildstats>` class. The
1229 :term:`BUILDSTATS_BASE` directory defaults to 1228 :term:`BUILDSTATS_BASE` directory defaults to
1230 ``${``\ :term:`TMPDIR`\ ``}/buildstats/``. 1229 ``${``\ :term:`TMPDIR`\ ``}/buildstats/``.
1231 1230
@@ -1271,9 +1270,8 @@ system and gives an overview of their function and contents.
1271 An internal variable specifying the special class override that 1270 An internal variable specifying the special class override that
1272 should currently apply (e.g. "class-target", "class-native", and so 1271 should currently apply (e.g. "class-target", "class-native", and so
1273 forth). The classes that use this variable (e.g. 1272 forth). The classes that use this variable (e.g.
1274 :ref:`native <ref-classes-native>`, 1273 :ref:`ref-classes-native`, :ref:`ref-classes-nativesdk`, and so forth)
1275 :ref:`nativesdk <ref-classes-nativesdk>`, and so forth) set the 1274 set the variable to appropriate values.
1276 variable to appropriate values.
1277 1275
1278 .. note:: 1276 .. note::
1279 1277
@@ -1449,8 +1447,7 @@ system and gives an overview of their function and contents.
1449 The minimal arguments for GNU configure. 1447 The minimal arguments for GNU configure.
1450 1448
1451 :term:`CONFLICT_DISTRO_FEATURES` 1449 :term:`CONFLICT_DISTRO_FEATURES`
1452 When inheriting the 1450 When inheriting the :ref:`ref-classes-features_check`
1453 :ref:`features_check <ref-classes-features_check>`
1454 class, this variable identifies distribution features that would be 1451 class, this variable identifies distribution features that would be
1455 in conflict should the recipe be built. In other words, if the 1452 in conflict should the recipe be built. In other words, if the
1456 :term:`CONFLICT_DISTRO_FEATURES` variable lists a feature that also 1453 :term:`CONFLICT_DISTRO_FEATURES` variable lists a feature that also
@@ -1466,8 +1463,8 @@ system and gives an overview of their function and contents.
1466 1463
1467 - Checksums for the image 1464 - Checksums for the image
1468 1465
1469 An example of :term:`CONVERSION_CMD` from :ref:`image-types 1466 An example of :term:`CONVERSION_CMD` from :ref:`ref-classes-image_types`
1470 <ref-classes-image_types>` class is:: 1467 class is::
1471 1468
1472 CONVERSION_CMD:lzo = "lzop -9 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" 1469 CONVERSION_CMD:lzo = "lzop -9 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
1473 1470
@@ -1506,10 +1503,9 @@ system and gives an overview of their function and contents.
1506 information on providing license text. 1503 information on providing license text.
1507 1504
1508 :term:`COPYLEFT_LICENSE_EXCLUDE` 1505 :term:`COPYLEFT_LICENSE_EXCLUDE`
1509 A space-separated list of licenses to exclude from the source 1506 A space-separated list of licenses to exclude from the source archived by
1510 archived by the :ref:`archiver <ref-classes-archiver>` class. In 1507 the :ref:`ref-classes-archiver` class. In other words, if a license in a
1511 other words, if a license in a recipe's 1508 recipe's :term:`LICENSE` value is in the value of
1512 :term:`LICENSE` value is in the value of
1513 :term:`COPYLEFT_LICENSE_EXCLUDE`, then its source is not archived by the 1509 :term:`COPYLEFT_LICENSE_EXCLUDE`, then its source is not archived by the
1514 class. 1510 class.
1515 1511
@@ -1520,60 +1516,54 @@ system and gives an overview of their function and contents.
1520 1516
1521 The default value, which is "CLOSED Proprietary", for 1517 The default value, which is "CLOSED Proprietary", for
1522 :term:`COPYLEFT_LICENSE_EXCLUDE` is set by the 1518 :term:`COPYLEFT_LICENSE_EXCLUDE` is set by the
1523 :ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which 1519 :ref:`ref-classes-copyleft_filter` class, which
1524 is inherited by the :ref:`archiver <ref-classes-archiver>` class. 1520 is inherited by the :ref:`ref-classes-archiver` class.
1525 1521
1526 :term:`COPYLEFT_LICENSE_INCLUDE` 1522 :term:`COPYLEFT_LICENSE_INCLUDE`
1527 A space-separated list of licenses to include in the source archived 1523 A space-separated list of licenses to include in the source archived
1528 by the :ref:`archiver <ref-classes-archiver>` class. In other 1524 by the :ref:`ref-classes-archiver` class. In other
1529 words, if a license in a recipe's :term:`LICENSE` 1525 words, if a license in a recipe's :term:`LICENSE`
1530 value is in the value of :term:`COPYLEFT_LICENSE_INCLUDE`, then its 1526 value is in the value of :term:`COPYLEFT_LICENSE_INCLUDE`, then its
1531 source is archived by the class. 1527 source is archived by the class.
1532 1528
1533 The default value is set by the 1529 The default value is set by the :ref:`ref-classes-copyleft_filter` class,
1534 :ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which 1530 which is inherited by the :ref:`ref-classes-archiver` class. The default
1535 is inherited by the :ref:`archiver <ref-classes-archiver>` class. The default value includes 1531 value includes "GPL*", "LGPL*", and "AGPL*".
1536 "GPL*", "LGPL*", and "AGPL*".
1537 1532
1538 :term:`COPYLEFT_PN_EXCLUDE` 1533 :term:`COPYLEFT_PN_EXCLUDE`
1539 A list of recipes to exclude in the source archived by the 1534 A list of recipes to exclude in the source archived by the
1540 :ref:`archiver <ref-classes-archiver>` class. The 1535 :ref:`ref-classes-archiver` class. The :term:`COPYLEFT_PN_EXCLUDE`
1541 :term:`COPYLEFT_PN_EXCLUDE` variable overrides the license inclusion and 1536 variable overrides the license inclusion and exclusion caused through the
1542 exclusion caused through the 1537 :term:`COPYLEFT_LICENSE_INCLUDE` and :term:`COPYLEFT_LICENSE_EXCLUDE`
1543 :term:`COPYLEFT_LICENSE_INCLUDE` and
1544 :term:`COPYLEFT_LICENSE_EXCLUDE`
1545 variables, respectively. 1538 variables, respectively.
1546 1539
1547 The default value, which is "" indicating to not explicitly exclude 1540 The default value, which is "" indicating to not explicitly exclude
1548 any recipes by name, for :term:`COPYLEFT_PN_EXCLUDE` is set by the 1541 any recipes by name, for :term:`COPYLEFT_PN_EXCLUDE` is set by the
1549 :ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which 1542 :ref:`ref-classes-copyleft_filter` class, which is inherited by the
1550 is inherited by the :ref:`archiver <ref-classes-archiver>` class. 1543 :ref:`ref-classes-archiver` class.
1551 1544
1552 :term:`COPYLEFT_PN_INCLUDE` 1545 :term:`COPYLEFT_PN_INCLUDE`
1553 A list of recipes to include in the source archived by the 1546 A list of recipes to include in the source archived by the
1554 :ref:`archiver <ref-classes-archiver>` class. The 1547 :ref:`ref-classes-archiver` class. The :term:`COPYLEFT_PN_INCLUDE`
1555 :term:`COPYLEFT_PN_INCLUDE` variable overrides the license inclusion and 1548 variable overrides the license inclusion and exclusion caused through the
1556 exclusion caused through the 1549 :term:`COPYLEFT_LICENSE_INCLUDE` and :term:`COPYLEFT_LICENSE_EXCLUDE`
1557 :term:`COPYLEFT_LICENSE_INCLUDE` and
1558 :term:`COPYLEFT_LICENSE_EXCLUDE`
1559 variables, respectively. 1550 variables, respectively.
1560 1551
1561 The default value, which is "" indicating to not explicitly include 1552 The default value, which is "" indicating to not explicitly include
1562 any recipes by name, for :term:`COPYLEFT_PN_INCLUDE` is set by the 1553 any recipes by name, for :term:`COPYLEFT_PN_INCLUDE` is set by the
1563 :ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which 1554 :ref:`ref-classes-copyleft_filter` class, which is inherited by the
1564 is inherited by the :ref:`archiver <ref-classes-archiver>` class. 1555 :ref:`ref-classes-archiver` class.
1565 1556
1566 :term:`COPYLEFT_RECIPE_TYPES` 1557 :term:`COPYLEFT_RECIPE_TYPES`
1567 A space-separated list of recipe types to include in the source 1558 A space-separated list of recipe types to include in the source
1568 archived by the :ref:`archiver <ref-classes-archiver>` class. 1559 archived by the :ref:`archiver <ref-classes-archiver>` class.
1569 Recipe types are ``target``, :ref:`native <ref-classes-native>`, 1560 Recipe types are ``target``, :ref:`ref-classes-native`,
1570 :ref:`nativesdk <ref-classes-nativesdk>`, 1561 :ref:`ref-classes-nativesdk`, :ref:`ref-classes-cross`,
1571 :ref:`cross <ref-classes-cross>`, :ref:`crosssdk <ref-classes-crosssdk>`, 1562 :ref:`ref-classes-crosssdk`, and :ref:`ref-classes-cross-canadian`.
1572 and :ref:`cross-canadian <ref-classes-cross-canadian>`.
1573 1563
1574 The default value, which is "target*", for :term:`COPYLEFT_RECIPE_TYPES` 1564 The default value, which is "target*", for :term:`COPYLEFT_RECIPE_TYPES`
1575 is set by the :ref:`copyleft_filter <ref-classes-copyleft_filter>` 1565 is set by the :ref:`ref-classes-copyleft_filter` class, which is
1576 class, which is inherited by the :ref:`archiver <ref-classes-archiver>` class. 1566 inherited by the :ref:`ref-classes-archiver` class.
1577 1567
1578 :term:`CORE_IMAGE_EXTRA_INSTALL` 1568 :term:`CORE_IMAGE_EXTRA_INSTALL`
1579 Specifies the list of packages to be added to the image. You should 1569 Specifies the list of packages to be added to the image. You should
@@ -1647,7 +1637,7 @@ system and gives an overview of their function and contents.
1647 CVE_CHECK_IGNORE += "CVE-2020-15523" 1637 CVE_CHECK_IGNORE += "CVE-2020-15523"
1648 1638
1649 :term:`CVE_CHECK_SHOW_WARNINGS` 1639 :term:`CVE_CHECK_SHOW_WARNINGS`
1650 Specifies whether or not the :ref:`cve-check <ref-classes-cve-check>` 1640 Specifies whether or not the :ref:`ref-classes-cve-check`
1651 class should generate warning messages on the console when unpatched 1641 class should generate warning messages on the console when unpatched
1652 CVEs are found. The default is "1", but you may wish to set it to "0" if 1642 CVEs are found. The default is "1", but you may wish to set it to "0" if
1653 you are already examining/processing the logs after the build has 1643 you are already examining/processing the logs after the build has
@@ -1669,7 +1659,7 @@ system and gives an overview of their function and contents.
1669 against the name in the upstream `NIST CVE database <https://nvd.nist.gov/>`__. 1659 against the name in the upstream `NIST CVE database <https://nvd.nist.gov/>`__.
1670 1660
1671 The default is ${:term:`BPN`} (except for recipes that inherit the 1661 The default is ${:term:`BPN`} (except for recipes that inherit the
1672 :ref:`pypi <ref-classes-pypi>` class where it is set based upon 1662 :ref:`ref-classes-pypi` class where it is set based upon
1673 :term:`PYPI_PACKAGE`). If it does not match the name in the NIST CVE 1663 :term:`PYPI_PACKAGE`). If it does not match the name in the NIST CVE
1674 database or matches with multiple entries in the database, the default 1664 database or matches with multiple entries in the database, the default
1675 value needs to be changed. 1665 value needs to be changed.
@@ -1688,12 +1678,12 @@ system and gives an overview of their function and contents.
1688 :term:`CVE_VERSION` 1678 :term:`CVE_VERSION`
1689 In a recipe, defines the version used to match the recipe version 1679 In a recipe, defines the version used to match the recipe version
1690 against the version in the `NIST CVE database <https://nvd.nist.gov/>`__ 1680 against the version in the `NIST CVE database <https://nvd.nist.gov/>`__
1691 when usign :ref:`cve-check <ref-classes-cve-check>`. 1681 when usign :ref:`ref-classes-cve-check`.
1692 1682
1693 The default is ${:term:`PV`} but if recipes use custom version numbers 1683 The default is ${:term:`PV`} but if recipes use custom version numbers
1694 which do not map to upstream software component release versions and the versions 1684 which do not map to upstream software component release versions and the versions
1695 used in the CVE database, then this variable can be used to set the 1685 used in the CVE database, then this variable can be used to set the
1696 version number for :ref:`cve-check <ref-classes-cve-check>`. Example:: 1686 version number for :ref:`ref-classes-cve-check`. Example::
1697 1687
1698 CVE_VERSION = "2.39" 1688 CVE_VERSION = "2.39"
1699 1689
@@ -1743,7 +1733,7 @@ system and gives an overview of their function and contents.
1743 suitable for timestamps. 1733 suitable for timestamps.
1744 1734
1745 :term:`DEBIAN_NOAUTONAME` 1735 :term:`DEBIAN_NOAUTONAME`
1746 When the :ref:`debian <ref-classes-debian>` class is inherited, 1736 When the :ref:`ref-classes-debian` class is inherited,
1747 which is the default behavior, :term:`DEBIAN_NOAUTONAME` specifies a 1737 which is the default behavior, :term:`DEBIAN_NOAUTONAME` specifies a
1748 particular package should not be renamed according to Debian library 1738 particular package should not be renamed according to Debian library
1749 package naming. You must use the package name as an override when you 1739 package naming. You must use the package name as an override when you
@@ -1752,7 +1742,7 @@ system and gives an overview of their function and contents.
1752 DEBIAN_NOAUTONAME:fontconfig-utils = "1" 1742 DEBIAN_NOAUTONAME:fontconfig-utils = "1"
1753 1743
1754 :term:`DEBIANNAME` 1744 :term:`DEBIANNAME`
1755 When the :ref:`debian <ref-classes-debian>` class is inherited, 1745 When the :ref:`ref-classes-debian` class is inherited,
1756 which is the default behavior, :term:`DEBIANNAME` allows you to override 1746 which is the default behavior, :term:`DEBIANNAME` allows you to override
1757 the library name for an individual package. Overriding the library 1747 the library name for an individual package. Overriding the library
1758 name in these cases is rare. You must use the package name as an 1748 name in these cases is rare. You must use the package name as an
@@ -1832,7 +1822,7 @@ system and gives an overview of their function and contents.
1832 the :ref:`ref-tasks-populate_sysroot` task of 1822 the :ref:`ref-tasks-populate_sysroot` task of
1833 each recipe listed in :term:`DEPENDS`, through a 1823 each recipe listed in :term:`DEPENDS`, through a
1834 ``[``\ :ref:`deptask <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]`` 1824 ``[``\ :ref:`deptask <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]``
1835 declaration in the :ref:`base <ref-classes-base>` class. 1825 declaration in the :ref:`ref-classes-base` class.
1836 1826
1837 .. note:: 1827 .. note::
1838 1828
@@ -1848,7 +1838,7 @@ system and gives an overview of their function and contents.
1848 DEPENDS = "codegen-native" 1838 DEPENDS = "codegen-native"
1849 1839
1850 For more 1840 For more
1851 information, see the :ref:`native <ref-classes-native>` class and 1841 information, see the :ref:`ref-classes-native` class and
1852 the :term:`EXTRANATIVEPATH` variable. 1842 the :term:`EXTRANATIVEPATH` variable.
1853 1843
1854 .. note:: 1844 .. note::
@@ -1903,7 +1893,7 @@ system and gives an overview of their function and contents.
1903 Points to the area that the OpenEmbedded build system uses to place 1893 Points to the area that the OpenEmbedded build system uses to place
1904 Debian packages that are ready to be used outside of the build 1894 Debian packages that are ready to be used outside of the build
1905 system. This variable applies only when :term:`PACKAGE_CLASSES` contains 1895 system. This variable applies only when :term:`PACKAGE_CLASSES` contains
1906 ":ref:`package_deb <ref-classes-package_deb>`". 1896 ":ref:`ref-classes-package_deb`".
1907 1897
1908 The BitBake configuration file initially defines the 1898 The BitBake configuration file initially defines the
1909 :term:`DEPLOY_DIR_DEB` variable as a sub-folder of 1899 :term:`DEPLOY_DIR_DEB` variable as a sub-folder of
@@ -1911,7 +1901,7 @@ system and gives an overview of their function and contents.
1911 1901
1912 DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb" 1902 DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
1913 1903
1914 The :ref:`package_deb <ref-classes-package_deb>` class uses the 1904 The :ref:`ref-classes-package_deb` class uses the
1915 :term:`DEPLOY_DIR_DEB` variable to make sure the 1905 :term:`DEPLOY_DIR_DEB` variable to make sure the
1916 :ref:`ref-tasks-package_write_deb` task 1906 :ref:`ref-tasks-package_write_deb` task
1917 writes Debian packages into the appropriate folder. For more 1907 writes Debian packages into the appropriate folder. For more
@@ -1930,9 +1920,8 @@ system and gives an overview of their function and contents.
1930 It must not be used directly in recipes when deploying files. Instead, 1920 It must not be used directly in recipes when deploying files. Instead,
1931 it's only useful when a recipe needs to "read" a file already deployed 1921 it's only useful when a recipe needs to "read" a file already deployed
1932 by a dependency. So, it should be filled with the contents of 1922 by a dependency. So, it should be filled with the contents of
1933 :term:`DEPLOYDIR` by the :ref:`deploy <ref-classes-deploy>` class or 1923 :term:`DEPLOYDIR` by the :ref:`ref-classes-deploy` class or with the
1934 with the contents of :term:`IMGDEPLOYDIR` by the :ref:`image 1924 contents of :term:`IMGDEPLOYDIR` by the :ref:`ref-classes-image` class.
1935 <ref-classes-image>` class.
1936 1925
1937 For more information on the structure of the :term:`Build Directory`, see 1926 For more information on the structure of the :term:`Build Directory`, see
1938 ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section. 1927 ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
@@ -1945,16 +1934,15 @@ system and gives an overview of their function and contents.
1945 Points to the area that the OpenEmbedded build system uses to place 1934 Points to the area that the OpenEmbedded build system uses to place
1946 IPK packages that are ready to be used outside of the build system. 1935 IPK packages that are ready to be used outside of the build system.
1947 This variable applies only when :term:`PACKAGE_CLASSES` contains 1936 This variable applies only when :term:`PACKAGE_CLASSES` contains
1948 ":ref:`package_ipk <ref-classes-package_ipk>`". 1937 ":ref:`ref-classes-package_ipk`".
1949 1938
1950 The BitBake configuration file initially defines this variable as a 1939 The BitBake configuration file initially defines this variable as a
1951 sub-folder of :term:`DEPLOY_DIR`:: 1940 sub-folder of :term:`DEPLOY_DIR`::
1952 1941
1953 DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk" 1942 DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
1954 1943
1955 The :ref:`package_ipk <ref-classes-package_ipk>` class uses the 1944 The :ref:`ref-classes-package_ipk` class uses the :term:`DEPLOY_DIR_IPK`
1956 :term:`DEPLOY_DIR_IPK` variable to make sure the 1945 variable to make sure the :ref:`ref-tasks-package_write_ipk` task
1957 :ref:`ref-tasks-package_write_ipk` task
1958 writes IPK packages into the appropriate folder. For more information 1946 writes IPK packages into the appropriate folder. For more information
1959 on how packaging works, see the 1947 on how packaging works, see the
1960 ":ref:`overview-manual/concepts:package feeds`" section 1948 ":ref:`overview-manual/concepts:package feeds`" section
@@ -1964,14 +1952,14 @@ system and gives an overview of their function and contents.
1964 Points to the area that the OpenEmbedded build system uses to place 1952 Points to the area that the OpenEmbedded build system uses to place
1965 RPM packages that are ready to be used outside of the build system. 1953 RPM packages that are ready to be used outside of the build system.
1966 This variable applies only when :term:`PACKAGE_CLASSES` contains 1954 This variable applies only when :term:`PACKAGE_CLASSES` contains
1967 ":ref:`package_rpm <ref-classes-package_rpm>`". 1955 ":ref:`ref-classes-package_rpm`".
1968 1956
1969 The BitBake configuration file initially defines this variable as a 1957 The BitBake configuration file initially defines this variable as a
1970 sub-folder of :term:`DEPLOY_DIR`:: 1958 sub-folder of :term:`DEPLOY_DIR`::
1971 1959
1972 DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm" 1960 DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
1973 1961
1974 The :ref:`package_rpm <ref-classes-package_rpm>` class uses the 1962 The :ref:`ref-classes-package_rpm` class uses the
1975 :term:`DEPLOY_DIR_RPM` variable to make sure the 1963 :term:`DEPLOY_DIR_RPM` variable to make sure the
1976 :ref:`ref-tasks-package_write_rpm` task 1964 :ref:`ref-tasks-package_write_rpm` task
1977 writes RPM packages into the appropriate folder. For more information 1965 writes RPM packages into the appropriate folder. For more information
@@ -1983,14 +1971,14 @@ system and gives an overview of their function and contents.
1983 Points to the area that the OpenEmbedded build system uses to place 1971 Points to the area that the OpenEmbedded build system uses to place
1984 tarballs that are ready to be used outside of the build system. This 1972 tarballs that are ready to be used outside of the build system. This
1985 variable applies only when :term:`PACKAGE_CLASSES` contains 1973 variable applies only when :term:`PACKAGE_CLASSES` contains
1986 ":ref:`package_tar <ref-classes-package_tar>`". 1974 ":ref:`ref-classes-package_tar`".
1987 1975
1988 The BitBake configuration file initially defines this variable as a 1976 The BitBake configuration file initially defines this variable as a
1989 sub-folder of :term:`DEPLOY_DIR`:: 1977 sub-folder of :term:`DEPLOY_DIR`::
1990 1978
1991 DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar" 1979 DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
1992 1980
1993 The :ref:`package_tar <ref-classes-package_tar>` class uses the 1981 The :ref:`ref-classes-package_tar` class uses the
1994 :term:`DEPLOY_DIR_TAR` variable to make sure the 1982 :term:`DEPLOY_DIR_TAR` variable to make sure the
1995 :ref:`ref-tasks-package_write_tar` task 1983 :ref:`ref-tasks-package_write_tar` task
1996 writes TAR packages into the appropriate folder. For more information 1984 writes TAR packages into the appropriate folder. For more information
@@ -1999,13 +1987,13 @@ system and gives an overview of their function and contents.
1999 in the Yocto Project Overview and Concepts Manual. 1987 in the Yocto Project Overview and Concepts Manual.
2000 1988
2001 :term:`DEPLOYDIR` 1989 :term:`DEPLOYDIR`
2002 When inheriting the :ref:`deploy <ref-classes-deploy>` class, the 1990 When inheriting the :ref:`ref-classes-deploy` class, the
2003 :term:`DEPLOYDIR` points to a temporary work area for deployed files that 1991 :term:`DEPLOYDIR` points to a temporary work area for deployed files that
2004 is set in the :ref:`deploy <ref-classes-deploy>` class as follows:: 1992 is set in the :ref:`ref-classes-deploy` class as follows::
2005 1993
2006 DEPLOYDIR = "${WORKDIR}/deploy-${PN}" 1994 DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
2007 1995
2008 Recipes inheriting the :ref:`deploy <ref-classes-deploy>` class should copy files to be 1996 Recipes inheriting the :ref:`ref-classes-deploy` class should copy files to be
2009 deployed into :term:`DEPLOYDIR`, and the class will take care of copying 1997 deployed into :term:`DEPLOYDIR`, and the class will take care of copying
2010 them into :term:`DEPLOY_DIR_IMAGE` 1998 them into :term:`DEPLOY_DIR_IMAGE`
2011 afterwards. 1999 afterwards.
@@ -2141,10 +2129,9 @@ system and gives an overview of their function and contents.
2141 :term:`DISTRO_FEATURES_FILTER_NATIVESDK` 2129 :term:`DISTRO_FEATURES_FILTER_NATIVESDK`
2142 Specifies a list of features that if present in the target 2130 Specifies a list of features that if present in the target
2143 :term:`DISTRO_FEATURES` value should be included in 2131 :term:`DISTRO_FEATURES` value should be included in
2144 :term:`DISTRO_FEATURES` when building 2132 :term:`DISTRO_FEATURES` when building :ref:`ref-classes-nativesdk`
2145 :ref:`nativesdk <ref-classes-nativesdk>` recipes. This variable is used 2133 recipes. This variable is used in addition to the features filtered using
2146 in addition to the features filtered using the 2134 the :term:`DISTRO_FEATURES_NATIVESDK` variable.
2147 :term:`DISTRO_FEATURES_NATIVESDK` variable.
2148 2135
2149 :term:`DISTRO_FEATURES_NATIVE` 2136 :term:`DISTRO_FEATURES_NATIVE`
2150 Specifies a list of features that should be included in 2137 Specifies a list of features that should be included in
@@ -2157,7 +2144,7 @@ system and gives an overview of their function and contents.
2157 :term:`DISTRO_FEATURES_NATIVESDK` 2144 :term:`DISTRO_FEATURES_NATIVESDK`
2158 Specifies a list of features that should be included in 2145 Specifies a list of features that should be included in
2159 :term:`DISTRO_FEATURES` when building 2146 :term:`DISTRO_FEATURES` when building
2160 :ref:`nativesdk <ref-classes-nativesdk>` recipes. This variable is used 2147 :ref:`ref-classes-nativesdk` recipes. This variable is used
2161 in addition to the features filtered using the 2148 in addition to the features filtered using the
2162 :term:`DISTRO_FEATURES_FILTER_NATIVESDK` variable. 2149 :term:`DISTRO_FEATURES_FILTER_NATIVESDK` variable.
2163 2150
@@ -2240,7 +2227,7 @@ system and gives an overview of their function and contents.
2240 Wiki page. 2227 Wiki page.
2241 2228
2242 :term:`DOC_COMPRESS` 2229 :term:`DOC_COMPRESS`
2243 When inheriting the :ref:`compress_doc <ref-classes-compress_doc>` 2230 When inheriting the :ref:`ref-classes-compress_doc`
2244 class, this variable sets the compression policy used when the 2231 class, this variable sets the compression policy used when the
2245 OpenEmbedded build system compresses man pages and info pages. By 2232 OpenEmbedded build system compresses man pages and info pages. By
2246 default, the compression method used is gz (gzip). Other policies 2233 default, the compression method used is gz (gzip). Other policies
@@ -2255,9 +2242,8 @@ system and gives an overview of their function and contents.
2255 :term:`EFI_PROVIDER` variable specifies the EFI bootloader to use. The 2242 :term:`EFI_PROVIDER` variable specifies the EFI bootloader to use. The
2256 default is "grub-efi", but "systemd-boot" can be used instead. 2243 default is "grub-efi", but "systemd-boot" can be used instead.
2257 2244
2258 See the :ref:`systemd-boot <ref-classes-systemd-boot>` and 2245 See the :ref:`ref-classes-systemd-boot` and :ref:`ref-classes-image-live`
2259 :ref:`image-live <ref-classes-image-live>` classes for more 2246 classes for more information.
2260 information.
2261 2247
2262 :term:`ENABLE_BINARY_LOCALE_GENERATION` 2248 :term:`ENABLE_BINARY_LOCALE_GENERATION`
2263 Variable that controls which locales for ``glibc`` are generated 2249 Variable that controls which locales for ``glibc`` are generated
@@ -2265,11 +2251,10 @@ system and gives an overview of their function and contents.
2265 less). 2251 less).
2266 2252
2267 :term:`ERR_REPORT_DIR` 2253 :term:`ERR_REPORT_DIR`
2268 When used with the :ref:`report-error <ref-classes-report-error>` 2254 When used with the :ref:`ref-classes-report-error` class, specifies the
2269 class, specifies the path used for storing the debug files created by 2255 path used for storing the debug files created by the :ref:`error reporting
2270 the :ref:`error reporting 2256 tool <dev-manual/error-reporting-tool:using the error reporting tool>`,
2271 tool <dev-manual/error-reporting-tool:using the error reporting tool>`, which 2257 which allows you to submit build errors you encounter to a central
2272 allows you to submit build errors you encounter to a central
2273 database. By default, the value of this variable is 2258 database. By default, the value of this variable is
2274 ``${``\ :term:`LOG_DIR`\ ``}/error-report``. 2259 ``${``\ :term:`LOG_DIR`\ ``}/error-report``.
2275 2260
@@ -2413,8 +2398,7 @@ system and gives an overview of their function and contents.
2413 When kernel tools are available in the tree, they are preferred over 2398 When kernel tools are available in the tree, they are preferred over
2414 any externally installed tools. Setting the :term:`EXTERNAL_KERNEL_TOOLS` 2399 any externally installed tools. Setting the :term:`EXTERNAL_KERNEL_TOOLS`
2415 variable tells the OpenEmbedded build system to prefer the installed 2400 variable tells the OpenEmbedded build system to prefer the installed
2416 external tools. See the 2401 external tools. See the :ref:`ref-classes-kernel-yocto` class in
2417 :ref:`kernel-yocto <ref-classes-kernel-yocto>` class in
2418 ``meta/classes-recipe`` to see how the variable is used. 2402 ``meta/classes-recipe`` to see how the variable is used.
2419 2403
2420 :term:`EXTERNAL_TOOLCHAIN` 2404 :term:`EXTERNAL_TOOLCHAIN`
@@ -2424,7 +2408,7 @@ system and gives an overview of their function and contents.
2424 installed. 2408 installed.
2425 2409
2426 :term:`EXTERNALSRC` 2410 :term:`EXTERNALSRC`
2427 When inheriting the :ref:`externalsrc <ref-classes-externalsrc>` 2411 When inheriting the :ref:`ref-classes-externalsrc`
2428 class, this variable points to the source tree, which is outside of 2412 class, this variable points to the source tree, which is outside of
2429 the OpenEmbedded build system. When set, this variable sets the 2413 the OpenEmbedded build system. When set, this variable sets the
2430 :term:`S` variable, which is what the OpenEmbedded build 2414 :term:`S` variable, which is what the OpenEmbedded build
@@ -2436,7 +2420,7 @@ system and gives an overview of their function and contents.
2436 section in the Yocto Project Development Tasks Manual. 2420 section in the Yocto Project Development Tasks Manual.
2437 2421
2438 :term:`EXTERNALSRC_BUILD` 2422 :term:`EXTERNALSRC_BUILD`
2439 When inheriting the :ref:`externalsrc <ref-classes-externalsrc>` 2423 When inheriting the :ref:`ref-classes-externalsrc`
2440 class, this variable points to the directory in which the recipe's 2424 class, this variable points to the directory in which the recipe's
2441 source code is built, which is outside of the OpenEmbedded build 2425 source code is built, which is outside of the OpenEmbedded build
2442 system. When set, this variable sets the :term:`B` variable, 2426 system. When set, this variable sets the :term:`B` variable,
@@ -2449,7 +2433,7 @@ system and gives an overview of their function and contents.
2449 section in the Yocto Project Development Tasks Manual. 2433 section in the Yocto Project Development Tasks Manual.
2450 2434
2451 :term:`EXTRA_AUTORECONF` 2435 :term:`EXTRA_AUTORECONF`
2452 For recipes inheriting the :ref:`autotools <ref-classes-autotools>` 2436 For recipes inheriting the :ref:`ref-classes-autotools`
2453 class, you can use :term:`EXTRA_AUTORECONF` to specify extra options to 2437 class, you can use :term:`EXTRA_AUTORECONF` to specify extra options to
2454 pass to the ``autoreconf`` command that is executed during the 2438 pass to the ``autoreconf`` command that is executed during the
2455 :ref:`ref-tasks-configure` task. 2439 :ref:`ref-tasks-configure` task.
@@ -2522,7 +2506,7 @@ system and gives an overview of their function and contents.
2522 2506
2523 :term:`EXTRA_OECMAKE` 2507 :term:`EXTRA_OECMAKE`
2524 Additional `CMake <https://cmake.org/overview/>`__ options. See the 2508 Additional `CMake <https://cmake.org/overview/>`__ options. See the
2525 :ref:`cmake <ref-classes-cmake>` class for additional information. 2509 :ref:`ref-classes-cmake` class for additional information.
2526 2510
2527 :term:`EXTRA_OECONF` 2511 :term:`EXTRA_OECONF`
2528 Additional ``configure`` script options. See 2512 Additional ``configure`` script options. See
@@ -2540,21 +2524,22 @@ system and gives an overview of their function and contents.
2540 :term:`EXTRA_OEMAKE` to pass the required flags. 2524 :term:`EXTRA_OEMAKE` to pass the required flags.
2541 2525
2542 :term:`EXTRA_OESCONS` 2526 :term:`EXTRA_OESCONS`
2543 When inheriting the :ref:`scons <ref-classes-scons>` class, this 2527 When inheriting the :ref:`ref-classes-scons` class, this
2544 variable specifies additional configuration options you want to pass 2528 variable specifies additional configuration options you want to pass
2545 to the ``scons`` command line. 2529 to the ``scons`` command line.
2546 2530
2547 :term:`EXTRA_USERS_PARAMS` 2531 :term:`EXTRA_USERS_PARAMS`
2548 When inheriting the :ref:`extrausers <ref-classes-extrausers>` 2532 When inheriting the :ref:`ref-classes-extrausers`
2549 class, this variable provides image level user and group operations. 2533 class, this variable provides image level user and group operations.
2550 This is a more global method of providing user and group 2534 This is a more global method of providing user and group
2551 configuration as compared to using the 2535 configuration as compared to using the
2552 :ref:`useradd <ref-classes-useradd>` class, which ties user and 2536 :ref:`ref-classes-useradd` class, which ties user and
2553 group configurations to a specific recipe. 2537 group configurations to a specific recipe.
2554 2538
2555 The set list of commands you can configure using the 2539 The set list of commands you can configure using the
2556 :term:`EXTRA_USERS_PARAMS` is shown in the :ref:`extrausers <ref-classes-extrausers>` class. These 2540 :term:`EXTRA_USERS_PARAMS` is shown in the
2557 commands map to the normal Unix commands of the same names:: 2541 :ref:`ref-classes-extrausers` class. These commands map to the normal
2542 Unix commands of the same names::
2558 2543
2559 # EXTRA_USERS_PARAMS = "\ 2544 # EXTRA_USERS_PARAMS = "\
2560 # useradd -p '' tester; \ 2545 # useradd -p '' tester; \
@@ -2892,7 +2877,7 @@ system and gives an overview of their function and contents.
2892 2877
2893 :term:`FIT_DESC` 2878 :term:`FIT_DESC`
2894 Specifies the description string encoded into a fitImage. The default 2879 Specifies the description string encoded into a fitImage. The default
2895 value is set by the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` 2880 value is set by the :ref:`ref-classes-kernel-fitimage`
2896 class as follows:: 2881 class as follows::
2897 2882
2898 FIT_DESC ?= "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}" 2883 FIT_DESC ?= "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}"
@@ -2938,7 +2923,7 @@ system and gives an overview of their function and contents.
2938 The default value is "pkcs-1.5". 2923 The default value is "pkcs-1.5".
2939 2924
2940 :term:`FIT_SIGN_INDIVIDUAL` 2925 :term:`FIT_SIGN_INDIVIDUAL`
2941 If set to "1", then the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` 2926 If set to "1", then the :ref:`ref-classes-kernel-fitimage`
2942 class will sign the kernel, dtb and ramdisk images individually in addition 2927 class will sign the kernel, dtb and ramdisk images individually in addition
2943 to signing the fitImage itself. This could be useful if you are 2928 to signing the fitImage itself. This could be useful if you are
2944 intending to verify signatures in another context than booting via 2929 intending to verify signatures in another context than booting via
@@ -2949,14 +2934,14 @@ system and gives an overview of their function and contents.
2949 value is "2048". 2934 value is "2048".
2950 2935
2951 :term:`FONT_EXTRA_RDEPENDS` 2936 :term:`FONT_EXTRA_RDEPENDS`
2952 When inheriting the :ref:`fontcache <ref-classes-fontcache>` class, 2937 When inheriting the :ref:`ref-classes-fontcache` class,
2953 this variable specifies the runtime dependencies for font packages. 2938 this variable specifies the runtime dependencies for font packages.
2954 By default, the :term:`FONT_EXTRA_RDEPENDS` is set to "fontconfig-utils". 2939 By default, the :term:`FONT_EXTRA_RDEPENDS` is set to "fontconfig-utils".
2955 2940
2956 :term:`FONT_PACKAGES` 2941 :term:`FONT_PACKAGES`
2957 When inheriting the :ref:`fontcache <ref-classes-fontcache>` class, 2942 When inheriting the :ref:`ref-classes-fontcache` class, this variable
2958 this variable identifies packages containing font files that need to 2943 identifies packages containing font files that need to be cached by
2959 be cached by Fontconfig. By default, the :ref:`fontcache <ref-classes-fontcache>` class assumes 2944 Fontconfig. By default, the :ref:`ref-classes-fontcache` class assumes
2960 that fonts are in the recipe's main package (i.e. 2945 that fonts are in the recipe's main package (i.e.
2961 ``${``\ :term:`PN`\ ``}``). Use this variable if fonts you 2946 ``${``\ :term:`PN`\ ``}``). Use this variable if fonts you
2962 need are in a package other than that main package. 2947 need are in a package other than that main package.
@@ -3007,7 +2992,7 @@ system and gives an overview of their function and contents.
3007 when it is cloned. 2992 when it is cloned.
3008 2993
3009 :term:`GITHUB_BASE_URI` 2994 :term:`GITHUB_BASE_URI`
3010 When inheriting the :ref:`github-releases <ref-classes-github-releases>` 2995 When inheriting the :ref:`ref-classes-github-releases`
3011 class, specifies the base URL for fetching releases for the github 2996 class, specifies the base URL for fetching releases for the github
3012 project you wish to fetch sources from. The default value is as follows:: 2997 project you wish to fetch sources from. The default value is as follows::
3013 2998
@@ -3028,7 +3013,7 @@ system and gives an overview of their function and contents.
3028 GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8" 3013 GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8"
3029 3014
3030 :term:`GROUPADD_PARAM` 3015 :term:`GROUPADD_PARAM`
3031 When inheriting the :ref:`useradd <ref-classes-useradd>` class, 3016 When inheriting the :ref:`ref-classes-useradd` class,
3032 this variable specifies for a package what parameters should be 3017 this variable specifies for a package what parameters should be
3033 passed to the ``groupadd`` command if you wish to add a group to the 3018 passed to the ``groupadd`` command if you wish to add a group to the
3034 system when the package is installed. 3019 system when the package is installed.
@@ -3041,7 +3026,7 @@ system and gives an overview of their function and contents.
3041 ``groupadd``, see https://linux.die.net/man/8/groupadd. 3026 ``groupadd``, see https://linux.die.net/man/8/groupadd.
3042 3027
3043 :term:`GROUPMEMS_PARAM` 3028 :term:`GROUPMEMS_PARAM`
3044 When inheriting the :ref:`useradd <ref-classes-useradd>` class, 3029 When inheriting the :ref:`ref-classes-useradd` class,
3045 this variable specifies for a package what parameters should be 3030 this variable specifies for a package what parameters should be
3046 passed to the ``groupmems`` command if you wish to modify the members 3031 passed to the ``groupmems`` command if you wish to modify the members
3047 of a group when the package is installed. 3032 of a group when the package is installed.
@@ -3055,7 +3040,7 @@ system and gives an overview of their function and contents.
3055 ``local.conf`` or distribution configuration file to enable graphics 3040 ``local.conf`` or distribution configuration file to enable graphics
3056 and serial in the menu. 3041 and serial in the menu.
3057 3042
3058 See the :ref:`grub-efi <ref-classes-grub-efi>` class for more 3043 See the :ref:`ref-classes-grub-efi` class for more
3059 information on how this variable is used. 3044 information on how this variable is used.
3060 3045
3061 :term:`GRUB_OPTS` 3046 :term:`GRUB_OPTS`
@@ -3064,7 +3049,7 @@ system and gives an overview of their function and contents.
3064 multiple options. 3049 multiple options.
3065 3050
3066 The :term:`GRUB_OPTS` variable is optional. See the 3051 The :term:`GRUB_OPTS` variable is optional. See the
3067 :ref:`grub-efi <ref-classes-grub-efi>` class for more information 3052 :ref:`ref-classes-grub-efi` class for more information
3068 on how this variable is used. 3053 on how this variable is used.
3069 3054
3070 :term:`GRUB_TIMEOUT` 3055 :term:`GRUB_TIMEOUT`
@@ -3072,12 +3057,11 @@ system and gives an overview of their function and contents.
3072 GNU GRand Unified Bootloader (GRUB). 3057 GNU GRand Unified Bootloader (GRUB).
3073 3058
3074 The :term:`GRUB_TIMEOUT` variable is optional. See the 3059 The :term:`GRUB_TIMEOUT` variable is optional. See the
3075 :ref:`grub-efi <ref-classes-grub-efi>` class for more information 3060 :ref:`ref-classes-grub-efi` class for more information
3076 on how this variable is used. 3061 on how this variable is used.
3077 3062
3078 :term:`GTKIMMODULES_PACKAGES` 3063 :term:`GTKIMMODULES_PACKAGES`
3079 When inheriting the 3064 When inheriting the :ref:`ref-classes-gtk-immodules-cache` class,
3080 :ref:`gtk-immodules-cache <ref-classes-gtk-immodules-cache>` class,
3081 this variable specifies the packages that contain the GTK+ input 3065 this variable specifies the packages that contain the GTK+ input
3082 method modules being installed when the modules are in packages other 3066 method modules being installed when the modules are in packages other
3083 than the main package. 3067 than the main package.
@@ -3180,7 +3164,7 @@ system and gives an overview of their function and contents.
3180 :term:`ICECC_CLASS_DISABLE` 3164 :term:`ICECC_CLASS_DISABLE`
3181 Identifies user classes that you do not want the Icecream distributed 3165 Identifies user classes that you do not want the Icecream distributed
3182 compile support to consider. This variable is used by the 3166 compile support to consider. This variable is used by the
3183 :ref:`icecc <ref-classes-icecc>` class. You set this variable in 3167 :ref:`ref-classes-icecc` class. You set this variable in
3184 your ``local.conf`` file. 3168 your ``local.conf`` file.
3185 3169
3186 When you list classes using this variable, the recipes inheriting 3170 When you list classes using this variable, the recipes inheriting
@@ -3204,7 +3188,7 @@ system and gives an overview of their function and contents.
3204 3188
3205 :term:`ICECC_ENV_EXEC` 3189 :term:`ICECC_ENV_EXEC`
3206 Points to the ``icecc-create-env`` script that you provide. This 3190 Points to the ``icecc-create-env`` script that you provide. This
3207 variable is used by the :ref:`icecc <ref-classes-icecc>` class. You 3191 variable is used by the :ref:`ref-classes-icecc` class. You
3208 set this variable in your ``local.conf`` file. 3192 set this variable in your ``local.conf`` file.
3209 3193
3210 If you do not point to a script that you provide, the OpenEmbedded 3194 If you do not point to a script that you provide, the OpenEmbedded
@@ -3241,13 +3225,13 @@ system and gives an overview of their function and contents.
3241 :term:`ICECC_PATH` 3225 :term:`ICECC_PATH`
3242 The location of the ``icecc`` binary. You can set this variable in 3226 The location of the ``icecc`` binary. You can set this variable in
3243 your ``local.conf`` file. If your ``local.conf`` file does not define 3227 your ``local.conf`` file. If your ``local.conf`` file does not define
3244 this variable, the :ref:`icecc <ref-classes-icecc>` class attempts 3228 this variable, the :ref:`ref-classes-icecc` class attempts
3245 to define it by locating ``icecc`` using ``which``. 3229 to define it by locating ``icecc`` using ``which``.
3246 3230
3247 :term:`ICECC_RECIPE_DISABLE` 3231 :term:`ICECC_RECIPE_DISABLE`
3248 Identifies user recipes that you do not want the Icecream distributed 3232 Identifies user recipes that you do not want the Icecream distributed
3249 compile support to consider. This variable is used by the 3233 compile support to consider. This variable is used by the
3250 :ref:`icecc <ref-classes-icecc>` class. You set this variable in 3234 :ref:`ref-classes-icecc` class. You set this variable in
3251 your ``local.conf`` file. 3235 your ``local.conf`` file.
3252 3236
3253 When you list recipes using this variable, you are excluding them 3237 When you list recipes using this variable, you are excluding them
@@ -3259,7 +3243,7 @@ system and gives an overview of their function and contents.
3259 :term:`PARALLEL_MAKE` variable that you want to 3243 :term:`PARALLEL_MAKE` variable that you want to
3260 force remote distributed compilation on using the Icecream 3244 force remote distributed compilation on using the Icecream
3261 distributed compile support. This variable is used by the 3245 distributed compile support. This variable is used by the
3262 :ref:`icecc <ref-classes-icecc>` class. You set this variable in 3246 :ref:`ref-classes-icecc` class. You set this variable in
3263 your ``local.conf`` file. 3247 your ``local.conf`` file.
3264 3248
3265 :term:`IMAGE_BASENAME` 3249 :term:`IMAGE_BASENAME`
@@ -3301,12 +3285,12 @@ system and gives an overview of their function and contents.
3301 ":doc:`/ref-manual/kickstart`" chapter. 3285 ":doc:`/ref-manual/kickstart`" chapter.
3302 3286
3303 :term:`IMAGE_BUILDINFO_FILE` 3287 :term:`IMAGE_BUILDINFO_FILE`
3304 When using the :ref:`image-buildinfo <ref-classes-image-buildinfo>` class, 3288 When using the :ref:`ref-classes-image-buildinfo` class,
3305 specifies the file in the image to write the build information into. The 3289 specifies the file in the image to write the build information into. The
3306 default value is "``${sysconfdir}/buildinfo``". 3290 default value is "``${sysconfdir}/buildinfo``".
3307 3291
3308 :term:`IMAGE_BUILDINFO_VARS` 3292 :term:`IMAGE_BUILDINFO_VARS`
3309 When using the :ref:`image-buildinfo <ref-classes-image-buildinfo>` class, 3293 When using the :ref:`ref-classes-image-buildinfo` class,
3310 specifies the list of variables to include in the `Build Configuration` 3294 specifies the list of variables to include in the `Build Configuration`
3311 section of the output file (as a space-separated list). Defaults to 3295 section of the output file (as a space-separated list). Defaults to
3312 ":term:`DISTRO` :term:`DISTRO_VERSION`". 3296 ":term:`DISTRO` :term:`DISTRO_VERSION`".
@@ -3331,7 +3315,7 @@ system and gives an overview of their function and contents.
3331 3315
3332 You typically do not need to set this variable unless you are adding 3316 You typically do not need to set this variable unless you are adding
3333 support for a new image type. For more examples on how to set this 3317 support for a new image type. For more examples on how to set this
3334 variable, see the :ref:`image_types <ref-classes-image_types>` 3318 variable, see the :ref:`ref-classes-image_types`
3335 class file, which is ``meta/classes-recipe/image_types.bbclass``. 3319 class file, which is ``meta/classes-recipe/image_types.bbclass``.
3336 3320
3337 :term:`IMAGE_DEVICE_TABLES` 3321 :term:`IMAGE_DEVICE_TABLES`
@@ -3421,16 +3405,15 @@ system and gives an overview of their function and contents.
3421 3405
3422 :term:`IMAGE_INSTALL` 3406 :term:`IMAGE_INSTALL`
3423 Used by recipes to specify the packages to install into an image 3407 Used by recipes to specify the packages to install into an image
3424 through the :ref:`image <ref-classes-image>` class. Use the 3408 through the :ref:`ref-classes-image` class. Use the
3425 :term:`IMAGE_INSTALL` variable with care to avoid ordering issues. 3409 :term:`IMAGE_INSTALL` variable with care to avoid ordering issues.
3426 3410
3427 Image recipes set :term:`IMAGE_INSTALL` to specify the packages to 3411 Image recipes set :term:`IMAGE_INSTALL` to specify the packages to
3428 install into an image through :ref:`ref-classes-image`. Additionally, 3412 install into an image through :ref:`ref-classes-image`. Additionally,
3429 there are "helper" classes such as the 3413 there are "helper" classes such as the :ref:`ref-classes-core-image`
3430 :ref:`core-image <ref-classes-core-image>` class which can 3414 class which can take lists used with :term:`IMAGE_FEATURES` and turn
3431 take lists used with :term:`IMAGE_FEATURES` and turn them into 3415 them into auto-generated entries in :term:`IMAGE_INSTALL` in addition
3432 auto-generated entries in :term:`IMAGE_INSTALL` in addition to its 3416 to its default contents.
3433 default contents.
3434 3417
3435 When you use this variable, it is best to use it as follows:: 3418 When you use this variable, it is best to use it as follows::
3436 3419
@@ -3563,19 +3546,16 @@ system and gives an overview of their function and contents.
3563 :term:`IMAGE_PKGTYPE` 3546 :term:`IMAGE_PKGTYPE`
3564 Defines the package type (i.e. DEB, RPM, IPK, or TAR) used by the 3547 Defines the package type (i.e. DEB, RPM, IPK, or TAR) used by the
3565 OpenEmbedded build system. The variable is defined appropriately by 3548 OpenEmbedded build system. The variable is defined appropriately by
3566 the :ref:`package_deb <ref-classes-package_deb>`, 3549 the :ref:`ref-classes-package_deb`, :ref:`ref-classes-package_rpm`,
3567 :ref:`package_rpm <ref-classes-package_rpm>`, 3550 :ref:`ref-classes-package_ipk`, or :ref:`ref-classes-package_tar` class.
3568 :ref:`package_ipk <ref-classes-package_ipk>`, or
3569 :ref:`package_tar <ref-classes-package_tar>` class.
3570 3551
3571 .. note:: 3552 .. note::
3572 3553
3573 The ``package_tar`` class is broken and is not supported. It is 3554 The ``package_tar`` class is broken and is not supported. It is
3574 recommended that you do not use it. 3555 recommended that you do not use it.
3575 3556
3576 The :ref:`populate_sdk_* <ref-classes-populate-sdk-*>` and 3557 The :ref:`ref-classes-populate-sdk-*` and :ref:`ref-classes-image`
3577 :ref:`image <ref-classes-image>` classes use the :term:`IMAGE_PKGTYPE` 3558 classes use the :term:`IMAGE_PKGTYPE` for packaging up images and SDKs.
3578 for packaging up images and SDKs.
3579 3559
3580 You should not set the :term:`IMAGE_PKGTYPE` manually. Rather, the 3560 You should not set the :term:`IMAGE_PKGTYPE` manually. Rather, the
3581 variable is set indirectly through the appropriate 3561 variable is set indirectly through the appropriate
@@ -3672,7 +3652,7 @@ system and gives an overview of their function and contents.
3672 3652
3673 :term:`IMAGE_TYPEDEP` 3653 :term:`IMAGE_TYPEDEP`
3674 Specifies a dependency from one image type on another. Here is an 3654 Specifies a dependency from one image type on another. Here is an
3675 example from the :ref:`image-live <ref-classes-image-live>` class:: 3655 example from the :ref:`ref-classes-image-live` class::
3676 3656
3677 IMAGE_TYPEDEP:live = "ext3" 3657 IMAGE_TYPEDEP:live = "ext3"
3678 3658
@@ -3739,14 +3719,14 @@ system and gives an overview of their function and contents.
3739 the build artifacts. 3719 the build artifacts.
3740 3720
3741 :term:`IMGDEPLOYDIR` 3721 :term:`IMGDEPLOYDIR`
3742 When inheriting the :ref:`image <ref-classes-image>` class directly or 3722 When inheriting the :ref:`ref-classes-image` class directly or
3743 through the :ref:`core-image <ref-classes-core-image>` class, the 3723 through the :ref:`ref-classes-core-image` class, the
3744 :term:`IMGDEPLOYDIR` points to a temporary work area for deployed files 3724 :term:`IMGDEPLOYDIR` points to a temporary work area for deployed files
3745 that is set in the ``image`` class as follows:: 3725 that is set in the ``image`` class as follows::
3746 3726
3747 IMGDEPLOYDIR = "${WORKDIR}/deploy-${PN}-image-complete" 3727 IMGDEPLOYDIR = "${WORKDIR}/deploy-${PN}-image-complete"
3748 3728
3749 Recipes inheriting the :ref:`image <ref-classes-image>` class should copy 3729 Recipes inheriting the :ref:`ref-classes-image` class should copy
3750 files to be deployed into :term:`IMGDEPLOYDIR`, and the class will take 3730 files to be deployed into :term:`IMGDEPLOYDIR`, and the class will take
3751 care of copying them into :term:`DEPLOY_DIR_IMAGE` afterwards. 3731 care of copying them into :term:`DEPLOY_DIR_IMAGE` afterwards.
3752 3732
@@ -3889,10 +3869,9 @@ system and gives an overview of their function and contents.
3889 :term:`INHIBIT_SYSROOT_STRIP` variable to "1" in your recipe, you inhibit 3869 :term:`INHIBIT_SYSROOT_STRIP` variable to "1" in your recipe, you inhibit
3890 this stripping. 3870 this stripping.
3891 3871
3892 If you want to use this variable, include the 3872 If you want to use this variable, include the :ref:`ref-classes-staging`
3893 :ref:`staging <ref-classes-staging>` class. This class uses a 3873 class. This class uses a ``sys_strip()`` function to test for the variable
3894 ``sys_strip()`` function to test for the variable and acts 3874 and acts accordingly.
3895 accordingly.
3896 3875
3897 .. note:: 3876 .. note::
3898 3877
@@ -3945,11 +3924,12 @@ system and gives an overview of their function and contents.
3945 section in the Yocto Project Development Tasks Manual. 3924 section in the Yocto Project Development Tasks Manual.
3946 3925
3947 :term:`INITRAMFS_DEPLOY_DIR_IMAGE` 3926 :term:`INITRAMFS_DEPLOY_DIR_IMAGE`
3948 Indicates the deploy directory used by :ref:`ref-tasks-bundle_initramfs` where the 3927 Indicates the deploy directory used by :ref:`ref-tasks-bundle_initramfs`
3949 :term:`INITRAMFS_IMAGE` will be fetched from. 3928 where the :term:`INITRAMFS_IMAGE` will be fetched from. This variable is
3950 This variable is set by default to ``${DEPLOY_DIR_IMAGE}`` in the 3929 set by default to ``${DEPLOY_DIR_IMAGE}`` in the
3951 :ref:`kernel <ref-classes-kernel>` class and it's only meant to be changed 3930 :ref:`ref-classes-kernel` class and it's only meant to be changed when
3952 when building an :term:`Initramfs` image from a separate multiconfig via :term:`INITRAMFS_MULTICONFIG`. 3931 building an :term:`Initramfs` image from a separate multiconfig via
3932 :term:`INITRAMFS_MULTICONFIG`.
3953 3933
3954 :term:`INITRAMFS_FSTYPES` 3934 :term:`INITRAMFS_FSTYPES`
3955 Defines the format for the output image of an initial RAM filesystem 3935 Defines the format for the output image of an initial RAM filesystem
@@ -3988,9 +3968,9 @@ system and gives an overview of their function and contents.
3988 3968
3989 You can also find more information by referencing the 3969 You can also find more information by referencing the
3990 ``meta-poky/conf/templates/default/local.conf.sample.extended`` 3970 ``meta-poky/conf/templates/default/local.conf.sample.extended``
3991 configuration file in the Source Directory, the :ref:`image 3971 configuration file in the Source Directory, the :ref:`ref-classes-image`
3992 <ref-classes-image>` class, and the :ref:`kernel <ref-classes-kernel>` 3972 class, and the :ref:`ref-classes-kernel` class to see how to use the
3993 class to see how to use the :term:`INITRAMFS_IMAGE` variable. 3973 :term:`INITRAMFS_IMAGE` variable.
3994 3974
3995 If :term:`INITRAMFS_IMAGE` is empty, which is the default, then no 3975 If :term:`INITRAMFS_IMAGE` is empty, which is the default, then no
3996 :term:`Initramfs` image is built. 3976 :term:`Initramfs` image is built.
@@ -4037,8 +4017,7 @@ system and gives an overview of their function and contents.
4037 4017
4038 INITRAMFS_IMAGE_BUNDLE = "1" 4018 INITRAMFS_IMAGE_BUNDLE = "1"
4039 4019
4040 By default, the 4020 By default, the :ref:`ref-classes-kernel` class sets this variable to a
4041 :ref:`kernel <ref-classes-kernel>` class sets this variable to a
4042 null string as follows:: 4021 null string as follows::
4043 4022
4044 INITRAMFS_IMAGE_BUNDLE ?= "" 4023 INITRAMFS_IMAGE_BUNDLE ?= ""
@@ -4071,7 +4050,8 @@ system and gives an overview of their function and contents.
4071 information. 4050 information.
4072 4051
4073 :term:`INITRAMFS_MULTICONFIG` 4052 :term:`INITRAMFS_MULTICONFIG`
4074 Defines the multiconfig to create a multiconfig dependency to be used by the :ref:`kernel <ref-classes-kernel>` class. 4053 Defines the multiconfig to create a multiconfig dependency to be used by
4054 the :ref:`ref-classes-kernel` class.
4075 4055
4076 This allows the kernel to bundle an :term:`INITRAMFS_IMAGE` coming from 4056 This allows the kernel to bundle an :term:`INITRAMFS_IMAGE` coming from
4077 a separate multiconfig, this is meant to be used in addition to :term:`INITRAMFS_DEPLOY_DIR_IMAGE`. 4057 a separate multiconfig, this is meant to be used in addition to :term:`INITRAMFS_DEPLOY_DIR_IMAGE`.
@@ -4097,7 +4077,7 @@ system and gives an overview of their function and contents.
4097 initial RAM disk (``initrd``). 4077 initial RAM disk (``initrd``).
4098 4078
4099 The :term:`INITRD` variable is an optional variable used with the 4079 The :term:`INITRD` variable is an optional variable used with the
4100 :ref:`image-live <ref-classes-image-live>` class. 4080 :ref:`ref-classes-image-live` class.
4101 4081
4102 :term:`INITRD_IMAGE` 4082 :term:`INITRD_IMAGE`
4103 When building a "live" bootable image (i.e. when 4083 When building a "live" bootable image (i.e. when
@@ -4106,8 +4086,7 @@ system and gives an overview of their function and contents.
4106 provide the initial RAM disk image. The default value is 4086 provide the initial RAM disk image. The default value is
4107 "core-image-minimal-initramfs". 4087 "core-image-minimal-initramfs".
4108 4088
4109 See the :ref:`image-live <ref-classes-image-live>` class for more 4089 See the :ref:`ref-classes-image-live` class for more information.
4110 information.
4111 4090
4112 :term:`INITSCRIPT_NAME` 4091 :term:`INITSCRIPT_NAME`
4113 The filename of the initialization script as installed to 4092 The filename of the initialization script as installed to
@@ -4134,7 +4113,7 @@ system and gives an overview of their function and contents.
4134 in initlevels 2 and 5, and stops the script in levels 0, 1 and 6. 4113 in initlevels 2 and 5, and stops the script in levels 0, 1 and 6.
4135 4114
4136 The variable's default value is "defaults", which is set in the 4115 The variable's default value is "defaults", which is set in the
4137 :ref:`update-rc.d <ref-classes-update-rc.d>` class. 4116 :ref:`ref-classes-update-rc.d` class.
4138 4117
4139 The value in :term:`INITSCRIPT_PARAMS` is passed through to the 4118 The value in :term:`INITSCRIPT_PARAMS` is passed through to the
4140 ``update-rc.d`` command. For more information on valid parameters, 4119 ``update-rc.d`` command. For more information on valid parameters,
@@ -4212,7 +4191,7 @@ system and gives an overview of their function and contents.
4212 BSP. 4191 BSP.
4213 4192
4214 :term:`KBUILD_DEFCONFIG` 4193 :term:`KBUILD_DEFCONFIG`
4215 When used with the :ref:`kernel-yocto <ref-classes-kernel-yocto>` 4194 When used with the :ref:`ref-classes-kernel-yocto`
4216 class, specifies an "in-tree" kernel configuration file for use 4195 class, specifies an "in-tree" kernel configuration file for use
4217 during a kernel build. 4196 during a kernel build.
4218 4197
@@ -4245,7 +4224,7 @@ system and gives an overview of their function and contents.
4245 section in the Yocto Project Linux Kernel Development Manual. 4224 section in the Yocto Project Linux Kernel Development Manual.
4246 4225
4247 :term:`KCONFIG_MODE` 4226 :term:`KCONFIG_MODE`
4248 When used with the :ref:`kernel-yocto <ref-classes-kernel-yocto>` 4227 When used with the :ref:`ref-classes-kernel-yocto`
4249 class, specifies the kernel configuration values to use for options 4228 class, specifies the kernel configuration values to use for options
4250 not specified in the provided ``defconfig`` file. Valid options are:: 4229 not specified in the provided ``defconfig`` file. Valid options are::
4251 4230
@@ -4302,12 +4281,12 @@ system and gives an overview of their function and contents.
4302 4281
4303 :term:`KERNEL_CLASSES` 4282 :term:`KERNEL_CLASSES`
4304 A list of classes defining kernel image types that the 4283 A list of classes defining kernel image types that the
4305 :ref:`kernel <ref-classes-kernel>` class should inherit. You typically 4284 :ref:`ref-classes-kernel` class should inherit. You typically
4306 append this variable to enable extended image types. An example is 4285 append this variable to enable extended image types. An example is
4307 ":ref:`kernel-fitimage <ref-classes-kernel-fitimage>`", which enables 4286 ":ref:`ref-classes-kernel-fitimage`", which enables
4308 fitImage support and resides in ``meta/classes-recipe/kernel-fitimage.bbclass``. 4287 fitImage support and resides in ``meta/classes-recipe/kernel-fitimage.bbclass``.
4309 You can register custom kernel image types with the 4288 You can register custom kernel image types with the
4310 :ref:`kernel <ref-classes-kernel>` class using this variable. 4289 :ref:`ref-classes-kernel` class using this variable.
4311 4290
4312 :term:`KERNEL_DEBUG_TIMESTAMPS` 4291 :term:`KERNEL_DEBUG_TIMESTAMPS`
4313 If set to "1", enables timestamping functionality during building 4292 If set to "1", enables timestamping functionality during building
@@ -4329,9 +4308,8 @@ system and gives an overview of their function and contents.
4329 There is legacy support for specifying the full path to the device 4308 There is legacy support for specifying the full path to the device
4330 tree. However, providing just the ``.dtb`` file is preferred. 4309 tree. However, providing just the ``.dtb`` file is preferred.
4331 4310
4332 In order to use this variable, the 4311 In order to use this variable, the :ref:`ref-classes-kernel-devicetree`
4333 :ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class must 4312 class must be inherited.
4334 be inherited.
4335 4313
4336 :term:`KERNEL_DTB_LINK_NAME` 4314 :term:`KERNEL_DTB_LINK_NAME`
4337 The link name of the kernel device tree binary (DTB). This variable 4315 The link name of the kernel device tree binary (DTB). This variable
@@ -4366,9 +4344,8 @@ system and gives an overview of their function and contents.
4366 system when generating the device trees (via ``DTC_FLAGS`` environment 4344 system when generating the device trees (via ``DTC_FLAGS`` environment
4367 variable). 4345 variable).
4368 4346
4369 In order to use this variable, the 4347 In order to use this variable, the :ref:`ref-classes-kernel-devicetree`
4370 :ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class must 4348 class must be inherited.
4371 be inherited.
4372 4349
4373 :term:`KERNEL_EXTRA_ARGS` 4350 :term:`KERNEL_EXTRA_ARGS`
4374 Specifies additional ``make`` command-line arguments the OpenEmbedded 4351 Specifies additional ``make`` command-line arguments the OpenEmbedded
@@ -4519,9 +4496,8 @@ system and gives an overview of their function and contents.
4519 4496
4520 :term:`KERNEL_PATH` 4497 :term:`KERNEL_PATH`
4521 The location of the kernel sources. This variable is set to the value 4498 The location of the kernel sources. This variable is set to the value
4522 of the :term:`STAGING_KERNEL_DIR` within 4499 of the :term:`STAGING_KERNEL_DIR` within the :ref:`ref-classes-module`
4523 the :ref:`module <ref-classes-module>` class. For information on 4500 class. For information on how this variable is used, see the
4524 how this variable is used, see the
4525 ":ref:`kernel-dev/common:incorporating out-of-tree modules`" 4501 ":ref:`kernel-dev/common:incorporating out-of-tree modules`"
4526 section in the Yocto Project Linux Kernel Development Manual. 4502 section in the Yocto Project Linux Kernel Development Manual.
4527 4503
@@ -4533,9 +4509,8 @@ system and gives an overview of their function and contents.
4533 4509
4534 :term:`KERNEL_SRC` 4510 :term:`KERNEL_SRC`
4535 The location of the kernel sources. This variable is set to the value 4511 The location of the kernel sources. This variable is set to the value
4536 of the :term:`STAGING_KERNEL_DIR` within 4512 of the :term:`STAGING_KERNEL_DIR` within the :ref:`ref-classes-module`
4537 the :ref:`module <ref-classes-module>` class. For information on 4513 class. For information on how this variable is used, see the
4538 how this variable is used, see the
4539 ":ref:`kernel-dev/common:incorporating out-of-tree modules`" 4514 ":ref:`kernel-dev/common:incorporating out-of-tree modules`"
4540 section in the Yocto Project Linux Kernel Development Manual. 4515 section in the Yocto Project Linux Kernel Development Manual.
4541 4516
@@ -4613,7 +4588,7 @@ system and gives an overview of their function and contents.
4613 :term:`LABELS` 4588 :term:`LABELS`
4614 Provides a list of targets for automatic configuration. 4589 Provides a list of targets for automatic configuration.
4615 4590
4616 See the :ref:`grub-efi <ref-classes-grub-efi>` class for more 4591 See the :ref:`ref-classes-grub-efi` class for more
4617 information on how this variable is used. 4592 information on how this variable is used.
4618 4593
4619 :term:`LAYERDEPENDS` 4594 :term:`LAYERDEPENDS`
@@ -4715,10 +4690,11 @@ system and gives an overview of their function and contents.
4715 4690
4716 :term:`LEAD_SONAME` 4691 :term:`LEAD_SONAME`
4717 Specifies the lead (or primary) compiled library file (i.e. ``.so``) 4692 Specifies the lead (or primary) compiled library file (i.e. ``.so``)
4718 that the :ref:`debian <ref-classes-debian>` class applies its 4693 that the :ref:`ref-classes-debian` class applies its
4719 naming policy to given a recipe that packages multiple libraries. 4694 naming policy to given a recipe that packages multiple libraries.
4720 4695
4721 This variable works in conjunction with the :ref:`debian <ref-classes-debian>` class. 4696 This variable works in conjunction with the :ref:`ref-classes-debian`
4697 class.
4722 4698
4723 :term:`LIC_FILES_CHKSUM` 4699 :term:`LIC_FILES_CHKSUM`
4724 Checksums of the license text in the recipe source code. 4700 Checksums of the license text in the recipe source code.
@@ -5103,7 +5079,7 @@ system and gives an overview of their function and contents.
5103 determined by :term:`COREBASE`). 5079 determined by :term:`COREBASE`).
5104 5080
5105 :term:`MIME_XDG_PACKAGES` 5081 :term:`MIME_XDG_PACKAGES`
5106 The current implementation of the :ref:`mime-xdg <ref-classes-mime-xdg>` 5082 The current implementation of the :ref:`ref-classes-mime-xdg`
5107 class cannot detect ``.desktop`` files installed through absolute 5083 class cannot detect ``.desktop`` files installed through absolute
5108 symbolic links. Use this setting to make the class create post-install 5084 symbolic links. Use this setting to make the class create post-install
5109 and post-remove scripts for these packages anyway, to invoke the 5085 and post-remove scripts for these packages anyway, to invoke the
@@ -5131,20 +5107,18 @@ system and gives an overview of their function and contents.
5131 .. note:: 5107 .. note::
5132 5108
5133 The "ML" in :term:`MLPREFIX` stands for "MultiLib". This representation 5109 The "ML" in :term:`MLPREFIX` stands for "MultiLib". This representation
5134 is historical and comes from a time when 5110 is historical and comes from a time when ":ref:`ref-classes-nativesdk`"
5135 ":ref:`nativesdk <ref-classes-nativesdk>`"
5136 was a suffix rather than a prefix on the recipe name. When 5111 was a suffix rather than a prefix on the recipe name. When
5137 ":ref:`nativesdk <ref-classes-nativesdk>`" was turned 5112 ":ref:`ref-classes-nativesdk`" was turned into a prefix, it made sense
5138 into a prefix, it made sense to set :term:`MLPREFIX` for it as well. 5113 to set :term:`MLPREFIX` for it as well.
5139 5114
5140 To help understand when :term:`MLPREFIX` might be needed, consider when 5115 To help understand when :term:`MLPREFIX` might be needed, consider when
5141 :term:`BBCLASSEXTEND` is used to provide a 5116 :term:`BBCLASSEXTEND` is used to provide a :ref:`ref-classes-nativesdk`
5142 :ref:`nativesdk <ref-classes-nativesdk>` version of a recipe in addition 5117 version of a recipe in addition to the target version. If that recipe
5143 to the target version. If that recipe declares build-time dependencies 5118 declares build-time dependencies on tasks in other recipes by using
5144 on tasks in other recipes by using :term:`DEPENDS`, then a dependency on 5119 :term:`DEPENDS`, then a dependency on "foo" will automatically get
5145 "foo" will automatically get rewritten to a dependency on 5120 rewritten to a dependency on "nativesdk-foo". However, dependencies like
5146 "nativesdk-foo". However, dependencies like the following will not 5121 the following will not get rewritten automatically::
5147 get rewritten automatically::
5148 5122
5149 do_foo[depends] += "recipe:do_foo" 5123 do_foo[depends] += "recipe:do_foo"
5150 5124
@@ -5243,8 +5217,7 @@ system and gives an overview of their function and contents.
5243 5217
5244 ${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS} 5218 ${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}
5245 5219
5246 Some classes (e.g. 5220 Some classes (e.g. :ref:`ref-classes-cross-canadian`) modify the
5247 :ref:`cross-canadian <ref-classes-cross-canadian>`) modify the
5248 :term:`MULTIMACH_TARGET_SYS` value. 5221 :term:`MULTIMACH_TARGET_SYS` value.
5249 5222
5250 See the :term:`STAMP` variable for an example. See the 5223 See the :term:`STAMP` variable for an example. See the
@@ -5346,7 +5319,7 @@ system and gives an overview of their function and contents.
5346 The minimal command and arguments to run ``objdump``. 5319 The minimal command and arguments to run ``objdump``.
5347 5320
5348 :term:`OE_BINCONFIG_EXTRA_MANGLE` 5321 :term:`OE_BINCONFIG_EXTRA_MANGLE`
5349 When inheriting the :ref:`binconfig <ref-classes-binconfig>` class, 5322 When inheriting the :ref:`ref-classes-binconfig` class,
5350 this variable specifies additional arguments passed to the "sed" 5323 this variable specifies additional arguments passed to the "sed"
5351 command. The sed command alters any paths in configuration scripts 5324 command. The sed command alters any paths in configuration scripts
5352 that have been set up during compilation. Inheriting this class 5325 that have been set up during compilation. Inheriting this class
@@ -5412,68 +5385,67 @@ system and gives an overview of their function and contents.
5412 configuration file. 5385 configuration file.
5413 5386
5414 :term:`OVERLAYFS_ETC_DEVICE` 5387 :term:`OVERLAYFS_ETC_DEVICE`
5415 When the :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` class is 5388 When the :ref:`ref-classes-overlayfs-etc` class is
5416 inherited, specifies the device to be mounted for the read/write 5389 inherited, specifies the device to be mounted for the read/write
5417 layer of ``/etc``. There is no default, so you must set this if you 5390 layer of ``/etc``. There is no default, so you must set this if you
5418 wish to enable :ref:`overlayfs-etc <ref-classes-overlayfs-etc>`, for 5391 wish to enable :ref:`ref-classes-overlayfs-etc`, for
5419 example, assuming ``/dev/mmcblk0p2`` was the desired device:: 5392 example, assuming ``/dev/mmcblk0p2`` was the desired device::
5420 5393
5421 OVERLAYFS_ETC_DEVICE = "/dev/mmcblk0p2" 5394 OVERLAYFS_ETC_DEVICE = "/dev/mmcblk0p2"
5422 5395
5423 :term:`OVERLAYFS_ETC_EXPOSE_LOWER` 5396 :term:`OVERLAYFS_ETC_EXPOSE_LOWER`
5424 When the :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` class is 5397 When the :ref:`ref-classes-overlayfs-etc` class is
5425 inherited, if set to "1" then a read-only access to the original 5398 inherited, if set to "1" then a read-only access to the original
5426 ``/etc`` content will be provided as a ``lower/`` subdirectory of 5399 ``/etc`` content will be provided as a ``lower/`` subdirectory of
5427 :term:`OVERLAYFS_ETC_MOUNT_POINT`. The default value is "0". 5400 :term:`OVERLAYFS_ETC_MOUNT_POINT`. The default value is "0".
5428 5401
5429 :term:`OVERLAYFS_ETC_FSTYPE` 5402 :term:`OVERLAYFS_ETC_FSTYPE`
5430 When the :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` class is 5403 When the :ref:`ref-classes-overlayfs-etc` class is
5431 inherited, specifies the file system type for the read/write 5404 inherited, specifies the file system type for the read/write
5432 layer of ``/etc``. There is no default, so you must set this if you 5405 layer of ``/etc``. There is no default, so you must set this if you
5433 wish to enable :ref:`overlayfs-etc <ref-classes-overlayfs-etc>`, 5406 wish to enable :ref:`ref-classes-overlayfs-etc`,
5434 for example, assuming the file system is ext4:: 5407 for example, assuming the file system is ext4::
5435 5408
5436 OVERLAYFS_ETC_FSTYPE = "ext4" 5409 OVERLAYFS_ETC_FSTYPE = "ext4"
5437 5410
5438 :term:`OVERLAYFS_ETC_MOUNT_OPTIONS` 5411 :term:`OVERLAYFS_ETC_MOUNT_OPTIONS`
5439 When the :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` class is 5412 When the :ref:`ref-classes-overlayfs-etc` class is
5440 inherited, specifies the mount options for the read-write layer. 5413 inherited, specifies the mount options for the read-write layer.
5441 The default value is "defaults". 5414 The default value is "defaults".
5442 5415
5443 :term:`OVERLAYFS_ETC_MOUNT_POINT` 5416 :term:`OVERLAYFS_ETC_MOUNT_POINT`
5444 When the :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` class is 5417 When the :ref:`ref-classes-overlayfs-etc` class is
5445 inherited, specifies the parent mount path for the filesystem layers. 5418 inherited, specifies the parent mount path for the filesystem layers.
5446 There is no default, so you must set this if you wish to enable 5419 There is no default, so you must set this if you wish to enable
5447 :ref:`overlayfs-etc <ref-classes-overlayfs-etc>`, for example if 5420 :ref:`ref-classes-overlayfs-etc`, for example if the desired path is
5448 the desired path is "/data":: 5421 "/data"::
5449 5422
5450 OVERLAYFS_ETC_MOUNT_POINT = "/data" 5423 OVERLAYFS_ETC_MOUNT_POINT = "/data"
5451 5424
5452 :term:`OVERLAYFS_ETC_USE_ORIG_INIT_NAME` 5425 :term:`OVERLAYFS_ETC_USE_ORIG_INIT_NAME`
5453 When the :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` class is 5426 When the :ref:`ref-classes-overlayfs-etc` class is inherited, controls
5454 inherited, controls how the generated init will be named. For more 5427 how the generated init will be named. For more information, see the
5455 information, see the :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` 5428 :ref:`ref-classes-overlayfs-etc` class documentation. The default value
5456 class documentation. The default value is "1". 5429 is "1".
5457 5430
5458 :term:`OVERLAYFS_MOUNT_POINT` 5431 :term:`OVERLAYFS_MOUNT_POINT`
5459 When inheriting the :ref:`overlayfs <ref-classes-overlayfs>` class, 5432 When inheriting the :ref:`ref-classes-overlayfs` class,
5460 specifies mount point(s) to be used. For example:: 5433 specifies mount point(s) to be used. For example::
5461 5434
5462 OVERLAYFS_MOUNT_POINT[data] = "/data" 5435 OVERLAYFS_MOUNT_POINT[data] = "/data"
5463 5436
5464 The assumes you have a ``data.mount`` systemd unit defined elsewhere 5437 The assumes you have a ``data.mount`` systemd unit defined elsewhere in
5465 in your BSP (e.g. in ``systemd-machine-units`` recipe) and it is 5438 your BSP (e.g. in ``systemd-machine-units`` recipe) and it is installed
5466 installed into the image. For more information see 5439 into the image. For more information see :ref:`ref-classes-overlayfs`.
5467 :ref:`overlayfs <ref-classes-overlayfs>`.
5468 5440
5469 .. note:: 5441 .. note::
5470 5442
5471 Although the :ref:`overlayfs <ref-classes-overlayfs>` class is 5443 Although the :ref:`ref-classes-overlayfs` class is
5472 inherited by individual recipes, :term:`OVERLAYFS_MOUNT_POINT` 5444 inherited by individual recipes, :term:`OVERLAYFS_MOUNT_POINT`
5473 should be set in your machine configuration. 5445 should be set in your machine configuration.
5474 5446
5475 :term:`OVERLAYFS_QA_SKIP` 5447 :term:`OVERLAYFS_QA_SKIP`
5476 When inheriting the :ref:`overlayfs <ref-classes-overlayfs>` class, 5448 When inheriting the :ref:`ref-classes-overlayfs` class,
5477 provides the ability to disable QA checks for particular overlayfs 5449 provides the ability to disable QA checks for particular overlayfs
5478 mounts. For example:: 5450 mounts. For example::
5479 5451
@@ -5481,12 +5453,12 @@ system and gives an overview of their function and contents.
5481 5453
5482 .. note:: 5454 .. note::
5483 5455
5484 Although the :ref:`overlayfs <ref-classes-overlayfs>` class is 5456 Although the :ref:`ref-classes-overlayfs` class is
5485 inherited by individual recipes, :term:`OVERLAYFS_QA_SKIP` 5457 inherited by individual recipes, :term:`OVERLAYFS_QA_SKIP`
5486 should be set in your machine configuration. 5458 should be set in your machine configuration.
5487 5459
5488 :term:`OVERLAYFS_WRITABLE_PATHS` 5460 :term:`OVERLAYFS_WRITABLE_PATHS`
5489 When inheriting the :ref:`overlayfs <ref-classes-overlayfs>` class, 5461 When inheriting the :ref:`ref-classes-overlayfs` class,
5490 specifies writable paths used at runtime for the recipe. For 5462 specifies writable paths used at runtime for the recipe. For
5491 example:: 5463 example::
5492 5464
@@ -5598,7 +5570,7 @@ system and gives an overview of their function and contents.
5598 5570
5599 .. note:: 5571 .. note::
5600 5572
5601 While it is a legal option, the :ref:`package_tar <ref-classes-package_tar>` 5573 While it is a legal option, the :ref:`ref-classes-package_tar`
5602 class has limited functionality due to no support for package 5574 class has limited functionality due to no support for package
5603 dependencies by that backend. Therefore, it is recommended that 5575 dependencies by that backend. Therefore, it is recommended that
5604 you do not use it. 5576 you do not use it.
@@ -5936,16 +5908,15 @@ system and gives an overview of their function and contents.
5936 A space-separated list of configuration options generated from the 5908 A space-separated list of configuration options generated from the
5937 :term:`PACKAGECONFIG` setting. 5909 :term:`PACKAGECONFIG` setting.
5938 5910
5939 Classes such as :ref:`autotools <ref-classes-autotools>` and 5911 Classes such as :ref:`ref-classes-autotools` and :ref:`ref-classes-cmake`
5940 :ref:`cmake <ref-classes-cmake>` use :term:`PACKAGECONFIG_CONFARGS` to 5912 use :term:`PACKAGECONFIG_CONFARGS` to pass :term:`PACKAGECONFIG` options
5941 pass :term:`PACKAGECONFIG` options to ``configure`` and ``cmake``, 5913 to ``configure`` and ``cmake``, respectively. If you are using
5942 respectively. If you are using :term:`PACKAGECONFIG` but not a class that 5914 :term:`PACKAGECONFIG` but not a class that handles the
5943 handles the :ref:`ref-tasks-configure` task, then you need to use 5915 :ref:`ref-tasks-configure` task, then you need to use
5944 :term:`PACKAGECONFIG_CONFARGS` appropriately. 5916 :term:`PACKAGECONFIG_CONFARGS` appropriately.
5945 5917
5946 :term:`PACKAGEGROUP_DISABLE_COMPLEMENTARY` 5918 :term:`PACKAGEGROUP_DISABLE_COMPLEMENTARY`
5947 For recipes inheriting the 5919 For recipes inheriting the :ref:`ref-classes-packagegroup` class, setting
5948 :ref:`packagegroup <ref-classes-packagegroup>` class, setting
5949 :term:`PACKAGEGROUP_DISABLE_COMPLEMENTARY` to "1" specifies that the 5920 :term:`PACKAGEGROUP_DISABLE_COMPLEMENTARY` to "1" specifies that the
5950 normal complementary packages (i.e. ``-dev``, ``-dbg``, and so forth) 5921 normal complementary packages (i.e. ``-dev``, ``-dbg``, and so forth)
5951 should not be automatically created by the ``packagegroup`` recipe, 5922 should not be automatically created by the ``packagegroup`` recipe,
@@ -6097,9 +6068,8 @@ system and gives an overview of their function and contents.
6097 :term:`PE` is the default value of the :term:`PKGE` variable. 6068 :term:`PE` is the default value of the :term:`PKGE` variable.
6098 6069
6099 :term:`PEP517_WHEEL_PATH` 6070 :term:`PEP517_WHEEL_PATH`
6100 When used by recipes that inherit the 6071 When used by recipes that inherit the :ref:`ref-classes-python_pep517`
6101 :ref:`python_pep517 <ref-classes-python_pep517>` class, 6072 class, denotes the path to ``dist/`` (short for distribution) where the
6102 denotes the path to ``dist/`` (short for distribution) where the
6103 binary archive ``wheel`` is built. 6073 binary archive ``wheel`` is built.
6104 6074
6105 :term:`PERSISTENT_DIR` 6075 :term:`PERSISTENT_DIR`
@@ -6112,10 +6082,10 @@ system and gives an overview of their function and contents.
6112 ${:term:`PN`}-${:term:`EXTENDPE`}${:term:`PV`}-${:term:`PR`} 6082 ${:term:`PN`}-${:term:`EXTENDPE`}${:term:`PV`}-${:term:`PR`}
6113 6083
6114 :term:`PIXBUF_PACKAGES` 6084 :term:`PIXBUF_PACKAGES`
6115 When inheriting the :ref:`pixbufcache <ref-classes-pixbufcache>` 6085 When inheriting the :ref:`ref-classes-pixbufcache`
6116 class, this variable identifies packages that contain the pixbuf 6086 class, this variable identifies packages that contain the pixbuf
6117 loaders used with ``gdk-pixbuf``. By default, the 6087 loaders used with ``gdk-pixbuf``. By default, the
6118 :ref:`pixbufcache <ref-classes-pixbufcache>` class assumes that 6088 :ref:`ref-classes-pixbufcache` class assumes that
6119 the loaders are in the recipe's main package (i.e. 6089 the loaders are in the recipe's main package (i.e.
6120 ``${``\ :term:`PN`\ ``}``). Use this variable if the 6090 ``${``\ :term:`PN`\ ``}``). Use this variable if the
6121 loaders you need are in a package other than that main package. 6091 loaders you need are in a package other than that main package.
@@ -6128,9 +6098,8 @@ system and gives an overview of their function and contents.
6128 6098
6129 When using the :term:`PKG` variable, you must use a package name override. 6099 When using the :term:`PKG` variable, you must use a package name override.
6130 6100
6131 For example, when the :ref:`debian <ref-classes-debian>` class 6101 For example, when the :ref:`ref-classes-debian` class renames the output
6132 renames the output package, it does so by setting 6102 package, it does so by setting ``PKG:packagename``.
6133 ``PKG:packagename``.
6134 6103
6135 :term:`PKG_CONFIG_PATH` 6104 :term:`PKG_CONFIG_PATH`
6136 The path to ``pkg-config`` files for the current build context. 6105 The path to ``pkg-config`` files for the current build context.
@@ -6531,7 +6500,7 @@ system and gives an overview of their function and contents.
6531 :term:`PV` is the default value of the :term:`PKGV` variable. 6500 :term:`PV` is the default value of the :term:`PKGV` variable.
6532 6501
6533 :term:`PYPI_PACKAGE` 6502 :term:`PYPI_PACKAGE`
6534 When inheriting the :ref:`pypi <ref-classes-pypi>` class, specifies the 6503 When inheriting the :ref:`ref-classes-pypi` class, specifies the
6535 `PyPI <https://pypi.org/>`__ package name to be built. The default value 6504 `PyPI <https://pypi.org/>`__ package name to be built. The default value
6536 is set based upon :term:`BPN` (stripping any "python-" or "python3-" 6505 is set based upon :term:`BPN` (stripping any "python-" or "python3-"
6537 prefix off if present), however for some packages it will need to be set 6506 prefix off if present), however for some packages it will need to be set
@@ -6539,22 +6508,20 @@ system and gives an overview of their function and contents.
6539 package name has a prefix, underscores, uppercase letters etc.) 6508 package name has a prefix, underscores, uppercase letters etc.)
6540 6509
6541 :term:`PYTHON_ABI` 6510 :term:`PYTHON_ABI`
6542 When used by recipes that inherit the 6511 When used by recipes that inherit the :ref:`ref-classes-setuptools3`
6543 :ref:`setuptools3 <ref-classes-setuptools3>` class, denotes the 6512 class, denotes the Application Binary Interface (ABI) currently in use
6544 Application Binary Interface (ABI) currently in use for Python. By 6513 for Python. By default, the ABI is "m". You do not have to set this
6545 default, the ABI is "m". You do not have to set this variable as the 6514 variable as the OpenEmbedded build system sets it for you.
6546 OpenEmbedded build system sets it for you.
6547 6515
6548 The OpenEmbedded build system uses the ABI to construct directory 6516 The OpenEmbedded build system uses the ABI to construct directory
6549 names used when installing the Python headers and libraries in 6517 names used when installing the Python headers and libraries in
6550 sysroot (e.g. ``.../python3.3m/...``). 6518 sysroot (e.g. ``.../python3.3m/...``).
6551 6519
6552 :term:`PYTHON_PN` 6520 :term:`PYTHON_PN`
6553 When used by recipes that inherit the 6521 When used by recipes that inherit the :ref:`ref-classes-setuptools3`
6554 :ref:`setuptools3 <ref-classes-setuptools3>` class, specifies the 6522 class, specifies the major Python version being built. For Python 3.x,
6555 major Python version being built. For Python 3.x, :term:`PYTHON_PN` would 6523 :term:`PYTHON_PN` would be "python3". You do not have to set this
6556 be "python3". You do not have to set this variable as the 6524 variable as the OpenEmbedded build system automatically sets it for you.
6557 OpenEmbedded build system automatically sets it for you.
6558 6525
6559 The variable allows recipes to use common infrastructure such as the 6526 The variable allows recipes to use common infrastructure such as the
6560 following:: 6527 following::
@@ -6685,7 +6652,7 @@ system and gives an overview of their function and contents.
6685 The package names you use with :term:`RDEPENDS` must appear as they would 6652 The package names you use with :term:`RDEPENDS` must appear as they would
6686 in the :term:`PACKAGES` variable. The :term:`PKG` variable 6653 in the :term:`PACKAGES` variable. The :term:`PKG` variable
6687 allows a different name to be used for the final package (e.g. the 6654 allows a different name to be used for the final package (e.g. the
6688 :ref:`debian <ref-classes-debian>` class uses this to rename 6655 :ref:`ref-classes-debian` class uses this to rename
6689 packages), but this final package name cannot be used with 6656 packages), but this final package name cannot be used with
6690 :term:`RDEPENDS`, which makes sense as :term:`RDEPENDS` is meant to be 6657 :term:`RDEPENDS`, which makes sense as :term:`RDEPENDS` is meant to be
6691 independent of the package format used. 6658 independent of the package format used.
@@ -6736,7 +6703,7 @@ system and gives an overview of their function and contents.
6736 See :term:`bitbake:REPODIR` in the BitBake manual. 6703 See :term:`bitbake:REPODIR` in the BitBake manual.
6737 6704
6738 :term:`REQUIRED_DISTRO_FEATURES` 6705 :term:`REQUIRED_DISTRO_FEATURES`
6739 When inheriting the :ref:`features_check <ref-classes-features_check>` 6706 When inheriting the :ref:`ref-classes-features_check`
6740 class, this variable identifies distribution features that must exist 6707 class, this variable identifies distribution features that must exist
6741 in the current configuration in order for the OpenEmbedded build 6708 in the current configuration in order for the OpenEmbedded build
6742 system to build the recipe. In other words, if the 6709 system to build the recipe. In other words, if the
@@ -6757,7 +6724,7 @@ system and gives an overview of their function and contents.
6757 for the same recipe, the :term:`REQUIRED_VERSION` value applies. 6724 for the same recipe, the :term:`REQUIRED_VERSION` value applies.
6758 6725
6759 :term:`RM_WORK_EXCLUDE` 6726 :term:`RM_WORK_EXCLUDE`
6760 With :ref:`rm_work <ref-classes-rm-work>` enabled, this variable 6727 With :ref:`ref-classes-rm-work` enabled, this variable
6761 specifies a list of recipes whose work directories should not be removed. 6728 specifies a list of recipes whose work directories should not be removed.
6762 See the ":ref:`ref-classes-rm-work`" section for more details. 6729 See the ":ref:`ref-classes-rm-work`" section for more details.
6763 6730
@@ -6789,7 +6756,7 @@ system and gives an overview of their function and contents.
6789 Indicates a filesystem image to include as the root filesystem. 6756 Indicates a filesystem image to include as the root filesystem.
6790 6757
6791 The :term:`ROOTFS` variable is an optional variable used with the 6758 The :term:`ROOTFS` variable is an optional variable used with the
6792 :ref:`image-live <ref-classes-image-live>` class. 6759 :ref:`ref-classes-image-live` class.
6793 6760
6794 :term:`ROOTFS_POSTINSTALL_COMMAND` 6761 :term:`ROOTFS_POSTINSTALL_COMMAND`
6795 Specifies a list of functions to call after the OpenEmbedded build 6762 Specifies a list of functions to call after the OpenEmbedded build
@@ -7013,7 +6980,7 @@ system and gives an overview of their function and contents.
7013 set this variable. Instead, use :term:`SDKMACHINE`. 6980 set this variable. Instead, use :term:`SDKMACHINE`.
7014 6981
7015 :term:`SDK_BUILDINFO_FILE` 6982 :term:`SDK_BUILDINFO_FILE`
7016 When using the :ref:`image-buildinfo <ref-classes-image-buildinfo>` class, 6983 When using the :ref:`ref-classes-image-buildinfo` class,
7017 specifies the file in the SDK to write the build information into. The 6984 specifies the file in the SDK to write the build information into. The
7018 default value is "``/buildinfo``". 6985 default value is "``/buildinfo``".
7019 6986
@@ -7145,7 +7112,7 @@ system and gives an overview of their function and contents.
7145 7112
7146 :term:`SDK_PREFIX` 7113 :term:`SDK_PREFIX`
7147 The toolchain binary prefix used for 7114 The toolchain binary prefix used for
7148 :ref:`nativesdk <ref-classes-nativesdk>` recipes. The 7115 :ref:`ref-classes-nativesdk` recipes. The
7149 OpenEmbedded build system uses the :term:`SDK_PREFIX` value to set the 7116 OpenEmbedded build system uses the :term:`SDK_PREFIX` value to set the
7150 :term:`TARGET_PREFIX` when building 7117 :term:`TARGET_PREFIX` when building
7151 ``nativesdk`` recipes. The default value is "${SDK_SYS}-". 7118 ``nativesdk`` recipes. The default value is "${SDK_SYS}-".
@@ -7331,25 +7298,22 @@ system and gives an overview of their function and contents.
7331 EXTRA_IMAGE_FEATURES += "read-only-rootfs" 7298 EXTRA_IMAGE_FEATURES += "read-only-rootfs"
7332 7299
7333 :term:`SETUPTOOLS_BUILD_ARGS` 7300 :term:`SETUPTOOLS_BUILD_ARGS`
7334 When used by recipes that inherit the 7301 When used by recipes that inherit the :ref:`ref-classes-setuptools3`
7335 :ref:`setuptools3 <ref-classes-setuptools3>` class, this variable can 7302 class, this variable can be used to specify additional arguments to be
7336 be used to specify additional arguments to be passed to ``setup.py build`` 7303 passed to ``setup.py build`` in the ``setuptools3_do_compile()`` task.
7337 in the ``setuptools3_do_compile()`` task.
7338 7304
7339 :term:`SETUPTOOLS_INSTALL_ARGS` 7305 :term:`SETUPTOOLS_INSTALL_ARGS`
7340 When used by recipes that inherit the 7306 When used by recipes that inherit the :ref:`ref-classes-setuptools3`
7341 :ref:`setuptools3 <ref-classes-setuptools3>` class, this variable can 7307 class, this variable can be used to specify additional arguments to be
7342 be used to specify additional arguments to be passed to ``setup.py install`` 7308 passed to ``setup.py install`` in the ``setuptools3_do_install()`` task.
7343 in the ``setuptools3_do_install()`` task.
7344 7309
7345 :term:`SETUPTOOLS_SETUP_PATH` 7310 :term:`SETUPTOOLS_SETUP_PATH`
7346 When used by recipes that inherit the 7311 When used by recipes that inherit the :ref:`ref-classes-setuptools3`
7347 :ref:`setuptools3 <ref-classes-setuptools3>` class, this variable should 7312 class, this variable should be used to specify the directory in which
7348 be used to specify the directory in which the ``setup.py`` file is 7313 the ``setup.py`` file is located if it is not at the root of the source
7349 located if it is not at the root of the source tree (as specified by 7314 tree (as specified by :term:`S`). For example, in a recipe where the
7350 :term:`S`). For example, in a recipe where the sources are fetched from 7315 sources are fetched from a Git repository and ``setup.py`` is in a
7351 a Git repository and ``setup.py`` is in a ``python/pythonmodule`` 7316 ``python/pythonmodule`` subdirectory, you would have this::
7352 subdirectory, you would have this::
7353 7317
7354 S = "${WORKDIR}/git" 7318 S = "${WORKDIR}/git"
7355 SETUPTOOLS_SETUP_PATH = "${S}/python/pythonmodule" 7319 SETUPTOOLS_SETUP_PATH = "${S}/python/pythonmodule"
@@ -7494,7 +7458,7 @@ system and gives an overview of their function and contents.
7494 specified in :term:`SRC_URI`. 7458 specified in :term:`SRC_URI`.
7495 7459
7496 To use this variable, you must globally inherit the 7460 To use this variable, you must globally inherit the
7497 :ref:`own-mirrors <ref-classes-own-mirrors>` class and then provide 7461 :ref:`ref-classes-own-mirrors` class and then provide
7498 the URL to your mirrors. Here is the general syntax:: 7462 the URL to your mirrors. Here is the general syntax::
7499 7463
7500 INHERIT += "own-mirrors" 7464 INHERIT += "own-mirrors"
@@ -7520,7 +7484,7 @@ system and gives an overview of their function and contents.
7520 ``core-image-minimal`` for the ``qemux86-64`` machine, enabling this 7484 ``core-image-minimal`` for the ``qemux86-64`` machine, enabling this
7521 option multiplied the size of the ``tmp/deploy/spdx`` directory by a 7485 option multiplied the size of the ``tmp/deploy/spdx`` directory by a
7522 factor of 13 (+1.6 GiB for this image), compared to just using the 7486 factor of 13 (+1.6 GiB for this image), compared to just using the
7523 :ref:`create-spdx <ref-classes-create-spdx>` class with no option. 7487 :ref:`ref-classes-create-spdx` class with no option.
7524 7488
7525 Note that this option doesn't increase the size of :term:`SPDX` 7489 Note that this option doesn't increase the size of :term:`SPDX`
7526 files in ``tmp/deploy/images/MACHINE``. 7490 files in ``tmp/deploy/images/MACHINE``.
@@ -7546,7 +7510,7 @@ system and gives an overview of their function and contents.
7546 ``core-image-minimal`` for the ``qemux86-64`` machine, enabling 7510 ``core-image-minimal`` for the ``qemux86-64`` machine, enabling
7547 these options multiplied the size of the ``tmp/deploy/spdx`` 7511 these options multiplied the size of the ``tmp/deploy/spdx``
7548 directory by a factor of 11 (+1.4 GiB for this image), 7512 directory by a factor of 11 (+1.4 GiB for this image),
7549 compared to just using the :ref:`create-spdx <ref-classes-create-spdx>` 7513 compared to just using the :ref:`ref-classes-create-spdx`
7550 class with no option. 7514 class with no option.
7551 7515
7552 Note that using this option only marginally increases the size 7516 Note that using this option only marginally increases the size
@@ -7572,8 +7536,8 @@ system and gives an overview of their function and contents.
7572 directory by a factor of 3 (+291 MiB for this image), 7536 directory by a factor of 3 (+291 MiB for this image),
7573 and the size of the ``IMAGE-MACHINE.spdx.tar.zst`` in 7537 and the size of the ``IMAGE-MACHINE.spdx.tar.zst`` in
7574 ``tmp/deploy/images/MACHINE`` by a factor of 130 (+15 MiB for this 7538 ``tmp/deploy/images/MACHINE`` by a factor of 130 (+15 MiB for this
7575 image), compared to just using the 7539 image), compared to just using the :ref:`ref-classes-create-spdx` class
7576 :ref:`create-spdx <ref-classes-create-spdx>` class with no option. 7540 with no option.
7577 7541
7578 :term:`SPDX_PRETTY` 7542 :term:`SPDX_PRETTY`
7579 This option makes the SPDX output more human-readable, using 7543 This option makes the SPDX output more human-readable, using
@@ -7723,15 +7687,15 @@ system and gives an overview of their function and contents.
7723 7687
7724 :term:`SRCTREECOVEREDTASKS` 7688 :term:`SRCTREECOVEREDTASKS`
7725 A list of tasks that are typically not relevant (and therefore skipped) 7689 A list of tasks that are typically not relevant (and therefore skipped)
7726 when building using the :ref:`externalsrc <ref-classes-externalsrc>` 7690 when building using the :ref:`ref-classes-externalsrc`
7727 class. The default value as set in that class file is the set of tasks 7691 class. The default value as set in that class file is the set of tasks
7728 that are rarely needed when using external source:: 7692 that are rarely needed when using external source::
7729 7693
7730 SRCTREECOVEREDTASKS ?= "do_patch do_unpack do_fetch" 7694 SRCTREECOVEREDTASKS ?= "do_patch do_unpack do_fetch"
7731 7695
7732 The notable exception is when processing external kernel source as 7696 The notable exception is when processing external kernel source as
7733 defined in the :ref:`kernel-yocto <ref-classes-kernel-yocto>` 7697 defined in the :ref:`ref-classes-kernel-yocto` class file (formatted for
7734 class file (formatted for aesthetics):: 7698 aesthetics)::
7735 7699
7736 SRCTREECOVEREDTASKS += "\ 7700 SRCTREECOVEREDTASKS += "\
7737 do_validate_branches \ 7701 do_validate_branches \
@@ -7799,10 +7763,9 @@ system and gives an overview of their function and contents.
7799 a different GCC version for native builds, you must configure 7763 a different GCC version for native builds, you must configure
7800 :term:`SSTATE_MIRRORS` with a regular expression that maps local search 7764 :term:`SSTATE_MIRRORS` with a regular expression that maps local search
7801 paths to server paths. The paths need to take into account 7765 paths to server paths. The paths need to take into account
7802 :term:`NATIVELSBSTRING` set by the 7766 :term:`NATIVELSBSTRING` set by the :ref:`ref-classes-uninative` class.
7803 :ref:`uninative <ref-classes-uninative>` class. For example, the 7767 For example, the following maps the local search path ``universal-4.9``
7804 following maps the local search path ``universal-4.9`` to the 7768 to the server-provided path server_url_sstate_path::
7805 server-provided path server_url_sstate_path::
7806 7769
7807 SSTATE_MIRRORS ?= "file://universal-4.9/(.*) https://server_url_sstate_path/universal-4.8/\1" 7770 SSTATE_MIRRORS ?= "file://universal-4.9/(.*) https://server_url_sstate_path/universal-4.8/\1"
7808 7771
@@ -7828,11 +7791,9 @@ system and gives an overview of their function and contents.
7828 by the :term:`SSTATE_SCAN_FILES` variable. Typically, recipes add files 7791 by the :term:`SSTATE_SCAN_FILES` variable. Typically, recipes add files
7829 they want to be scanned to the value of :term:`SSTATE_SCAN_FILES` rather 7792 they want to be scanned to the value of :term:`SSTATE_SCAN_FILES` rather
7830 than the variable being comprehensively set. The 7793 than the variable being comprehensively set. The
7831 :ref:`sstate <ref-classes-sstate>` class specifies the default list 7794 :ref:`ref-classes-sstate` class specifies the default list of files.
7832 of files.
7833 7795
7834 For details on the process, see the 7796 For details on the process, see the :ref:`ref-classes-staging` class.
7835 :ref:`staging <ref-classes-staging>` class.
7836 7797
7837 :term:`STAGING_BASE_LIBDIR_NATIVE` 7798 :term:`STAGING_BASE_LIBDIR_NATIVE`
7838 Specifies the path to the ``/lib`` subdirectory of the sysroot 7799 Specifies the path to the ``/lib`` subdirectory of the sysroot
@@ -7943,10 +7904,10 @@ system and gives an overview of their function and contents.
7943 which is the majority, :term:`STAGING_DIR_TARGET` is set to match 7904 which is the majority, :term:`STAGING_DIR_TARGET` is set to match
7944 :term:`STAGING_DIR_HOST`. 7905 :term:`STAGING_DIR_HOST`.
7945 7906
7946 Some recipes build binaries that can run on the target system but 7907 Some recipes build binaries that can run on the target system but those
7947 those binaries in turn generate code for another different system 7908 binaries in turn generate code for another different system (e.g.
7948 (e.g. :ref:`cross-canadian <ref-classes-cross-canadian>` recipes). Using terminology from GNU, the 7909 :ref:`ref-classes-cross-canadian` recipes). Using terminology from GNU,
7949 primary system is referred to as the "HOST" and the secondary, or 7910 the primary system is referred to as the "HOST" and the secondary, or
7950 different, system is referred to as the "TARGET". Thus, the binaries 7911 different, system is referred to as the "TARGET". Thus, the binaries
7951 run on the "HOST" system and generate binaries for the "TARGET" 7912 run on the "HOST" system and generate binaries for the "TARGET"
7952 system. The :term:`STAGING_DIR_HOST` variable points to the sysroot used 7913 system. The :term:`STAGING_DIR_HOST` variable points to the sysroot used
@@ -8040,7 +8001,7 @@ system and gives an overview of their function and contents.
8040 8001
8041 SYSLINUX_DEFAULT_CONSOLE = "console=ttyX" 8002 SYSLINUX_DEFAULT_CONSOLE = "console=ttyX"
8042 8003
8043 The :ref:`syslinux <ref-classes-syslinux>` class initially sets 8004 The :ref:`ref-classes-syslinux` class initially sets
8044 this variable to null but then checks for a value later. 8005 this variable to null but then checks for a value later.
8045 8006
8046 :term:`SYSLINUX_OPTS` 8007 :term:`SYSLINUX_OPTS`
@@ -8048,14 +8009,14 @@ system and gives an overview of their function and contents.
8048 this variable in your recipe. If you want to list multiple options, 8009 this variable in your recipe. If you want to list multiple options,
8049 separate the options with a semicolon character (``;``). 8010 separate the options with a semicolon character (``;``).
8050 8011
8051 The :ref:`syslinux <ref-classes-syslinux>` class uses this variable 8012 The :ref:`ref-classes-syslinux` class uses this variable
8052 to create a set of options. 8013 to create a set of options.
8053 8014
8054 :term:`SYSLINUX_SERIAL` 8015 :term:`SYSLINUX_SERIAL`
8055 Specifies the alternate serial port or turns it off. To turn off 8016 Specifies the alternate serial port or turns it off. To turn off
8056 serial, set this variable to an empty string in your recipe. The 8017 serial, set this variable to an empty string in your recipe. The
8057 variable's default value is set in the 8018 variable's default value is set in the
8058 :ref:`syslinux <ref-classes-syslinux>` class as follows:: 8019 :ref:`ref-classes-syslinux` class as follows::
8059 8020
8060 SYSLINUX_SERIAL ?= "0 115200" 8021 SYSLINUX_SERIAL ?= "0 115200"
8061 8022
@@ -8063,8 +8024,8 @@ system and gives an overview of their function and contents.
8063 8024
8064 :term:`SYSLINUX_SERIAL_TTY` 8025 :term:`SYSLINUX_SERIAL_TTY`
8065 Specifies the alternate console=tty... kernel boot argument. The 8026 Specifies the alternate console=tty... kernel boot argument. The
8066 variable's default value is set in the 8027 variable's default value is set in the :ref:`ref-classes-syslinux`
8067 :ref:`syslinux <ref-classes-syslinux>` class as follows:: 8028 class as follows::
8068 8029
8069 SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200" 8030 SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200"
8070 8031
@@ -8074,7 +8035,7 @@ system and gives an overview of their function and contents.
8074 An ``.LSS`` file used as the background for the VGA boot menu when 8035 An ``.LSS`` file used as the background for the VGA boot menu when
8075 you use the boot menu. You need to set this variable in your recipe. 8036 you use the boot menu. You need to set this variable in your recipe.
8076 8037
8077 The :ref:`syslinux <ref-classes-syslinux>` class checks for this 8038 The :ref:`ref-classes-syslinux` class checks for this
8078 variable and if found, the OpenEmbedded build system installs the 8039 variable and if found, the OpenEmbedded build system installs the
8079 splash screen. 8040 splash screen.
8080 8041
@@ -8150,12 +8111,12 @@ system and gives an overview of their function and contents.
8150 processing on the staged files, or to stage additional files. 8111 processing on the staged files, or to stage additional files.
8151 8112
8152 :term:`SYSTEMD_AUTO_ENABLE` 8113 :term:`SYSTEMD_AUTO_ENABLE`
8153 When inheriting the :ref:`systemd <ref-classes-systemd>` class, 8114 When inheriting the :ref:`ref-classes-systemd` class,
8154 this variable specifies whether the specified service in 8115 this variable specifies whether the specified service in
8155 :term:`SYSTEMD_SERVICE` should start 8116 :term:`SYSTEMD_SERVICE` should start
8156 automatically or not. By default, the service is enabled to 8117 automatically or not. By default, the service is enabled to
8157 automatically start at boot time. The default setting is in the 8118 automatically start at boot time. The default setting is in the
8158 :ref:`systemd <ref-classes-systemd>` class as follows:: 8119 :ref:`ref-classes-systemd` class as follows::
8159 8120
8160 SYSTEMD_AUTO_ENABLE ??= "enable" 8121 SYSTEMD_AUTO_ENABLE ??= "enable"
8161 8122
@@ -8165,7 +8126,7 @@ system and gives an overview of their function and contents.
8165 When :term:`EFI_PROVIDER` is set to 8126 When :term:`EFI_PROVIDER` is set to
8166 "systemd-boot", the :term:`SYSTEMD_BOOT_CFG` variable specifies the 8127 "systemd-boot", the :term:`SYSTEMD_BOOT_CFG` variable specifies the
8167 configuration file that should be used. By default, the 8128 configuration file that should be used. By default, the
8168 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the 8129 :ref:`ref-classes-systemd-boot` class sets the
8169 :term:`SYSTEMD_BOOT_CFG` as follows:: 8130 :term:`SYSTEMD_BOOT_CFG` as follows::
8170 8131
8171 SYSTEMD_BOOT_CFG ?= "${S}/loader.conf" 8132 SYSTEMD_BOOT_CFG ?= "${S}/loader.conf"
@@ -8177,9 +8138,8 @@ system and gives an overview of their function and contents.
8177 When :term:`EFI_PROVIDER` is set to 8138 When :term:`EFI_PROVIDER` is set to
8178 "systemd-boot", the :term:`SYSTEMD_BOOT_ENTRIES` variable specifies a 8139 "systemd-boot", the :term:`SYSTEMD_BOOT_ENTRIES` variable specifies a
8179 list of entry files (``*.conf``) to install that contain one boot 8140 list of entry files (``*.conf``) to install that contain one boot
8180 entry per file. By default, the 8141 entry per file. By default, the :ref:`ref-classes-systemd-boot` class
8181 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the 8142 sets the :term:`SYSTEMD_BOOT_ENTRIES` as follows::
8182 :term:`SYSTEMD_BOOT_ENTRIES` as follows::
8183 8143
8184 SYSTEMD_BOOT_ENTRIES ?= "" 8144 SYSTEMD_BOOT_ENTRIES ?= ""
8185 8145
@@ -8190,7 +8150,7 @@ system and gives an overview of their function and contents.
8190 When :term:`EFI_PROVIDER` is set to 8150 When :term:`EFI_PROVIDER` is set to
8191 "systemd-boot", the :term:`SYSTEMD_BOOT_TIMEOUT` variable specifies the 8151 "systemd-boot", the :term:`SYSTEMD_BOOT_TIMEOUT` variable specifies the
8192 boot menu timeout in seconds. By default, the 8152 boot menu timeout in seconds. By default, the
8193 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the 8153 :ref:`ref-classes-systemd-boot` class sets the
8194 :term:`SYSTEMD_BOOT_TIMEOUT` as follows:: 8154 :term:`SYSTEMD_BOOT_TIMEOUT` as follows::
8195 8155
8196 SYSTEMD_BOOT_TIMEOUT ?= "10" 8156 SYSTEMD_BOOT_TIMEOUT ?= "10"
@@ -8216,7 +8176,7 @@ system and gives an overview of their function and contents.
8216 SYSTEMD_DEFAULT_TARGET = "graphical.target" 8176 SYSTEMD_DEFAULT_TARGET = "graphical.target"
8217 8177
8218 :term:`SYSTEMD_PACKAGES` 8178 :term:`SYSTEMD_PACKAGES`
8219 When inheriting the :ref:`systemd <ref-classes-systemd>` class, 8179 When inheriting the :ref:`ref-classes-systemd` class,
8220 this variable locates the systemd unit files when they are not found 8180 this variable locates the systemd unit files when they are not found
8221 in the main recipe's package. By default, the :term:`SYSTEMD_PACKAGES` 8181 in the main recipe's package. By default, the :term:`SYSTEMD_PACKAGES`
8222 variable is set such that the systemd unit files are assumed to 8182 variable is set such that the systemd unit files are assumed to
@@ -8229,7 +8189,7 @@ system and gives an overview of their function and contents.
8229 the build system can find the systemd unit files. 8189 the build system can find the systemd unit files.
8230 8190
8231 :term:`SYSTEMD_SERVICE` 8191 :term:`SYSTEMD_SERVICE`
8232 When inheriting the :ref:`systemd <ref-classes-systemd>` class, 8192 When inheriting the :ref:`ref-classes-systemd` class,
8233 this variable specifies the systemd service name for a package. 8193 this variable specifies the systemd service name for a package.
8234 8194
8235 Multiple services can be specified, each one separated by a space. 8195 Multiple services can be specified, each one separated by a space.
@@ -8392,7 +8352,7 @@ system and gives an overview of their function and contents.
8392 - For native recipes, the build system sets the variable to the 8352 - For native recipes, the build system sets the variable to the
8393 value of :term:`BUILD_PREFIX`. 8353 value of :term:`BUILD_PREFIX`.
8394 8354
8395 - For native SDK recipes (:ref:`nativesdk <ref-classes-nativesdk>`), 8355 - For native SDK recipes (:ref:`ref-classes-nativesdk`),
8396 the build system sets the variable to the value of :term:`SDK_PREFIX`. 8356 the build system sets the variable to the value of :term:`SDK_PREFIX`.
8397 8357
8398 :term:`TARGET_SYS` 8358 :term:`TARGET_SYS`
@@ -8952,21 +8912,19 @@ system and gives an overview of their function and contents.
8952 "sdcard" specifies the :term:`IMAGE_FSTYPES` to use for the U-Boot image. 8912 "sdcard" specifies the :term:`IMAGE_FSTYPES` to use for the U-Boot image.
8953 8913
8954 For more information on how the :term:`UBOOT_CONFIG` is handled, see the 8914 For more information on how the :term:`UBOOT_CONFIG` is handled, see the
8955 :ref:`uboot-config <ref-classes-uboot-config>` 8915 :ref:`ref-classes-uboot-config` class.
8956 class.
8957 8916
8958 :term:`UBOOT_DTB_LOADADDRESS` 8917 :term:`UBOOT_DTB_LOADADDRESS`
8959 Specifies the load address for the dtb image used by U-Boot. During FIT 8918 Specifies the load address for the dtb image used by U-Boot. During FIT
8960 image creation, the :term:`UBOOT_DTB_LOADADDRESS` variable is used in 8919 image creation, the :term:`UBOOT_DTB_LOADADDRESS` variable is used in
8961 :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class to specify 8920 :ref:`ref-classes-kernel-fitimage` class to specify the load address to be
8962 the load address to be used in 8921 used in creating the dtb sections of Image Tree Source for the FIT image.
8963 creating the dtb sections of Image Tree Source for the FIT image.
8964 8922
8965 :term:`UBOOT_DTBO_LOADADDRESS` 8923 :term:`UBOOT_DTBO_LOADADDRESS`
8966 Specifies the load address for the dtbo image used by U-Boot. During FIT 8924 Specifies the load address for the dtbo image used by U-Boot. During FIT
8967 image creation, the :term:`UBOOT_DTBO_LOADADDRESS` variable is used in 8925 image creation, the :term:`UBOOT_DTBO_LOADADDRESS` variable is used in
8968 :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class to specify the load address to be used in 8926 :ref:`ref-classes-kernel-fitimage` class to specify the load address to be
8969 creating the dtbo sections of Image Tree Source for the FIT image. 8927 used in creating the dtbo sections of Image Tree Source for the FIT image.
8970 8928
8971 :term:`UBOOT_ENTRYPOINT` 8929 :term:`UBOOT_ENTRYPOINT`
8972 Specifies the entry point for the U-Boot image. During U-Boot image 8930 Specifies the entry point for the U-Boot image. During U-Boot image
@@ -9001,16 +8959,16 @@ system and gives an overview of their function and contents.
9001 8959
9002 :term:`UBOOT_MKIMAGE` 8960 :term:`UBOOT_MKIMAGE`
9003 Specifies the name of the mkimage command as used by the 8961 Specifies the name of the mkimage command as used by the
9004 :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class to assemble 8962 :ref:`ref-classes-kernel-fitimage` class to assemble
9005 the FIT image. This can be used to substitute an alternative command, wrapper 8963 the FIT image. This can be used to substitute an alternative command, wrapper
9006 script or function if desired. The default is "uboot-mkimage". 8964 script or function if desired. The default is "uboot-mkimage".
9007 8965
9008 :term:`UBOOT_MKIMAGE_DTCOPTS` 8966 :term:`UBOOT_MKIMAGE_DTCOPTS`
9009 Options for the device tree compiler passed to mkimage '-D' 8967 Options for the device tree compiler passed to mkimage '-D' feature while
9010 feature while creating FIT image in :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class. 8968 creating FIT image in :ref:`ref-classes-kernel-fitimage` class. If
9011 If :term:`UBOOT_MKIMAGE_DTCOPTS` is not set then 8969 :term:`UBOOT_MKIMAGE_DTCOPTS` is not set then
9012 :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` will not pass the 8970 :ref:`ref-classes-kernel-fitimage` will not pass the ``-D`` option to
9013 ``-D`` option to mkimage. 8971 mkimage.
9014 8972
9015 :term:`UBOOT_MKIMAGE_KERNEL_TYPE` 8973 :term:`UBOOT_MKIMAGE_KERNEL_TYPE`
9016 Specifies the type argument for the kernel as passed to ``uboot-mkimage``. 8974 Specifies the type argument for the kernel as passed to ``uboot-mkimage``.
@@ -9018,31 +8976,27 @@ system and gives an overview of their function and contents.
9018 8976
9019 :term:`UBOOT_MKIMAGE_SIGN` 8977 :term:`UBOOT_MKIMAGE_SIGN`
9020 Specifies the name of the mkimage command as used by the 8978 Specifies the name of the mkimage command as used by the
9021 :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class to sign 8979 :ref:`ref-classes-kernel-fitimage` class to sign
9022 the FIT image after it has been assembled (if enabled). This can be used 8980 the FIT image after it has been assembled (if enabled). This can be used
9023 to substitute an alternative command, wrapper script or function if 8981 to substitute an alternative command, wrapper script or function if
9024 desired. The default is "${:term:`UBOOT_MKIMAGE`}". 8982 desired. The default is "${:term:`UBOOT_MKIMAGE`}".
9025 8983
9026 :term:`UBOOT_MKIMAGE_SIGN_ARGS` 8984 :term:`UBOOT_MKIMAGE_SIGN_ARGS`
9027 Optionally specifies additional arguments for the 8985 Optionally specifies additional arguments for the
9028 :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class to pass to the 8986 :ref:`ref-classes-kernel-fitimage` class to pass to the
9029 mkimage command when signing the FIT image. 8987 mkimage command when signing the FIT image.
9030 8988
9031 :term:`UBOOT_RD_ENTRYPOINT` 8989 :term:`UBOOT_RD_ENTRYPOINT`
9032 Specifies the entrypoint for the RAM disk image. 8990 Specifies the entrypoint for the RAM disk image. During FIT image
9033 During FIT image creation, the 8991 creation, the :term:`UBOOT_RD_ENTRYPOINT` variable is used in
9034 :term:`UBOOT_RD_ENTRYPOINT` variable is used 8992 :ref:`ref-classes-kernel-fitimage` class to specify the entrypoint to be
9035 in :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class to specify the 8993 used in creating the Image Tree Source for the FIT image.
9036 entrypoint to be used in creating the Image Tree Source for
9037 the FIT image.
9038 8994
9039 :term:`UBOOT_RD_LOADADDRESS` 8995 :term:`UBOOT_RD_LOADADDRESS`
9040 Specifies the load address for the RAM disk image. 8996 Specifies the load address for the RAM disk image. During FIT image
9041 During FIT image creation, the 8997 creation, the :term:`UBOOT_RD_LOADADDRESS` variable is used in
9042 :term:`UBOOT_RD_LOADADDRESS` variable is used 8998 :ref:`ref-classes-kernel-fitimage` class to specify the load address to
9043 in :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class to specify the 8999 be used in creating the Image Tree Source for the FIT image.
9044 load address to be used in creating the Image Tree Source for
9045 the FIT image.
9046 9000
9047 :term:`UBOOT_SIGN_ENABLE` 9001 :term:`UBOOT_SIGN_ENABLE`
9048 Enable signing of FIT image. The default value is "0". 9002 Enable signing of FIT image. The default value is "0".
@@ -9084,12 +9038,12 @@ system and gives an overview of their function and contents.
9084 9038
9085 The configure arguments check that uses 9039 The configure arguments check that uses
9086 :term:`UNKNOWN_CONFIGURE_OPT_IGNORE` is part of the 9040 :term:`UNKNOWN_CONFIGURE_OPT_IGNORE` is part of the
9087 :ref:`insane <ref-classes-insane>` class and is only enabled if the 9041 :ref:`ref-classes-insane` class and is only enabled if the
9088 recipe inherits the :ref:`autotools <ref-classes-autotools>` class. 9042 recipe inherits the :ref:`ref-classes-autotools` class.
9089 9043
9090 :term:`UPDATERCPN` 9044 :term:`UPDATERCPN`
9091 For recipes inheriting the 9045 For recipes inheriting the
9092 :ref:`update-rc.d <ref-classes-update-rc.d>` class, :term:`UPDATERCPN` 9046 :ref:`ref-classes-update-rc.d` class, :term:`UPDATERCPN`
9093 specifies the package that contains the initscript that is enabled. 9047 specifies the package that contains the initscript that is enabled.
9094 9048
9095 The default value is "${PN}". Given that almost all recipes that 9049 The default value is "${PN}". Given that almost all recipes that
@@ -9243,7 +9197,7 @@ system and gives an overview of their function and contents.
9243 causes the build system to use static ``gid`` values. 9197 causes the build system to use static ``gid`` values.
9244 9198
9245 :term:`USERADD_PACKAGES` 9199 :term:`USERADD_PACKAGES`
9246 When inheriting the :ref:`useradd <ref-classes-useradd>` class, 9200 When inheriting the :ref:`ref-classes-useradd` class,
9247 this variable specifies the individual packages within the recipe 9201 this variable specifies the individual packages within the recipe
9248 that require users and/or groups to be added. 9202 that require users and/or groups to be added.
9249 9203
@@ -9260,7 +9214,7 @@ system and gives an overview of their function and contents.
9260 :term:`GROUPADD_PARAM`, or :term:`GROUPMEMS_PARAM` variables. 9214 :term:`GROUPADD_PARAM`, or :term:`GROUPMEMS_PARAM` variables.
9261 9215
9262 :term:`USERADD_PARAM` 9216 :term:`USERADD_PARAM`
9263 When inheriting the :ref:`useradd <ref-classes-useradd>` class, 9217 When inheriting the :ref:`ref-classes-useradd` class,
9264 this variable specifies for a package what parameters should pass to 9218 this variable specifies for a package what parameters should pass to
9265 the ``useradd`` command if you add a user to the system when the 9219 the ``useradd`` command if you add a user to the system when the
9266 package is installed. 9220 package is installed.
diff --git a/documentation/sdk-manual/appendix-customizing.rst b/documentation/sdk-manual/appendix-customizing.rst
index c1a36c471d..2be76875e0 100644
--- a/documentation/sdk-manual/appendix-customizing.rst
+++ b/documentation/sdk-manual/appendix-customizing.rst
@@ -49,8 +49,7 @@ build system applies them against ``local.conf`` and ``auto.conf``:
49 :term:`ESDK_CLASS_INHERIT_DISABLE` to disable these classes is the typical 49 :term:`ESDK_CLASS_INHERIT_DISABLE` to disable these classes is the typical
50 method to disable classes that are problematic or unnecessary in the SDK 50 method to disable classes that are problematic or unnecessary in the SDK
51 context. The default value disables the 51 context. The default value disables the
52 :ref:`buildhistory <ref-classes-buildhistory>` and 52 :ref:`ref-classes-buildhistory` and :ref:`ref-classes-icecc` classes.
53 :ref:`icecc <ref-classes-icecc>` classes.
54 53
55Additionally, the contents of ``conf/sdk-extra.conf``, when present, are 54Additionally, the contents of ``conf/sdk-extra.conf``, when present, are
56appended to the end of ``conf/local.conf`` within the produced SDK, 55appended to the end of ``conf/local.conf`` within the produced SDK,
diff --git a/documentation/sdk-manual/extensible.rst b/documentation/sdk-manual/extensible.rst
index e8a0a5b3ce..7c7ceb695a 100644
--- a/documentation/sdk-manual/extensible.rst
+++ b/documentation/sdk-manual/extensible.rst
@@ -1079,9 +1079,8 @@ does not include complete instructions for building the software.
1079Instead, common functionality is encapsulated in classes inherited with 1079Instead, common functionality is encapsulated in classes inherited with
1080the ``inherit`` directive. This technique leaves the recipe to describe 1080the ``inherit`` directive. This technique leaves the recipe to describe
1081just the things that are specific to the software being built. There is 1081just the things that are specific to the software being built. There is
1082a :ref:`base <ref-classes-base>` class that 1082a :ref:`ref-classes-base` class that is implicitly inherited by all recipes
1083is implicitly inherited by all recipes and provides the functionality 1083and provides the functionality that most recipes typically need.
1084that most recipes typically need.
1085 1084
1086The remainder of this section presents information useful when working 1085The remainder of this section presents information useful when working
1087with recipes. 1086with recipes.
diff --git a/documentation/test-manual/intro.rst b/documentation/test-manual/intro.rst
index 2d75e141f1..aaf64ae017 100644
--- a/documentation/test-manual/intro.rst
+++ b/documentation/test-manual/intro.rst
@@ -100,12 +100,11 @@ the following types of tests:
100 different configurations, such as different init systems. The 100 different configurations, such as different init systems. The
101 Autobuilder tests literally hundreds of configurations and targets. 101 Autobuilder tests literally hundreds of configurations and targets.
102 102
103 - *Sanity Checks During the Build Process:* Tests initiated through 103 - *Sanity Checks During the Build Process:* Tests initiated through the
104 the :ref:`insane <ref-classes-insane>` 104 :ref:`ref-classes-insane` class. These checks ensure the output of the
105 class. These checks ensure the output of the builds are correct. 105 builds are correct. For example, does the ELF architecture in the
106 For example, does the ELF architecture in the generated binaries 106 generated binaries match the target system? ARM binaries would not work
107 match the target system? ARM binaries would not work in a MIPS 107 in a MIPS system!
108 system!
109 108
110- *Build Performance Testing:* Tests whether or not commonly used steps 109- *Build Performance Testing:* Tests whether or not commonly used steps
111 during builds work efficiently and avoid regressions. Tests to time 110 during builds work efficiently and avoid regressions. Tests to time
@@ -121,7 +120,8 @@ the following types of tests:
121 120
122 $ bitbake image -c testsdkext 121 $ bitbake image -c testsdkext
123 122
124 The tests utilize the :ref:`testsdkext <ref-classes-testsdk>` class and the ``do_testsdkext`` task. 123 The tests utilize the :ref:`ref-classes-testsdk` class and the
124 ``do_testsdkext`` task.
125 125
126- *Feature Testing:* Various scenario-based tests are run through the 126- *Feature Testing:* Various scenario-based tests are run through the
127 :ref:`OpenEmbedded Self test (oe-selftest) <ref-manual/release-process:Testing and Quality Assurance>`. We test oe-selftest on each of the main distributions 127 :ref:`OpenEmbedded Self test (oe-selftest) <ref-manual/release-process:Testing and Quality Assurance>`. We test oe-selftest on each of the main distributions
@@ -131,7 +131,7 @@ the following types of tests:
131 131
132 $ bitbake image -c testimage 132 $ bitbake image -c testimage
133 133
134 The tests utilize the :ref:`testimage <ref-classes-testimage>` 134 The tests utilize the :ref:`ref-classes-testimage`
135 class and the :ref:`ref-tasks-testimage` task. 135 class and the :ref:`ref-tasks-testimage` task.
136 136
137- *Layer Testing:* The Autobuilder has the possibility to test whether 137- *Layer Testing:* The Autobuilder has the possibility to test whether
@@ -151,7 +151,7 @@ the following types of tests:
151 151
152 $ bitbake image -c testsdk 152 $ bitbake image -c testsdk
153 153
154 The tests utilize the :ref:`testsdk <ref-classes-testsdk>` class and 154 The tests utilize the :ref:`ref-classes-testsdk` class and
155 the ``do_testsdk`` task. 155 the ``do_testsdk`` task.
156 156
157- *Unit Testing:* Unit tests on various components of the system run 157- *Unit Testing:* Unit tests on various components of the system run
diff --git a/documentation/test-manual/understand-autobuilder.rst b/documentation/test-manual/understand-autobuilder.rst
index b6e331f68c..7a6cb2443b 100644
--- a/documentation/test-manual/understand-autobuilder.rst
+++ b/documentation/test-manual/understand-autobuilder.rst
@@ -206,7 +206,7 @@ are general setup steps that are run once and include:
206 206
207#. Set up any :term:`buildtools` tarball if configured. 207#. Set up any :term:`buildtools` tarball if configured.
208 208
209#. Call "buildhistory-init" if :ref:`buildhistory <ref-classes-buildhistory>` is configured. 209#. Call "buildhistory-init" if :ref:`ref-classes-buildhistory` is configured.
210 210
211For each step that is configured in ``config.json``, it will perform the 211For each step that is configured in ``config.json``, it will perform the
212following: 212following: