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>
This commit is contained in:
Michael Opdenacker 2023-01-05 08:34:26 +01:00 committed by Richard Purdie
parent ae280972ff
commit 8b1909aa6f
54 changed files with 929 additions and 1035 deletions

View File

@ -1365,7 +1365,7 @@ Project Reference Manual.
- :term:`IMAGE_INSTALL`: - :term:`IMAGE_INSTALL`:
Specifies packages to install into an image through the Specifies packages to install into an image through the
:ref:`image <ref-classes-image>` class. Recipes :ref:`ref-classes-image` class. Recipes
use the :term:`IMAGE_INSTALL` variable. use the :term:`IMAGE_INSTALL` variable.
- ``do_image_wic[depends]``: A task that is constructed during the - ``do_image_wic[depends]``: A task that is constructed during the

View File

@ -14,13 +14,11 @@ has already been built when the software is building, the software will
link to the built library and that library will be pulled into your link to the built library and that library will be pulled into your
image along with the new software even if you did not want the library. image along with the new software even if you did not want the library.
The :ref:`buildhistory <ref-classes-buildhistory>` The :ref:`ref-classes-buildhistory` class helps you maintain the quality of
class helps you maintain the quality of your build output. You your build output. You can use the class to highlight unexpected and possibly
can use the class to highlight unexpected and possibly unwanted changes unwanted changes in the build output. When you enable build history, it records
in the build output. When you enable build history, it records information about the contents of each package and image and then commits that
information about the contents of each package and image and then information to a local Git repository where you can examine the information.
commits that information to a local Git repository where you can examine
the information.
The remainder of this section describes the following: The remainder of this section describes the following:

View File

@ -295,8 +295,8 @@ Follow these steps to create an :term:`Initramfs` image:
recipe, you should use :term:`PACKAGE_INSTALL` rather than recipe, you should use :term:`PACKAGE_INSTALL` rather than
:term:`IMAGE_INSTALL`. :term:`PACKAGE_INSTALL` gives more direct control of :term:`IMAGE_INSTALL`. :term:`PACKAGE_INSTALL` gives more direct control of
what is added to the image as compared to the defaults you might not what is added to the image as compared to the defaults you might not
necessarily want that are set by the :ref:`image <ref-classes-image>` necessarily want that are set by the :ref:`ref-classes-image`
or :ref:`core-image <ref-classes-core-image>` classes. or :ref:`ref-classes-core-image` classes.
#. *Build the Kernel Image and the Initramfs Image:* Build your kernel #. *Build the Kernel Image and the Initramfs Image:* Build your kernel
image using BitBake. Because the :term:`Initramfs` image recipe is a 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.
A recipe that just generates scripts can enable "all" architecture A recipe that just generates scripts can enable "all" architecture
because there are no binaries to build. To specifically enable "all" because there are no binaries to build. To specifically enable "all"
architecture, be sure your recipe inherits the architecture, be sure your recipe inherits the
:ref:`allarch <ref-classes-allarch>` class. :ref:`ref-classes-allarch` class.
This class is useful for "all" architectures because it configures This class is useful for "all" architectures because it configures
many variables so packages can be used across multiple architectures. many variables so packages can be used across multiple architectures.
@ -796,7 +796,7 @@ where the development occurs. You want the recipe's
the external directory and use it as is, not copy it. the external directory and use it as is, not copy it.
To build from software that comes from an external source, all you need to do To build from software that comes from an external source, all you need to do
is inherit the :ref:`externalsrc <ref-classes-externalsrc>` class and then set is inherit the :ref:`ref-classes-externalsrc` class and then set
the :term:`EXTERNALSRC` variable to point to your external source code. Here the :term:`EXTERNALSRC` variable to point to your external source code. Here
are the statements to put in your ``local.conf`` file:: are the statements to put in your ``local.conf`` file::
@ -812,8 +812,7 @@ This next example shows how to accomplish the same thing by setting
.. note:: .. note::
In order for these settings to take effect, you must globally or In order for these settings to take effect, you must globally or
locally inherit the :ref:`externalsrc <ref-classes-externalsrc>` locally inherit the :ref:`ref-classes-externalsrc` class.
class.
By default, :ref:`ref-classes-externalsrc` builds the source code in a By default, :ref:`ref-classes-externalsrc` builds the source code in a
directory separate from the external source directory as specified by directory separate from the external source directory as specified by
@ -881,14 +880,14 @@ directory:
#. *Using Local Files Only:* Inside your ``local.conf`` file, add the #. *Using Local Files Only:* Inside your ``local.conf`` file, add the
:term:`SOURCE_MIRROR_URL` variable, inherit the :term:`SOURCE_MIRROR_URL` variable, inherit the
:ref:`own-mirrors <ref-classes-own-mirrors>` class, and use the :ref:`ref-classes-own-mirrors` class, and use the
:term:`BB_NO_NETWORK` variable to your ``local.conf``:: :term:`BB_NO_NETWORK` variable to your ``local.conf``::
SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/" SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/"
INHERIT += "own-mirrors" INHERIT += "own-mirrors"
BB_NO_NETWORK = "1" BB_NO_NETWORK = "1"
The :term:`SOURCE_MIRROR_URL` and :ref:`own-mirrors <ref-classes-own-mirrors>` The :term:`SOURCE_MIRROR_URL` and :ref:`ref-classes-own-mirrors`
class set up the system to use the downloads directory as your "own class set up the system to use the downloads directory as your "own
mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that
BitBake's fetching process in step 3 stays local, which means files BitBake's fetching process in step 3 stays local, which means files

View File

@ -153,7 +153,7 @@ In addition to variable values, the output of the ``bitbake -e`` and
classes included globally, recursively listing the files they include classes included globally, recursively listing the files they include
or inherit in turn. Much of the behavior of the OpenEmbedded build or inherit in turn. Much of the behavior of the OpenEmbedded build
system (including the behavior of the :ref:`ref-manual/tasks:normal recipe build tasks`) is system (including the behavior of the :ref:`ref-manual/tasks:normal recipe build tasks`) is
implemented in the :ref:`base <ref-classes-base>` class and the implemented in the :ref:`ref-classes-base` class and the
classes it inherits, rather than being built into BitBake itself. classes it inherits, rather than being built into BitBake itself.
- After the variable values, all functions appear in the output. For - 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.
which contains the files stored in that package. which contains the files stored in that package.
If you want to inspect the ``${WORKDIR}/packages-split`` If you want to inspect the ``${WORKDIR}/packages-split``
directory, make sure that directory, make sure that :ref:`ref-classes-rm-work` is not
:ref:`rm_work <ref-classes-rm-work>` is not
enabled when you build the recipe. enabled when you build the recipe.
- ``oe-pkgdata-util find-path path ...``: Lists the names of - ``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
The same logging functions are also available in shell functions, under The same logging functions are also available in shell functions, under
the names ``bbplain``, ``bbnote``, ``bbdebug``, ``bbwarn``, ``bberror``, the names ``bbplain``, ``bbnote``, ``bbdebug``, ``bbwarn``, ``bberror``,
and ``bbfatal``. The and ``bbfatal``. The :ref:`ref-classes-logging` class
:ref:`logging <ref-classes-logging>` class
implements these functions. See that class in the ``meta/classes`` implements these functions. See that class in the ``meta/classes``
folder of the :term:`Source Directory` for information. folder of the :term:`Source Directory` for information.

View File

@ -14,8 +14,7 @@ the :term:`Build Directory`::
Adding this statement deletes the work directory used for Adding this statement deletes the work directory used for
building a recipe once the recipe is built. For more information on building a recipe once the recipe is built. For more information on
"rm_work", see the "rm_work", see the :ref:`ref-classes-rm-work` class in the
:ref:`rm_work <ref-classes-rm-work>` class in the
Yocto Project Reference Manual. Yocto Project Reference Manual.
Purging Duplicate Shared State Cache Files Purging Duplicate Shared State Cache Files

View File

@ -27,9 +27,9 @@ Enabling and Using the Tool
=========================== ===========================
By default, the error reporting tool is disabled. You can enable it by By default, the error reporting tool is disabled. You can enable it by
inheriting the :ref:`report-error <ref-classes-report-error>` inheriting the :ref:`ref-classes-report-error` class by adding the
class by adding the following statement to the end of your following statement to the end of your ``local.conf`` file in your
``local.conf`` file in your :term:`Build Directory`:: :term:`Build Directory`::
INHERIT += "report-error" INHERIT += "report-error"

View File

@ -39,9 +39,7 @@ Enabling the Generation of Introspection Data
Enabling the generation of introspection data (GIR files) in your Enabling the generation of introspection data (GIR files) in your
library package involves the following: library package involves the following:
#. Inherit the #. Inherit the :ref:`ref-classes-gobject-introspection` class.
:ref:`gobject-introspection <ref-classes-gobject-introspection>`
class.
#. Make sure introspection is not disabled anywhere in the recipe or #. Make sure introspection is not disabled anywhere in the recipe or
from anything the recipe includes. Also, make sure that from anything the recipe includes. Also, make sure that

View File

@ -325,13 +325,12 @@ and not just the source used in the released image. It will include
toolchain source, and other artifacts, which you would not generally toolchain source, and other artifacts, which you would not generally
release. However, the more serious issue for most companies is release. However, the more serious issue for most companies is
accidental release of proprietary software. The Yocto Project provides accidental release of proprietary software. The Yocto Project provides
an :ref:`archiver <ref-classes-archiver>` class to an :ref:`ref-classes-archiver` class to help avoid some of these concerns.
help avoid some of these concerns.
Before you employ :term:`DL_DIR` or the :ref:`archiver <ref-classes-archiver>` class, you need to Before you employ :term:`DL_DIR` or the :ref:`ref-classes-archiver` class, you
decide how you choose to provide source. The source :ref:`archiver <ref-classes-archiver>` class need to decide how you choose to provide source. The source
can generate tarballs and SRPMs and can create them with various levels :ref:`ref-classes-archiver` class can generate tarballs and SRPMs and can
of compliance in mind. create them with various levels of compliance in mind.
One way of doing this (but certainly not the only way) is to release One way of doing this (but certainly not the only way) is to release
just the source as a tarball. You can do this by adding the following to just the source as a tarball. You can do this by adding the following to
@ -417,8 +416,8 @@ generation are included on your image.
adds a separate package and an upgrade path for adding licenses to an adds a separate package and an upgrade path for adding licenses to an
image. image.
As the source :ref:`archiver <ref-classes-archiver>` class has already archived the original As the source :ref:`ref-classes-archiver` class has already archived the
unmodified source that contains the license files, you would have original unmodified source that contains the license files, you would have
already met the requirements for inclusion of the license information already met the requirements for inclusion of the license information
with source as defined by the GPL and other open source licenses. with source as defined by the GPL and other open source licenses.
@ -488,8 +487,8 @@ mechanisms as well as explicitly included in the image recipe with
:term:`IMAGE_INSTALL`, and depends on a static linked library recipe B :term:`IMAGE_INSTALL`, and depends on a static linked library recipe B
(``DEPENDS += "B"``), package B will neither appear in the generated license (``DEPENDS += "B"``), package B will neither appear in the generated license
manifest nor in the generated source tarballs. This occurs as the manifest nor in the generated source tarballs. This occurs as the
:ref:`license <ref-classes-license>` and :ref:`archiver <ref-classes-archiver>` :ref:`ref-classes-license` and :ref:`ref-classes-archiver` classes assume that
classes assume that only packages included via :term:`RDEPENDS` or :term:`RRECOMMENDS` only packages included via :term:`RDEPENDS` or :term:`RRECOMMENDS`
end up in the image. end up in the image.
As a result, potential obligations regarding license compliance for package B As a result, potential obligations regarding license compliance for package B

View File

