summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2023-01-05 08:34:26 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-01-06 17:39:09 +0000
commit8b1909aa6f7a51a878dc3d4a9223403ad3e164a9 (patch)
treee1418f545ad6640afb5fde004696eef2a9e6e67b /documentation/dev-manual
parentae280972ffba62d7ed839b692957f61b0955cbca (diff)
downloadpoky-8b1909aa6f7a51a878dc3d4a9223403ad3e164a9.tar.gz
manuals: simplify references to classes
Now that .bbclass is removed from class section titles. We can now have, for example, :ref:`ref-classes-insane` instead of :ref:`insane <ref-classes-insane>`. Then, when necessary, rework paragraphs so that they have lines of even length, not exceeding 80 characters. (From yocto-docs rev: e76190e3be78c1e483bec0469f1e437dbf8f3791) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Suggested-by: Quentin Schulz <foss+yocto@0leil.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-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
18 files changed, 91 insertions, 118 deletions
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