@ -565,7 +565,7 @@ your software is built:
need to modify the configuration. need to modify the configuration.
When using Autotools, your recipe needs to inherit the When using Autotools, your recipe needs to inherit the
:ref:`autotools <ref-classes-autotools>` class and it does not have to :ref:`ref-classes-autotools` class and it does not have to
contain a :ref:`ref-tasks-configure` task. However, you might still want to contain a :ref:`ref-tasks-configure` task. However, you might still want to
make some adjustments. For example, you can set :term:`EXTRA_OECONF` or make some adjustments. For example, you can set :term:`EXTRA_OECONF` or
:term:`PACKAGECONFIG_CONFARGS` to pass any needed configure options that :term:`PACKAGECONFIG_CONFARGS` to pass any needed configure options that
@ -576,7 +576,7 @@ your software is built:
need to modify the configuration. need to modify the configuration.
When you use CMake, your recipe needs to inherit the When you use CMake, your recipe needs to inherit the
:ref:`cmake <ref-classes-cmake>` class and it does not have to contain a :ref:`ref-classes-cmake` class and it does not have to contain a
:ref:`ref-tasks-configure` task. You can make some adjustments by setting :ref:`ref-tasks-configure` task. You can make some adjustments by setting
:term:`EXTRA_OECMAKE` to pass any needed configure options that are :term:`EXTRA_OECMAKE` to pass any needed configure options that are
specific to the recipe. specific to the recipe.
@ -712,7 +712,7 @@ Here are some common issues that cause failures.
":ref:`dev-manual/debugging:debugging parallel make races`" section. ":ref:`dev-manual/debugging:debugging parallel make races`" section.
- *Improper host path usage:* This failure applies to recipes building - *Improper host path usage:* This failure applies to recipes building
for the target or ":ref:`nativesdk <ref-classes-nativesdk>`" only. The for the target or ":ref:`ref-classes-nativesdk`" only. The
failure occurs when the compilation process uses improper headers, failure occurs when the compilation process uses improper headers,
libraries, or other files from the host system when cross-compiling for libraries, or other files from the host system when cross-compiling for
the target. the target.
@ -807,14 +807,13 @@ installed correctly.
re-execute :ref:`ref-tasks-install` if needed. re-execute :ref:`ref-tasks-install` if needed.
- ``oe_runmake install``, which can be run directly or can be run - ``oe_runmake install``, which can be run directly or can be run
indirectly by the indirectly by the :ref:`ref-classes-autotools` and
:ref:`autotools <ref-classes-autotools>` and :ref:`ref-classes-cmake` classes, runs ``make install`` in parallel.
:ref:`cmake <ref-classes-cmake>` classes, Sometimes, a Makefile can have missing dependencies between targets that
runs ``make install`` in parallel. Sometimes, a Makefile can have can result in race conditions. If you experience intermittent failures
missing dependencies between targets that can result in race during :ref:`ref-tasks-install`, you might be able to work around them by
conditions. If you experience intermittent failures during disabling parallel Makefile installs by adding the following to the
:ref:`ref-tasks-install`, you might be able to work around them by disabling recipe::
parallel Makefile installs by adding the following to the recipe::
PARALLEL_MAKEINST = "" PARALLEL_MAKEINST = ""
@ -854,7 +853,7 @@ different ways:
shutdown of all other programs. shutdown of all other programs.
To enable a service using SysVinit, your recipe needs to inherit the To enable a service using SysVinit, your recipe needs to inherit the
:ref:`update-rc.d <ref-classes-update-rc.d>` class. The class helps :ref:`ref-classes-update-rc.d` class. The class helps
facilitate safely installing the package on the target. facilitate safely installing the package on the target.
You will need to set the You will need to set the
@ -870,7 +869,7 @@ different ways:
https://freedesktop.org/wiki/Software/systemd/. https://freedesktop.org/wiki/Software/systemd/.
To enable a service using systemd, your recipe needs to inherit the To enable a service using systemd, your recipe needs to inherit the
:ref:`systemd <ref-classes-systemd>` class. See the ``systemd.bbclass`` file :ref:`ref-classes-systemd` class. See the ``systemd.bbclass`` file
located in your :term:`Source Directory` section for more information. located in your :term:`Source Directory` section for more information.
Packaging Packaging
@ -886,14 +885,12 @@ take. The following list describes the process:
other logical components that should be split out. The :ref:`ref-tasks-package` other logical components that should be split out. The :ref:`ref-tasks-package`
task ensures that files are split up and packaged correctly. task ensures that files are split up and packaged correctly.
- *Running QA Checks*: The - *Running QA Checks*: The :ref:`ref-classes-insane` class adds a
:ref:`insane <ref-classes-insane>` class adds a
step to the package generation process so that output quality step to the package generation process so that output quality
assurance checks are generated by the OpenEmbedded build system. This assurance checks are generated by the OpenEmbedded build system. This
step performs a range of checks to be sure the build's output is free step performs a range of checks to be sure the build's output is free
of common problems that show up during runtime. For information on of common problems that show up during runtime. For information on
these checks, see the these checks, see the :ref:`ref-classes-insane` class and
:ref:`insane <ref-classes-insane>` class and
the ":ref:`ref-manual/qa-checks:qa error and warning messages`" the ":ref:`ref-manual/qa-checks:qa error and warning messages`"
chapter in the Yocto Project Reference Manual. chapter in the Yocto Project Reference Manual.
@ -934,8 +931,7 @@ take. The following list describes the process:
On the other hand, if the recipe produces packages that do not On the other hand, if the recipe produces packages that do not
contain anything specific to the target machine or architecture at contain anything specific to the target machine or architecture at
all (e.g. recipes that simply package script files or configuration all (e.g. recipes that simply package script files or configuration
files), you should use the files), you should use the :ref:`ref-classes-allarch` class to
:ref:`allarch <ref-classes-allarch>` class to
do this for you by adding this to your recipe:: do this for you by adding this to your recipe::
inherit allarch inherit allarch
@ -1002,18 +998,16 @@ same functionality, you can use a virtual provider (i.e. ``virtual/*``)
as a placeholder for the actual provider. The actual provider is as a placeholder for the actual provider. The actual provider is
determined at build-time. determined at build-time.
A common scenario where a virtual provider is used would be for the A common scenario where a virtual provider is used would be for the kernel
kernel recipe. Suppose you have three kernel recipes whose recipe. Suppose you have three kernel recipes whose :term:`PN` values map to
:term:`PN` values map to ``kernel-big``, ``kernel-big``, ``kernel-mid``, and ``kernel-small``. Furthermore, each of
``kernel-mid``, and ``kernel-small``. Furthermore, each of these recipes these recipes in some way uses a :term:`PROVIDES` statement that essentially
in some way uses a :term:`PROVIDES` identifies itself as being able to provide ``virtual/kernel``. Here is one way
statement that essentially identifies itself as being able to provide through the :ref:`ref-classes-kernel` class::
``virtual/kernel``. Here is one way through the
:ref:`kernel <ref-classes-kernel>` class::
PROVIDES += "virtual/kernel" PROVIDES += "virtual/kernel"
Any recipe that inherits the :ref:`kernel <ref-classes-kernel>` class is Any recipe that inherits the :ref:`ref-classes-kernel` class is
going to utilize a :term:`PROVIDES` statement that identifies that recipe as going to utilize a :term:`PROVIDES` statement that identifies that recipe as
being able to provide the ``virtual/kernel`` item. being able to provide the ``virtual/kernel`` item.
@ -1223,7 +1217,7 @@ Autotooled Package
Applications that use Autotools such as ``autoconf`` and ``automake`` Applications that use Autotools such as ``autoconf`` and ``automake``
require a recipe that has a source archive listed in :term:`SRC_URI` and require a recipe that has a source archive listed in :term:`SRC_URI` and
also inherit the :ref:`autotools <ref-classes-autotools>` class, also inherit the :ref:`ref-classes-autotools` class,
which contains the definitions of all the steps needed to build an which contains the definitions of all the steps needed to build an
Autotool-based application. The result of the build is automatically Autotool-based application. The result of the build is automatically
packaged. And, if the application uses NLS for localization, packages packaged. And, if the application uses NLS for localization, packages
@ -1353,24 +1347,19 @@ could lead to compatibility problems with ABI in the future. However,
sometimes you have no choice. sometimes you have no choice.
The easiest solution is to create a recipe that uses the The easiest solution is to create a recipe that uses the
:ref:`bin_package <ref-classes-bin-package>` class :ref:`ref-classes-bin-package` class and to be sure that you are using default
and to be sure that you are using default locations for build artifacts. locations for build artifacts. In most cases, the
In most cases, the :ref:`bin_package <ref-classes-bin-package>` class handles "skipping" the :ref:`ref-classes-bin-package` class handles "skipping" the configure and
configure and compile steps as well as sets things up to grab packages compile steps as well as sets things up to grab packages from the appropriate
from the appropriate area. In particular, this class sets ``noexec`` on area. In particular, this class sets ``noexec`` on both the
both the :ref:`ref-tasks-configure` :ref:`ref-tasks-configure` and :ref:`ref-tasks-compile` tasks, sets
and :ref:`ref-tasks-compile` tasks, ``FILES:${PN}`` to "/" so that it picks up all files, and sets up a
sets ``FILES:${PN}`` to "/" so that it picks up all files, and sets up a :ref:`ref-tasks-install` task, which effectively copies all files from ``${S}``
:ref:`ref-tasks-install` task, which to ``${D}``. The :ref:`ref-classes-bin-package` class works well when the files
effectively copies all files from ``${S}`` to ``${D}``. The extracted into ``${S}`` are already laid out in the way they should be laid out
:ref:`bin_package <ref-classes-bin-package>` class works well when the files extracted into ``${S}`` on the target. For more information on these variables, see the :term:`FILES`,
are already laid out in the way they should be laid out on the target. :term:`PN`, :term:`S`, and :term:`D` variables in the Yocto Project Reference
For more information on these variables, see the Manual's variable glossary.
:term:`FILES`,
:term:`PN`,
:term:`S`, and
:term:`D` variables in the Yocto Project
Reference Manual's variable glossary.
.. note:: .. note::
@ -1388,7 +1377,7 @@ Reference Manual's variable glossary.
section in the Yocto Project Overview and Concepts Manual for more section in the Yocto Project Overview and Concepts Manual for more
information. information.
If you cannot use the :ref:`bin_package <ref-classes-bin-package>` class, you need to be sure you are If you cannot use the :ref:`ref-classes-bin-package` class, you need to be sure you are
doing the following: doing the following:
- Create a recipe where the - Create a recipe where the

View File

@ -643,8 +643,7 @@ Lighttpd, or Nginx), take the appropriate steps to do so.
From within the :term:`Build Directory` where you have built an image based on From within the :term:`Build Directory` where you have built an image based on
your packaging choice (i.e. the :term:`PACKAGE_CLASSES` setting), simply start your packaging choice (i.e. the :term:`PACKAGE_CLASSES` setting), simply start
the server. The following example assumes a :term:`Build Directory` of ``poky/build`` the server. The following example assumes a :term:`Build Directory` of ``poky/build``
and a :term:`PACKAGE_CLASSES` setting of and a :term:`PACKAGE_CLASSES` setting of ":ref:`ref-classes-package_rpm`"::
":ref:`package_rpm <ref-classes-package_rpm>`"::
$ cd poky/build/tmp/deploy/rpm $ cd poky/build/tmp/deploy/rpm
$ python3 -m http.server $ python3 -m http.server
@ -909,8 +908,8 @@ see the :yocto_wiki:`Ptest </Ptest>` wiki page.
.. note:: .. note::
A recipe is "ptest-enabled" if it inherits the A recipe is "ptest-enabled" if it inherits the :ref:`ref-classes-ptest`
:ref:`ptest <ref-classes-ptest>` class. class.
Adding ptest to Your Build Adding ptest to Your Build
-------------------------- --------------------------
@ -940,7 +939,7 @@ In order to enable a recipe to run installed ptests on target hardware,
you need to prepare the recipes that build the packages you want to you need to prepare the recipes that build the packages you want to
test. Here is what you have to do for each recipe: test. Here is what you have to do for each recipe:
- *Be sure the recipe inherits the* :ref:`ptest <ref-classes-ptest>` *class:* - *Be sure the recipe inherits the* :ref:`ref-classes-ptest` *class:*
Include the following line in each recipe:: Include the following line in each recipe::
inherit ptest inherit ptest
@ -991,7 +990,7 @@ test. Here is what you have to do for each recipe:
special configurations prior to compiling the test code, you must special configurations prior to compiling the test code, you must
insert a ``do_configure_ptest`` function into the recipe. insert a ``do_configure_ptest`` function into the recipe.
- *Install the test suite:* The :ref:`ptest <ref-classes-ptest>` class - *Install the test suite:* The :ref:`ref-classes-ptest` class
automatically copies the file ``run-ptest`` to the target and then runs make automatically copies the file ``run-ptest`` to the target and then runs make
``install-ptest`` to run the tests. If this is not enough, you need ``install-ptest`` to run the tests. If this is not enough, you need
to create a ``do_install_ptest`` function and make sure it gets 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:
sub-module's license is unavailable, the sub-module's name appears in sub-module's license is unavailable, the sub-module's name appears in
the comments. the comments.
- The ``inherit npm`` statement causes the - The ``inherit npm`` statement causes the :ref:`ref-classes-npm` class to
:ref:`npm <ref-classes-npm>` class to package package up all the modules.
up all the modules.
You can run the following command to build the ``cute-files`` package:: You can run the following command to build the ``cute-files`` package::

View File

@ -12,7 +12,7 @@ form of a patch all using Quilt.
.. note:: .. note::
With regard to preserving changes to source files, if you clean a With regard to preserving changes to source files, if you clean a
recipe or have :ref:`rm_work <ref-classes-rm-work>` enabled, the recipe or have :ref:`ref-classes-rm-work` enabled, the
:ref:`devtool workflow <sdk-manual/extensible:using \`\`devtool\`\` in your sdk workflow>` :ref:`devtool workflow <sdk-manual/extensible:using \`\`devtool\`\` in your sdk workflow>`
as described in the Yocto Project Application Development and the as described in the Yocto Project Application Development and the
Extensible Software Development Kit (eSDK) manual is a safer Extensible Software Development Kit (eSDK) manual is a safer
@ -61,7 +61,7 @@ Follow these general steps:
once you run the :ref:`ref-tasks-clean` or :ref:`ref-tasks-cleanall` once you run the :ref:`ref-tasks-clean` or :ref:`ref-tasks-cleanall`
tasks using BitBake (i.e. ``bitbake -c clean package`` and tasks using BitBake (i.e. ``bitbake -c clean package`` and
``bitbake -c cleanall package``). Modifications will also disappear if ``bitbake -c cleanall package``). Modifications will also disappear if
you use the :ref:`rm_work <ref-classes-rm-work>` feature as described in you use the :ref:`ref-classes-rm-work` feature as described in
the ":ref:`dev-manual/disk-space:conserving disk space during builds`" the ":ref:`dev-manual/disk-space:conserving disk space during builds`"
section. section.

View File

@ -76,7 +76,7 @@ from running during root filesystem creation:
native tools, which run on the host system, to accomplish the same native tools, which run on the host system, to accomplish the same
tasks, or by alternatively running the processes under QEMU, which tasks, or by alternatively running the processes under QEMU, which
has the ``qemu_run_binary`` function. For more information, see the has the ``qemu_run_binary`` function. For more information, see the
:ref:`qemu <ref-classes-qemu>` class. :ref:`ref-classes-qemu` class.
Areas With Write Access Areas With Write Access
======================= =======================

View File

@ -332,8 +332,8 @@ You can start the tests automatically or manually:
bitbake core-image-sato bitbake core-image-sato
- *Manually running tests:* To manually run the tests, first globally - *Manually running tests:* To manually run the tests, first globally
inherit the :ref:`testimage <ref-classes-testimage>` class inherit the :ref:`ref-classes-testimage` class by editing your
by editing your ``local.conf`` file:: ``local.conf`` file::
INHERIT += "testimage" INHERIT += "testimage"

View File

@ -26,7 +26,7 @@ assessments, as all the components used in the Software Supply Chain are listed.
The OpenEmbedded build system doesn't generate such information by default. The OpenEmbedded build system doesn't generate such information by default.
To make this happen, you must inherit the To make this happen, you must inherit the
:ref:`create-spdx <ref-classes-create-spdx>` class from a configuration file:: :ref:`ref-classes-create-spdx` class from a configuration file::
INHERIT += "create-spdx" INHERIT += "create-spdx"
@ -39,7 +39,7 @@ containing an index of JSON :term:`SPDX` files for individual recipes, together
with an ``IMAGE-MACHINE.spdx.tar.zst`` compressed archive containing all such with an ``IMAGE-MACHINE.spdx.tar.zst`` compressed archive containing all such
files. files.
The :ref:`create-spdx <ref-classes-create-spdx>` class offers options to include The :ref:`ref-classes-create-spdx` class offers options to include
more information in the output :term:`SPDX` data, such as making the generated more information in the output :term:`SPDX` data, such as making the generated
files more human readable (:term:`SPDX_PRETTY`), adding compressed archives of files more human readable (:term:`SPDX_PRETTY`), adding compressed archives of
the files in the generated target packages (:term:`SPDX_ARCHIVE_PACKAGED`), the files in the generated target packages (:term:`SPDX_ARCHIVE_PACKAGED`),

View File

@ -128,11 +128,9 @@ system to make your images more secure:
service type users). When you set up passwords for multiple images or service type users). When you set up passwords for multiple images or
users, you should not duplicate passwords. users, you should not duplicate passwords.
To set up passwords, use the To set up passwords, use the :ref:`ref-classes-extrausers` class, which
:ref:`extrausers <ref-classes-extrausers>` is the preferred method. For an example on how to set up both root and
class, which is the preferred method. For an example on how to set up user passwords, see the ":ref:`ref-classes-extrausers`" section.
both root and user passwords, see the
":ref:`ref-classes-extrausers`" section.
.. note:: .. note::

View File

@ -61,8 +61,7 @@ Following are additional factors that can affect build speed:
file system on the principle that if there was a significant failure, file system on the principle that if there was a significant failure,
the :term:`Build Directory` contents could easily be rebuilt. the :term:`Build Directory` contents could easily be rebuilt.
- Inheriting the - Inheriting the :ref:`ref-classes-rm-work` class:
:ref:`rm_work <ref-classes-rm-work>` class:
Inheriting this class has shown to speed up builds due to Inheriting this class has shown to speed up builds due to
significantly lower amounts of data stored in the data cache as well significantly lower amounts of data stored in the data cache as well
as on disk. Inheriting this class also makes cleanup of as on disk. Inheriting this class also makes cleanup of

View File

@ -113,8 +113,7 @@ The following steps describe how to set up the AUH utility:
``upgrade-helper/work/recipe/buildhistory-diff.txt`` file found in ``upgrade-helper/work/recipe/buildhistory-diff.txt`` file found in
your :term:`Build Directory`. your :term:`Build Directory`.
- If you want to enable testing through the - If you want to enable testing through the :ref:`ref-classes-testimage`
:ref:`testimage <ref-classes-testimage>`
class, which is optional, you need to have the following set in class, which is optional, you need to have the following set in
your ``conf/local.conf`` file:: your ``conf/local.conf`` file::

View File

@ -27,8 +27,9 @@ patches to fix them, see ":ref:`dev-manual/changes:submitting a change to the yo
Vulnerability check at build time Vulnerability check at build time
================================= =================================
To enable a check for CVE security vulnerabilities using :ref:`cve-check <ref-classes-cve-check>` in the specific image To enable a check for CVE security vulnerabilities using
or target you are building, add the following setting to your configuration:: :ref:`ref-classes-cve-check` in the specific image or target you are building,
add the following setting to your configuration::
INHERIT += "cve-check" INHERIT += "cve-check"
@ -100,7 +101,7 @@ It is also possible to check the CVE status of individual packages as follows::
Fixing CVE product name and version mappings Fixing CVE product name and version mappings
============================================ ============================================
By default, :ref:`cve-check <ref-classes-cve-check>` uses the recipe name :term:`BPN` as CVE By default, :ref:`ref-classes-cve-check` uses the recipe name :term:`BPN` as CVE
product name when querying the CVE database. If this mapping contains false positives, e.g. product name when querying the CVE database. If this mapping contains false positives, e.g.
some reported CVEs are not for the software component in question, or false negatives like some reported CVEs are not for the software component in question, or false negatives like
some CVEs are not found to impact the recipe when they should, then the problems can be some 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.
Implementation details Implementation details
====================== ======================
Here's what the :ref:`cve-check <ref-classes-cve-check>` class does to Here's what the :ref:`ref-classes-cve-check` class does to find unpatched CVE IDs.
find unpatched CVE IDs.
First the code goes through each patch file provided by a recipe. If a valid CVE ID First the code goes through each patch file provided by a recipe. If a valid CVE ID
is found in the name of the file, the corresponding CVE is considered as patched. is found in the name of the file, the corresponding CVE is considered as patched.

View File

@ -59,8 +59,7 @@ this information is required to use Wic, you might find it interesting.
- Wic is a completely independent standalone utility that initially - Wic is a completely independent standalone utility that initially
provides easier-to-use and more flexible replacements for an existing provides easier-to-use and more flexible replacements for an existing
functionality in OE-Core's functionality in OE-Core's :ref:`ref-classes-image-live`
:ref:`image-live <ref-classes-image-live>`
class. The difference between Wic and those examples is that with Wic class. The difference between Wic and those examples is that with Wic
the functionality of those scripts is implemented by a the functionality of those scripts is implemented by a
general-purpose partitioning language, which is based on Redhat general-purpose partitioning language, which is based on Redhat

View File

@ -1685,12 +1685,10 @@ looks much like the one provided with the ``hello-mod`` template::
... ...
The important point to note here is the :term:`KERNEL_SRC` variable. The The important point to note here is the :term:`KERNEL_SRC` variable. The
:ref:`module <ref-classes-module>` class sets this variable and the :ref:`ref-classes-module` class sets this variable and the :term:`KERNEL_PATH`
:term:`KERNEL_PATH` variable to variable to ``${STAGING_KERNEL_DIR}`` with the necessary Linux kernel build
``${STAGING_KERNEL_DIR}`` with the necessary Linux kernel build information to build modules. If your module ``Makefile`` uses a different
information to build modules. If your module ``Makefile`` uses a variable, you might want to override the :ref:`ref-tasks-compile` step, or
different variable, you might want to override the
:ref:`ref-tasks-compile` step, or
create a patch to the ``Makefile`` to work with the more typical create a patch to the ``Makefile`` to work with the more typical
:term:`KERNEL_SRC` or :term:`KERNEL_PATH` variables. :term:`KERNEL_SRC` or :term:`KERNEL_PATH` variables.

View File

@ -91,11 +91,11 @@ consistency.
nativesdk nativesdk
~~~~~~~~~ ~~~~~~~~~
The suffix ``nativesdk`` is now implemented as a prefix, which simplifies a The suffix ``nativesdk`` is now implemented as a prefix, which simplifies a lot
lot of the packaging code for :ref:`nativesdk <ref-classes-nativesdk>` recipes. of the packaging code for :ref:`ref-classes-nativesdk` recipes. All custom
All custom :ref:`nativesdk <ref-classes-nativesdk>` recipes, which are :ref:`ref-classes-nativesdk` recipes, which are relocatable packages that are
relocatable packages that are native to :term:`SDK_ARCH`, and any references native to :term:`SDK_ARCH`, and any references need to be updated to use
need to be updated to use ``nativesdk-*`` instead of ``*-nativesdk``. ``nativesdk-*`` instead of ``*-nativesdk``.
.. _migration-1.3-task-recipes: .. _migration-1.3-task-recipes:
@ -109,7 +109,7 @@ automatic upgrade path for most packages. However, you should update
references in your own recipes and configurations as they could be references in your own recipes and configurations as they could be
removed in future releases. You should also rename any custom ``task-*`` removed in future releases. You should also rename any custom ``task-*``
recipes to ``packagegroup-*``, and change them to inherit recipes to ``packagegroup-*``, and change them to inherit
:ref:`packagegroup <ref-classes-packagegroup>` instead of ``task``, as well :ref:`ref-classes-packagegroup` instead of ``task``, as well
as taking the opportunity to remove anything now handled by as taking the opportunity to remove anything now handled by
:ref:`ref-classes-packagegroup`, such as providing ``-dev`` and ``-dbg`` :ref:`ref-classes-packagegroup`, such as providing ``-dev`` and ``-dbg``
packages, setting :term:`LIC_FILES_CHKSUM`, and so forth. See the packages, setting :term:`LIC_FILES_CHKSUM`, and so forth. See the

View File

@ -95,9 +95,8 @@ The following changes have been made to the package QA checks:
this file within :ref:`ref-tasks-install` if "make this file within :ref:`ref-tasks-install` if "make
install" is installing it. install" is installing it.
- If you are using the :ref:`buildhistory <ref-classes-buildhistory>` class, - If you are using the :ref:`ref-classes-buildhistory` class, the check for the
the check for the package package version going backwards is now controlled using a standard QA check.
version going backwards is now controlled using a standard QA check.
Thus, if you have customized your :term:`ERROR_QA` or :term:`WARN_QA` values Thus, if you have customized your :term:`ERROR_QA` or :term:`WARN_QA` values
and still wish to have this check performed, you should add and still wish to have this check performed, you should add
"version-going-backwards" to your value for one or the other "version-going-backwards" to your value for one or the other
@ -131,7 +130,7 @@ The following directory changes exist:
it easier to delete :term:`TMPDIR` and preserve the build history. it easier to delete :term:`TMPDIR` and preserve the build history.
Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`. Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`.
- When :ref:`buildhistory <ref-classes-buildhistory>` is enabled, its output - When :ref:`ref-classes-buildhistory` is enabled, its output
is now written under the :term:`Build Directory` rather than :term:`TMPDIR`. is now written under the :term:`Build Directory` rather than :term:`TMPDIR`.
Doing so makes it easier to delete :term:`TMPDIR` and preserve the build Doing so makes it easier to delete :term:`TMPDIR` and preserve the build
history. Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`. history. Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`.
@ -223,7 +222,7 @@ Task Recipes
The previously deprecated ``task.bbclass`` has now been dropped. For The previously deprecated ``task.bbclass`` has now been dropped. For
recipes that previously inherited from this class, you should rename recipes that previously inherited from this class, you should rename
them from ``task-*`` to ``packagegroup-*`` and inherit them from ``task-*`` to ``packagegroup-*`` and inherit
:ref:`packagegroup <ref-classes-packagegroup>` instead. :ref:`ref-classes-packagegroup` instead.
For more information, see the ":ref:`ref-classes-packagegroup`" section. For more information, see the ":ref:`ref-classes-packagegroup`" section.

View File

@ -11,9 +11,8 @@ Project 1.6 Release (codename "daisy") from the prior release.
``archiver`` Class ``archiver`` Class
------------------ ------------------
The :ref:`archiver <ref-classes-archiver>` class has been rewritten The :ref:`ref-classes-archiver` class has been rewritten and its configuration
and its configuration has been simplified. For more details on the has been simplified. For more details on the source archiver, see the
source archiver, see the
":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`" ":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`"
section in the Yocto Project Development Tasks Manual. section in the Yocto Project Development Tasks Manual.
@ -224,7 +223,7 @@ Package Tests (ptest) are built but not installed by default. For
information on using Package Tests, see the information on using Package Tests, see the
":ref:`dev-manual/packages:testing packages with ptest`" section in the ":ref:`dev-manual/packages:testing packages with ptest`" section in the
Yocto Project Development Tasks Manual. For information on the Yocto Project Development Tasks Manual. For information on the
:ref:`ptest <ref-classes-ptest>` class, see the ":ref:`ref-classes-ptest`" :ref:`ref-classes-ptest` class, see the ":ref:`ref-classes-ptest`"
section. section.
.. _migration-1.6-build-changes: .. _migration-1.6-build-changes:
@ -234,13 +233,13 @@ Build Changes
Separate build and source directories have been enabled by default for Separate build and source directories have been enabled by default for
selected recipes where it is known to work and for all selected recipes where it is known to work and for all
recipes that inherit the :ref:`cmake <ref-classes-cmake>` class. In recipes that inherit the :ref:`ref-classes-cmake` class. In
future releases the :ref:`autotools <ref-classes-autotools>` class future releases the :ref:`ref-classes-autotools` class
will enable a separate :term:`Build Directory` by default as well. Recipes will enable a separate :term:`Build Directory` by default as well. Recipes
building Autotools-based software that fails to build with a separate building Autotools-based software that fails to build with a separate
:term:`Build Directory` should be changed to inherit from the :term:`Build Directory` should be changed to inherit from the
:ref:`autotools-brokensep <ref-classes-autotools>` class instead of :ref:`autotools-brokensep <ref-classes-autotools>` class instead of
the :ref:`autotools <ref-classes-autotools>` or ``autotools_stage`` classes. the :ref:`ref-classes-autotools` or ``autotools_stage`` classes.
.. _migration-1.6-building-qemu-native: .. _migration-1.6-building-qemu-native:

View File

@ -41,13 +41,11 @@ section for more information.
Autotools Class Changes Autotools Class Changes
----------------------- -----------------------
The following :ref:`autotools <ref-classes-autotools>` class changes The following :ref:`ref-classes-autotools` class changes occurred:
occurred:
- *A separate :term:`Build Directory` is now used by default:* The - *A separate :term:`Build Directory` is now used by default:* The
:ref:`autotools <ref-classes-autotools>` class has been :ref:`ref-classes-autotools` class has been changed to use a directory for
changed to use a directory for building building (:term:`B`), which is separate from the source directory
(:term:`B`), which is separate from the source directory
(:term:`S`). This is commonly referred to as ``B != S``, or (:term:`S`). This is commonly referred to as ``B != S``, or
an out-of-tree build. an out-of-tree build.
@ -56,9 +54,8 @@ occurred:
However, if the software is not capable of being built in this However, if the software is not capable of being built in this
manner, you will need to either patch the software so that it can manner, you will need to either patch the software so that it can
build separately, or you will need to change the recipe to inherit build separately, or you will need to change the recipe to inherit
the :ref:`autotools-brokensep <ref-classes-autotools>` class the :ref:`autotools-brokensep <ref-classes-autotools>` class instead
instead of the :ref:`autotools <ref-classes-autotools>` of the :ref:`ref-classes-autotools` or ``autotools_stage`` classes.
or ``autotools_stage`` classes.
- The ``--foreign`` option is no longer passed to ``automake`` when - The ``--foreign`` option is no longer passed to ``automake`` when
running ``autoconf``: This option tells ``automake`` that a running ``autoconf``: This option tells ``automake`` that a

View File

@ -70,17 +70,16 @@ the following::
Kernel Build Changes Kernel Build Changes
-------------------- --------------------
The kernel build process was changed to place the source in a common The kernel build process was changed to place the source in a common shared work
shared work area and to place build artifacts separately in the source area and to place build artifacts separately in the source code tree. In theory,
code tree. In theory, migration paths have been provided for most common migration paths have been provided for most common usages in kernel recipes but
usages in kernel recipes but this might not work in all cases. In this might not work in all cases. In particular, users need to ensure that
particular, users need to ensure that ``${S}`` (source files) and ``${S}`` (source files) and ``${B}`` (build artifacts) are used correctly in
``${B}`` (build artifacts) are used correctly in functions such as functions such as :ref:`ref-tasks-configure` and :ref:`ref-tasks-install`. For
:ref:`ref-tasks-configure` and kernel recipes that do not inherit from :ref:`ref-classes-kernel-yocto` or
:ref:`ref-tasks-install`. For kernel recipes that do not include ``linux-yocto.inc``, you might wish to refer to the ``linux.inc`` file
inherit from :ref:`kernel-yocto <ref-classes-kernel-yocto>` or include ``linux-yocto.inc``, you might in the ``meta-oe`` layer for the kinds of changes you need to make. For reference,
wish to refer to the ``linux.inc`` file in the ``meta-oe`` layer for the here is the
kinds of changes you need to make. For reference, here is the
:oe_git:`commit </meta-openembedded/commit/meta-oe/recipes-kernel/linux/linux.inc?id=fc7132ede27ac67669448d3d2845ce7d46c6a1ee>` :oe_git:`commit </meta-openembedded/commit/meta-oe/recipes-kernel/linux/linux.inc?id=fc7132ede27ac67669448d3d2845ce7d46c6a1ee>`
where the ``linux.inc`` file in ``meta-oe`` was updated. where the ``linux.inc`` file in ``meta-oe`` was updated.
@ -123,10 +122,9 @@ need to take corrective steps.
Rebuild Improvements Rebuild Improvements
-------------------- --------------------
Changes have been made to the :ref:`base <ref-classes-base>`, Changes have been made to the :ref:`ref-classes-base`,
:ref:`autotools <ref-classes-autotools>`, and :ref:`ref-classes-autotools`, and :ref:`ref-classes-cmake` classes to clean out
:ref:`cmake <ref-classes-cmake>` classes to clean out generated files generated files when the :ref:`ref-tasks-configure` task needs to be
when the :ref:`ref-tasks-configure` task needs to be
re-executed. re-executed.
One of the improvements is to attempt to run "make clean" during the One of the improvements is to attempt to run "make clean" during the

View File

@ -216,7 +216,7 @@ modifications synchronized, it is not always obvious to developers how
to manipulate the Metadata as compared to the source. to manipulate the Metadata as compared to the source.
Metadata processing has now been removed from the Metadata processing has now been removed from the
:ref:`kernel-yocto <ref-classes-kernel-yocto>` class and the external :ref:`ref-classes-kernel-yocto` class and the external
Metadata repository ``yocto-kernel-cache``, which has always been used Metadata repository ``yocto-kernel-cache``, which has always been used
to seed the ``linux-yocto`` "meta" branch. This separate ``linux-yocto`` to seed the ``linux-yocto`` "meta" branch. This separate ``linux-yocto``
cache repository is now the primary location for this data. Due to this cache repository is now the primary location for this data. Due to this

View File

@ -66,7 +66,7 @@ Makefile Environment Changes
:term:`EXTRA_OEMAKE` now defaults to "" instead of :term:`EXTRA_OEMAKE` now defaults to "" instead of
"-e MAKEFLAGS=". Setting :term:`EXTRA_OEMAKE` to "-e MAKEFLAGS=" by default "-e MAKEFLAGS=". Setting :term:`EXTRA_OEMAKE` to "-e MAKEFLAGS=" by default
was a historical accident that has required many classes (e.g. was a historical accident that has required many classes (e.g.
:ref:`autotools <ref-classes-autotools>`, ``module``) and recipes to override this default in order :ref:`ref-classes-autotools`, ``module``) and recipes to override this default in order
to work with sensible build systems. When upgrading to the release, you to work with sensible build systems. When upgrading to the release, you
must edit any recipe that relies upon this old default by either setting must edit any recipe that relies upon this old default by either setting
:term:`EXTRA_OEMAKE` back to "-e MAKEFLAGS=" or by explicitly setting any :term:`EXTRA_OEMAKE` back to "-e MAKEFLAGS=" or by explicitly setting any
@ -100,7 +100,7 @@ breaking FHS.
``ac_cv_sizeof_off_t`` is No Longer Cached in Site Files ``ac_cv_sizeof_off_t`` is No Longer Cached in Site Files
-------------------------------------------------------- --------------------------------------------------------
For recipes inheriting the :ref:`autotools <ref-classes-autotools>` For recipes inheriting the :ref:`ref-classes-autotools`
class, ``ac_cv_sizeof_off_t`` is no longer cached in the site files for class, ``ac_cv_sizeof_off_t`` is no longer cached in the site files for
``autoconf``. The reason for this change is because the ``autoconf``. The reason for this change is because the
``ac_cv_sizeof_off_t`` value is not necessarily static per architecture ``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
large file support is enabled. For most software that uses ``autoconf``, large file support is enabled. For most software that uses ``autoconf``,
this change should not be a problem. However, if you have a recipe that this change should not be a problem. However, if you have a recipe that
bypasses the standard :ref:`ref-tasks-configure` task bypasses the standard :ref:`ref-tasks-configure` task
from the :ref:`autotools <ref-classes-autotools>` class and the software the recipe is building from the :ref:`ref-classes-autotools` class and the software the recipe is building
uses a very old version of ``autoconf``, the recipe might be incapable uses a very old version of ``autoconf``, the recipe might be incapable
of determining the correct size of ``off_t`` during :ref:`ref-tasks-configure`. of determining the correct size of ``off_t`` during :ref:`ref-tasks-configure`.
The best course of action is to patch the software as necessary to allow The best course of action is to patch the software as necessary to allow
the default implementation from the :ref:`autotools <ref-classes-autotools>` class to work such the default implementation from the :ref:`ref-classes-autotools` class to work such
that ``autoreconf`` succeeds and produces a working configure script, that ``autoreconf`` succeeds and produces a working configure script,
and to remove the overridden :ref:`ref-tasks-configure` task such that the default and to remove the overridden :ref:`ref-tasks-configure` task such that the default
implementation does get used. implementation does get used.
@ -138,9 +138,8 @@ should make edits so that those tasks are after the
after :ref:`ref-tasks-rootfs` so that your added tasks run at the correct after :ref:`ref-tasks-rootfs` so that your added tasks run at the correct
time. time.
A minor part of this restructuring is that the post-processing A minor part of this restructuring is that the post-processing definitions and
definitions and functions have been moved from the functions have been moved from the :ref:`ref-classes-image` class to the
:ref:`image <ref-classes-image>` class to the
:ref:`rootfs-postcommands <ref-classes-rootfs*>` class. Functionally, :ref:`rootfs-postcommands <ref-classes-rootfs*>` class. Functionally,
however, they remain unchanged. however, they remain unchanged.
@ -191,18 +190,17 @@ Class Changes
The following classes have changed: The following classes have changed:
- ``autotools_stage``: Removed because the - ``autotools_stage``: Removed because the
:ref:`autotools <ref-classes-autotools>` class now provides its :ref:`ref-classes-autotools` class now provides its
functionality. Recipes that inherited from ``autotools_stage`` should functionality. Recipes that inherited from ``autotools_stage`` should
now inherit from :ref:`autotools <ref-classes-autotools>` instead. now inherit from :ref:`ref-classes-autotools` instead.
- ``boot-directdisk``: Merged into the ``image-vm`` class. The - ``boot-directdisk``: Merged into the ``image-vm`` class. The
``boot-directdisk`` class was rarely directly used. Consequently, ``boot-directdisk`` class was rarely directly used. Consequently,
this change should not cause any issues. this change should not cause any issues.
- ``bootimg``: Merged into the - ``bootimg``: Merged into the :ref:`ref-classes-image-live` class. The
:ref:`image-live <ref-classes-image-live>` class. The ``bootimg`` ``bootimg`` class was rarely directly used. Consequently, this change should
class was rarely directly used. Consequently, this change should not not cause any issues.
cause any issues.
- ``packageinfo``: Removed due to its limited use by the Hob UI, which - ``packageinfo``: Removed due to its limited use by the Hob UI, which
has itself been removed. has itself been removed.
@ -257,14 +255,14 @@ The following changes have been made for the Poky distribution:
not need to change anything unless you are relying on this naming not need to change anything unless you are relying on this naming
elsewhere. elsewhere.
- The :ref:`uninative <ref-classes-uninative>` class is now enabled - The :ref:`ref-classes-uninative` class is now enabled
by default in Poky. This class attempts to isolate the build system by default in Poky. This class attempts to isolate the build system
from the host distribution's C library and makes re-use of native from the host distribution's C library and makes re-use of native
shared state artifacts across different host distributions practical. shared state artifacts across different host distributions practical.
With this class enabled, a tarball containing a pre-built C library With this class enabled, a tarball containing a pre-built C library
is downloaded at the start of the build. is downloaded at the start of the build.
The :ref:`uninative <ref-classes-uninative>` class is enabled through the The :ref:`ref-classes-uninative` class is enabled through the
``meta/conf/distro/include/yocto-uninative.inc`` file, which for ``meta/conf/distro/include/yocto-uninative.inc`` file, which for
those not using the Poky distribution, can include to easily enable those not using the Poky distribution, can include to easily enable
the same functionality. the same functionality.
@ -403,9 +401,9 @@ These additional changes exist:
as these directories are automatically found and added. as these directories are automatically found and added.
- Inaccurate disk and CPU percentage data has been dropped from - Inaccurate disk and CPU percentage data has been dropped from
:ref:`buildstats <ref-classes-buildstats>` output. This data has been replaced with :ref:`ref-classes-buildstats` output. This data has been replaced with
``getrusage()`` data and corrected IO statistics. You will probably ``getrusage()`` data and corrected IO statistics. You will probably
need to update any custom code that reads the :ref:`buildstats <ref-classes-buildstats>` data. need to update any custom code that reads the :ref:`ref-classes-buildstats` data.
- The ``meta/conf/distro/include/package_regex.inc`` is now deprecated. - The ``meta/conf/distro/include/package_regex.inc`` is now deprecated.
The contents of this file have been moved to individual recipes. The contents of this file have been moved to individual recipes.

View File

@ -52,7 +52,7 @@ Consider the following:
post-installation script that is installed by a function added to post-installation script that is installed by a function added to
:term:`SYSROOT_PREPROCESS_FUNCS`. :term:`SYSROOT_PREPROCESS_FUNCS`.
For an example, see the :ref:`pixbufcache <ref-classes-pixbufcache>` class in ``meta/classes/`` in For an example, see the :ref:`ref-classes-pixbufcache` class in ``meta/classes/`` in
the :ref:`overview-manual/development-environment:yocto project source repositories`. the :ref:`overview-manual/development-environment:yocto project source repositories`.
.. note:: .. note::
@ -402,7 +402,7 @@ The following QA checks have changed:
warning, you need to address missing runtime dependencies. warning, you need to address missing runtime dependencies.
For additional information, see the For additional information, see the
:ref:`insane <ref-classes-insane>` class and the :ref:`ref-classes-insane` class and the
":ref:`ref-manual/qa-checks:errors and warnings`" section. ":ref:`ref-manual/qa-checks:errors and warnings`" section.
.. _migration-2.3-miscellaneous-changes: .. _migration-2.3-miscellaneous-changes:
@ -446,7 +446,7 @@ The following miscellaneous changes have occurred:
RSA keys only, and with recent versions of OpenSSH, which deprecates RSA keys only, and with recent versions of OpenSSH, which deprecates
DSA host keys. DSA host keys.
- The :ref:`buildhistory <ref-classes-buildhistory>` class now - The :ref:`ref-classes-buildhistory` class now
correctly uses tabs as separators between all columns in correctly uses tabs as separators between all columns in
``installed-package-sizes.txt`` in order to aid import into other ``installed-package-sizes.txt`` in order to aid import into other
tools. tools.
@ -484,26 +484,24 @@ The following miscellaneous changes have occurred:
If you need to preserve these ``.la`` files (e.g. in a custom If you need to preserve these ``.la`` files (e.g. in a custom
distribution), you must change :term:`INHERIT_DISTRO` such that distribution), you must change :term:`INHERIT_DISTRO` such that
":ref:`remove-libtool <ref-classes-remove-libtool>`" is not included ":ref:`ref-classes-remove-libtool`" is not included
in the value. in the value.
- Extensible SDKs built for GCC 5+ now refuse to install on a - Extensible SDKs built for GCC 5+ now refuse to install on a
distribution where the host GCC version is 4.8 or 4.9. This change distribution where the host GCC version is 4.8 or 4.9. This change
resulted from the fact that the installation is known to fail due to resulted from the fact that the installation is known to fail due to
the way the ``uninative`` shared state (sstate) package is built. See the way the ``uninative`` shared state (sstate) package is built. See
the :ref:`uninative <ref-classes-uninative>` class for additional the :ref:`ref-classes-uninative` class for additional information.
information.
- All :ref:`native <ref-classes-native>` and - All :ref:`ref-classes-native` and :ref:`ref-classes-nativesdk` recipes now
:ref:`nativesdk <ref-classes-nativesdk>` recipes now use a separate use a separate :term:`DISTRO_FEATURES` value instead of sharing the value
:term:`DISTRO_FEATURES` value instead of sharing the value used by used by recipes for the target, in order to avoid unnecessary rebuilds.
recipes for the target, in order to avoid unnecessary rebuilds.
The :term:`DISTRO_FEATURES` for :ref:`native <ref-classes-native>` recipes The :term:`DISTRO_FEATURES` for :ref:`ref-classes-native` recipes
is :term:`DISTRO_FEATURES_NATIVE` added to an intersection of is :term:`DISTRO_FEATURES_NATIVE` added to an intersection of
:term:`DISTRO_FEATURES` and :term:`DISTRO_FEATURES_FILTER_NATIVE`. :term:`DISTRO_FEATURES` and :term:`DISTRO_FEATURES_FILTER_NATIVE`.
For :ref:`nativesdk <ref-classes-nativesdk>` recipes, the corresponding For :ref:`ref-classes-nativesdk` recipes, the corresponding
variables are :term:`DISTRO_FEATURES_NATIVESDK` and variables are :term:`DISTRO_FEATURES_NATIVESDK` and
:term:`DISTRO_FEATURES_FILTER_NATIVESDK`. :term:`DISTRO_FEATURES_FILTER_NATIVESDK`.

View File

@ -197,12 +197,10 @@ Kernel Device Tree Move
----------------------- -----------------------
Kernel Device Tree support is now easier to enable in a kernel recipe. Kernel Device Tree support is now easier to enable in a kernel recipe.
The Device Tree code has moved to a The Device Tree code has moved to a :ref:`ref-classes-kernel-devicetree` class.
:ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class.
Functionality is automatically enabled for any recipe that inherits the Functionality is automatically enabled for any recipe that inherits the
:ref:`kernel <ref-classes-kernel>` class and sets the :ref:`kernel <ref-classes-kernel>` class and sets the :term:`KERNEL_DEVICETREE`
:term:`KERNEL_DEVICETREE` variable. The variable. The previous mechanism for doing this,
previous mechanism for doing this,
``meta/recipes-kernel/linux/linux-dtb.inc``, is still available to avoid ``meta/recipes-kernel/linux/linux-dtb.inc``, is still available to avoid
breakage, but triggers a deprecation warning. Future releases of the breakage, but triggers a deprecation warning. Future releases of the
Yocto Project will remove ``meta/recipes-kernel/linux/linux-dtb.inc``. Yocto Project will remove ``meta/recipes-kernel/linux/linux-dtb.inc``.
@ -271,11 +269,11 @@ The following are additional changes:
from ``meta-poky`` to OE-Core (i.e. from from ``meta-poky`` to OE-Core (i.e. from
``meta-poky/conf/distro/include`` to ``meta/conf/distro/include``). ``meta-poky/conf/distro/include`` to ``meta/conf/distro/include``).
- The :ref:`buildhistory <ref-classes-buildhistory>` class now makes - The :ref:`ref-classes-buildhistory` class now makes
a single commit per build rather than one commit per subdirectory in a single commit per build rather than one commit per subdirectory in
the repository. This behavior assumes the commits are enabled with the repository. This behavior assumes the commits are enabled with
:term:`BUILDHISTORY_COMMIT` = "1", which :term:`BUILDHISTORY_COMMIT` = "1", which
is typical. Previously, the :ref:`buildhistory <ref-classes-buildhistory>` class made one commit is typical. Previously, the :ref:`ref-classes-buildhistory` class made one commit
per subdirectory in the repository in order to make it easier to see per subdirectory in the repository in order to make it easier to see
the changes for a particular subdirectory. To view a particular the changes for a particular subdirectory. To view a particular
change, specify that subdirectory as the last parameter on the change, specify that subdirectory as the last parameter on the

View File

@ -139,7 +139,7 @@ The following are BitBake changes:
- Several explicit "run this task for all recipes in the dependency - Several explicit "run this task for all recipes in the dependency
tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``, tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``,
and the ``*all`` tasks provided by the ``distrodata`` and and the ``*all`` tasks provided by the ``distrodata`` and
:ref:`archiver <ref-classes-archiver>` classes). There is a BitBake option to complete this for :ref:`ref-classes-archiver` classes). There is a BitBake option to complete this for
any arbitrary task. For example:: any arbitrary task. For example::
bitbake <target> -c fetchall bitbake <target> -c fetchall
@ -189,7 +189,7 @@ Miscellaneous Changes
The following are additional changes: The following are additional changes:
- The :ref:`kernel <ref-classes-kernel>` class supports building packages for multiple kernels. - The :ref:`ref-classes-kernel` class supports building packages for multiple kernels.
If your kernel recipe or ``.bbappend`` file mentions packaging at If your kernel recipe or ``.bbappend`` file mentions packaging at
all, you should replace references to the kernel in package names all, you should replace references to the kernel in package names
with ``${KERNEL_PACKAGE_NAME}``. For example, if you disable with ``${KERNEL_PACKAGE_NAME}``. For example, if you disable
@ -197,7 +197,7 @@ The following are additional changes:
``RDEPENDS_kernel-base = ""`` you can avoid warnings using ``RDEPENDS_kernel-base = ""`` you can avoid warnings using
``RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""`` instead. ``RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""`` instead.
- The :ref:`buildhistory <ref-classes-buildhistory>` class commits changes to the repository by - The :ref:`ref-classes-buildhistory` class commits changes to the repository by
default so you no longer need to set ``BUILDHISTORY_COMMIT = "1"``. default so you no longer need to set ``BUILDHISTORY_COMMIT = "1"``.
If you want to disable commits you need to set If you want to disable commits you need to set
``BUILDHISTORY_COMMIT = "0"`` in your configuration. ``BUILDHISTORY_COMMIT = "0"`` in your configuration.
@ -209,12 +209,12 @@ The following are additional changes:
maintains a full-featured BSP in the ``meta-ti`` layer. This rename maintains a full-featured BSP in the ``meta-ti`` layer. This rename
avoids the previous name clash that existed between the two BSPs. avoids the previous name clash that existed between the two BSPs.
- The :ref:`update-alternatives <ref-classes-update-alternatives>` class no longer works with SysV ``init`` - The :ref:`ref-classes-update-alternatives` class no longer works with SysV ``init``
scripts because this usage has been problematic. Also, the scripts because this usage has been problematic. Also, the
``sysklogd`` recipe no longer uses ``update-alternatives`` because it ``sysklogd`` recipe no longer uses ``update-alternatives`` because it
is incompatible with other implementations. is incompatible with other implementations.
- By default, the :ref:`cmake <ref-classes-cmake>` class uses - By default, the :ref:`ref-classes-cmake` class uses
``ninja`` instead of ``make`` for building. This improves build ``ninja`` instead of ``make`` for building. This improves build
performance. If a recipe is broken with ``ninja``, then the recipe performance. If a recipe is broken with ``ninja``, then the recipe
can set ``OECMAKE_GENERATOR = "Unix Makefiles"`` to change back to can set ``OECMAKE_GENERATOR = "Unix Makefiles"`` to change back to

View File

@ -128,10 +128,9 @@ missing from :term:`DEPENDS`).
.. note:: .. note::
This change affects classes beyond just the two mentioned (i.e. This change affects classes beyond just the two mentioned (i.e. ``distutils``
``distutils`` and ``distutils3``). Any recipe that inherits ``distutils*`` and ``distutils3``). Any recipe that inherits ``distutils*`` classes are
classes are affected. For example, the ``setuptools`` and affected. For example, the ``setuptools`` and :ref:`ref-classes-setuptools3`
:ref:`setuptools3 <ref-classes-setuptools3>`
recipes are affected since they inherit the ``distutils*`` classes. recipes are affected since they inherit the ``distutils*`` classes.
Fetching these types of dependencies that are not provided in the Fetching these types of dependencies that are not provided in the
@ -315,12 +314,11 @@ This section provides information about automatic testing changes:
exists and has been replaced by the exists and has been replaced by the
:term:`TESTIMAGE_AUTO` variable. :term:`TESTIMAGE_AUTO` variable.
- Inheriting the :ref:`testimage <ref-classes-testimage>` and - Inheriting the :ref:`ref-classes-testimage` and :ref:`ref-classes-testsdk`
:ref:`testsdk <ref-classes-testsdk>` classes: best practices now dictate classes: best practices now dictate that you use the :term:`IMAGE_CLASSES`
that you use the :term:`IMAGE_CLASSES` variable rather than the variable rather than the :term:`INHERIT` variable when you inherit the
:term:`INHERIT` variable when you inherit the :ref:`ref-classes-testimage` and :ref:`ref-classes-testsdk` classes used
:ref:`testimage <ref-classes-testimage>` and for automatic testing.
:ref:`testsdk <ref-classes-testsdk>` classes used for automatic testing.
.. _migration-2.6-openssl-changes: .. _migration-2.6-openssl-changes:

View File

@ -174,8 +174,7 @@ The following miscellaneous changes occurred:
- ``base/pixbufcache``: Obsolete ``sstatecompletions`` code has been - ``base/pixbufcache``: Obsolete ``sstatecompletions`` code has been
removed. removed.
- :ref:`native <ref-classes-native>` class: - :ref:`ref-classes-native` class: :term:`RDEPENDS` handling has been enabled.
:term:`RDEPENDS` handling has been enabled.
- ``inetutils``: This recipe has rsh disabled. - ``inetutils``: This recipe has rsh disabled.

View File

@ -49,7 +49,7 @@ The following recipes have been removed.
- ``core-image-lsb-sdk``: Part of removed LSB support. - ``core-image-lsb-sdk``: Part of removed LSB support.
- ``cve-check-tool``: Functionally replaced by the ``cve-update-db`` - ``cve-check-tool``: Functionally replaced by the ``cve-update-db``
recipe and :ref:`cve-check <ref-classes-cve-check>` class. recipe and :ref:`ref-classes-cve-check` class.
- ``eglinfo``: No longer maintained. ``eglinfo`` from ``mesa-demos`` is - ``eglinfo``: No longer maintained. ``eglinfo`` from ``mesa-demos`` is
an adequate and maintained alternative. an adequate and maintained alternative.
@ -144,7 +144,7 @@ CVE Checking
------------ ------------
``cve-check-tool`` has been functionally replaced by a new ``cve-check-tool`` has been functionally replaced by a new
``cve-update-db`` recipe and functionality built into the :ref:`cve-check <ref-classes-cve-check>` ``cve-update-db`` recipe and functionality built into the :ref:`ref-classes-cve-check`
class. The result uses NVD JSON data feeds rather than the deprecated class. The result uses NVD JSON data feeds rather than the deprecated
XML feeds that ``cve-check-tool`` was using, supports CVSSv3 scoring, XML feeds that ``cve-check-tool`` was using, supports CVSSv3 scoring,
and makes other improvements. and makes other improvements.
@ -287,7 +287,7 @@ The following miscellaneous changes have occurred.
:term:`NATIVELSBSTRING` to use all lowercase :term:`NATIVELSBSTRING` to use all lowercase
characters even if it does not contain a version number. This change characters even if it does not contain a version number. This change
is necessary only if you are not using is necessary only if you are not using
:ref:`uninative <ref-classes-uninative>` and :term:`SANITY_TESTED_DISTROS`. :ref:`ref-classes-uninative` and :term:`SANITY_TESTED_DISTROS`.
- In the ``base-files`` recipe, writing the hostname into - In the ``base-files`` recipe, writing the hostname into
``/etc/hosts`` and ``/etc/hostname`` is now done within the main ``/etc/hosts`` and ``/etc/hostname`` is now done within the main

View File

@ -127,7 +127,7 @@ renamed to ``features_check``; the ``distro_features_check`` class still
exists but generates a warning and redirects to the new class. In exists but generates a warning and redirects to the new class. In
preparation for a future removal of the old class it is recommended that preparation for a future removal of the old class it is recommended that
you update recipes currently inheriting ``distro_features_check`` to you update recipes currently inheriting ``distro_features_check`` to
inherit :ref:`features_check <ref-classes-features_check>` instead. inherit :ref:`ref-classes-features_check` instead.
.. _migration-3.1-removed-classes: .. _migration-3.1-removed-classes:
@ -240,10 +240,10 @@ Warnings will now be shown at :ref:`ref-tasks-package_qa` time in the following
circumstances: circumstances:
- A recipe installs ``.desktop`` files containing ``MimeType`` keys but - A recipe installs ``.desktop`` files containing ``MimeType`` keys but
does not inherit the new :ref:`mime-xdg <ref-classes-mime-xdg>` class does not inherit the new :ref:`ref-classes-mime-xdg` class
- A recipe installs ``.xml`` files into ``${datadir}/mime/packages`` - A recipe installs ``.xml`` files into ``${datadir}/mime/packages``
but does not inherit the :ref:`mime <ref-classes-mime>` class but does not inherit the :ref:`ref-classes-mime` class
.. _migration-3.1-x86-live-wic: .. _migration-3.1-x86-live-wic:

View File

@ -177,13 +177,23 @@ errors:
In addition, the following new checks were added and default to triggering an error: In addition, the following new checks were added and default to triggering an error:
- :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. - :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.
- :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. - :ref:`unhandled-features-check <qa-check-unhandled-features-check>`: Check
if any of the variables supported by the :ref:`ref-classes-features_check`
class is set while not inheriting the class itself.
- :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. - :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:`ref-classes-update-alternatives`
class.
- 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. - 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.
.. _migration-3.2-src-uri-file-globbing: .. _migration-3.2-src-uri-file-globbing:
@ -209,9 +219,18 @@ files into a subdirectory and reference that instead.
deploy class now cleans ``DEPLOYDIR`` before ``do_deploy`` deploy class now cleans ``DEPLOYDIR`` before ``do_deploy``
---------------------------------------------------------- ----------------------------------------------------------
: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. :ref:`ref-tasks-deploy` as implemented in the :ref:`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.
Most 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. Most recipes and classes that inherit the :ref:`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.
.. _migration-3.2-nativesdk-sdk-provides-dummy: .. _migration-3.2-nativesdk-sdk-provides-dummy:
@ -219,7 +238,7 @@ Most recipes and classes that inherit the :ref:`deploy <ref-classes-deploy>` cla
Custom SDK / SDK-style recipes need to include ``nativesdk-sdk-provides-dummy`` Custom SDK / SDK-style recipes need to include ``nativesdk-sdk-provides-dummy``
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
All :ref:`nativesdk <ref-classes-nativesdk>` packages require ``/bin/sh`` due All :ref:`ref-classes-nativesdk` packages require ``/bin/sh`` due
to their postinstall scriptlets, thus this package has to be dummy-provided to their postinstall scriptlets, thus this package has to be dummy-provided
within the SDK and ``nativesdk-sdk-provides-dummy`` now does this. If you have within the SDK and ``nativesdk-sdk-provides-dummy`` now does this. If you have
a custom SDK recipe (or your own SDK-style recipe similar to e.g. a custom SDK recipe (or your own SDK-style recipe similar to e.g.

View File

@ -63,13 +63,13 @@ need to update those.
New ``python3targetconfig`` class New ``python3targetconfig`` class
--------------------------------- ---------------------------------
A new :ref:`python3targetconfig <ref-classes-python3targetconfig>` class has A new :ref:`ref-classes-python3targetconfig` class has
been created for situations where you would previously have inherited the been created for situations where you would previously have inherited the
:ref:`python3native <ref-classes-python3native>` class but need access to :ref:`ref-classes-python3native` class but need access to
target configuration data (such as correct installation directories). Recipes target configuration data (such as correct installation directories). Recipes
where this situation applies should be changed to inherit where this situation applies should be changed to inherit
:ref:`python3targetconfig <ref-classes-python3targetconfig>` instead of :ref:`ref-classes-python3targetconfig` instead of
:ref:`python3native <ref-classes-python3native>`. This also adds a dependency :ref:`ref-classes-python3native`. This also adds a dependency
on target ``python3``, so it should only be used where appropriate in order to on target ``python3``, so it should only be used where appropriate in order to
avoid unnecessarily lengthening builds. avoid unnecessarily lengthening builds.
@ -99,11 +99,10 @@ variable so that recipes can specify it explicitly, for example::
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule" DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule"
Recipes that inherit from ``distutils3`` (or Recipes that inherit from ``distutils3`` (or :ref:`ref-classes-setuptools3`
:ref:`setuptools3 <ref-classes-setuptools3>` which itself inherits which itself inherits ``distutils3``) that also set :term:`S` to point to a
``distutils3``) that also set :term:`S` to point to a Python module within a Python module within a subdirectory in the aforementioned manner should be
subdirectory in the aforementioned manner should be changed to set changed to set ``DISTUTILS_SETUP_PATH`` instead.
``DISTUTILS_SETUP_PATH`` instead.
.. _migration-3.3-bitbake: .. _migration-3.3-bitbake:

View File

@ -126,7 +126,7 @@ Removed classes
- ``image-mklibs``: not actively tested and upstream mklibs still - ``image-mklibs``: not actively tested and upstream mklibs still
requires Python 2 requires Python 2
- ``meta``: no longer useful. Recipes that need to skip installing - ``meta``: no longer useful. Recipes that need to skip installing
packages should inherit :ref:`nopackages <ref-classes-nopackages>` instead. packages should inherit :ref:`ref-classes-nopackages` instead.
Prelinking disabled by default Prelinking disabled by default
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -259,7 +259,7 @@ Miscellaneous
instead. instead.
- The obsolete ``oe_machinstall`` function previously provided in the - The obsolete ``oe_machinstall`` function previously provided in the
:ref:`utils <ref-classes-utils>` class has been removed. For :ref:`ref-classes-utils` class has been removed. For
machine-specific installation it is recommended that you use the machine-specific installation it is recommended that you use the
built-in override support in the fetcher or overrides in general built-in override support in the fetcher or overrides in general
instead. instead.

View File

@ -119,7 +119,7 @@ License changes
- The ``AVAILABLE_LICENSES`` variable has been removed. This variable was a performance - The ``AVAILABLE_LICENSES`` variable has been removed. This variable was a performance
liability and is highly dependent on which layers are added to the configuration, liability and is highly dependent on which layers are added to the configuration,
which can cause signature issues for users. In addition the ``available_licenses()`` which can cause signature issues for users. In addition the ``available_licenses()``
function has been removed from the :ref:`license <ref-classes-license>` class as function has been removed from the :ref:`ref-classes-license` class as
it is no longer needed. it is no longer needed.
Removed recipes Removed recipes
@ -143,15 +143,14 @@ Python changes
- The Python package build process is now based on `wheels <https://pythonwheels.com/>`__. - The Python package build process is now based on `wheels <https://pythonwheels.com/>`__.
Here are the new Python packaging classes that should be used: Here are the new Python packaging classes that should be used:
:ref:`python_flit_core <ref-classes-python_flit_core>`, :ref:`ref-classes-python_flit_core`, :ref:`ref-classes-python_setuptools_build_meta`
:ref:`python_setuptools_build_meta <ref-classes-python_setuptools_build_meta>` and :ref:`ref-classes-python_poetry_core`.
and :ref:`python_poetry_core <ref-classes-python_poetry_core>`.
- The :ref:`setuptools3 <ref-classes-setuptools3>` class :ref:`ref-tasks-install` task now - The :ref:`ref-classes-setuptools3` class :ref:`ref-tasks-install` task now
installs the ``wheel`` binary archive. In current versions of ``setuptools`` the installs the ``wheel`` binary archive. In current versions of ``setuptools`` the
legacy ``setup.py install`` method is deprecated. If the ``setup.py`` cannot be used legacy ``setup.py install`` method is deprecated. If the ``setup.py`` cannot be used
with wheels, for example it creates files outside of the Python module or standard with wheels, for example it creates files outside of the Python module or standard
entry points, then :ref:`setuptools3_legacy <ref-classes-setuptools3_legacy>` should entry points, then :ref:`ref-classes-setuptools3_legacy` should
be used instead. be used instead.
Prelink removed Prelink removed
@ -173,7 +172,7 @@ Reproducible as standard
Reproducibility is now considered as standard functionality, thus the Reproducibility is now considered as standard functionality, thus the
``reproducible`` class has been removed and its previous contents merged into the ``reproducible`` class has been removed and its previous contents merged into the
:ref:`base <ref-classes-base>` class. If you have references in your configuration to :ref:`ref-classes-base` class. If you have references in your configuration to
``reproducible`` in :term:`INHERIT`, :term:`USER_CLASSES` etc. then they should be ``reproducible`` in :term:`INHERIT`, :term:`USER_CLASSES` etc. then they should be
removed. removed.
@ -215,15 +214,15 @@ Miscellaneous changes
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
- ``blacklist.bbclass`` is removed and the functionality moved to the - ``blacklist.bbclass`` is removed and the functionality moved to the
:ref:`base <ref-classes-base>` class with a more descriptive :ref:`ref-classes-base` class with a more descriptive
``varflag`` variable named :term:`SKIP_RECIPE` which will use the `bb.parse.SkipRecipe()` ``varflag`` variable named :term:`SKIP_RECIPE` which will use the `bb.parse.SkipRecipe()`
function. The usage remains the same, for example:: function. The usage remains the same, for example::
SKIP_RECIPE[my-recipe] = "Reason for skipping recipe" SKIP_RECIPE[my-recipe] = "Reason for skipping recipe"
- :ref:`allarch <ref-classes-allarch>` packagegroups can no longer depend on packages - :ref:`ref-classes-allarch` packagegroups can no longer depend on packages
which use :term:`PKG` renaming such as :ref:`ref-classes-debian`. Such packagegroups which use :term:`PKG` renaming such as :ref:`ref-classes-debian`. Such packagegroups
recipes should be changed to avoid inheriting :ref:`allarch <ref-classes-allarch>`. recipes should be changed to avoid inheriting :ref:`ref-classes-allarch`.
- The ``lnr`` script has been removed. ``lnr`` implemented the same behaviour as `ln --relative --symbolic`, - The ``lnr`` script has been removed. ``lnr`` implemented the same behaviour as `ln --relative --symbolic`,
since at the time of creation `--relative` was only available in coreutils 8.16 since at the time of creation `--relative` was only available in coreutils 8.16
@ -232,7 +231,7 @@ Miscellaneous changes
any calls to ``lnr`` in your recipes or classes, they should be replaced with any calls to ``lnr`` in your recipes or classes, they should be replaced with
`ln --relative --symbolic` or `ln -rs` if you prefer the short version. `ln --relative --symbolic` or `ln -rs` if you prefer the short version.
- The ``package_qa_handle_error()`` function formerly in the :ref:`insane <ref-classes-insane>` - The ``package_qa_handle_error()`` function formerly in the :ref:`ref-classes-insane`
class has been moved and renamed - if you have any references in your own custom class has been moved and renamed - if you have any references in your own custom
classes they should be changed to ``oe.qa.handle_error()``. classes they should be changed to ``oe.qa.handle_error()``.

View File

@ -92,7 +92,7 @@ now cause an error::
INHERIT += "testimage" INHERIT += "testimage"
Since :ref:`testimage <ref-classes-testimage>` is a class intended solely to Since :ref:`ref-classes-testimage` is a class intended solely to
affect image recipes, this would be correctly specified as:: affect image recipes, this would be correctly specified as::
IMAGE_CLASSES += "testimage" IMAGE_CLASSES += "testimage"
@ -154,16 +154,16 @@ Miscellaneous changes
you can set :term:`WATCHDOG_TIMEOUT` to the desired timeout in seconds. Note you can set :term:`WATCHDOG_TIMEOUT` to the desired timeout in seconds. Note
that the same :term:`WATCHDOG_TIMEOUT` variable also specifies the timeout used that the same :term:`WATCHDOG_TIMEOUT` variable also specifies the timeout used
for the ``watchdog`` tool (if that is being built). for the ``watchdog`` tool (if that is being built).
- The :ref:`image-buildinfo <ref-classes-image-buildinfo>` class now writes to - The :ref:`ref-classes-image-buildinfo` class now writes to
``${sysconfdir}/buildinfo`` instead of ``${sysconfdir}/build`` by default (i.e. ``${sysconfdir}/buildinfo`` instead of ``${sysconfdir}/build`` by default (i.e.
the default value of :term:`IMAGE_BUILDINFO_FILE` has been changed). If you have the default value of :term:`IMAGE_BUILDINFO_FILE` has been changed). If you have
code that reads this from images at build or runtime you will need to update it code that reads this from images at build or runtime you will need to update it
or specify your own value for :term:`IMAGE_BUILDINFO_FILE`. or specify your own value for :term:`IMAGE_BUILDINFO_FILE`.
- In the :ref:`archiver <ref-classes-archiver>` class, the default - In the :ref:`ref-classes-archiver` class, the default
``ARCHIVER_OUTDIR`` value no longer includes the :term:`MACHINE` value in order ``ARCHIVER_OUTDIR`` value no longer includes the :term:`MACHINE` value in order
to avoid the archive task running multiple times in a multiconfig setup. If you to avoid the archive task running multiple times in a multiconfig setup. If you
have custom code that does something with the files archived by the have custom code that does something with the files archived by the
:ref:`archiver <ref-classes-archiver>` class then you may need to adjust it to :ref:`ref-classes-archiver` class then you may need to adjust it to
the new structure. the new structure.
- If you are not using `systemd` then udev is now configured to use labels - If you are not using `systemd` then udev is now configured to use labels
(``LABEL`` or ``PARTLABEL``) to set the mount point for the device. For example:: (``LABEL`` or ``PARTLABEL``) to set the mount point for the device. For example::
@ -194,7 +194,7 @@ Miscellaneous changes
:term:`PACKAGECONFIG`. If you are customising this file you will need to :term:`PACKAGECONFIG`. If you are customising this file you will need to
update your customisations. update your customisations.
- With the introduction of picobuild in - With the introduction of picobuild in
:ref:`python_pep517 <ref-classes-python_pep517>`, The ``PEP517_BUILD_API`` :ref:`ref-classes-python_pep517`, The ``PEP517_BUILD_API``
variable is no longer supported. If you have any references to this variable variable is no longer supported. If you have any references to this variable
you should remove them. you should remove them.

View File

@ -76,24 +76,24 @@ any new Yocto Project release.
- *Checking Image / SDK Changes*: - *Checking Image / SDK Changes*:
The :ref:`buildhistory <ref-classes-buildhistory>` class can be used The :ref:`ref-classes-buildhistory` class can be used
if you wish to check the impact of changes to images / SDKs across if you wish to check the impact of changes to images / SDKs across
the migration (e.g. added/removed packages, added/removed files, size the migration (e.g. added/removed packages, added/removed files, size
changes etc.). To do this, follow these steps: changes etc.). To do this, follow these steps:
#. Enable :ref:`buildhistory <ref-classes-buildhistory>` before the migration #. Enable :ref:`ref-classes-buildhistory` before the migration
#. Run a pre-migration build #. Run a pre-migration build
#. Capture the :ref:`buildhistory <ref-classes-buildhistory>` output (as #. Capture the :ref:`ref-classes-buildhistory` output (as
specified by :term:`BUILDHISTORY_DIR`) and ensure it is preserved for specified by :term:`BUILDHISTORY_DIR`) and ensure it is preserved for
subsequent builds. How you would do this depends on how you are running subsequent builds. How you would do this depends on how you are running
your builds - if you are doing this all on one workstation in the same your builds - if you are doing this all on one workstation in the same
:term:`Build Directory` you may not need to do anything other than not :term:`Build Directory` you may not need to do anything other than not
deleting the :ref:`buildhistory <ref-classes-buildhistory>` output deleting the :ref:`ref-classes-buildhistory` output
directory. For builds in a pipeline it may be more complicated. directory. For builds in a pipeline it may be more complicated.
#. Set a tag in the :ref:`buildhistory <ref-classes-buildhistory>` output (which is a git repository) before #. Set a tag in the :ref:`ref-classes-buildhistory` output (which is a git repository) before
migration, to make the commit from the pre-migration build easy to find migration, to make the commit from the pre-migration build easy to find
as you may end up running multiple builds during the migration. as you may end up running multiple builds during the migration.
@ -102,7 +102,7 @@ any new Yocto Project release.
#. Run a build #. Run a build
#. Check the output changes between the previously set tag and HEAD in the #. Check the output changes between the previously set tag and HEAD in the
:ref:`buildhistory <ref-classes-buildhistory>` output using ``git diff`` or ``buildhistory-diff``. :ref:`ref-classes-buildhistory` output using ``git diff`` or ``buildhistory-diff``.
For more information on using :ref:`buildhistory <ref-classes-buildhistory>`, see For more information on using :ref:`ref-classes-buildhistory`, see
:ref:`dev-manual/build-quality:maintaining build output quality`. :ref:`dev-manual/build-quality:maintaining build output quality`.

View File

@ -9,7 +9,7 @@ New Features / Enhancements in 3.4
- Linux kernel 5.14, glibc 2.34 and ~280 other recipe upgrades - Linux kernel 5.14, glibc 2.34 and ~280 other recipe upgrades
- Switched override character to ':' (replacing '_') for more robust parsing and improved performance --- see the above migration guide for help - Switched override character to ':' (replacing '_') for more robust parsing and improved performance --- see the above migration guide for help
- Rust integrated into core, providing rust support for cross-compilation and SDK - Rust integrated into core, providing rust support for cross-compilation and SDK
- New :ref:`create-spdx <ref-classes-create-spdx>` class for creating SPDX SBoM documents - New :ref:`ref-classes-create-spdx` class for creating SPDX SBoM documents
- 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 - 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
- Several optimisations to reduce unnecessary task dependencies for faster builds - Several optimisations to reduce unnecessary task dependencies for faster builds
- seccomp integrated into core, with additional enabling for gnutls, systemd, qemu - seccomp integrated into core, with additional enabling for gnutls, systemd, qemu
@ -71,7 +71,7 @@ New Features / Enhancements in 3.4
- Enable :ref:`ref-tasks-populate_sdk` with multilibs - Enable :ref:`ref-tasks-populate_sdk` with multilibs
- New ``SDKPATHINSTALL`` variable decouples default install path from - New ``SDKPATHINSTALL`` variable decouples default install path from
built in path to avoid rebuilding :ref:`nativesdk <ref-classes-nativesdk>` built in path to avoid rebuilding :ref:`ref-classes-nativesdk`
components on e.g. :term:`DISTRO_VERSION` changes components on e.g. :term:`DISTRO_VERSION` changes
- eSDK: Error if trying to generate an eSDK from a multiconfig - eSDK: Error if trying to generate an eSDK from a multiconfig
- 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 - 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

View File

@ -13,7 +13,7 @@ New Features / Enhancements in 4.0
- Reproducibility: this release fixes the reproducibility issues with - Reproducibility: this release fixes the reproducibility issues with
``rust-llvm`` and ``golang``. Recipes in OpenEmbedded-Core are now fully ``rust-llvm`` and ``golang``. Recipes in OpenEmbedded-Core are now fully
reproducible. Functionality previously in the optional "reproducible" reproducible. Functionality previously in the optional "reproducible"
class has been merged into the :ref:`base <ref-classes-base>` class. class has been merged into the :ref:`ref-classes-base` class.
- Network access is now disabled by default for tasks other than where it is expected to ensure build integrity (where host kernel supports it) - Network access is now disabled by default for tasks other than where it is expected to ensure build integrity (where host kernel supports it)
@ -31,8 +31,7 @@ New Features / Enhancements in 4.0
- The Python package build process is now based on `wheels <https://pythonwheels.com/>`__ - The Python package build process is now based on `wheels <https://pythonwheels.com/>`__
in line with the upstream direction. in line with the upstream direction.
- New :ref:`overlayfs <ref-classes-overlayfs>` and - New :ref:`ref-classes-overlayfs` and :ref:`ref-classes-overlayfs-etc` classes and
:ref:`overlayfs-etc <ref-classes-overlayfs-etc>` classes and
``overlayroot`` support in the :term:`Initramfs` framework to make it easier to ``overlayroot`` support in the :term:`Initramfs` framework to make it easier to
overlay read-only filesystems (for example) with overlay read-only filesystems (for example) with
:wikipedia:`OverlayFS <OverlayFS>`. :wikipedia:`OverlayFS <OverlayFS>`.
@ -218,7 +217,7 @@ New Features / Enhancements in 4.0
- Ensure addition of patch-fuzz retriggers do_qa_patch - Ensure addition of patch-fuzz retriggers do_qa_patch
- Added a sanity check for allarch packagegroups - Added a sanity check for allarch packagegroups
- :ref:`create-spdx <ref-classes-create-spdx>` class improvements: - :ref:`ref-classes-create-spdx` class improvements:
- Get SPDX-License-Identifier from source files - Get SPDX-License-Identifier from source files
- Generate manifest also for SDKs - Generate manifest also for SDKs
@ -238,9 +237,9 @@ New Features / Enhancements in 4.0
- SDK-related enhancements: - SDK-related enhancements:
- Extended recipes to :ref:`nativesdk <ref-classes-nativesdk>`: ``cargo``, - Extended recipes to :ref:`ref-classes-nativesdk`: ``cargo``,
``librsvg``, ``libstd-rs``, ``libva``, ``python3-docutil``, ``python3-packaging`` ``librsvg``, ``libstd-rs``, ``libva``, ``python3-docutil``, ``python3-packaging``
- Enabled :ref:`nativesdk <ref-classes-nativesdk>` recipes to find a correct version - Enabled :ref:`ref-classes-nativesdk` recipes to find a correct version
of the rust cross compiler of the rust cross compiler
- Support creating per-toolchain cmake file in SDK - Support creating per-toolchain cmake file in SDK

View File

@ -30,7 +30,7 @@ New Features / Enhancements in 4.1
- Support for building rust for the target - Support for building rust for the target
- Significant SDK toolchain build optimisation - Significant SDK toolchain build optimisation
- Support for building native components in the SDK - Support for building native components in the SDK
- Support ``crate://`` fetcher with :ref:`externalsrc <ref-classes-externalsrc>` - Support ``crate://`` fetcher with :ref:`ref-classes-externalsrc`
- New core recipes: - New core recipes:
@ -52,7 +52,7 @@ New Features / Enhancements in 4.1
- Added support for Ignored CVEs - Added support for Ignored CVEs
- Enable recursive CVE checking also for ``do_populate_sdk`` - Enable recursive CVE checking also for ``do_populate_sdk``
- New :term:`CVE_CHECK_SHOW_WARNINGS` variable to disable unpatched CVE warning messages - New :term:`CVE_CHECK_SHOW_WARNINGS` variable to disable unpatched CVE warning messages
- The :ref:`pypi <ref-classes-pypi>` class now defaults :term:`CVE_PRODUCT` from :term:`PYPI_PACKAGE` - The :ref:`ref-classes-pypi` class now defaults :term:`CVE_PRODUCT` from :term:`PYPI_PACKAGE`
- Added current kernel CVEs to ignore list since we stay as close to the kernel stable releases as we can - Added current kernel CVEs to ignore list since we stay as close to the kernel stable releases as we can
- Optimisations to avoid dependencies on fetching - Optimisations to avoid dependencies on fetching
@ -60,9 +60,9 @@ New Features / Enhancements in 4.1
- Dependency of -dev package on main package is now an :term:`RRECOMMENDS` and can be easily set via new :term:`DEV_PKG_DEPENDENCY` variable - Dependency of -dev package on main package is now an :term:`RRECOMMENDS` and can be easily set via new :term:`DEV_PKG_DEPENDENCY` variable
- Support for CPU, I/O and memory pressure regulation in BitBake - Support for CPU, I/O and memory pressure regulation in BitBake
- Pressure data gathering in :ref:`buildstats <ref-classes-buildstats>` and rendering in ``pybootchartgui`` - Pressure data gathering in :ref:`ref-classes-buildstats` and rendering in ``pybootchartgui``
- New Picobuild system for lightweight Python PEP-517 build support in the :ref:`python_pep517 <ref-classes-python_pep517>` class - New Picobuild system for lightweight Python PEP-517 build support in the :ref:`ref-classes-python_pep517` class
- Many classes are now split into global and recipe contexts for better - Many classes are now split into global and recipe contexts for better
validation. For more information, see validation. For more information, see
@ -99,10 +99,10 @@ New Features / Enhancements in 4.1
- SDK-related enhancements: - SDK-related enhancements:
- :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>` - :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>`
- :ref:`image-buildinfo <ref-classes-image-buildinfo>` class now also writes build information to SDKs - :ref:`ref-classes-image-buildinfo` class now also writes build information to SDKs
- New :term:`SDK_TOOLCHAIN_LANGS` variable to control support of rust / go in SDK - New :term:`SDK_TOOLCHAIN_LANGS` variable to control support of rust / go in SDK
- rust-llvm: enabled :ref:`nativesdk <ref-classes-nativesdk>` variant - rust-llvm: enabled :ref:`ref-classes-nativesdk` variant
- python3-pluggy: enabled for :ref:`native <ref-classes-native>` / :ref:`nativesdk <ref-classes-nativesdk>` - python3-pluggy: enabled for :ref:`ref-classes-native` / :ref:`ref-classes-nativesdk`
- QEMU/runqemu enhancements: - QEMU/runqemu enhancements:
@ -115,11 +115,11 @@ New Features / Enhancements in 4.1
- New variable :term:`UBOOT_MKIMAGE_KERNEL_TYPE` - New variable :term:`UBOOT_MKIMAGE_KERNEL_TYPE`
- New variable :term:`FIT_PAD_ALG` to control FIT image padding algorithm - New variable :term:`FIT_PAD_ALG` to control FIT image padding algorithm
- New :term:`KERNEL_DEPLOY_DEPEND` variable to allow disabling image dependency on deploying the kernel - New :term:`KERNEL_DEPLOY_DEPEND` variable to allow disabling image dependency on deploying the kernel
- :ref:`image_types <ref-classes-image_types>`: isolate the write of UBI - :ref:`ref-classes-image_types`: isolate the write of UBI
configuration to a ``write_ubi_config`` function that can be easily overridden configuration to a ``write_ubi_config`` function that can be easily overridden
- openssh: add support for config snippet includes to ssh and sshd - openssh: add support for config snippet includes to ssh and sshd
- :ref:`create-spdx <ref-classes-create-spdx>`: Add :term:`SPDX_PRETTY` option - :ref:`ref-classes-create-spdx`: Add :term:`SPDX_PRETTY` option
- wpa-supplicant: build static library if not disabled via :term:`DISABLE_STATIC` - wpa-supplicant: build static library if not disabled via :term:`DISABLE_STATIC`
- wpa-supplicant: package dynamic modules - wpa-supplicant: package dynamic modules
- openssl: extract legacy provider module to a separate package - openssl: extract legacy provider module to a separate package
@ -132,11 +132,11 @@ New Features / Enhancements in 4.1
- systemd: systemd-systemctl: Support instance conf files during enable - systemd: systemd-systemctl: Support instance conf files during enable
- weston.init: enable ``xwayland`` in weston.ini if ``x11`` is in :term:`DISTRO_FEATURES` - weston.init: enable ``xwayland`` in weston.ini if ``x11`` is in :term:`DISTRO_FEATURES`
- New ``npm_registry`` Python module to enable caching with nodejs 16+ - New ``npm_registry`` Python module to enable caching with nodejs 16+
- :ref:`npm <ref-classes-npm>`: replaced ``npm pack`` call with ``tar czf`` for nodejs 16+ compatibility and improved ``do_configure`` performance - :ref:`ref-classes-npm`: replaced ``npm pack`` call with ``tar czf`` for nodejs 16+ compatibility and improved ``do_configure`` performance
- Enabled :ref:`bin_package <ref-classes-bin-package>` class to work properly in the native case - Enabled :ref:`ref-classes-bin-package` class to work properly in the native case
- Enabled :ref:`buildpaths <qa-check-buildpaths>` QA check as a warning by default - Enabled :ref:`buildpaths <qa-check-buildpaths>` QA check as a warning by default
- New :term:`OVERLAYFS_ETC_EXPOSE_LOWER` to provide read-only access to the original ``/etc`` content with :ref:`overlayfs-etc <ref-classes-overlayfs-etc>` - New :term:`OVERLAYFS_ETC_EXPOSE_LOWER` to provide read-only access to the original ``/etc`` content with :ref:`ref-classes-overlayfs-etc`
- New :term:`OVERLAYFS_QA_SKIP` variable to allow skipping check on :ref:`overlayfs <ref-classes-overlayfs>` mounts - New :term:`OVERLAYFS_QA_SKIP` variable to allow skipping check on :ref:`ref-classes-overlayfs` mounts
- New :term:`PACKAGECONFIG` options for individual recipes: - New :term:`PACKAGECONFIG` options for individual recipes:
- apr: xsi-strerror - apr: xsi-strerror
@ -176,7 +176,7 @@ New Features / Enhancements in 4.1
- The Python ``zoneinfo`` module is now split out to its own ``python3-zoneinfo`` package. - The Python ``zoneinfo`` module is now split out to its own ``python3-zoneinfo`` package.
- busybox: added devmem 128-bit support - busybox: added devmem 128-bit support
- vim: split xxd out into its own package - vim: split xxd out into its own package
- New :ref:`github-releases <ref-classes-github-releases>` class to consolidate version checks for github-based packages - New :ref:`ref-classes-github-releases` class to consolidate version checks for github-based packages
- ``devtool reset`` now preserves ``workspace/sources`` source trees in ``workspace/attic/sources/`` instead of leaving them in-place - ``devtool reset`` now preserves ``workspace/sources`` source trees in ``workspace/attic/sources/`` instead of leaving them in-place
- scripts/patchreview: Add commit to stored json data - scripts/patchreview: Add commit to stored json data
- scripts/patchreview: Make json output human parsable - scripts/patchreview: Make json output human parsable
@ -204,7 +204,7 @@ Known Issues in 4.1
:yocto_bugs:`bug 14626 </show_bug.cgi?id=14626>`, which also details the fix. :yocto_bugs:`bug 14626 </show_bug.cgi?id=14626>`, which also details the fix.
- The change to :ref:`migration-4.1-classes-split` inadvertently moved the - The change to :ref:`migration-4.1-classes-split` inadvertently moved the
:ref:`externalsrc <ref-classes-externalsrc>` class to ``meta/classes-recipe``, :ref:`ref-classes-externalsrc` class to ``meta/classes-recipe``,
when it is not recipe-specific and can also be used in a global context. The when it is not recipe-specific and can also be used in a global context. The
class will be moved back to ``meta/classes`` in the next point release. Filed class will be moved back to ``meta/classes`` in the next point release. Filed
as :yocto_bugs:`bug 14940 </show_bug.cgi?id=14940>`. as :yocto_bugs:`bug 14940 </show_bug.cgi?id=14940>`.

View File

@ -107,8 +107,7 @@ Classes
------- -------
Class files (``.bbclass``) contain information that is useful to share Class files (``.bbclass``) contain information that is useful to share
between recipes files. An example is the between recipes files. An example is the :ref:`ref-classes-autotools` class,
:ref:`autotools <ref-classes-autotools>` class,
which contains common settings for any application that is built with which contains common settings for any application that is built with
the :wikipedia:`GNU Autotools <GNU_Autotools>`. the :wikipedia:`GNU Autotools <GNU_Autotools>`.
The ":ref:`ref-manual/classes:Classes`" chapter in the Yocto Project The ":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
user checks in items (e.g. a local directory containing a development user checks in items (e.g. a local directory containing a development
source tree used by the group). source tree used by the group).
The canonical method through which to include a local project is to use The canonical method through which to include a local project is to use the
the :ref:`externalsrc <ref-classes-externalsrc>` :ref:`ref-classes-externalsrc` class to include that local project. You use
class to include that local project. You use either the ``local.conf`` either the ``local.conf`` or a recipe's append file to override or set the
or a recipe's append file to override or set the recipe to point to the recipe to point to the local directory on your disk to pull in the whole
local directory on your disk to pull in the whole source tree. source tree.
Source Control Managers (Optional) Source Control Managers (Optional)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -628,8 +627,7 @@ types, and you specify which classes to enable through the
:term:`PACKAGE_CLASSES` :term:`PACKAGE_CLASSES`
variable. Before placing the packages into package feeds, the build variable. Before placing the packages into package feeds, the build
process validates them with generated output quality assurance checks process validates them with generated output quality assurance checks
through the :ref:`insane <ref-classes-insane>` through the :ref:`ref-classes-insane` class.
class.
The package feed area resides in the :term:`Build Directory`. The directory the The package feed area resides in the :term:`Build Directory`. The directory the
build system uses to temporarily store packages is determined by a build 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:
are specific to configurations for the source code being built by the are specific to configurations for the source code being built by the
recipe. recipe.
If you are using the If you are using the :ref:`ref-classes-autotools` class,
:ref:`autotools <ref-classes-autotools>` class,
you can add additional configuration options by using the you can add additional configuration options by using the
:term:`EXTRA_OECONF` or :term:`EXTRA_OECONF` or
:term:`PACKAGECONFIG_CONFARGS` :term:`PACKAGECONFIG_CONFARGS`
variables. For information on how this variable works within that variables. For information on how this variable works within that
class, see the class, see the :ref:`ref-classes-autotools` class
:ref:`autotools <ref-classes-autotools>` class
:yocto_git:`here </poky/tree/meta/classes-recipe/autotools.bbclass>`. :yocto_git:`here </poky/tree/meta/classes-recipe/autotools.bbclass>`.
- *do_compile*: Once a configuration task has been satisfied, - *do_compile*: Once a configuration task has been satisfied,
@ -920,7 +916,7 @@ the analysis and package splitting process use several areas:
- :term:`STAGING_DIR_TARGET`: - :term:`STAGING_DIR_TARGET`:
The path for the sysroot used when a component that is built to The path for the sysroot used when a component that is built to
execute on a system and it generates code for yet another machine execute on a system and it generates code for yet another machine
(e.g. :ref:`cross-canadian <ref-classes-cross-canadian>` recipes). (e.g. :ref:`ref-classes-cross-canadian` recipes).
The :term:`FILES` variable defines the The :term:`FILES` variable defines the
files that go into each package in files that go into each package in
@ -1006,13 +1002,11 @@ is read-only.
The final stages of the :ref:`ref-tasks-rootfs` task handle post processing. Post The final stages of the :ref:`ref-tasks-rootfs` task handle post processing. Post
processing includes creation of a manifest file and optimizations. processing includes creation of a manifest file and optimizations.
The manifest file (``.manifest``) resides in the same directory as the The manifest file (``.manifest``) resides in the same directory as the root
root filesystem image. This file lists out, line-by-line, the installed filesystem image. This file lists out, line-by-line, the installed packages.
packages. The manifest file is useful for the The manifest file is useful for the :ref:`ref-classes-testimage` class,
:ref:`testimage <ref-classes-testimage>` class,
for example, to determine whether or not to run specific tests. See the for example, to determine whether or not to run specific tests. See the
:term:`IMAGE_MANIFEST` :term:`IMAGE_MANIFEST` variable for additional information.
variable for additional information.
Optimizing processes that are run across the image include ``mklibs`` Optimizing processes that are run across the image include ``mklibs``
and any other post-processing commands as defined by the and 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
problem is being able to use checksum information during the build and problem is being able to use checksum information during the build and
being able to reuse or rebuild specific components. being able to reuse or rebuild specific components.
The :ref:`sstate <ref-classes-sstate>` class is a The :ref:`ref-classes-sstate` class is a relatively generic implementation of
relatively generic implementation of how to "capture" a snapshot of a how to "capture" a snapshot of a given task. The idea is that the build process
given task. The idea is that the build process does not care about the does not care about the source of a task's output. Output could be freshly
source of a task's output. Output could be freshly built or it could be built or it could be downloaded and unpacked from somewhere. In other words,
downloaded and unpacked from somewhere. In other words, the build the build process does not need to worry about its origin.
process does not need to worry about its origin.
Two types of output exist. One type is just about creating a directory Two types of output exist. One type is just about creating a directory
in :term:`WORKDIR`. A good example is in :term:`WORKDIR`. A good example is
@ -1767,10 +1760,9 @@ type of output occurs when a set of data is merged into a shared
directory tree such as the sysroot. directory tree such as the sysroot.
The Yocto Project team has tried to keep the details of the The Yocto Project team has tried to keep the details of the
implementation hidden in the :ref:`sstate <ref-classes-sstate>` class. From a user's perspective, implementation hidden in the :ref:`ref-classes-sstate` class. From a user's perspective,
adding shared state wrapping to a task is as simple as this adding shared state wrapping to a task is as simple as this
:ref:`ref-tasks-deploy` example taken :ref:`ref-tasks-deploy` example taken from the :ref:`ref-classes-deploy` class::
from the :ref:`deploy <ref-classes-deploy>` class::
DEPLOYDIR = "${WORKDIR}/deploy-${PN}" DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
SSTATETASKS += "do_deploy" SSTATETASKS += "do_deploy"
@ -1786,11 +1778,9 @@ from the :ref:`deploy <ref-classes-deploy>` class::
The following list explains the previous example: The following list explains the previous example:
- Adding ``do_deploy`` to ``SSTATETASKS`` adds some required - Adding ``do_deploy`` to ``SSTATETASKS`` adds some required sstate-related
sstate-related processing, which is implemented in the processing, which is implemented in the :ref:`ref-classes-sstate` class, to
:ref:`sstate <ref-classes-sstate>` class, to before and after the :ref:`ref-tasks-deploy` task.
before and after the
:ref:`ref-tasks-deploy` task.
- The ``do_deploy[sstate-inputdirs] = "${DEPLOYDIR}"`` declares that - The ``do_deploy[sstate-inputdirs] = "${DEPLOYDIR}"`` declares that
:ref:`ref-tasks-deploy` places its output in ``${DEPLOYDIR}`` when run normally :ref:`ref-tasks-deploy` places its output in ``${DEPLOYDIR}`` when run normally

File diff suppressed because it is too large Load Diff

View File

@ -358,7 +358,7 @@ Here are the image features available for all images:
a given image. a given image.
Some image features are available only when you inherit the Some image features are available only when you inherit the
:ref:`core-image <ref-classes-core-image>` class. The current list of :ref:`ref-classes-core-image` class. The current list of
these valid features is as follows: these valid features is as follows:
- *hwcodecs:* Installs hardware acceleration codecs. - *hwcodecs:* Installs hardware acceleration codecs.

View File

@ -580,7 +580,7 @@ Errors and Warnings
The specified package contains mime type files (``.xml`` files in The specified package contains mime type files (``.xml`` files in
``${datadir}/mime/packages``) and yet does not inherit the ``${datadir}/mime/packages``) and yet does not inherit the
:ref:`mime <ref-classes-mime>` class which will ensure that these get :ref:`ref-classes-mime` class which will ensure that these get
properly installed. Either add ``inherit mime`` to the recipe or remove the properly installed. Either add ``inherit mime`` to the recipe or remove the
files at the :ref:`ref-tasks-install` step if they are not needed. files at the :ref:`ref-tasks-install` step if they are not needed.
@ -590,7 +590,7 @@ Errors and Warnings
- ``package contains desktop file with key 'MimeType' but does not inhert mime-xdg: <packagename> path '<file>' [mime-xdg]`` - ``package contains desktop file with key 'MimeType' but does not inhert mime-xdg: <packagename> path '<file>' [mime-xdg]``
The specified package contains a .desktop file with a 'MimeType' key The specified package contains a .desktop file with a 'MimeType' key
present, but does not inherit the :ref:`mime-xdg <ref-classes-mime-xdg>` present, but does not inherit the :ref:`ref-classes-mime-xdg`
class that is required in order for that to be activated. Either add class that is required in order for that to be activated. Either add
``inherit mime`` to the recipe or remove the files at the ``inherit mime`` to the recipe or remove the files at the
:ref:`ref-tasks-install` step if they are not needed. :ref:`ref-tasks-install` step if they are not needed.
@ -621,9 +621,9 @@ Errors and Warnings
- ``<recipename>: recipe doesn't inherit features_check [unhandled-features-check]`` - ``<recipename>: recipe doesn't inherit features_check [unhandled-features-check]``
This check ensures that if one of the variables that the This check ensures that if one of the variables that the
:ref:`features_check <ref-classes-features_check>` class supports (e.g. :ref:`ref-classes-features_check` class supports (e.g.
:term:`REQUIRED_DISTRO_FEATURES`) is used, then the recipe :term:`REQUIRED_DISTRO_FEATURES`) is used, then the recipe
inherits :ref:`features_check <ref-classes-features_check>` in order for inherits :ref:`ref-classes-features_check` in order for
the requirement to actually work. If you are seeing this message, either the requirement to actually work. If you are seeing this message, either
add ``inherit features_check`` to your recipe or remove the reference to add ``inherit features_check`` to your recipe or remove the reference to
the variable if it is not needed. the variable if it is not needed.
@ -634,7 +634,7 @@ Errors and Warnings
- ``<recipename>: recipe defines ALTERNATIVE:<packagename> but doesn't inherit update-alternatives. This might fail during do_rootfs later! [missing-update-alternatives]`` - ``<recipename>: recipe defines ALTERNATIVE:<packagename> but doesn't inherit update-alternatives. This might fail during do_rootfs later! [missing-update-alternatives]``
This check ensures that if a recipe sets the :term:`ALTERNATIVE` variable that the This check ensures that if a recipe sets the :term:`ALTERNATIVE` variable that the
recipe also inherits :ref:`update-alternatives <ref-classes-update-alternatives>` such recipe also inherits :ref:`ref-classes-update-alternatives` such
that the alternative will be correctly set up. If you are seeing this message, either that the alternative will be correctly set up. If you are seeing this message, either
add ``inherit update-alternatives`` to your recipe or remove the reference to the variable add ``inherit update-alternatives`` to your recipe or remove the reference to the variable
if it is not needed. if it is not needed.
@ -655,7 +655,7 @@ Errors and Warnings
- ``<packagename> contains perllocal.pod (<files>), should not be installed [perllocalpod]`` - ``<packagename> contains perllocal.pod (<files>), should not be installed [perllocalpod]``
``perllocal.pod`` is an index file of locally installed modules and so shouldn't be ``perllocal.pod`` is an index file of locally installed modules and so shouldn't be
installed by any distribution packages. The :ref:`cpan <ref-classes-cpan>` class installed by any distribution packages. The :ref:`ref-classes-cpan` class
already sets ``NO_PERLLOCAL`` to stop this file being generated by most Perl recipes, already sets ``NO_PERLLOCAL`` to stop this file being generated by most Perl recipes,
but if a recipe is using ``MakeMaker`` directly then they might not be doing this but if a recipe is using ``MakeMaker`` directly then they might not be doing this
correctly. This check ensures that perllocal.pod is not in any package in order to correctly. This check ensures that perllocal.pod is not in any package in order to

View File

@ -233,7 +233,7 @@ is available via the :term:`TOPDIR` variable.
----------------------- -----------------------
The OpenEmbedded build system creates this directory when you enable The OpenEmbedded build system creates this directory when you enable
build history via the :ref:`buildhistory <ref-classes-buildhistory>` class file. The directory build history via the :ref:`ref-classes-buildhistory` class file. The directory
organizes build information into image, packages, and SDK organizes build information into image, packages, and SDK
subdirectories. For information on the build history feature, see the subdirectories. For information on the build history feature, see the
":ref:`dev-manual/build-quality:maintaining build output quality`" ":ref:`dev-manual/build-quality:maintaining build output quality`"
@ -375,7 +375,7 @@ remove the ``build/sstate-cache`` directory.
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
This directory stores the build statistics as generated by the This directory stores the build statistics as generated by the
:ref:`buildstats <ref-classes-buildstats>` class. :ref:`ref-classes-buildstats` class.
.. _structure-build-tmp-cache: .. _structure-build-tmp-cache:

View File

@ -78,9 +78,9 @@ task runs with the current working directory set to
``${``\ :term:`B`\ ``}``. ``${``\ :term:`B`\ ``}``.
Recipes implementing this task should inherit the Recipes implementing this task should inherit the
:ref:`deploy <ref-classes-deploy>` class and should write the output :ref:`ref-classes-deploy` class and should write the output
to ``${``\ :term:`DEPLOYDIR`\ ``}``, which is not to be to ``${``\ :term:`DEPLOYDIR`\ ``}``, which is not to be
confused with ``${DEPLOY_DIR}``. The :ref:`deploy <ref-classes-deploy>` class sets up confused with ``${DEPLOY_DIR}``. The :ref:`ref-classes-deploy` class sets up
:ref:`ref-tasks-deploy` as a shared state (sstate) task that can be accelerated :ref:`ref-tasks-deploy` as a shared state (sstate) task that can be accelerated
through sstate use. The sstate mechanism takes care of copying the through sstate use. The sstate mechanism takes care of copying the
output from ``${DEPLOYDIR}`` to ``${DEPLOY_DIR_IMAGE}``. output from ``${DEPLOYDIR}`` to ``${DEPLOY_DIR_IMAGE}``.
@ -102,7 +102,7 @@ Adding :ref:`ref-tasks-deploy` after other tasks works the same way.
.. note:: .. note::
You do not need to add ``before do_build`` to the ``addtask`` command You do not need to add ``before do_build`` to the ``addtask`` command
(though it is harmless), because the :ref:`base <ref-classes-base>` class contains the following:: (though it is harmless), because the :ref:`ref-classes-base` class contains the following::
do_build[recrdeptask] += "do_deploy" do_build[recrdeptask] += "do_deploy"
@ -225,7 +225,7 @@ section in the Yocto Project Overview and Concepts Manual.
----------------- -----------------
Runs QA checks on packaged files. For more information on these checks, Runs QA checks on packaged files. For more information on these checks,
see the :ref:`insane <ref-classes-insane>` class. see the :ref:`ref-classes-insane` class.
.. _ref-tasks-package_write_deb: .. _ref-tasks-package_write_deb:
@ -406,7 +406,7 @@ Installs the files into the individual recipe specific sysroots (i.e.
``recipe-sysroot`` and ``recipe-sysroot-native`` under ``recipe-sysroot`` and ``recipe-sysroot-native`` under
``${``\ :term:`WORKDIR`\ ``}`` based upon the ``${``\ :term:`WORKDIR`\ ``}`` based upon the
dependencies specified by :term:`DEPENDS`). See the dependencies specified by :term:`DEPENDS`). See the
":ref:`staging <ref-classes-staging>`" class for more information. ":ref:`ref-classes-staging`" class for more information.
.. _ref-tasks-rm_work: .. _ref-tasks-rm_work:

File diff suppressed because it is too large Load Diff

View File

@ -49,8 +49,7 @@ build system applies them against ``local.conf`` and ``auto.conf``:
:term:`ESDK_CLASS_INHERIT_DISABLE` to disable these classes is the typical :term:`ESDK_CLASS_INHERIT_DISABLE` to disable these classes is the typical
method to disable classes that are problematic or unnecessary in the SDK method to disable classes that are problematic or unnecessary in the SDK
context. The default value disables the context. The default value disables the
:ref:`buildhistory <ref-classes-buildhistory>` and :ref:`ref-classes-buildhistory` and :ref:`ref-classes-icecc` classes.
:ref:`icecc <ref-classes-icecc>` classes.
Additionally, the contents of ``conf/sdk-extra.conf``, when present, are Additionally, the contents of ``conf/sdk-extra.conf``, when present, are
appended to the end of ``conf/local.conf`` within the produced SDK, appended to the end of ``conf/local.conf`` within the produced SDK,

View File

@ -1079,9 +1079,8 @@ does not include complete instructions for building the software.
Instead, common functionality is encapsulated in classes inherited with Instead, common functionality is encapsulated in classes inherited with
the ``inherit`` directive. This technique leaves the recipe to describe the ``inherit`` directive. This technique leaves the recipe to describe
just the things that are specific to the software being built. There is just the things that are specific to the software being built. There is
a :ref:`base <ref-classes-base>` class that a :ref:`ref-classes-base` class that is implicitly inherited by all recipes
is implicitly inherited by all recipes and provides the functionality and provides the functionality that most recipes typically need.
that most recipes typically need.
The remainder of this section presents information useful when working The remainder of this section presents information useful when working
with recipes. with recipes.

View File

@ -100,12 +100,11 @@ the following types of tests:
different configurations, such as different init systems. The different configurations, such as different init systems. The
Autobuilder tests literally hundreds of configurations and targets. Autobuilder tests literally hundreds of configurations and targets.
- *Sanity Checks During the Build Process:* Tests initiated through - *Sanity Checks During the Build Process:* Tests initiated through the
the :ref:`insane <ref-classes-insane>` :ref:`ref-classes-insane` class. These checks ensure the output of the
class. These checks ensure the output of the builds are correct. builds are correct. For example, does the ELF architecture in the
For example, does the ELF architecture in the generated binaries generated binaries match the target system? ARM binaries would not work
match the target system? ARM binaries would not work in a MIPS in a MIPS system!
system!
- *Build Performance Testing:* Tests whether or not commonly used steps - *Build Performance Testing:* Tests whether or not commonly used steps
during builds work efficiently and avoid regressions. Tests to time during builds work efficiently and avoid regressions. Tests to time
@ -121,7 +120,8 @@ the following types of tests:
$ bitbake image -c testsdkext $ bitbake image -c testsdkext
The tests utilize the :ref:`testsdkext <ref-classes-testsdk>` class and the ``do_testsdkext`` task. The tests utilize the :ref:`ref-classes-testsdk` class and the
``do_testsdkext`` task.
- *Feature Testing:* Various scenario-based tests are run through the - *Feature Testing:* Various scenario-based tests are run through the
:ref:`OpenEmbedded Self test (oe-selftest) <ref-manual/release-process:Testing and Quality Assurance>`. We test oe-selftest on each of the main distributions :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:
$ bitbake image -c testimage $ bitbake image -c testimage
The tests utilize the :ref:`testimage <ref-classes-testimage>` The tests utilize the :ref:`ref-classes-testimage`
class and the :ref:`ref-tasks-testimage` task. class and the :ref:`ref-tasks-testimage` task.
- *Layer Testing:* The Autobuilder has the possibility to test whether - *Layer Testing:* The Autobuilder has the possibility to test whether
@ -151,7 +151,7 @@ the following types of tests:
$ bitbake image -c testsdk $ bitbake image -c testsdk
The tests utilize the :ref:`testsdk <ref-classes-testsdk>` class and The tests utilize the :ref:`ref-classes-testsdk` class and
the ``do_testsdk`` task. the ``do_testsdk`` task.
- *Unit Testing:* Unit tests on various components of the system run - *Unit Testing:* Unit tests on various components of the system run

View File

@ -206,7 +206,7 @@ are general setup steps that are run once and include:
#. Set up any :term:`buildtools` tarball if configured. #. Set up any :term:`buildtools` tarball if configured.
#. Call "buildhistory-init" if :ref:`buildhistory <ref-classes-buildhistory>` is configured. #. Call "buildhistory-init" if :ref:`ref-classes-buildhistory` is configured.
For each step that is configured in ``config.json``, it will perform the For each step that is configured in ``config.json``, it will perform the
following: following: