summaryrefslogtreecommitdiff
path: root/poky/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'poky/documentation')
-rw-r--r--poky/documentation/README15
-rw-r--r--poky/documentation/brief-yoctoprojectqs/index.rst25
-rw-r--r--poky/documentation/bsp-guide/bsp.rst12
-rw-r--r--poky/documentation/conf.py3
-rw-r--r--poky/documentation/dev-manual/common-tasks.rst274
-rw-r--r--poky/documentation/dev-manual/start.rst26
-rw-r--r--poky/documentation/kernel-dev/advanced.rst17
-rw-r--r--poky/documentation/kernel-dev/common.rst20
-rw-r--r--poky/documentation/kernel-dev/concepts-appx.rst4
-rw-r--r--poky/documentation/kernel-dev/faq.rst4
-rw-r--r--poky/documentation/migration-guides/index.rst1
-rw-r--r--poky/documentation/migration-guides/migration-1.3.rst2
-rw-r--r--poky/documentation/migration-guides/migration-1.5.rst12
-rw-r--r--poky/documentation/migration-guides/migration-1.6.rst5
-rw-r--r--poky/documentation/migration-guides/migration-1.7.rst6
-rw-r--r--poky/documentation/migration-guides/migration-2.1.rst6
-rw-r--r--poky/documentation/migration-guides/migration-2.2.rst4
-rw-r--r--poky/documentation/migration-guides/migration-2.3.rst2
-rw-r--r--poky/documentation/migration-guides/migration-2.4.rst2
-rw-r--r--poky/documentation/migration-guides/migration-2.5.rst10
-rw-r--r--poky/documentation/migration-guides/migration-2.6.rst2
-rw-r--r--poky/documentation/migration-guides/migration-3.0.rst4
-rw-r--r--poky/documentation/migration-guides/migration-3.1.rst4
-rw-r--r--poky/documentation/migration-guides/migration-3.2.rst2
-rw-r--r--poky/documentation/migration-guides/migration-3.3.rst4
-rw-r--r--poky/documentation/migration-guides/migration-3.5.rst44
-rw-r--r--poky/documentation/overview-manual/concepts.rst146
-rw-r--r--poky/documentation/overview-manual/development-environment.rst45
-rw-r--r--poky/documentation/overview-manual/yp-intro.rst2
-rw-r--r--poky/documentation/poky.yaml12
-rw-r--r--poky/documentation/profile-manual/usage.rst2
-rw-r--r--poky/documentation/ref-manual/classes.rst114
-rw-r--r--poky/documentation/ref-manual/faq.rst16
-rw-r--r--poky/documentation/ref-manual/features.rst4
-rw-r--r--poky/documentation/ref-manual/images.rst2
-rw-r--r--poky/documentation/ref-manual/kickstart.rst9
-rw-r--r--poky/documentation/ref-manual/qa-checks.rst4
-rw-r--r--poky/documentation/ref-manual/structure.rst2
-rw-r--r--poky/documentation/ref-manual/system-requirements.rst13
-rw-r--r--poky/documentation/ref-manual/tasks.rst22
-rw-r--r--poky/documentation/ref-manual/terms.rst27
-rw-r--r--poky/documentation/ref-manual/variables.rst361
-rw-r--r--poky/documentation/releases.rst31
-rw-r--r--poky/documentation/sdk-manual/appendix-customizing.rst11
-rw-r--r--poky/documentation/sdk-manual/extensible.rst2
-rw-r--r--poky/documentation/sphinx-static/switchers.js14
-rw-r--r--poky/documentation/standards.md103
-rw-r--r--poky/documentation/template/template.svg1160
-rw-r--r--poky/documentation/test-manual/intro.rst2
-rw-r--r--poky/documentation/test-manual/reproducible-builds.rst8
-rw-r--r--poky/documentation/what-i-wish-id-known.rst2
51 files changed, 2032 insertions, 592 deletions
diff --git a/poky/documentation/README b/poky/documentation/README
index 2d9eb887b2..10b46de3e6 100644
--- a/poky/documentation/README
+++ b/poky/documentation/README
@@ -56,9 +56,16 @@ poky.yaml
This file defines variables used for documentation production. The variables
are used to define release pathnames, URLs for the published manuals, etc.
-template
-========
-Contains various templates, fonts, and some old PNG files.
+standards.md
+============
+
+This file specifies some rules to follow when contributing to the documentation.
+
+template/
+=========
+
+Contains a template.svg, to make it easier to create consistent
+SVG diagrams.
Sphinx
======
@@ -331,7 +338,7 @@ References to the BitBake manual can be done:
- With a specific description instead of the section name:
:ref:`Azure Storage fetcher (az://) <bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers>`
- With the section name:
- ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-intro:usage and syntax` option
+ :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-intro:usage and syntax` option
- Linking to the entire BitBake manual:
:doc:`BitBake User Manual <bitbake:index>`
diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst
index c0419531e2..eaacde2d9a 100644
--- a/poky/documentation/brief-yoctoprojectqs/index.rst
+++ b/poky/documentation/brief-yoctoprojectqs/index.rst
@@ -244,19 +244,24 @@ an entire Linux distribution, including the toolchain, from source.
.. tip::
You can significantly speed up your build and guard against fetcher
- failures by using mirrors. To use mirrors, add these lines to your
- local.conf file in the Build directory::
+ failures by using :ref:`overview-manual/concepts:shared state cache`
+ mirrors and enabling :ref:`overview-manual/concepts:hash equivalence`.
+ This way, you can use pre-built artifacts rather than building them.
+ This is relevant only when your network and the server that you use
+ can download these artifacts faster than you would be able to build them.
- SSTATE_MIRRORS = "\
- file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \
- file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION_MINUS_ONE;/PATH;downloadfilename=PATH \n \
- file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH \n \
- "
+ To use such mirrors, uncomment the below lines in your ``local.conf``
+ file in the :term:`Build Directory`::
+ BB_SIGNATURE_HANDLER = "OEEquivHash"
+ BB_HASHSERVE = "auto"
+ BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687"
+ SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH"
- The previous examples showed how to add sstate paths for Yocto Project
- &YOCTO_DOC_VERSION_MINUS_ONE;, &YOCTO_DOC_VERSION;, and a development
- area. For a complete index of sstate locations, see :yocto_sstate:`/`.
+ The above settings assumed the use of Yocto Project &YOCTO_DOC_VERSION;.
+ If you are using the development version instead, set :term:`SSTATE_MIRRORS` as follows::
+
+ SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH"
#. **Start the Build:** Continue with the following command to build an OS
image for the target, which is ``core-image-sato`` in this example:
diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst
index 65652ff898..f8d38ca484 100644
--- a/poky/documentation/bsp-guide/bsp.rst
+++ b/poky/documentation/bsp-guide/bsp.rst
@@ -1121,12 +1121,12 @@ list describes them in order of preference:
how to use these variables.
If you build as you normally would, without specifying any recipes in
- the :term:`LICENSE_FLAGS_WHITELIST`, the build stops and provides you
- with the list of recipes that you have tried to include in the image
- that need entries in the :term:`LICENSE_FLAGS_WHITELIST`. Once you enter
- the appropriate license flags into the whitelist, restart the build
- to continue where it left off. During the build, the prompt will not
- appear again since you have satisfied the requirement.
+ the :term:`LICENSE_FLAGS_WHITELIST` variable, the build stops and provides
+ you with the list of recipes that you have tried to include in the image
+ that need entries in the :term:`LICENSE_FLAGS_WHITELIST` variable. Once you
+ enter the appropriate license flags into it, restart the build to continue
+ where it left off. During the build, the prompt will not appear again since
+ you have satisfied the requirement.
Once the appropriate license flags are on the white list in the
:term:`LICENSE_FLAGS_WHITELIST` variable, you can build the encumbered
diff --git a/poky/documentation/conf.py b/poky/documentation/conf.py
index 8e0847938e..1bea180325 100644
--- a/poky/documentation/conf.py
+++ b/poky/documentation/conf.py
@@ -17,6 +17,7 @@ import sys
import datetime
current_version = "dev"
+bitbake_version = "" # Leave empty for development branch
# String used in sidebar
version = 'Version: ' + current_version
@@ -90,7 +91,7 @@ extlinks = {
# Intersphinx config to use cross reference with Bitbake user manual
intersphinx_mapping = {
- 'bitbake': ('https://docs.yoctoproject.org/bitbake/', None)
+ 'bitbake': ('https://docs.yoctoproject.org/bitbake/' + bitbake_version, None)
}
# Suppress "WARNING: unknown mimetype for ..."
diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst
index 3eead147a3..ed6b1446f3 100644
--- a/poky/documentation/dev-manual/common-tasks.rst
+++ b/poky/documentation/dev-manual/common-tasks.rst
@@ -24,15 +24,17 @@ section in the Yocto Project Overview and Concepts Manual.
Creating Your Own Layer
-----------------------
-It is very easy to create your own layers to use with the OpenEmbedded
-build system, as the Yocto Project ships with tools that speed up creating
-layers. This section describes the steps you perform by hand to create
-layers so that you can better understand them. For information about the
-layer-creation tools, see the
-":ref:`bsp-guide/bsp:creating a new bsp layer using the \`\`bitbake-layers\`\` script`"
-section in the Yocto Project Board Support Package (BSP) Developer's
-Guide and the ":ref:`dev-manual/common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`"
-section further down in this manual.
+.. note::
+
+ It is very easy to create your own layers to use with the OpenEmbedded
+ build system, as the Yocto Project ships with tools that speed up creating
+ layers. This section describes the steps you perform by hand to create
+ layers so that you can better understand them. For information about the
+ layer-creation tools, see the
+ ":ref:`bsp-guide/bsp:creating a new bsp layer using the \`\`bitbake-layers\`\` script`"
+ section in the Yocto Project Board Support Package (BSP) Developer's
+ Guide and the ":ref:`dev-manual/common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`"
+ section further down in this manual.
Follow these general steps to create your layer without using tools:
@@ -234,11 +236,6 @@ following list:
KERNEL_FEATURES:append:qemuall=" features/debug/printk.scc"
- .. note::
-
- Avoiding "+=" and "=+" and using machine-specific ``:append``
- and ``:prepend`` operations is recommended as well.
-
- *Place Machine-Specific Files in Machine-Specific Locations:* When
you have a base recipe, such as ``base-files.bb``, that contains a
:term:`SRC_URI` statement to a
@@ -943,7 +940,8 @@ a recipe and using :term:`EXTRA_IMAGE_FEATURES` from within your
:term:`Build Directory`.
To understand how these features work, the best reference is
-``meta/classes/image.bbclass``. This class lists out the available
+:ref:`meta/classes/image.bbclass <ref-classes-image>`.
+This class lists out the available
:term:`IMAGE_FEATURES` of which most map to package groups while some, such
as ``debug-tweaks`` and ``read-only-rootfs``, resolve as general
configuration settings.
@@ -2118,7 +2116,7 @@ statement that essentially identifies itself as being able to provide
PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else "" }"
-Any recipe that inherits the ``kernel`` class is
+Any recipe that inherits the :ref:`kernel <ref-classes-kernel>` class is
going to utilize a :term:`PROVIDES` statement that identifies that recipe as
being able to provide the ``virtual/kernel`` item.
@@ -2245,12 +2243,13 @@ error during the
If you have recipes that use ``pkg_postinst`` function and they require
the use of non-standard native tools that have dependencies during
-rootfs construction, you need to use the
+root filesystem construction, you need to use the
:term:`PACKAGE_WRITE_DEPS`
variable in your recipe to list these tools. If you do not use this
variable, the tools might be missing and execution of the
post-installation script is deferred until first boot. Deferring the
-script to first boot is undesirable and for read-only rootfs impossible.
+script to the first boot is undesirable and impossible for read-only
+root filesystems.
.. note::
@@ -2464,7 +2463,7 @@ sometimes you have no choice.
The easiest solution is to create a recipe that uses the
:ref:`bin_package <ref-classes-bin-package>` class
and to be sure that you are using default locations for build artifacts.
-In most cases, the ``bin_package`` class handles "skipping" the
+In most cases, the :ref:`bin_package <ref-classes-bin-package>` class handles "skipping" the
configure and compile steps as well as sets things up to grab packages
from the appropriate area. In particular, this class sets ``noexec`` on
both the :ref:`ref-tasks-configure`
@@ -2472,7 +2471,7 @@ and :ref:`ref-tasks-compile` tasks,
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}`` to ``${D}``. The
-``bin_package`` class works well when the files extracted into ``${S}``
+:ref:`bin_package <ref-classes-bin-package>` class works well when the files extracted into ``${S}``
are already laid out in the way they should be laid out on the target.
For more information on these variables, see the
:term:`FILES`,
@@ -2497,7 +2496,7 @@ Reference Manual's variable glossary.
section in the Yocto Project Overview and Concepts Manual for more
information.
-If you cannot use the ``bin_package`` class, you need to be sure you are
+If you cannot use the :ref:`bin_package <ref-classes-bin-package>` class, you need to be sure you are
doing the following:
- Create a recipe where the
@@ -2537,7 +2536,7 @@ doing the following:
.. note::
- If image prelinking is enabled (e.g. "image-prelink" is in :term:`USER_CLASSES`
+ If image prelinking is enabled (e.g. :ref:`image-prelink <ref-classes-image-prelink>` is in :term:`USER_CLASSES`
which it is by default), prelink will change the binaries in the generated images
and this often catches people out. Remove that class to ensure binaries are
preserved exactly if that is necessary.
@@ -4459,19 +4458,16 @@ Follow these steps to build your target using the files in the downloads
directory:
1. *Using Local Files Only:* Inside your ``local.conf`` file, add the
- :term:`SOURCE_MIRROR_URL`
- variable, inherit the
- :ref:`own-mirrors <ref-classes-own-mirrors>`
- class, and use the
- :term:`BB_NO_NETWORK`
- variable to your ``local.conf``.
+ :term:`SOURCE_MIRROR_URL` variable, inherit the
+ :ref:`own-mirrors <ref-classes-own-mirrors>` class, and use the
+ :term:`BB_NO_NETWORK` variable to your ``local.conf``.
::
SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/"
INHERIT += "own-mirrors"
BB_NO_NETWORK = "1"
- The :term:`SOURCE_MIRROR_URL` and ``own-mirror``
+ The :term:`SOURCE_MIRROR_URL` and :ref:`own-mirrors <ref-classes-own-mirrors>`
class set up the system to use the downloads directory as your "own
mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that
BitBake's fetching process in step 3 stays local, which means files
@@ -4672,7 +4668,7 @@ Following is part of the BitBake configuration file, where you can see
how the static library files are defined::
PACKAGE_BEFORE_PN ?= ""
- PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
+ PACKAGES = "${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
PACKAGES_DYNAMIC = "^${PN}-locale-.*"
FILES = ""
@@ -4680,7 +4676,8 @@ how the static library files are defined::
${sysconfdir} ${sharedstatedir} ${localstatedir} \
${base_bindir}/* ${base_sbindir}/* \
${base_libdir}/*${SOLIBS} \
- ${base_prefix}/lib/udev/rules.d ${prefix}/lib/udev/rules.d \
+ ${base_prefix}/lib/udev ${prefix}/lib/udev \
+ ${base_libdir}/udev ${libdir}/udev \
${datadir}/${BPN} ${libdir}/${BPN}/* \
${datadir}/pixmaps ${datadir}/applications \
${datadir}/idl ${datadir}/omf ${datadir}/sounds \
@@ -4696,7 +4693,8 @@ how the static library files are defined::
FILES:${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \
${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \
${datadir}/aclocal ${base_libdir}/*.o \
- ${libdir}/${BPN}/*.la ${base_libdir}/*.la"
+ ${libdir}/${BPN}/*.la ${base_libdir}/*.la \
+ ${libdir}/cmake ${datadir}/cmake"
SECTION:${PN}-dev = "devel"
ALLOW_EMPTY:${PN}-dev = "1"
RDEPENDS:${PN}-dev = "${PN} (= ${EXTENDPKGV})"
@@ -4730,11 +4728,14 @@ optimizations.
There are several examples in the ``meta-skeleton`` layer found in the
:term:`Source Directory`:
-- ``conf/multilib-example.conf`` configuration file
+- :oe_git:`conf/multilib-example.conf </openembedded-core/tree/meta-skeleton/conf/multilib-example.conf>`
+ configuration file.
-- ``conf/multilib-example2.conf`` configuration file
+- :oe_git:`conf/multilib-example2.conf </openembedded-core/tree/meta-skeleton/conf/multilib-example2.conf>`
+ configuration file.
-- ``recipes-multilib/images/core-image-multilib-example.bb`` recipe
+- :oe_git:`recipes-multilib/images/core-image-multilib-example.bb </openembedded-core/tree/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb>`
+ recipe
Preparing to Use Multilib
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -4753,7 +4754,8 @@ done using the
Eventually, all recipes will be covered and this list will not be
needed.
-For the most part, the Multilib class extension works automatically to
+For the most part, the :ref:`Multilib <ref-classes-multilib*>`
+class extension works automatically to
extend the package name from ``${PN}`` to ``${MLPREFIX}${PN}``, where
:term:`MLPREFIX` is the particular multilib (e.g. "lib32-" or "lib64-").
Standard variables such as
@@ -4765,8 +4767,7 @@ Standard variables such as
:term:`PACKAGES_DYNAMIC` are
automatically extended by the system. If you are extending any manual
code in the recipe, you can use the ``${MLPREFIX}`` variable to ensure
-those names are extended correctly. This automatic extension code
-resides in ``multilib.bbclass``.
+those names are extended correctly.
Using Multilib
~~~~~~~~~~~~~~
@@ -4948,8 +4949,7 @@ the x32 psABI. Here is an example::
Enabling GObject Introspection Support
======================================
-`GObject
-introspection <https://wiki.gnome.org/Projects/GObjectIntrospection>`__
+`GObject introspection <https://gi.readthedocs.io/en/latest/>`__
is the standard mechanism for accessing GObject-based software from
runtime environments. GObject is a feature of the GLib library that
provides an object framework for the GNOME desktop and related software.
@@ -4961,7 +4961,7 @@ introspection is the only way to do it.
This section describes the Yocto Project support for generating and
packaging GObject introspection data. GObject introspection data is a
-description of the API provided by libraries built on top of GLib
+description of the API provided by libraries built on top of the GLib
framework, and, in particular, that framework's GObject mechanism.
GObject Introspection Repository (GIR) files go to ``-dev`` packages,
``typelib`` files go to main packages as they are packaged together with
@@ -5007,7 +5007,7 @@ library package involves the following:
.. note::
See recipes in the ``oe-core`` repository that use that
- ``GIR_EXTRA_LIBS_PATH`` variable as an example.
+ :term:`GIR_EXTRA_LIBS_PATH` variable as an example.
4. Look for any other errors, which probably mean that introspection
support in a package is not entirely standard, and thus breaks down
@@ -5602,13 +5602,13 @@ file::
./mkefidisk-201804191017-sda.direct
The following build artifacts were used to create the image(s):
- ROOTFS_DIR: /home/stephano/build/master/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/rootfs
- BOOTIMG_DIR: /home/stephano/build/master/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share
- KERNEL_DIR: /home/stephano/build/master/build/tmp-glibc/deploy/images/qemux86
- NATIVE_SYSROOT: /home/stephano/build/master/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native
+ ROOTFS_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/rootfs
+ BOOTIMG_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share
+ KERNEL_DIR: /home/stephano/yocto/build/tmp-glibc/deploy/images/qemux86
+ NATIVE_SYSROOT: /home/stephano/yocto/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: The image(s) were created using OE kickstart file:
- /home/stephano/build/master/openembedded-core/scripts/lib/wic/canned-wks/mkefidisk.wks
+ /home/stephano/yocto/openembedded-core/scripts/lib/wic/canned-wks/mkefidisk.wks
The previous example shows the easiest way to create an image by running
in cooked mode and supplying a kickstart file and the "-e" option to
@@ -5669,8 +5669,8 @@ in the ``scripts/lib/image/canned-wks`` directory and then by changing
the lines that specify the target disk from which to boot.
::
- $ cp /home/stephano/poky/scripts/lib/wic/canned-wks/directdisk-gpt.wks \
- /home/stephano/poky/scripts/lib/wic/canned-wks/directdisksdb-gpt.wks
+ $ cp /home/stephano/yocto/poky/scripts/lib/wic/canned-wks/directdisk-gpt.wks \
+ /home/stephano/yocto/poky/scripts/lib/wic/canned-wks/directdisksdb-gpt.wks
Next, the example modifies the ``directdisksdb-gpt.wks`` file and
changes all instances of "``--ondisk sda``" to "``--ondisk sdb``". The
@@ -5702,13 +5702,13 @@ Computing (nuc) :term:`MACHINE` the
./directdisksdb-gpt-201710090938-sdb.direct
The following build artifacts were used to create the image(s):
- ROOTFS_DIR: /home/stephano/build/master/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/rootfs
- BOOTIMG_DIR: /home/stephano/build/master/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share
- KERNEL_DIR: /home/stephano/build/master/build/tmp-glibc/deploy/images/qemux86
- NATIVE_SYSROOT: /home/stephano/build/master/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native
+ ROOTFS_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/rootfs
+ BOOTIMG_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share
+ KERNEL_DIR: /home/stephano/yocto/build/tmp-glibc/deploy/images/qemux86
+ NATIVE_SYSROOT: /home/stephano/yocto/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: The image(s) were created using OE kickstart file:
- /home/stephano/poky/scripts/lib/wic/canned-wks/directdisksdb-gpt.wks
+ /home/stephano/yocto/poky/scripts/lib/wic/canned-wks/directdisksdb-gpt.wks
Continuing with the example, you can now directly ``dd`` the image to a
USB stick, or whatever media for which you built your image, and boot
@@ -5728,11 +5728,11 @@ Mode) and uses a modified kickstart file. The example also uses the
``-o`` option to cause Wic to create the output somewhere other than the
default output directory, which is the current directory::
- $ wic create /home/stephano/my_yocto/test.wks -o /home/stephano/testwic \
- --rootfs-dir /home/stephano/build/master/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs \
- --bootimg-dir /home/stephano/build/master/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share \
- --kernel-dir /home/stephano/build/master/build/tmp/deploy/images/qemux86 \
- --native-sysroot /home/stephano/build/master/build/tmp/work/i586-poky-linux/wic-tools/1.0-r0/recipe-sysroot-native
+ $ wic create test.wks -o /home/stephano/testwic \
+ --rootfs-dir /home/stephano/yocto/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs \
+ --bootimg-dir /home/stephano/yocto/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share \
+ --kernel-dir /home/stephano/yocto/build/tmp/deploy/images/qemux86 \
+ --native-sysroot /home/stephano/yocto/build/tmp/work/i586-poky-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: Creating image(s)...
@@ -5740,13 +5740,13 @@ default output directory, which is the current directory::
/home/stephano/testwic/test-201710091445-sdb.direct
The following build artifacts were used to create the image(s):
- ROOTFS_DIR: /home/stephano/build/master/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/rootfs
- BOOTIMG_DIR: /home/stephano/build/master/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share
- KERNEL_DIR: /home/stephano/build/master/build/tmp-glibc/deploy/images/qemux86
- NATIVE_SYSROOT: /home/stephano/build/master/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native
+ ROOTFS_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/rootfs
+ BOOTIMG_DIR: /home/stephano/yocto/build/tmp-glibc/work/qemux86-oe-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share
+ KERNEL_DIR: /home/stephano/yocto/build/tmp-glibc/deploy/images/qemux86
+ NATIVE_SYSROOT: /home/stephano/yocto/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: The image(s) were created using OE kickstart file:
- /home/stephano/my_yocto/test.wks
+ test.wks
For this example,
:term:`MACHINE` did not have to be
@@ -6242,8 +6242,11 @@ Changing the listed common targets is as easy as editing your version of
``conf-notes.txt`` in your custom template configuration directory and
making sure you have ``TEMPLATECONF`` set to your directory.
+Conserving Disk Space
+=====================
+
Conserving Disk Space During Builds
-===================================
+-----------------------------------
To help conserve disk space during builds, you can add the following
statement to your project's ``local.conf`` configuration file found in
@@ -6257,6 +6260,26 @@ building a recipe once the recipe is built. For more information on
:ref:`rm_work <ref-classes-rm-work>` class in the
Yocto Project Reference Manual.
+Purging Duplicate Shared State Cache Files
+-------------------------------------------
+
+After multiple build iterations, the Shared State (sstate) cache can contain
+duplicate cache files for a given package, while only the most recent one
+is likely to be reusable. The following command purges all but the
+newest sstate cache file for each package::
+
+ sstate-cache-management.sh --remove-duplicated --cache-dir=build/sstate-cache
+
+This command will ask you to confirm the deletions it identifies.
+
+Note::
+
+ The duplicated sstate cache files of one package must have the same
+ architecture, which means that sstate cache files with multiple
+ architectures are not considered as duplicate.
+
+Run ``sstate-cache-management.sh`` for more details about this script.
+
Working with Packages
=====================
@@ -7078,7 +7101,7 @@ Generating and Using Signed Packages
In order to add security to RPM packages used during a build, you can
take steps to securely sign them. Once a signature is verified, the
OpenEmbedded build system can use the package in the build. If security
-fails for a signed package, the build system aborts the build.
+fails for a signed package, the build system stops the build.
This section describes how to sign RPM packages during a build and how
to use signed package feeds (repositories) when doing a build.
@@ -8373,11 +8396,11 @@ The OpenEmbedded build system can run tests on real hardware, and for
certain devices it can also deploy the image to be tested onto the
device beforehand.
-For automated deployment, a "master image" is installed onto the
+For automated deployment, a "controller image" is installed onto the
hardware once as part of setup. Then, each time tests are to be run, the
following occurs:
-1. The master image is booted into and used to write the image to be
+1. The controller image is booted into and used to write the image to be
tested to a second partition.
2. The device is then rebooted using an external script that you need to
@@ -8446,15 +8469,15 @@ not need any information in this section. You can skip down to the
":ref:`dev-manual/common-tasks:running tests`" section.
If you did set :term:`TEST_TARGET` to "SystemdbootTarget", you also need to
-perform a one-time setup of your master image by doing the following:
+perform a one-time setup of your controller image by doing the following:
1. *Set EFI_PROVIDER:* Be sure that :term:`EFI_PROVIDER` is as follows::
EFI_PROVIDER = "systemd-boot"
-2. *Build the master image:* Build the ``core-image-testmaster`` image.
+2. *Build the controller image:* Build the ``core-image-testmaster`` image.
The ``core-image-testmaster`` recipe is provided as an example for a
- "master" image and you can customize the image recipe as you would
+ "controller" image and you can customize the image recipe as you would
any other recipe.
Here are the image recipe requirements:
@@ -8466,14 +8489,14 @@ perform a one-time setup of your master image by doing the following:
- Uses a custom Initial RAM Disk (initramfs) image with a custom
installer. A normal image that you can install usually creates a
- single rootfs partition. This image uses another installer that
+ single root filesystem partition. This image uses another installer that
creates a specific partition layout. Not all Board Support
Packages (BSPs) can use an installer. For such cases, you need to
manually create the following partition layout on the target:
- First partition mounted under ``/boot``, labeled "boot".
- - The main rootfs partition where this image gets installed,
+ - The main root filesystem partition where this image gets installed,
which is mounted under ``/``.
- Another partition labeled "testrootfs" where test images get
@@ -9569,51 +9592,51 @@ If you examine the output or the log file, you see the failure during
| /bin/mkdir -p include/near
| /bin/mkdir -p include/near
| /bin/mkdir -p include/near
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/types.h include/near/types.h
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/log.h include/near/log.h
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/plugin.h include/near/plugin.h
| /bin/mkdir -p include/near
| /bin/mkdir -p include/near
| /bin/mkdir -p include/near
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/tag.h include/near/tag.h
| /bin/mkdir -p include/near
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/adapter.h include/near/adapter.h
| /bin/mkdir -p include/near
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/ndef.h include/near/ndef.h
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/tlv.h include/near/tlv.h
| /bin/mkdir -p include/near
| /bin/mkdir -p include/near
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/setting.h include/near/setting.h
| /bin/mkdir -p include/near
| /bin/mkdir -p include/near
| /bin/mkdir -p include/near
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/device.h include/near/device.h
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/nfc_copy.h include/near/nfc_copy.h
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/snep.h include/near/snep.h
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/version.h include/near/version.h
- | ln -s /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
+ | ln -s /home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/work/i586-poky-linux/neard/
0.14-r0/neard-0.14/include/dbus.h include/near/dbus.h
| ./src/genbuiltin nfctype1 nfctype2 nfctype3 nfctype4 p2p > src/builtin.h
- | i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/
+ | i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/pokybuild/yocto-autobuilder/nightly-x86/
build/build/tmp/sysroots/qemux86 -DHAVE_CONFIG_H -I. -I./include -I./src -I./gdbus -I/home/pokybuild/
- yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/sysroots/qemux86/usr/include/glib-2.0
- -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/sysroots/qemux86/usr/
- lib/glib-2.0/include -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86/build/build/
- tmp/sysroots/qemux86/usr/include/dbus-1.0 -I/home/pokybuild/yocto-autobuilder/yocto-slave/
+ yocto-autobuilder/nightly-x86/build/build/tmp/sysroots/qemux86/usr/include/glib-2.0
+ -I/home/pokybuild/yocto-autobuilder/nightly-x86/build/build/tmp/sysroots/qemux86/usr/
+ lib/glib-2.0/include -I/home/pokybuild/yocto-autobuilder/nightly-x86/build/build/
+ tmp/sysroots/qemux86/usr/include/dbus-1.0 -I/home/pokybuild/yocto-autobuilder/
nightly-x86/build/build/tmp/sysroots/qemux86/usr/lib/dbus-1.0/include -I/home/pokybuild/yocto-autobuilder/
- yocto-slave/nightly-x86/build/build/tmp/sysroots/qemux86/usr/include/libnl3
+ nightly-x86/build/build/tmp/sysroots/qemux86/usr/include/libnl3
-DNEAR_PLUGIN_BUILTIN -DPLUGINDIR=\""/usr/lib/near/plugins"\"
-DCONFIGDIR=\""/etc/neard\"" -O2 -pipe -g -feliminate-unused-debug-types -c
-o tools/snep-send.o tools/snep-send.c
@@ -10791,12 +10814,12 @@ package::
LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly license_emgd_1.10"
As a convenience, you do not need to specify the
-complete license string in the whitelist for every package. You can use
+complete license string for every package. You can use
an abbreviated form, which consists of just the first portion or
portions of the license string before the initial underscore character
or characters. A partial string will match any license that contains the
given string as the first portion of its license. For example, the
-following whitelist string will also match both of the packages
+following value will also match both of the packages
previously mentioned as well as any other packages that have licenses
starting with "commercial" or "license".
::
@@ -10809,8 +10832,8 @@ License Flag Matching
License flag matching allows you to control what recipes the
OpenEmbedded build system includes in the build. Fundamentally, the
build system attempts to match :term:`LICENSE_FLAGS` strings found in
-recipes against :term:`LICENSE_FLAGS_WHITELIST` strings found in the
-whitelist. A match causes the build system to include a recipe in the
+recipes against strings found in :term:`LICENSE_FLAGS_WHITELIST`.
+A match causes the build system to include a recipe in the
build, while failure to find a match causes the build system to exclude
a recipe.
@@ -10818,18 +10841,19 @@ In general, license flag matching is simple. However, understanding some
concepts will help you correctly and effectively use matching.
Before a flag defined by a particular recipe is tested against the
-contents of the whitelist, the expanded string ``_${PN}`` is appended to
-the flag. This expansion makes each :term:`LICENSE_FLAGS` value
-recipe-specific. After expansion, the string is then matched against the
-whitelist. Thus, specifying ``LICENSE_FLAGS = "commercial"`` in recipe
-"foo", for example, results in the string ``"commercial_foo"``. And, to
-create a match, that string must appear in the whitelist.
+entries of :term:`LICENSE_FLAGS_WHITELIST`, the expanded
+string ``_${PN}`` is appended to the flag. This expansion makes each
+:term:`LICENSE_FLAGS` value recipe-specific. After expansion, the
+string is then matched against the entries. Thus, specifying
+``LICENSE_FLAGS = "commercial"`` in recipe "foo", for example, results
+in the string ``"commercial_foo"``. And, to create a match, that string
+must appear among the entries of :term:`LICENSE_FLAGS_WHITELIST`.
Judicious use of the :term:`LICENSE_FLAGS` strings and the contents of the
:term:`LICENSE_FLAGS_WHITELIST` variable allows you a lot of flexibility for
including or excluding recipes based on licensing. For example, you can
broaden the matching capabilities by using license flags string subsets
-in the whitelist.
+in :term:`LICENSE_FLAGS_WHITELIST`.
.. note::
@@ -10837,43 +10861,44 @@ in the whitelist.
string that precedes the appended underscore character (e.g.
``usethispart_1.3``, ``usethispart_1.4``, and so forth).
-For example, simply specifying the string "commercial" in the whitelist
-matches any expanded :term:`LICENSE_FLAGS` definition that starts with the
-string "commercial" such as "commercial_foo" and "commercial_bar", which
+For example, simply specifying the string "commercial" in the
+:term:`LICENSE_FLAGS_WHITELIST` variable matches any expanded
+:term:`LICENSE_FLAGS` definition that starts with the string
+"commercial" such as "commercial_foo" and "commercial_bar", which
are the strings the build system automatically generates for
hypothetical recipes named "foo" and "bar" assuming those recipes simply
specify the following::
LICENSE_FLAGS = "commercial"
-Thus, you can choose
-to exhaustively enumerate each license flag in the whitelist and allow
-only specific recipes into the image, or you can use a string subset
-that causes a broader range of matches to allow a range of recipes into
-the image.
+Thus, you can choose to exhaustively enumerate each license flag in the
+list and allow only specific recipes into the image, or you can use a
+string subset that causes a broader range of matches to allow a range of
+recipes into the image.
This scheme works even if the :term:`LICENSE_FLAGS` string already has
``_${PN}`` appended. For example, the build system turns the license
flag "commercial_1.2_foo" into "commercial_1.2_foo_foo" and would match
both the general "commercial" and the specific "commercial_1.2_foo"
-strings found in the whitelist, as expected.
+strings found in the :term:`LICENSE_FLAGS_WHITELIST` variable, as expected.
Here are some other scenarios:
- You can specify a versioned string in the recipe such as
"commercial_foo_1.2" in a "foo" recipe. The build system expands this
string to "commercial_foo_1.2_foo". Combine this license flag with a
- whitelist that has the string "commercial" and you match the flag
- along with any other flag that starts with the string "commercial".
+ :term:`LICENSE_FLAGS_WHITELIST` variable that has the string
+ "commercial" and you match the flag along with any other flag that
+ starts with the string "commercial".
-- Under the same circumstances, you can use "commercial_foo" in the
- whitelist and the build system not only matches "commercial_foo_1.2"
- but also matches any license flag with the string "commercial_foo",
- regardless of the version.
+- Under the same circumstances, you can add "commercial_foo" in the
+ :term:`LICENSE_FLAGS_WHITELIST` variable and the build system not only
+ matches "commercial_foo_1.2" but also matches any license flag with
+ the string "commercial_foo", regardless of the version.
- You can be very specific and use both the package and version parts
- in the whitelist (e.g. "commercial_foo_1.2") to specifically match a
- versioned recipe.
+ in the :term:`LICENSE_FLAGS_WHITELIST` list (e.g.
+ "commercial_foo_1.2") to specifically match a versioned recipe.
Other Variables Related to Commercial Licenses
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -10897,9 +10922,10 @@ file::
LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly commercial_gst-plugins-bad commercial_qmmp"
-Of course, you could also create a matching whitelist for those
-components using the more general "commercial" in the whitelist, but
-that would also enable all the other packages with :term:`LICENSE_FLAGS`
+Of course, you could also create a matching list for those
+components using the more general "commercial" in the
+:term:`LICENSE_FLAGS_WHITELIST` variable, but that would also enable all
+the other packages with :term:`LICENSE_FLAGS`
containing "commercial", which you may or may not want::
LICENSE_FLAGS_WHITELIST = "commercial"
@@ -10972,7 +10998,7 @@ accidental release of proprietary software. The Yocto Project provides
an :ref:`archiver <ref-classes-archiver>` class to
help avoid some of these concerns.
-Before you employ :term:`DL_DIR` or the ``archiver`` class, you need to
+Before you employ :term:`DL_DIR` or the :ref:`archiver <ref-classes-archiver>` class, you need to
decide how you choose to provide source. The source ``archiver`` class
can generate tarballs and SRPMs and can create them with various levels
of compliance in mind.
diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst
index 1ca25318cd..9c7dde8cf2 100644
--- a/poky/documentation/dev-manual/start.rst
+++ b/poky/documentation/dev-manual/start.rst
@@ -666,32 +666,6 @@ described in the ":ref:`dev-manual/start:accessing index of releases`" section.
"DOWNLOADS" page, you can download tools or BSPs as well. Just scroll
down the page and look for what you need.
-Accessing Nightly Builds
-------------------------
-
-Yocto Project maintains an area for nightly builds that contains tarball
-releases at https://autobuilder.yocto.io/pub/nightly/. These builds include Yocto
-Project releases ("poky"), toolchains, and builds for supported
-machines.
-
-Should you ever want to access a nightly build of a particular Yocto
-Project component, use the following procedure:
-
-1. *Locate the Index of Nightly Builds:* Open a browser and go to
- https://autobuilder.yocto.io/pub/nightly/ to access the Nightly Builds.
-
-2. *Select a Date:* Click on the date in which you are interested. If
- you want the latest builds, use "CURRENT".
-
-3. *Select a Build:* Choose the area in which you are interested. For
- example, if you are looking for the most recent toolchains, select
- the "toolchain" link.
-
-4. *Find the Tarball:* Drill down to find the associated tarball.
-
-5. *Download the Tarball:* Click the tarball to download and save a
- snapshot of the given component.
-
Cloning and Checking Out Branches
=================================
diff --git a/poky/documentation/kernel-dev/advanced.rst b/poky/documentation/kernel-dev/advanced.rst
index 2dbcca60c1..b5290b61b3 100644
--- a/poky/documentation/kernel-dev/advanced.rst
+++ b/poky/documentation/kernel-dev/advanced.rst
@@ -688,12 +688,11 @@ Recipe-Space Metadata
---------------------
When stored in recipe-space, the kernel Metadata files reside in a
-directory hierarchy below
-:term:`FILESEXTRAPATHS`. For
-a linux-yocto recipe or for a Linux kernel recipe derived by copying and
-modifying
-``oe-core/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb`` to
-a recipe in your layer, :term:`FILESEXTRAPATHS` is typically set to
+directory hierarchy below :term:`FILESEXTRAPATHS`. For
+a linux-yocto recipe or for a Linux kernel recipe derived by copying
+:oe_git:`meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
+</openembedded-core/tree/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb>`
+into your layer and modifying it, :term:`FILESEXTRAPATHS` is typically set to
``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}``.
See the ":ref:`kernel-dev/common:modifying an existing recipe`"
section for more information.
@@ -764,7 +763,7 @@ Organizing Your Source
======================
Many recipes based on the ``linux-yocto-custom.bb`` recipe use Linux
-kernel sources that have only a single branch - "master". This type of
+kernel sources that have only a single branch. This type of
repository structure is fine for linear development supporting a single
machine and architecture. However, if you work with multiple boards and
architectures, a kernel source repository with multiple branches is more
@@ -773,7 +772,7 @@ board to boot. Sometimes, these patches are works-in-progress or
fundamentally wrong, yet they are still necessary for specific boards.
In these situations, you most likely do not want to include these
patches in every kernel you build (i.e. have the patches as part of the
-lone "master" branch). It is situations like these that give rise to
+default branch). It is situations like these that give rise to
multiple branches used within a Linux kernel sources Git repository.
Here are repository organization strategies maximizing source reuse,
@@ -813,7 +812,7 @@ Machine Branches
When you have multiple machines and architectures to support, or you are
actively working on board support, it is more efficient to create
branches in the repository based on individual machines. Having machine
-branches allows common source to remain in the "master" branch with any
+branches allows common source to remain in the development branch with any
features specific to a machine stored in the appropriate machine branch.
This organization method frees you from continually reintegrating your
patches into a feature.
diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst
index d42ca5f99a..a5dd02ccf2 100644
--- a/poky/documentation/kernel-dev/common.rst
+++ b/poky/documentation/kernel-dev/common.rst
@@ -1578,13 +1578,11 @@ Maintaining format compatibility facilitates converging with linux-yocto
on a future, mutually-supported kernel version.
To help you use your own sources, the Yocto Project provides a
-linux-yocto custom recipe (``linux-yocto-custom.bb``) that uses
-``kernel.org`` sources and the Yocto Project Linux kernel tools for
-managing kernel Metadata. You can find this recipe in the ``poky`` Git
-repository of the Yocto Project :yocto_git:`Source Repository <>`
-at::
-
- poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
+linux-yocto custom recipe that uses ``kernel.org`` sources and
+the Yocto Project Linux kernel tools for managing kernel Metadata.
+You can find this recipe in the ``poky`` Git repository:
+:yocto_git:`meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
+</poky/tree/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb>`.
Here are some basic steps you can use to work with your own sources:
@@ -1729,11 +1727,9 @@ Linux kernel sources, if you need an external kernel module, the
create your own out-of-tree Linux kernel module recipe.
This template recipe is located in the ``poky`` Git repository of the
-Yocto Project :yocto_git:`Source Repository <>` at:
-
-.. code-block:: none
-
- poky/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb
+Yocto Project:
+:yocto_git:`meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb
+</poky/tree/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb>`.
To get started, copy this recipe to your layer and give it a meaningful
name (e.g. ``mymodule_1.0.bb``). In the same directory, create a new
diff --git a/poky/documentation/kernel-dev/concepts-appx.rst b/poky/documentation/kernel-dev/concepts-appx.rst
index cf2e75d853..910318e0f9 100644
--- a/poky/documentation/kernel-dev/concepts-appx.rst
+++ b/poky/documentation/kernel-dev/concepts-appx.rst
@@ -211,8 +211,8 @@ view, there is a linear path that travels from the baseline
``kernel.org``, through a select group of features and ends with their
BSP-specific commits. In other words, the divisions of the kernel are
transparent and are not relevant to the developer on a day-to-day basis.
-From the developer's perspective, this path is the "master" branch in
-Git terms. The developer does not need to be aware of the existence of
+From the developer's perspective, this path is the development branch.
+The developer does not need to be aware of the existence of
any other branches at all. Of course, it can make sense to have these
branches in the tree, should a person decide to explore them. For
example, a comparison between two BSPs at either the commit level or at
diff --git a/poky/documentation/kernel-dev/faq.rst b/poky/documentation/kernel-dev/faq.rst
index 5aa702ad69..e40e3ff372 100644
--- a/poky/documentation/kernel-dev/faq.rst
+++ b/poky/documentation/kernel-dev/faq.rst
@@ -30,8 +30,8 @@ Refer to the
":ref:`kernel-dev/common:working with your own sources`"
section for information.
-How do I install/not-install the kernel image on the rootfs?
-------------------------------------------------------------
+How do I install/not-install the kernel image on the root filesystem?
+---------------------------------------------------------------------
The kernel image (e.g. ``vmlinuz``) is provided by the
``kernel-image`` package. Image recipes depend on ``kernel-base``. To
diff --git a/poky/documentation/migration-guides/index.rst b/poky/documentation/migration-guides/index.rst
index 287b553195..6472cc2848 100644
--- a/poky/documentation/migration-guides/index.rst
+++ b/poky/documentation/migration-guides/index.rst
@@ -12,6 +12,7 @@ to move to one release of the Yocto Project from the previous one.
.. toctree::
migration-general
+ migration-3.5
migration-3.4
migration-3.3
migration-3.2
diff --git a/poky/documentation/migration-guides/migration-1.3.rst b/poky/documentation/migration-guides/migration-1.3.rst
index afb868e7cb..9a1539172e 100644
--- a/poky/documentation/migration-guides/migration-1.3.rst
+++ b/poky/documentation/migration-guides/migration-1.3.rst
@@ -113,7 +113,7 @@ recipes to ``packagegroup-*``, and change them to inherit
to remove anything now handled by ``packagegroup.bbclass``, such as
providing ``-dev`` and ``-dbg`` packages, setting
:term:`LIC_FILES_CHKSUM`, and so forth. See the
-":ref:`packagegroup.bbclass <ref-classes-packagegroup>`" section for
+:ref:`ref-classes-packagegroup` section for
further details.
.. _migration-1.3-image-features:
diff --git a/poky/documentation/migration-guides/migration-1.5.rst b/poky/documentation/migration-guides/migration-1.5.rst
index 11c821265c..0306b99c65 100644
--- a/poky/documentation/migration-guides/migration-1.5.rst
+++ b/poky/documentation/migration-guides/migration-1.5.rst
@@ -87,22 +87,21 @@ The following changes have been made to the package QA checks:
item not mentioned in :term:`ERROR_QA` or :term:`WARN_QA` would be treated as
a warning. Consequently, several important items were not already in
the default value of :term:`WARN_QA`. All of the possible QA checks are
- now documented in the ":ref:`insane.bbclass <ref-classes-insane>`"
- section.
+ now documented in the ":ref:`ref-classes-insane`" section.
- An additional QA check has been added to check if
``/usr/share/info/dir`` is being installed. Your recipe should delete
this file within :ref:`ref-tasks-install` if "make
install" is installing it.
-- If you are using the ``buildhistory`` class, the check for the package
+- If you are using the :ref:`buildhistory <ref-classes-buildhistory>` class,
+ the check for the package
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
and still wish to have this check performed, you should add
"version-going-backwards" to your value for one or the other
variables depending on how you wish it to be handled. See the
- documented QA checks in the
- ":ref:`insane.bbclass <ref-classes-insane>`" section.
+ documented QA checks in the ":ref:`ref-classes-insane`" section.
.. _migration-1.5-directory-layout-changes:
@@ -221,8 +220,7 @@ recipes that previously inherited from this class, you should rename
them from ``task-*`` to ``packagegroup-*`` and inherit packagegroup
instead.
-For more information, see the
-":ref:`packagegroup.bbclass <ref-classes-packagegroup>`" section.
+For more information, see the ":ref:`ref-classes-packagegroup`" section.
.. _migration-1.5-busybox:
diff --git a/poky/documentation/migration-guides/migration-1.6.rst b/poky/documentation/migration-guides/migration-1.6.rst
index eea3d17676..358086560b 100644
--- a/poky/documentation/migration-guides/migration-1.6.rst
+++ b/poky/documentation/migration-guides/migration-1.6.rst
@@ -222,8 +222,7 @@ Package Tests (ptest) are built but not installed by default. For
information on using Package Tests, see the
":ref:`dev-manual/common-tasks:testing packages with ptest`"
section in the Yocto Project Development Tasks Manual. For information on the
-``ptest`` class, see the ":ref:`ptest.bbclass <ref-classes-ptest>`"
-section.
+``ptest`` class, see the ":ref:`ref-classes-ptest`" section.
.. _migration-1.6-build-changes:
@@ -231,7 +230,7 @@ Build Changes
-------------
Separate build and source directories have been enabled by default for
-selected recipes where it is known to work (a whitelist) 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
future releases the :ref:`autotools <ref-classes-autotools>` class
will enable a separate build directory by default as well. Recipes
diff --git a/poky/documentation/migration-guides/migration-1.7.rst b/poky/documentation/migration-guides/migration-1.7.rst
index 8c642da202..88a6855d50 100644
--- a/poky/documentation/migration-guides/migration-1.7.rst
+++ b/poky/documentation/migration-guides/migration-1.7.rst
@@ -43,7 +43,8 @@ The following :ref:`autotools <ref-classes-autotools>` class changes
occurred:
- *A separate build directory is now used by default:* The
- ``autotools`` class has been changed to use a directory for building
+ :ref:`autotools <ref-classes-autotools>` class has been
+ changed to use a directory for building
(:term:`B`), which is separate from the source directory
(:term:`S`). This is commonly referred to as ``B != S``, or
an out-of-tree build.
@@ -54,7 +55,8 @@ occurred:
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
the :ref:`autotools-brokensep <ref-classes-autotools>` class
- instead of the ``autotools`` or ``autotools_stage`` classes.
+ instead of the :ref:`autotools <ref-classes-autotools>`
+ or ``autotools_stage`` classes.
- The ``--foreign`` option is no longer passed to ``automake`` when
running ``autoconf``: This option tells ``automake`` that a
diff --git a/poky/documentation/migration-guides/migration-2.1.rst b/poky/documentation/migration-guides/migration-2.1.rst
index 3135d69caa..eb29694bb5 100644
--- a/poky/documentation/migration-guides/migration-2.1.rst
+++ b/poky/documentation/migration-guides/migration-2.1.rst
@@ -106,12 +106,12 @@ as was previously assumed. Rather, the value changes based on whether
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
bypasses the standard :ref:`ref-tasks-configure` task
-from the ``autotools`` class and the software the recipe is building
+from the :ref:`autotools <ref-classes-autotools>` class and the software the recipe is building
uses a very old version of ``autoconf``, the recipe might be incapable
of determining the correct size of ``off_t`` during ``do_configure``.
The best course of action is to patch the software as necessary to allow
-the default implementation from the ``autotools`` class to work such
+the default implementation from the :ref:`autotools <ref-classes-autotools>` class to work such
that ``autoreconf`` succeeds and produces a working configure script,
and to remove the overridden ``do_configure`` task such that the default
implementation does get used.
@@ -262,7 +262,7 @@ The following changes have been made for the Poky distribution:
With this class enabled, a tarball containing a pre-built C library
is downloaded at the start of the build.
- The ``uninative`` class is enabled through the
+ The :ref:`uninative <ref-classes-uninative>` class is enabled through the
``meta/conf/distro/include/yocto-uninative.inc`` file, which for
those not using the Poky distribution, can include to easily enable
the same functionality.
diff --git a/poky/documentation/migration-guides/migration-2.2.rst b/poky/documentation/migration-guides/migration-2.2.rst
index cbdc6a739e..a6c1a4aa48 100644
--- a/poky/documentation/migration-guides/migration-2.2.rst
+++ b/poky/documentation/migration-guides/migration-2.2.rst
@@ -154,7 +154,7 @@ enables fine-grained tuning of options passed to QEMU without the
Using a configuration file is particularly convenient when trying to use
QEMU with machines other than the ``qemu*`` machines in
:term:`OpenEmbedded-Core (OE-Core)`. The ``qemuboot.conf`` file is generated by the
-``qemuboot`` class when the root filesystem is being build (i.e. build
+``qemuboot`` class when the root filesystem is being built (i.e. build
rootfs). QEMU boot arguments can be set in BSP's configuration file and
the ``qemuboot`` class will save them to ``qemuboot.conf``.
@@ -439,7 +439,7 @@ The following miscellaneous changes have occurred:
- ``packagegroup-core-tools-testapps``: Removed Piglit.
-- ``image.bbclass``: Renamed COMPRESS(ION) to CONVERSION. This change
+- :ref:`image.bbclass <ref-classes-image>`: Renamed COMPRESS(ION) to CONVERSION. This change
means that ``COMPRESSIONTYPES``, ``COMPRESS_DEPENDS`` and
``COMPRESS_CMD`` are deprecated in favor of ``CONVERSIONTYPES``,
``CONVERSION_DEPENDS`` and ``CONVERSION_CMD``. The ``COMPRESS*``
diff --git a/poky/documentation/migration-guides/migration-2.3.rst b/poky/documentation/migration-guides/migration-2.3.rst
index b79bc541c5..0b6b33d2cb 100644
--- a/poky/documentation/migration-guides/migration-2.3.rst
+++ b/poky/documentation/migration-guides/migration-2.3.rst
@@ -50,7 +50,7 @@ Consider the following:
post-installation script that is installed by a function added to
:term:`SYSROOT_PREPROCESS_FUNCS`.
- For an example, see the ``pixbufcache`` class in ``meta/classes/`` in
+ For an example, see the :ref:`pixbufcache <ref-classes-pixbufcache>` class in ``meta/classes/`` in
the :ref:`overview-manual/development-environment:yocto project source repositories`.
.. note::
diff --git a/poky/documentation/migration-guides/migration-2.4.rst b/poky/documentation/migration-guides/migration-2.4.rst
index ae1a212b5d..ef5f32e6ef 100644
--- a/poky/documentation/migration-guides/migration-2.4.rst
+++ b/poky/documentation/migration-guides/migration-2.4.rst
@@ -273,7 +273,7 @@ The following are additional changes:
a single commit per build rather than one commit per subdirectory in
the repository. This behavior assumes the commits are enabled with
:term:`BUILDHISTORY_COMMIT` = "1", which
- is typical. Previously, the ``buildhistory`` class made one commit
+ is typical. Previously, the :ref:`buildhistory <ref-classes-buildhistory>` class made one commit
per subdirectory in the repository in order to make it easier to see
the changes for a particular subdirectory. To view a particular
change, specify that subdirectory as the last parameter on the
diff --git a/poky/documentation/migration-guides/migration-2.5.rst b/poky/documentation/migration-guides/migration-2.5.rst
index 79f804fa1d..abd26809df 100644
--- a/poky/documentation/migration-guides/migration-2.5.rst
+++ b/poky/documentation/migration-guides/migration-2.5.rst
@@ -137,7 +137,7 @@ The following are BitBake changes:
- Several explicit "run this task for all recipes in the dependency
tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``,
and the ``*all`` tasks provided by the ``distrodata`` and
- ``archiver`` classes). There is a BitBake option to complete this for
+ :ref:`archiver <ref-classes-archiver>` classes). There is a BitBake option to complete this for
any arbitrary task. For example::
bitbake <target> -c fetchall
@@ -187,7 +187,7 @@ Miscellaneous Changes
The following are additional changes:
-- The ``kernel`` class supports building packages for multiple kernels.
+- The :ref:`kernel <ref-classes-kernel>` class supports building packages for multiple kernels.
If your kernel recipe or ``.bbappend`` file mentions packaging at
all, you should replace references to the kernel in package names
with ``${KERNEL_PACKAGE_NAME}``. For example, if you disable
@@ -195,7 +195,7 @@ The following are additional changes:
``RDEPENDS_kernel-base = ""`` you can avoid warnings using
``RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""`` instead.
-- The ``buildhistory`` class commits changes to the repository by
+- The :ref:`buildhistory <ref-classes-buildhistory>` class commits changes to the repository by
default so you no longer need to set ``BUILDHISTORY_COMMIT = "1"``.
If you want to disable commits you need to set
``BUILDHISTORY_COMMIT = "0"`` in your configuration.
@@ -207,7 +207,7 @@ The following are additional changes:
maintains a full-featured BSP in the ``meta-ti`` layer. This rename
avoids the previous name clash that existed between the two BSPs.
-- The ``update-alternatives`` class no longer works with SysV ``init``
+- The :ref:`update-alternatives <ref-classes-update-alternatives>` class no longer works with SysV ``init``
scripts because this usage has been problematic. Also, the
``sysklogd`` recipe no longer uses ``update-alternatives`` because it
is incompatible with other implementations.
@@ -287,7 +287,7 @@ The following are additional changes:
- For EFI-based machines, the bootloader (``grub-efi`` by default) is
installed into the image at /boot. Wic can be used to split the
- bootloader into separate boot and rootfs partitions if necessary.
+ bootloader into separate boot and root filesystem partitions if necessary.
- Patches whose context does not match exactly (i.e. where patch
reports "fuzz" when applying) will generate a warning. For an example
diff --git a/poky/documentation/migration-guides/migration-2.6.rst b/poky/documentation/migration-guides/migration-2.6.rst
index a8c56ede72..c68414e1ca 100644
--- a/poky/documentation/migration-guides/migration-2.6.rst
+++ b/poky/documentation/migration-guides/migration-2.6.rst
@@ -363,7 +363,7 @@ Post Installation Changes
You must explicitly mark post installs to defer to the target. If you
want to explicitly defer a postinstall to first boot on the target
-rather than at rootfs creation time, use ``pkg_postinst_ontarget()`` or
+rather than at root filesystem creation time, use ``pkg_postinst_ontarget()`` or
call ``postinst_intercept delay_to_first_boot`` from ``pkg_postinst()``.
Any failure of a ``pkg_postinst()`` script (including exit 1) triggers
an error during the :ref:`ref-tasks-rootfs` task.
diff --git a/poky/documentation/migration-guides/migration-3.0.rst b/poky/documentation/migration-guides/migration-3.0.rst
index 9a5f5714bd..610298bda6 100644
--- a/poky/documentation/migration-guides/migration-3.0.rst
+++ b/poky/documentation/migration-guides/migration-3.0.rst
@@ -47,7 +47,7 @@ The following recipes have been removed.
- ``core-image-lsb-sdk``: Part of removed LSB support.
- ``cve-check-tool``: Functionally replaced by the ``cve-update-db``
- recipe and ``cve-check`` class.
+ recipe and :ref:`cve-check <ref-classes-cve-check>` class.
- ``eglinfo``: No longer maintained. ``eglinfo`` from ``mesa-demos`` is
an adequate and maintained alternative.
@@ -142,7 +142,7 @@ CVE Checking
------------
``cve-check-tool`` has been functionally replaced by a new
-``cve-update-db`` recipe and functionality built into the ``cve-check``
+``cve-update-db`` recipe and functionality built into the :ref:`cve-check <ref-classes-cve-check>`
class. The result uses NVD JSON data feeds rather than the deprecated
XML feeds that ``cve-check-tool`` was using, supports CVSSv3 scoring,
and makes other improvements.
diff --git a/poky/documentation/migration-guides/migration-3.1.rst b/poky/documentation/migration-guides/migration-3.1.rst
index 80b8f6baa5..cb0296717e 100644
--- a/poky/documentation/migration-guides/migration-3.1.rst
+++ b/poky/documentation/migration-guides/migration-3.1.rst
@@ -125,7 +125,7 @@ renamed to ``features_check``; the ``distro_features_check`` class still
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
you update recipes currently inheriting ``distro_features_check`` to
-inherit ``features_check`` instead.
+inherit :ref:`features_check <ref-classes-features_check>` instead.
.. _migration-3.1-removed-classes:
@@ -241,7 +241,7 @@ circumstances:
does not inherit the new ``mime-xdg`` class
- A recipe installs ``.xml`` files into ``${datadir}/mime/packages``
- but does not inherit the ``mime`` class
+ but does not inherit the :ref:`mime <ref-classes-mime>` class
.. _migration-3.1-x86-live-wic:
diff --git a/poky/documentation/migration-guides/migration-3.2.rst b/poky/documentation/migration-guides/migration-3.2.rst
index a940f23238..d593effe97 100644
--- a/poky/documentation/migration-guides/migration-3.2.rst
+++ b/poky/documentation/migration-guides/migration-3.2.rst
@@ -209,7 +209,7 @@ deploy class now cleans ``DEPLOYDIR`` before ``do_deploy``
``do_deploy`` as implemented in the :ref:`deploy <ref-classes-deploy>` class now cleans up ${:term:`DEPLOYDIR`} before running, just as ``do_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 ``deploy`` class or interact with ``do_deploy`` are unlikely to be affected by this unless they add ``prefuncs`` to ``do_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:`deploy <ref-classes-deploy>` class or interact with ``do_deploy`` are unlikely to be affected by this unless they add ``prefuncs`` to ``do_deploy`` *which also* put files into ``${DEPLOYDIR}`` - these should be refactored to use ``do_deploy_prepend`` instead.
.. _migration-3.2-nativesdk-sdk-provides-dummy:
diff --git a/poky/documentation/migration-guides/migration-3.3.rst b/poky/documentation/migration-guides/migration-3.3.rst
index 28857e820b..f982b1c80a 100644
--- a/poky/documentation/migration-guides/migration-3.3.rst
+++ b/poky/documentation/migration-guides/migration-3.3.rst
@@ -64,7 +64,7 @@ New ``python3targetconfig`` class
A new :ref:`python3targetconfig <ref-classes-python3targetconfig>` class has been
created for situations where you would previously have inherited the
-``python3native`` class but need access to target configuration data (such as
+:ref:`python3native <ref-classes-python3native>` class but need access to target configuration data (such as
correct installation directories). Recipes where this situation applies should
be changed to inherit ``python3targetconfig`` instead of ``python3native``. This
also adds a dependency on target ``python3``, so it should only be used where
@@ -89,7 +89,7 @@ example::
S = "${WORKDIR}/git/python/pythonmodule"
then in ``setup.py`` it works with source code in a relative fashion, such
-as ``../../src``. This causes pseudo to abort as it isn't able to track
+as ``../../src``. This causes pseudo to fail as it isn't able to track
the paths properly. This release introduces a new :term:`DISTUTILS_SETUP_PATH`
variable so that recipes can specify it explicitly, for example::
diff --git a/poky/documentation/migration-guides/migration-3.5.rst b/poky/documentation/migration-guides/migration-3.5.rst
new file mode 100644
index 0000000000..bd807eb8c7
--- /dev/null
+++ b/poky/documentation/migration-guides/migration-3.5.rst
@@ -0,0 +1,44 @@
+Release 3.5 (kirkstone)
+=======================
+
+This section provides migration information for moving to the Yocto
+Project 3.5 Release (codename "kirkstone") from the prior release.
+
+Recipe changes
+--------------
+
+- Because of the uncertainty in future default branch names in git repositories,
+ it is now required to add a branch name to all URLs described
+ by ``git://`` and ``gitsm://`` :term:`SRC_URI` entries. For example::
+
+ SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
+
+ A :oe_git:`convert-srcuri </openembedded-core/tree/scripts/contrib/convert-srcuri.py>`
+ script to convert your recipes is available in :term:`OpenEmbedded-Core (OE-Core)`
+ and in :term:`Poky`.
+
+- Because of `GitHub dropping support for the git:
+ protocol <https://github.blog/2021-09-01-improving-git-protocol-security-github/>`__,
+ recipes now need to use ``;protocol=https`` at the end of GitHub
+ URLs. The same script as above can be used to convert the recipes.
+
+- The :term:`TOPDIR` variable and the current working directory are no longer modified
+ when parsing recipes. Any code depending on that behaviour will no longer work.
+
+- The ``append``, ``prepend`` and ``remove`` operators can now only be combined with
+ ``=`` and ``:=`` operators. To the exception of the ``append`` plus ``+=`` and
+ ``prepend`` plus ``=+`` combinations, all combinations could be factored up to the
+ ``append``, ``prepend`` or ``remove`` in the combination. This brought a lot of
+ confusion on how the override style syntax operators work and should be used.
+ Therefore, those combinations can simply be replaced by a single ``append``,
+ ``prepend`` or ``remove`` operator without any additional change.
+ For the ``append`` plus ``+=`` (and ``prepend`` plus ``=+``) combinations,
+ the content should be prefixed (respectively suffixed) by a space to maintain
+ the same behavior. You can learn more about override style syntax operators
+ (``append``, ``prepend`` and ``remove``) in the BitBake documentation:
+ :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:appending and prepending (override style syntax)`
+ and :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:removal (override style syntax)`.
+
+- :ref:`allarch <ref-classes-allarch>` packagegroups can no longer depend on packages
+ which use :term:`PKG` renaming such as :ref:`debian.bbclass <ref-classes-debian>`.
+
diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst
index 89a5eb49fb..5698d93759 100644
--- a/poky/documentation/overview-manual/concepts.rst
+++ b/poky/documentation/overview-manual/concepts.rst
@@ -1570,7 +1570,7 @@ that parts do not need to be rebuilt. Fundamentally, building from
scratch is attractive as it means all parts are built fresh and there is
no possibility of stale data that can cause problems. When
developers hit problems, they typically default back to building from
-scratch so they have a know state from the start.
+scratch so they have a known state from the start.
Building an image from scratch is both an advantage and a disadvantage
to the process. As mentioned in the previous paragraph, building from
@@ -1718,7 +1718,7 @@ inputs still exits - items already built and present in the
:term:`Build Directory`. The checksum (or
signature) for a particular task needs to add the hashes of all the
tasks on which the particular task depends. Choosing which dependencies
-to add is a policy decision. However, the effect is to generate a master
+to add is a policy decision. However, the effect is to generate a
checksum that combines the basehash and the hashes of the task's
dependencies.
@@ -1735,12 +1735,8 @@ included in any checksum)::
PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \\
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX"
-The
-previous example excludes
-:term:`WORKDIR` since that variable
-is actually constructed as a path within
-:term:`TMPDIR`, which is on the
-whitelist.
+The previous example does not include :term:`WORKDIR` since that variable is
+actually constructed as a path within :term:`TMPDIR`, which is included above.
The rules for deciding which hashes of dependent tasks to include
through dependency chains are more complex and are generally
@@ -1800,7 +1796,7 @@ type of output occurs when a set of data is merged into a shared
directory tree such as the sysroot.
The Yocto Project team has tried to keep the details of the
-implementation hidden in ``sstate`` class. From a user's perspective,
+implementation hidden in the :ref:`sstate <ref-classes-sstate>` class. From a user's perspective,
adding shared state wrapping to a task is as simple as this
:ref:`ref-tasks-deploy` example taken
from the :ref:`deploy <ref-classes-deploy>` class::
@@ -1942,6 +1938,138 @@ another reason why a task-based approach is preferred over a
recipe-based approach, which would have to install the output from every
task.
+Hash Equivalence
+----------------
+
+The above section explained how BitBake skips the execution of tasks
+whose output can already be found in the Shared State cache.
+
+During a build, it may often be the case that the output / result of a task might
+be unchanged despite changes in the task's input values. An example might be
+whitespace changes in some input C code. In project terms, this is what we define
+as "equivalence".
+
+To keep track of such equivalence, BitBake has to manage three hashes
+for each task:
+
+- The *task hash* explained earlier: computed from the recipe metadata,
+ the task code and the task hash values from its dependencies.
+ When changes are made, these task hashes are therefore modified,
+ causing the task to re-execute. The task hashes of tasks depending on this
+ task are therefore modified too, causing the whole dependency
+ chain to re-execute.
+
+- The *output hash*, a new hash computed from the output of Shared State tasks,
+ tasks that save their resulting output to a Shared State tarball.
+ The mapping between the task hash and its output hash is reported
+ to a new *Hash Equivalence* server. This mapping is stored in a database
+ by the server for future reference.
+
+- The *unihash*, a new hash, initially set to the task hash for the task.
+ This is used to track the *unicity* of task output, and we will explain
+ how its value is maintained.
+
+When Hash Equivalence is enabled, BitBake computes the task hash
+for each task by using the unihash of its dependencies, instead
+of their task hash.
+
+Now, imagine that a Shared State task is modified because of a change in
+its code or metadata, or because of a change in its dependencies.
+Since this modifies its task hash, this task will need re-executing.
+Its output hash will therefore be computed again.
+
+Then, the new mapping between the new task hash and its output hash
+will be reported to the Hash Equivalence server. The server will
+let BitBake know whether this output hash is the same as a previously
+reported output hash, for a different task hash.
+
+If the output hash is already known, BitBake will update the task's
+unihash to match the original task hash that generated that output.
+Thanks to this, the depending tasks will keep a previously recorded
+task hash, and BitBake will be able to retrieve their output from
+the Shared State cache, instead of re-executing them. Similarly, the
+output of further downstream tasks can also be retrieved from Shared
+Shate.
+
+If the output hash is unknown, a new entry will be created on the Hash
+Equivalence server, matching the task hash to that output.
+The depending tasks, still having a new task hash because of the
+change, will need to re-execute as expected. The change propagates
+to the depending tasks.
+
+To summarize, when Hash Equivalence is enabled, a change in one of the
+tasks in BitBake's run queue doesn't have to propagate to all the
+downstream tasks that depend on the output of this task, causing a
+full rebuild of such tasks, and so on with the next depending tasks.
+Instead, when the output of this task remains identical to previously
+recorded output, BitBake can safely retrieve all the downstream
+task output from the Shared State cache.
+
+.. note::
+
+ Having :doc:`/test-manual/reproducible-builds` is a key ingredient for
+ the stability of the task's output hash. Therefore, the effectiveness
+ of Hash Equivalence strongly depends on it.
+
+This applies to multiple scenarios:
+
+- A "trivial" change to a recipe that doesn't impact its generated output,
+ such as whitespace changes, modifications to unused code paths or
+ in the ordering of variables.
+
+- Shared library updates, for example to fix a security vulnerability.
+ For sure, the programs using such a library should be rebuilt, but
+ their new binaries should remain identical. The corresponding tasks should
+ have a different output hash because of the change in the hash of their
+ library dependency, but thanks to their output being identical, Hash
+ Equivalence will stop the propagation down the dependency chain.
+
+- Native tool updates. Though the depending tasks should be rebuilt,
+ it's likely that they will generate the same output and be marked
+ as equivalent.
+
+This mechanism is enabled by default in Poky, and is controlled by three
+variables:
+
+- :term:`bitbake:BB_HASHSERVE`, specifying a local or remote Hash
+ Equivalence server to use.
+
+- :term:`BB_HASHSERVE_UPSTREAM`, when ``BB_HASHSERVE = "auto"``,
+ allowing to connect the local server to an upstream one.
+
+- :term:`bitbake:BB_SIGNATURE_HANDLER`, which must be set to ``OEEquivHash``.
+
+Therefore, the default configuration in Poky corresponds to the
+below settings::
+
+ BB_HASHSERVE = "auto"
+ BB_SIGNATURE_HANDLER = "OEEquivHash"
+
+Rather than starting a local server, another possibility is to rely
+on a Hash Equivalence server on a network, by setting::
+
+ BB_HASHSERVE = "<HOSTNAME>:<PORT>"
+
+.. note::
+
+ The shared Hash Equivalence server needs to be maintained together with the
+ Shared State cache. Otherwise, the server could report Shared State hashes
+ that only exist on specific clients.
+
+ We therefore recommend that one Hash Equivalence server be set up to
+ correspond with a given Shared State cache, and to start this server
+ in *read-only mode*, so that it doesn't store equivalences for
+ Shared State caches that are local to clients.
+
+ See the :term:`BB_HASHSERVE` reference for details about starting
+ a Hash Equivalence server.
+
+See the `video <https://www.youtube.com/watch?v=zXEdqGS62Wc>`__
+of Joshua Watt's `Hash Equivalence and Reproducible Builds
+<https://elinux.org/images/3/37/Hash_Equivalence_and_Reproducible_Builds.pdf>`__
+presentation at ELC 2020 for a very synthetic introduction to the
+Hash Equivalence implementation in the Yocto Project.
+
Automatically Added Runtime Dependencies
========================================
diff --git a/poky/documentation/overview-manual/development-environment.rst b/poky/documentation/overview-manual/development-environment.rst
index d719ba69eb..fc193f3135 100644
--- a/poky/documentation/overview-manual/development-environment.rst
+++ b/poky/documentation/overview-manual/development-environment.rst
@@ -163,9 +163,9 @@ these tarballs gives you a snapshot of the released files.
- Be sure to always work in matching branches for both the selected
BSP repository and the Source Directory (i.e. ``poky``)
- repository. For example, if you have checked out the "master"
+ repository. For example, if you have checked out the "&DISTRO_NAME_NO_CAP;"
branch of ``poky`` and you are going to use ``meta-intel``, be
- sure to checkout the "master" branch of ``meta-intel``.
+ sure to checkout the "&DISTRO_NAME_NO_CAP;" branch of ``meta-intel``.
In summary, here is where you can get the project files needed for
development:
@@ -233,8 +233,8 @@ all diverging functionality. Although there is no need to use Git, many
open source projects do so.
For the Yocto Project, a key individual called the "maintainer" is
-responsible for the integrity of the "master" branch of a given Git
-repository. The "master" branch is the "upstream" repository from which
+responsible for the integrity of the development branch of a given Git
+repository. The development branch is the "upstream" repository from which
final or most recent builds of a project occur. The maintainer is
responsible for accepting changes from other developers and for
organizing the underlying branch structure to reflect release strategies
@@ -279,8 +279,8 @@ submitting patches and changes, see the
":ref:`dev-manual/common-tasks:submitting a change to the yocto project`"
section in the Yocto Project Development Tasks Manual.
-In summary, there is a single point of entry for changes into a "master"
-or development branch of the Git repository, which is controlled by the
+In summary, there is a single point of entry for changes into the
+development branch of the Git repository, which is controlled by the
project's maintainer. A set of developers independently
develop, test, and submit changes to "contrib" areas for the maintainer
to examine. The maintainer then chooses which changes are going to
@@ -311,7 +311,7 @@ Book <https://book.git-scm.com>`__.
host. You can name these branches anything you like. It is helpful to
give them names associated with the particular feature or change on
which you are working. Once you are done with a feature or change and
- have merged it into your local master branch, simply discard the
+ have merged it into your local development branch, simply discard the
temporary branch.
- *Merge Changes:* The ``git merge`` command allows you to take the
@@ -348,7 +348,7 @@ Book <https://book.git-scm.com>`__.
- *Patch Workflow:* This workflow allows you to notify the maintainer
through an email that you have a change (or patch) you would like
- considered for the "master" branch of the Git repository. To send
+ considered for the development branch of the Git repository. To send
this type of change, you format the patch and then send the email
using the Git commands ``git format-patch`` and ``git send-email``.
For information on how to use these scripts, see the
@@ -433,17 +433,12 @@ development branch in the repository. To help illustrate, consider the
following example Git commands::
$ cd ~
- $ git clone git://git.yoctoproject.org/poky
- $ cd poky
- $ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP;
+ $ git clone git://git.yoctoproject.org/poky -b &DISTRO_NAME_NO_CAP;
In the previous example
after moving to the home directory, the ``git clone`` command creates a
-local copy of the upstream ``poky`` Git repository. By default, Git
-checks out the "master" branch for your work. After changing the working
-directory to the new local repository (i.e. ``poky``), the
-``git checkout`` command creates and checks out a local branch named
-"&DISTRO_NAME_NO_CAP;", which tracks the upstream
+local copy of the upstream ``poky`` Git repository and checks out a
+local branch named "&DISTRO_NAME_NO_CAP;", which tracks the upstream
"origin/&DISTRO_NAME_NO_CAP;" branch. Changes you make while in this
branch would ultimately affect the upstream "&DISTRO_NAME_NO_CAP;" branch
of the ``poky`` repository.
@@ -558,9 +553,9 @@ descriptions and strategies on how to use these commands:
- *git pull --rebase:* Retrieves information from an upstream Git
repository and places it in your local Git repository. You use this
command to make sure you are synchronized with the repository from
- which you are basing changes (.e.g. the "master" branch). The
- "--rebase" option ensures that any local commits you have in your
- branch are preserved at the top of your local branch.
+ which you are basing changes (e.g. the "&DISTRO_NAME_NO_CAP;"
+ branch). The "--rebase" option ensures that any local commits you
+ have in your branch are preserved at the top of your local branch.
- *git push repo-name local-branch:upstream-branch:* Sends
all your committed local changes to the upstream Git repository that
@@ -571,13 +566,13 @@ descriptions and strategies on how to use these commands:
- *git merge:* Combines or adds changes from one local branch of
your repository with another branch. When you create a local Git
- repository, the default branch is named "master". A typical workflow
- is to create a temporary branch that is based off "master" that you
- would use for isolated work. You would make your changes in that
- isolated branch, stage and commit them locally, switch to the
- "master" branch, and then use the ``git merge`` command to apply the
+ repository, the default branch may be named "main". A typical
+ workflow is to create a temporary branch that is based off "main"
+ that you would use for isolated work. You would make your changes in
+ that isolated branch, stage and commit them locally, switch to the
+ "main" branch, and then use the ``git merge`` command to apply the
changes from your isolated branch into the currently checked out
- branch (e.g. "master"). After the merge is complete and if you are
+ branch (e.g. "main"). After the merge is complete and if you are
done with working in that isolated branch, you can safely delete the
isolated branch.
diff --git a/poky/documentation/overview-manual/yp-intro.rst b/poky/documentation/overview-manual/yp-intro.rst
index 7aee9db04f..a8ca9e9440 100644
--- a/poky/documentation/overview-manual/yp-intro.rst
+++ b/poky/documentation/overview-manual/yp-intro.rst
@@ -371,7 +371,7 @@ Yocto Project:
- *AutoBuilder:* AutoBuilder is a project that automates build tests
and quality assurance (QA). By using the public AutoBuilder, anyone
- can determine the status of the current "master" branch of Poky.
+ can determine the status of the current development branch of Poky.
.. note::
diff --git a/poky/documentation/poky.yaml b/poky/documentation/poky.yaml
index f2d1e8b97f..62589acd9f 100644
--- a/poky/documentation/poky.yaml
+++ b/poky/documentation/poky.yaml
@@ -1,12 +1,12 @@
-DISTRO : "3.4"
+DISTRO : "3.4.1"
DISTRO_NAME_NO_CAP : "honister"
DISTRO_NAME : "Honister"
DISTRO_NAME_NO_CAP_MINUS_ONE : "hardknott"
DISTRO_NAME_NO_CAP_LTS : "dunfell"
-YOCTO_DOC_VERSION : "3.4"
-YOCTO_DOC_VERSION_MINUS_ONE : "3.3.3"
-DISTRO_REL_TAG : "yocto-3.4"
-POKYVERSION : "26.0.0"
+YOCTO_DOC_VERSION : "3.4.1"
+YOCTO_DOC_VERSION_MINUS_ONE : "3.3.4"
+DISTRO_REL_TAG : "yocto-3.4.1"
+POKYVERSION : "26.0.1"
YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;"
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"
@@ -30,7 +30,7 @@ CENTOS7_HOST_PACKAGES_ESSENTIAL : "-y epel-release
\n\ $ sudo yum makecache
\n\ $ sudo yum install gawk make wget tar bzip2 gzip python3 unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
- perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python36-pip xz \
+ perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip xz \
which SDL-devel xterm mesa-libGL-devel zstd lz4
\n\ $ sudo pip3 install GitPython jinja2"
CENTOS8_HOST_PACKAGES_ESSENTIAL : "-y epel-release
diff --git a/poky/documentation/profile-manual/usage.rst b/poky/documentation/profile-manual/usage.rst
index 3d2840884f..56f1e66674 100644
--- a/poky/documentation/profile-manual/usage.rst
+++ b/poky/documentation/profile-manual/usage.rst
@@ -2138,7 +2138,7 @@ For LTTng userspace tracing, you need to have a properly instrumented
userspace program. For this example, we'll use the 'hello' test program
generated by the lttng-ust build.
-The 'hello' test program isn't installed on the rootfs by the lttng-ust
+The 'hello' test program isn't installed on the root filesystem by the lttng-ust
build, so we need to copy it over manually. First cd into the build
directory that contains the hello executable::
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index 9b1ead66b3..d9065b3619 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -214,13 +214,13 @@ the class.
=====================
The ``blacklist`` class prevents the OpenEmbedded build system from
-building specific recipes (blacklists them). To use this class, inherit
+building specific recipes. To use this class, inherit
the class globally and set :term:`PNBLACKLIST` for
-each recipe you wish to blacklist. Specify the :term:`PN`
+each recipe you wish to ignore. Specify the :term:`PN`
value as a variable flag (varflag) and provide a reason, which is
reported, if the package is requested to be built as the value. For
-example, if you want to blacklist a recipe called "exoticware", you add
-the following to your ``local.conf`` or distribution configuration::
+example, if you want to ignore a recipe called "exoticware", you
+add the following to your ``local.conf`` or distribution configuration::
INHERIT += "blacklist"
PNBLACKLIST[exoticware] = "Not supported by our organization."
@@ -515,6 +515,14 @@ used.
- Extensions that use ``distutils``-based build systems require the
``distutils`` class in their recipes.
+ .. note::
+
+ ``distutils`` has been deprecated in Python 3.10 and will be removed
+ in Python 3.12. For this reason the ``distutils3*`` classes are now
+ deprecated and will be removed from core in the near future. Instead,
+ use the ``setuptools3*`` classes.
+
+
- Extensions that use build systems based on ``setuptools3`` require
the :ref:`setuptools3 <ref-classes-setuptools3>` class in their
recipes.
@@ -570,11 +578,11 @@ be performed using the
.. note::
The user and group operations added using the
- extrausers
+ :ref:`extrausers <ref-classes-extrausers>`
class are not tied to a specific recipe outside of the recipe for the
image. Thus, the operations can be performed across the image as a
whole. Use the
- useradd
+ :ref:`useradd <ref-classes-useradd>`
class to add user and group configuration to a specific recipe.
Here is an example that uses this class in an image recipe::
@@ -845,10 +853,10 @@ provided by the recipe ``icecc-create-env-native.bb``.
icecc.
If you do not want the Icecream distributed compile support to apply to
-specific recipes or classes, you can effectively "blacklist" them by
-listing the recipes and classes using the
+specific recipes or classes, you can ask them to be ignored by Icecream
+by listing the recipes and classes using the
:term:`ICECC_USER_PACKAGE_BL` and
-:term:`ICECC_USER_CLASS_BL`, variables,
+:term:`ICECC_USER_CLASS_BL` variables,
respectively, in your ``local.conf`` file. Doing so causes the
OpenEmbedded build system to handle these compilations locally.
@@ -1362,9 +1370,9 @@ is set to 0.
Only a single Initramfs bundle can be added to the FIT image created by
``kernel-fitimage`` and the Initramfs bundle in FIT is optional.
-In case of Initramfs, the kernel is configured to be bundled with the rootfs
+In case of Initramfs, the kernel is configured to be bundled with the root filesystem
in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin).
-When the kernel is copied to RAM and executed, it unpacks the Initramfs rootfs.
+When the kernel is copied to RAM and executed, it unpacks the Initramfs root filesystem.
The Initramfs bundle can be enabled when :term:`INITRAMFS_IMAGE`
is specified and that :term:`INITRAMFS_IMAGE_BUNDLE` is set to 1.
The address where the Initramfs bundle is to be loaded by U-boot is specified
@@ -1712,13 +1720,13 @@ layers.
``overlayfs.bbclass``
=======================
-It's often desired in Embedded System design to have a read-only rootfs.
+It's often desired in Embedded System design to have a read-only root filesystem.
But a lot of different applications might want to have read-write access to
some parts of a filesystem. It can be especially useful when your update mechanism
-overwrites the whole rootfs, but you may want your application data to be preserved
+overwrites the whole root filesystem, but you may want your application data to be preserved
between updates. The :ref:`overlayfs <ref-classes-overlayfs>` class provides a way
to achieve that by means of ``overlayfs`` and at the same time keeping the base
-rootfs read-only.
+root filesystem read-only.
To use this class, set a mount point for a partition ``overlayfs`` is going to use as upper
layer in your machine configuration. The underlying file system can be anything that
@@ -1742,7 +1750,8 @@ Then you can specify writable directories on a recipe basis (e.g. in my-applicat
To support several mount points you can use a different variable flag. Assuming we
want to have a writable location on the file system, but do not need that the data
-survives a reboot, then we could have a ``mnt-overlay.mount`` unit for a ``tmpfs`` file system.
+survives a reboot, then we could have a ``mnt-overlay.mount`` unit for a ``tmpfs``
+file system.
In your machine configuration::
@@ -1752,9 +1761,68 @@ and then in your recipe::
OVERLAYFS_WRITABLE_PATHS[mnt-overlay] = "/usr/share/another-application"
+On a practical note, your application recipe might require multiple
+overlays to be mounted before running to avoid writing to the underlying
+file system (which can be forbidden in case of read-only file system)
+To achieve that :ref:`overlayfs <ref-classes-overlayfs>` provides a ``systemd``
+helper service for mounting overlays. This helper service is named
+``${PN}-overlays.service`` and can be depended on in your application recipe
+(named ``application`` in the following example) ``systemd`` unit by adding
+to the unit the following::
+
+ [Unit]
+ After=application-overlays.service
+ Requires=application-overlays.service
+
.. note::
The class does not support the ``/etc`` directory itself, because ``systemd`` depends on it.
+ In order to get ``/etc`` in overlayfs, see :ref:`overlayfs-etc <ref-classes-overlayfs-etc>`.
+
+.. _ref-classes-overlayfs-etc:
+
+``overlayfs-etc.bbclass``
+=========================
+
+In order to have the ``/etc`` directory in overlayfs a special handling at early
+boot stage is required. The idea is to supply a custom init script that mounts
+``/etc`` before launching the actual init program, because the latter already
+requires ``/etc`` to be mounted.
+
+Example usage in image recipe::
+
+ IMAGE_FEATURES += "overlayfs-etc"
+
+.. note::
+
+ This class must not be inherited directly. Use :term:`IMAGE_FEATURES` or :term:`EXTRA_IMAGE_FEATURES`
+
+Your machine configuration should define at least the device, mount point, and file system type
+you are going to use for ``overlayfs``::
+
+ OVERLAYFS_ETC_MOUNT_POINT = "/data"
+ OVERLAYFS_ETC_DEVICE = "/dev/mmcblk0p2"
+ OVERLAYFS_ETC_FSTYPE ?= "ext4"
+
+To control more mount options you should consider setting mount options
+(``defaults`` is used by default)::
+
+ OVERLAYFS_ETC_MOUNT_OPTIONS = "wsync"
+
+The class provides two options for ``/sbin/init`` generation:
+
+- The default option is to rename the original ``/sbin/init`` to ``/sbin/init.orig``
+ and place the generated init under original name, i.e. ``/sbin/init``. It has an advantage
+ that you won't need to change any kernel parameters in order to make it work,
+ but it poses a restriction that package-management can't be used, because updating
+ the init manager would remove the generated script.
+
+- If you wish to keep original init as is, you can set::
+
+ OVERLAYFS_ETC_USE_ORIG_INIT_NAME = "0"
+
+ Then the generated init will be named ``/sbin/preinit`` and you would need to extend your
+ kernel parameters manually in your bootloader configuration.
.. _ref-classes-own-mirrors:
@@ -2316,6 +2384,17 @@ The ``setuptools3`` class supports Python version 3.x extensions that
use build systems based on ``setuptools``. If your recipe uses these
build systems, the recipe needs to inherit the ``setuptools3`` class.
+.. _ref-classes-setuptools3-base:
+
+``setuptools3-base.bbclass``
+============================
+
+The ``setuptools3-base`` class provides a reusable base for other classes
+that support building Python version 3.x extensions. If you need
+functionality that is not provided by the :ref:`setuptools3 <ref-classes-setuptools3>` class, you may
+want to ``inherit setuptools3-base``. Some recipes do not need the tasks
+in the :ref:`setuptools3 <ref-classes-setuptools3>` class and inherit this class instead.
+
.. _ref-classes-sign_rpm:
``sign_rpm.bbclass``
@@ -2796,11 +2875,10 @@ The ``useradd*`` classes support the addition of users or groups for
usage by the package on the target. For example, if you have packages
that contain system services that should be run under their own user or
group, you can use these classes to enable creation of the user or
-group. The ``meta-skeleton/recipes-skeleton/useradd/useradd-example.bb``
+group. The :oe_git:`meta-skeleton/recipes-skeleton/useradd/useradd-example.bb
+</openembedded-core/tree/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb>`
recipe in the :term:`Source Directory` provides a simple
example that shows how to add three users and groups to two packages.
-See the ``useradd-example.bb`` recipe for more information on how to use
-these classes.
The ``useradd_base`` class provides basic functionality for user or
groups settings.
diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst
index 6f2970df23..e06dfd972b 100644
--- a/poky/documentation/ref-manual/faq.rst
+++ b/poky/documentation/ref-manual/faq.rst
@@ -302,10 +302,10 @@ attempt before any others by adding something like the following to the
``local.conf`` configuration file::
PREMIRRORS:prepend = "\
- git://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n \
- ftp://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n \
- http://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n \
- https://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n"
+ git://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
+ ftp://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
+ http://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
+ https://.*/.* &YOCTO_DL_URL;/mirror/sources/"
These changes cause the build system to intercept Git, FTP, HTTP, and
HTTPS requests and direct them to the ``http://`` sources mirror. You
@@ -342,10 +342,10 @@ You could make the following changes to the ``local.conf`` configuration
file as long as the :term:`PREMIRRORS` server is current::
PREMIRRORS:prepend = "\
- git://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n \
- ftp://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n \
- http://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n \
- https://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n"
+ git://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
+ ftp://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
+ http://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
+ https://.*/.* &YOCTO_DL_URL;/mirror/sources/"
BB_FETCH_PREMIRRORONLY = "1"
These changes would cause the build system to successfully fetch source
diff --git a/poky/documentation/ref-manual/features.rst b/poky/documentation/ref-manual/features.rst
index ded653221c..f7abb417ba 100644
--- a/poky/documentation/ref-manual/features.rst
+++ b/poky/documentation/ref-manual/features.rst
@@ -219,6 +219,10 @@ Here are the image features available for all images:
- *empty-root-password:* Sets the root password to an empty string,
which allows logins with a blank password.
+- *overlayfs-etc:* Configures the ``/etc`` directory to be in ``overlayfs``.
+ This allows to store device specific information elsewhere, especially
+ if the root filesystem is configured to be read-only.
+
- *package-management:* Installs package management tools and preserves
the package manager database.
diff --git a/poky/documentation/ref-manual/images.rst b/poky/documentation/ref-manual/images.rst
index c6a7239c7e..0e3351bb7b 100644
--- a/poky/documentation/ref-manual/images.rst
+++ b/poky/documentation/ref-manual/images.rst
@@ -112,7 +112,7 @@ Following is a list of supported recipes:
development headers and libraries to form a complete standalone SDK
and is suitable for development using the target.
-- ``core-image-testmaster``: A "master" image designed to be used for
+- ``core-image-testmaster``: A "controller" image designed to be used for
automated runtime testing. Provides a "known good" image that is
deployed to a separate partition so that you can boot into it and use
it to deploy a second image to be tested. You can find more
diff --git a/poky/documentation/ref-manual/kickstart.rst b/poky/documentation/ref-manual/kickstart.rst
index cac9f2f491..885c721297 100644
--- a/poky/documentation/ref-manual/kickstart.rst
+++ b/poky/documentation/ref-manual/kickstart.rst
@@ -54,8 +54,9 @@ must also provide one of the ``--ondrive``, ``--ondisk``, or
.. note::
The mount program must understand the PARTUUID syntax you use with
- ``--use-uuid`` and non-root *mountpoint*, including swap. The BusyBox
- versions of these application are currently excluded.
+ ``--use-uuid`` and non-root *mountpoint*, including swap. The default
+ configuration of BusyBox in OpenEmbedded supports this, but this may
+ be disabled in custom configurations.
Here is an example that uses "/" as the mountpoint. The command uses
``--ondisk`` to force the partition onto the ``sdb`` disk::
@@ -86,7 +87,7 @@ the ``part`` and ``partition`` commands:
If you use ``--source rootfs``, Wic creates a partition as large as
needed and fills it with the contents of the root filesystem pointed
- to by the ``-r`` command-line option or the equivalent rootfs derived
+ to by the ``-r`` command-line option or the equivalent root filesystem derived
from the ``-e`` command-line option. The filesystem type used to
create the partition is driven by the value of the ``--fstype``
option specified for the partition. See the entry on ``--fstype``
@@ -95,7 +96,7 @@ the ``part`` and ``partition`` commands:
If you use ``--source plugin-name``, Wic creates a partition as large
as needed and fills it with the contents of the partition that is
generated by the specified plugin name using the data pointed to by
- the ``-r`` command-line option or the equivalent rootfs derived from
+ the ``-r`` command-line option or the equivalent root filesystem derived from
the ``-e`` command-line option. Exactly what those contents are and
filesystem type used are dependent on the given plugin
implementation.
diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst
index 792c099d0c..3364311219 100644
--- a/poky/documentation/ref-manual/qa-checks.rst
+++ b/poky/documentation/ref-manual/qa-checks.rst
@@ -28,7 +28,7 @@ error form along with an explanation.
.. note::
- At the end of each message, the name of the associated QA test (as
- listed in the ":ref:`insane.bbclass <ref-classes-insane>`"
+ listed in the ":ref:`ref-classes-insane`"
section) appears within square brackets.
- As mentioned, this list of error and warning messages is for QA
@@ -749,7 +749,7 @@ either raise a warning or an error message, using the
variables, respectively. You can also disable checks within a particular
recipe using :term:`INSANE_SKIP`. For information on
how to work with the QA checks, see the
-":ref:`insane.bbclass <ref-classes-insane>`" section.
+":ref:`ref-classes-insane`" section.
.. note::
diff --git a/poky/documentation/ref-manual/structure.rst b/poky/documentation/ref-manual/structure.rst
index 5f00edb06c..5d2e3a86ef 100644
--- a/poky/documentation/ref-manual/structure.rst
+++ b/poky/documentation/ref-manual/structure.rst
@@ -231,7 +231,7 @@ is available via the :term:`TOPDIR` variable.
-----------------------
The OpenEmbedded build system creates this directory when you enable
-build history via the ``buildhistory`` class file. The directory
+build history via the :ref:`buildhistory <ref-classes-buildhistory>` class file. The directory
organizes build information into image, packages, and SDK
subdirectories. For information on the build history feature, see the
":ref:`dev-manual/common-tasks:maintaining build output quality`"
diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst
index d12e8dfbe3..d7b7cec283 100644
--- a/poky/documentation/ref-manual/system-requirements.rst
+++ b/poky/documentation/ref-manual/system-requirements.rst
@@ -37,17 +37,13 @@ Supported Linux Distributions
Currently, the Yocto Project is supported on the following
distributions:
-- Ubuntu 16.04 (LTS)
-
- Ubuntu 18.04 (LTS)
- Ubuntu 20.04 (LTS)
-- Fedora 30
-
-- Fedora 31
+- Fedora 33
-- Fedora 32
+- Fedora 34
- CentOS 7.x
@@ -59,8 +55,11 @@ distributions:
- Debian GNU/Linux 10.x (Buster)
-- openSUSE Leap 15.1
+- Debian GNU/Linux 11.x (Bullseye)
+
+- OpenSUSE Leap 15.1
+- OpenSUSE Leap 15.2
.. note::
diff --git a/poky/documentation/ref-manual/tasks.rst b/poky/documentation/ref-manual/tasks.rst
index 299969dea4..b51462b79a 100644
--- a/poky/documentation/ref-manual/tasks.rst
+++ b/poky/documentation/ref-manual/tasks.rst
@@ -80,7 +80,7 @@ task runs with the current working directory set to
Recipes implementing this task should inherit the
:ref:`deploy <ref-classes-deploy>` class and should write the output
to ``${``\ :term:`DEPLOYDIR`\ ``}``, which is not to be
-confused with ``${DEPLOY_DIR}``. The ``deploy`` class sets up
+confused with ``${DEPLOY_DIR}``. The :ref:`deploy <ref-classes-deploy>` class sets up
``do_deploy`` as a shared state (sstate) task that can be accelerated
through sstate use. The sstate mechanism takes care of copying the
output from ``${DEPLOYDIR}`` to ``${DEPLOY_DIR_IMAGE}``.
@@ -102,7 +102,7 @@ Adding ``do_deploy`` after other tasks works the same way.
.. note::
You do not need to add ``before do_build`` to the ``addtask`` command
- (though it is harmless), because the ``base`` class contains the following::
+ (though it is harmless), because the :ref:`base <ref-classes-base>` class contains the following::
do_build[recrdeptask] += "do_deploy"
@@ -326,21 +326,19 @@ file as a patch file::
file://file;apply=yes \
"
-Conversely, if you have a directory full of patch files and you want to
-exclude some so that the ``do_patch`` task does not apply them during
-the patch phase, you can use the "apply=no" parameter with the
+Conversely, if you have a file whose file type is ``.patch`` or ``.diff``
+and you want to exclude it so that the ``do_patch`` task does not apply
+it during the patch phase, you can use the "apply=no" parameter with the
:term:`SRC_URI` statement::
SRC_URI = " \
git://path_to_repo/some_package \
- file://path_to_lots_of_patch_files \
- file://path_to_lots_of_patch_files/patch_file5;apply=no \
+ file://file1.patch \
+ file://file2.patch;apply=no \
"
-In the
-previous example, assuming all the files in the directory holding the
-patch files end with either ``.patch`` or ``.diff``, every file would be
-applied as a patch by default except for the ``patch_file5`` patch.
+In the previous example ``file1.patch`` would be applied as a patch by default
+while ``file2.patch`` would not be applied.
You can find out more about the patching process in the
":ref:`overview-manual/concepts:patching`" section in
@@ -417,7 +415,7 @@ dependencies specified by :term:`DEPENDS`). See the
Removes work files after the OpenEmbedded build system has finished with
them. You can learn more by looking at the
-":ref:`rm_work.bbclass <ref-classes-rm-work>`" section.
+":ref:`ref-classes-rm-work`" section.
.. _ref-tasks-unpack:
diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst
index eccae91a1c..09e0a98bb5 100644
--- a/poky/documentation/ref-manual/terms.rst
+++ b/poky/documentation/ref-manual/terms.rst
@@ -134,10 +134,27 @@ universal, the list includes them just in case:
the Texas Instruments ARM Cortex-A8 development board).
:term:`Container Layer`
- Layers that hold other layers. An example of a container layer is
- OpenEmbedded's `meta-openembedded
- <https://github.com/openembedded/meta-openembedded>`_ layer. The
- ``meta-openembedded`` layer contains many ``meta-*`` layers.
+ A flexible definition that typically refers to a single Git checkout
+ which contains multiple (and typically related) sub-layers which can
+ be included independently in your project's ``bblayers.conf`` file.
+
+ In some cases, such as with OpenEmbedded's
+ `meta-openembedded <https://github.com/openembedded/meta-openembedded>`_
+ layer, the top level ``meta-openembedded/`` directory is not itself an actual layer,
+ so you would never explicitly include it in a ``bblayers.conf`` file;
+ rather, you would include any number of its layer subdirectories, such as
+ `meta-openembedded/meta-oe <https://github.com/openembedded/meta-openembedded/tree/master/meta-oe>`_,
+ `meta-openembedded/meta-python <https://github.com/openembedded/meta-openembedded/tree/master/meta-python>`_
+ and so on.
+
+ On the other hand, some container layers (such as
+ `meta-security <https://git.yoctoproject.org/cgit/cgit.cgi/meta-security>`_)
+ have a top-level directory that is itself an actual layer, as well as
+ a variety of sub-layers, both of which could be included in your
+ ``bblayers.conf`` file.
+
+ In either case, the phrase "container layer" is simply used to describe
+ a directory structure which contains multiple valid OpenEmbedded layers.
:term:`Cross-Development Toolchain`
In general, a cross-development toolchain is a collection of software
@@ -387,7 +404,7 @@ universal, the list includes them just in case:
:term:`Upstream`
A reference to source code or repositories that are not
- local to the development system but located in a master area that is
+ local to the development system but located in a remote area that is
controlled by the maintainer of the source code. For example, in
order for a developer to work on a particular piece of code, they
need to first get a copy of it from an "upstream" source.
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index b9e97719b9..b0621168ae 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -56,7 +56,7 @@ system and gives an overview of their function and contents.
ALTERNATIVE:busybox = "sh sed test bracket"
For more information on the alternatives system, see the
- ":ref:`update-alternatives.bbclass <ref-classes-update-alternatives>`"
+ ":ref:`ref-classes-update-alternatives`"
section.
:term:`ALTERNATIVE_LINK_NAME`
@@ -76,7 +76,7 @@ system and gives an overview of their function and contents.
If :term:`ALTERNATIVE_LINK_NAME` is not defined, it defaults to ``${bindir}/name``.
For more information on the alternatives system, see the
- ":ref:`update-alternatives.bbclass <ref-classes-update-alternatives>`"
+ ":ref:`ref-classes-update-alternatives`"
section.
:term:`ALTERNATIVE_PRIORITY`
@@ -92,7 +92,7 @@ system and gives an overview of their function and contents.
ALTERNATIVE_PRIORITY_pkg[name] = "priority"
For more information on the alternatives system, see the
- ":ref:`update-alternatives.bbclass <ref-classes-update-alternatives>`"
+ ":ref:`ref-classes-update-alternatives`"
section.
:term:`ALTERNATIVE_TARGET`
@@ -122,8 +122,7 @@ system and gives an overview of their function and contents.
task while retaining support for the command if necessary.
For more information on the alternatives system, see the
- ":ref:`update-alternatives.bbclass <ref-classes-update-alternatives>`"
- section.
+ ":ref:`ref-classes-update-alternatives`" section.
:term:`ANY_OF_DISTRO_FEATURES`
When inheriting the
@@ -400,7 +399,7 @@ system and gives an overview of their function and contents.
where:
action is:
- ABORT: Immediately abort the build when
+ ABORT: Immediately stop the build when
a threshold is broken.
STOPTASKS: Stop the build after the currently
executing tasks have finished when
@@ -438,7 +437,7 @@ system and gives an overview of their function and contents.
The first example works only if you also provide the
:term:`BB_DISKMON_WARNINTERVAL`
variable in the ``conf/local.conf``. This example causes the build
- system to immediately abort when either the disk space in
+ system to immediately stop when either the disk space in
``${TMPDIR}`` drops below 1 Gbyte or the available free inodes drops
below 100 Kbytes. Because two directories are provided with the
variable, the build system also issue a warning when the disk space
@@ -452,7 +451,7 @@ system and gives an overview of their function and contents.
directory drops below 1 Gbyte. No disk monitoring occurs for the free
inodes in this case.
- The final example immediately aborts the build when the number of
+ The final example immediately stops the build when the number of
free inodes in the ``${TMPDIR}`` directory drops below 100 Kbytes. No
disk space monitoring for the directory itself occurs in this case.
@@ -641,8 +640,10 @@ system and gives an overview of their function and contents.
introduce a hard dependency on those other layers.
Use the following form for :term:`BBFILES_DYNAMIC`:
- collection_name:filename_pattern The following example identifies two
- collection names and two filename patterns::
+ ``collection_name:filename_pattern``.
+
+ The following example identifies two collection names and two
+ filename patterns::
BBFILES_DYNAMIC += " \
clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \
@@ -650,7 +651,7 @@ system and gives an overview of their function and contents.
"
This next example shows an error message that occurs because invalid
- entries are found, which cause parsing to abort:
+ entries are found, which cause parsing to fail:
.. code-block:: none
@@ -771,7 +772,7 @@ system and gives an overview of their function and contents.
:ref:`binconfig-disabled <ref-classes-binconfig-disabled>` class,
this variable specifies binary configuration scripts to disable in
favor of using ``pkg-config`` to query the information. The
- ``binconfig-disabled`` class will modify the specified scripts to
+ :ref:`binconfig-disabled <ref-classes-binconfig-disabled>` class will modify the specified scripts to
return an error so that calls to them can be easily found and
replaced.
@@ -801,7 +802,7 @@ system and gives an overview of their function and contents.
``meta/classes/binconfig.bbclass`` in the :term:`Source Directory`.
You can also find general
information on the class in the
- ":ref:`binconfig.bbclass <ref-classes-binconfig>`" section.
+ ":ref:`ref-classes-binconfig`" section.
:term:`BP`
The base recipe name and version but without any special recipe name
@@ -939,13 +940,13 @@ system and gives an overview of their function and contents.
When inheriting the :ref:`buildhistory <ref-classes-buildhistory>`
class, this variable specifies whether or not to commit the build
history output in a local Git repository. If set to "1", this local
- repository will be maintained automatically by the ``buildhistory``
+ repository will be maintained automatically by the :ref:`buildhistory <ref-classes-buildhistory>`
class and a commit will be created on every build for changes to each
top-level subdirectory of the build history output (images, packages,
and sdk). If you want to track changes to build history over time,
you should set this value to "1".
- By default, the ``buildhistory`` class does not commit the build
+ By default, the :ref:`buildhistory <ref-classes-buildhistory>` class does not commit the build
history output in a local Git repository::
BUILDHISTORY_COMMIT ?= "0"
@@ -962,7 +963,7 @@ system and gives an overview of their function and contents.
email@host". Providing an email address or host that is not valid
does not produce an error.
- By default, the ``buildhistory`` class sets the variable as follows::
+ By default, the :ref:`buildhistory <ref-classes-buildhistory>` class sets the variable as follows::
BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>"
@@ -970,9 +971,9 @@ system and gives an overview of their function and contents.
When inheriting the :ref:`buildhistory <ref-classes-buildhistory>`
class, this variable specifies the directory in which build history
information is kept. For more information on how the variable works,
- see the ``buildhistory.class``.
+ see the ``buildhistory.bbclass`` file.
- By default, the ``buildhistory`` class sets the directory as follows::
+ By default, the :ref:`buildhistory <ref-classes-buildhistory>` class sets the directory as follows::
BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory"
@@ -999,7 +1000,7 @@ system and gives an overview of their function and contents.
This saves one file per task and lists the SHA-256 checksums for
each file staged (i.e. the output of the task).
- By default, the ``buildhistory`` class enables the following
+ By default, the :ref:`buildhistory <ref-classes-buildhistory>` class enables the following
features::
BUILDHISTORY_FEATURES ?= "image package sdk"
@@ -1015,7 +1016,7 @@ system and gives an overview of their function and contents.
any file. Specifying an invalid path does not produce an error.
Consequently, you can include files that might not always be present.
- By default, the ``buildhistory`` class provides paths to the
+ By default, the :ref:`buildhistory <ref-classes-buildhistory>` class provides paths to the
following files::
BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group"
@@ -1028,7 +1029,7 @@ system and gives an overview of their function and contents.
useful when build history is populated from multiple sources that may not
all use the same top level directory.
- By default, the ``buildhistory`` class sets the variable as follows::
+ By default, the :ref:`buildhistory <ref-classes-buildhistory>` class sets the variable as follows::
BUILDHISTORY_PATH_PREFIX_STRIP ?= ""
@@ -1047,7 +1048,7 @@ system and gives an overview of their function and contents.
that you have set up manually using ``git remote`` within the local
repository.
- By default, the ``buildhistory`` class sets the variable as follows::
+ By default, the :ref:`buildhistory <ref-classes-buildhistory>` class sets the variable as follows::
BUILDHISTORY_PUSH_REPO ?= ""
@@ -1321,7 +1322,7 @@ system and gives an overview of their function and contents.
The default value, which is "CLOSED Proprietary", for
:term:`COPYLEFT_LICENSE_EXCLUDE` is set by the
:ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which
- is inherited by the ``archiver`` class.
+ is inherited by the :ref:`archiver <ref-classes-archiver>` class.
:term:`COPYLEFT_LICENSE_INCLUDE`
A space-separated list of licenses to include in the source archived
@@ -1332,7 +1333,7 @@ system and gives an overview of their function and contents.
The default value is set by the
:ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which
- is inherited by the ``archiver`` class. The default value includes
+ is inherited by the :ref:`archiver <ref-classes-archiver>` class. The default value includes
"GPL*", "LGPL*", and "AGPL*".
:term:`COPYLEFT_PN_EXCLUDE`
@@ -1347,7 +1348,7 @@ system and gives an overview of their function and contents.
The default value, which is "" indicating to not explicitly exclude
any recipes by name, for :term:`COPYLEFT_PN_EXCLUDE` is set by the
:ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which
- is inherited by the ``archiver`` class.
+ is inherited by the :ref:`archiver <ref-classes-archiver>` class.
:term:`COPYLEFT_PN_INCLUDE`
A list of recipes to include in the source archived by the
@@ -1361,7 +1362,7 @@ system and gives an overview of their function and contents.
The default value, which is "" indicating to not explicitly include
any recipes by name, for :term:`COPYLEFT_PN_INCLUDE` is set by the
:ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which
- is inherited by the ``archiver`` class.
+ is inherited by the :ref:`archiver <ref-classes-archiver>` class.
:term:`COPYLEFT_RECIPE_TYPES`
A space-separated list of recipe types to include in the source
@@ -1371,7 +1372,7 @@ system and gives an overview of their function and contents.
The default value, which is "target*", for :term:`COPYLEFT_RECIPE_TYPES`
is set by the :ref:`copyleft_filter <ref-classes-copyleft_filter>`
- class, which is inherited by the ``archiver`` class.
+ class, which is inherited by the :ref:`archiver <ref-classes-archiver>` class.
:term:`COPY_LIC_DIRS`
If set to "1" along with the
@@ -1803,11 +1804,11 @@ system and gives an overview of their function and contents.
:term:`DEPLOYDIR`
When inheriting the :ref:`deploy <ref-classes-deploy>` class, the
:term:`DEPLOYDIR` points to a temporary work area for deployed files that
- is set in the ``deploy`` class as follows::
+ is set in the :ref:`deploy <ref-classes-deploy>` class as follows::
DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
- Recipes inheriting the ``deploy`` class should copy files to be
+ Recipes inheriting the :ref:`deploy <ref-classes-deploy>` class should copy files to be
deployed into :term:`DEPLOYDIR`, and the class will take care of copying
them into :term:`DEPLOY_DIR_IMAGE`
afterwards.
@@ -1850,7 +1851,7 @@ system and gives an overview of their function and contents.
:term:`DISTRO_EXTRA_RDEPENDS`
Specifies a list of distro-specific packages to add to all images.
- This variable takes affect through ``packagegroup-base`` so the
+ This variable takes effect through ``packagegroup-base`` so the
variable only really applies to the more full-featured images that
include ``packagegroup-base``. You can use this variable to keep
distro policy out of generic images. As with all other distro
@@ -1983,8 +1984,7 @@ system and gives an overview of their function and contents.
:term:`DISTUTILS_SETUP_PATH`
When used by recipes that inherit the
- :ref:`distutils3 <ref-classes-distutils3>` or
- :ref:`setuptools3 <ref-classes-setuptools3>` class, this variable should
+ :ref:`distutils3 <ref-classes-distutils3>` class, this variable should
be used to specify the directory in which the ``setup.py`` file is
located if it is not at the root of the source tree (as specified by
:term:`S`). For example, in a recipe where the sources are fetched from
@@ -1994,6 +1994,13 @@ system and gives an overview of their function and contents.
S = "${WORKDIR}/git"
DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule"
+ .. note::
+
+ ``distutils`` has been deprecated in Python 3.10 and will be removed
+ in Python 3.12. For this reason, the use of :ref:`distutils3 <ref-classes-distutils3>`
+ is deprecated. Instead use :ref:`setuptools3 <ref-classes-setuptools3>` and the
+ :term:`SETUPTOOLS_SETUP_PATH` variable.
+
:term:`DL_DIR`
The central download directory used by the build process to store
downloads. By default, :term:`DL_DIR` gets files suitable for mirroring
@@ -2077,7 +2084,7 @@ system and gives an overview of their function and contents.
errors by the OpenEmbedded build system. You set this variable in
your distribution configuration file. For a list of the checks you
can control with this variable, see the
- ":ref:`insane.bbclass <ref-classes-insane>`" section.
+ ":ref:`ref-classes-insane`" section.
:term:`EXCLUDE_FROM_SHLIBS`
Triggers the OpenEmbedded build system's shared libraries resolver to
@@ -2156,7 +2163,7 @@ system and gives an overview of their function and contents.
system uses to locate unpacked recipe source code.
For more information on ``externalsrc.bbclass``, see the
- ":ref:`externalsrc.bbclass <ref-classes-externalsrc>`" section. You
+ ":ref:`ref-classes-externalsrc`" section. You
can also find information on how to use this variable in the
":ref:`dev-manual/common-tasks:building software from an external source`"
section in the Yocto Project Development Tasks Manual.
@@ -2170,7 +2177,7 @@ system and gives an overview of their function and contents.
Directory.
For more information on ``externalsrc.bbclass``, see the
- ":ref:`externalsrc.bbclass <ref-classes-externalsrc>`" section. You
+ ":ref:`ref-classes-externalsrc`" section. You
can also find information on how to use this variable in the
":ref:`dev-manual/common-tasks:building software from an external source`"
section in the Yocto Project Development Tasks Manual.
@@ -2291,7 +2298,7 @@ system and gives an overview of their function and contents.
group configurations to a specific recipe.
The set list of commands you can configure using the
- :term:`EXTRA_USERS_PARAMS` is shown in the ``extrausers`` class. These
+ :term:`EXTRA_USERS_PARAMS` is shown in the :ref:`extrausers <ref-classes-extrausers>` class. These
commands map to the normal Unix commands of the same names::
# EXTRA_USERS_PARAMS = "\
@@ -2626,7 +2633,7 @@ system and gives an overview of their function and contents.
:term:`FONT_PACKAGES`
When inheriting the :ref:`fontcache <ref-classes-fontcache>` class,
this variable identifies packages containing font files that need to
- be cached by Fontconfig. By default, the ``fontcache`` class assumes
+ be cached by Fontconfig. By default, the :ref:`fontcache <ref-classes-fontcache>` class assumes
that fonts are in the recipe's main package (i.e.
``${``\ :term:`PN`\ ``}``). Use this variable if fonts you
need are in a package other than that main package.
@@ -2665,6 +2672,13 @@ system and gives an overview of their function and contents.
:term:`GDB`
The minimal command and arguments to run the GNU Debugger.
+ :term:`GIR_EXTRA_LIBS_PATH`
+ Allows to specify an extra search path for ``.so`` files
+ in GLib related recipes using GObject introspection,
+ and which do not compile without this setting.
+ See the ":ref:`dev-manual/common-tasks:enabling gobject introspection support`"
+ section for details.
+
:term:`GITDIR`
The directory in which a local copy of a Git repository is stored
when it is cloned.
@@ -2834,7 +2848,7 @@ system and gives an overview of their function and contents.
:term:`ICECC_DISABLED`
Disables or enables the ``icecc`` (Icecream) function. For more
information on this function and best practices for using this
- variable, see the ":ref:`icecc.bbclass <ref-classes-icecc>`"
+ variable, see the ":ref:`ref-classes-icecc`"
section.
Setting this variable to "1" in your ``local.conf`` disables the
@@ -2892,9 +2906,9 @@ system and gives an overview of their function and contents.
:ref:`icecc <ref-classes-icecc>` class. You set this variable in
your ``local.conf`` file.
- When you list classes using this variable, you are "blacklisting"
- them from distributed compilation across remote hosts. Any classes
- you list will be distributed and compiled locally.
+ When you list classes using this variable, the recipes inheriting
+ those classes will not benefit from distributed compilation across
+ remote hosts. Instead they will be built locally.
:term:`ICECC_USER_PACKAGE_BL`
Identifies user recipes that you do not want the Icecream distributed
@@ -2902,9 +2916,9 @@ system and gives an overview of their function and contents.
:ref:`icecc <ref-classes-icecc>` class. You set this variable in
your ``local.conf`` file.
- When you list packages using this variable, you are "blacklisting"
- them from distributed compilation across remote hosts. Any packages
- you list will be distributed and compiled locally.
+ When you list recipes using this variable, you are excluding them
+ from distributed compilation across remote hosts. Instead they will
+ be built locally.
:term:`ICECC_USER_PACKAGE_WL`
Identifies user recipes that use an empty
@@ -3731,7 +3745,7 @@ system and gives an overview of their function and contents.
INSANE_SKIP:${PN} += "dev-so"
- See the ":ref:`insane.bbclass <ref-classes-insane>`" section for a
+ See the ":ref:`ref-classes-insane`" section for a
list of the valid QA checks you can specify using this variable.
:term:`INSTALL_TIMEZONE_FILE`
@@ -3888,7 +3902,7 @@ system and gives an overview of their function and contents.
typically append this variable to enable extended image types. An
example is the "kernel-fitimage", which enables fitImage support and
resides in ``meta/classes/kernel-fitimage.bbclass``. You can register
- custom kernel image types with the ``kernel`` class using this
+ custom kernel image types with the :ref:`kernel <ref-classes-kernel>` class using this
variable.
:term:`KERNEL_DEVICETREE`
@@ -4116,7 +4130,7 @@ system and gives an overview of their function and contents.
:term:`KERNEL_VERSION`
Specifies the version of the kernel as extracted from ``version.h``
or ``utsrelease.h`` within the kernel sources. Effects of setting
- this variable do not take affect until the kernel has been
+ this variable do not take effect until the kernel has been
configured. Consequently, attempting to refer to this variable in
contexts prior to configuration will not work.
@@ -4283,7 +4297,7 @@ system and gives an overview of their function and contents.
that the :ref:`debian <ref-classes-debian>` class applies its
naming policy to given a recipe that packages multiple libraries.
- This variable works in conjunction with the ``debian`` class.
+ This variable works in conjunction with the :ref:`debian <ref-classes-debian>` class.
:term:`LIC_FILES_CHKSUM`
Checksums of the license text in the recipe source code.
@@ -4364,9 +4378,9 @@ system and gives an overview of their function and contents.
section in the Yocto Project Development Tasks Manual.
:term:`LICENSE_FLAGS`
- Specifies additional flags for a recipe you must whitelist through
+ Specifies additional flags for a recipe you must allow through
:term:`LICENSE_FLAGS_WHITELIST` in
- order to allow the recipe to be built. When providing multiple flags,
+ order for the recipe to be built. When providing multiple flags,
separate them with spaces.
This value is independent of :term:`LICENSE` and is
@@ -4379,8 +4393,7 @@ system and gives an overview of their function and contents.
:term:`LICENSE_FLAGS_WHITELIST`
Lists license flags that when specified in
:term:`LICENSE_FLAGS` within a recipe should not
- prevent that recipe from being built. This practice is otherwise
- known as "whitelisting" license flags. For more information, see the
+ prevent that recipe from being built. For more information, see the
":ref:`dev-manual/common-tasks:enabling commercially licensed recipes`"
section in the Yocto Project Development Tasks Manual.
@@ -4733,7 +4746,7 @@ system and gives an overview of their function and contents.
configuration file, a distribution configuration file, an append file
for the recipe, or the recipe itself). If you use this variable, you
must also be sure to list the module name in the
- :term:`KERNEL_MODULE_AUTOLOAD`
+ :term:`KERNEL_MODULE_PROBECONF`
variable.
Here is the general syntax::
@@ -4908,9 +4921,7 @@ system and gives an overview of their function and contents.
See the ``meta/classes/binconfig.bbclass`` in the
:term:`Source Directory` for details on how this class
- applies these additional sed command arguments. For general
- information on the ``binconfig`` class, see the
- ":ref:`binconfig.bbclass <ref-classes-binconfig>`" section.
+ applies these additional sed command arguments.
:term:`OE_IMPORTS`
An internal variable used to tell the OpenEmbedded build system what
@@ -5084,7 +5095,7 @@ system and gives an overview of their function and contents.
For information on packaging and build performance effects as a
result of the package manager in use, see the
- ":ref:`package.bbclass <ref-classes-package>`" section.
+ ":ref:`ref-classes-package`" section.
:term:`PACKAGE_DEBUG_SPLIT_STYLE`
Determines how to split up and package debug and source information
@@ -5186,8 +5197,8 @@ system and gives an overview of their function and contents.
.. note::
You can use the :term:`PACKAGE_FEED_ARCHS`
- variable to whitelist specific package architectures. If you do
- not need to whitelist specific architectures, which is a common
+ variable to allow specific package architectures. If you do
+ not need to allow specific architectures, which is a common
case, you can omit this variable. Omitting the variable results in
all available architectures for the current machine being included
into remote package feeds.
@@ -5303,7 +5314,7 @@ system and gives an overview of their function and contents.
:term:`PACKAGE_WRITE_DEPS`
Specifies a list of dependencies for post-installation and
pre-installation scripts on native/cross tools. If your
- post-installation or pre-installation script can execute at rootfs
+ post-installation or pre-installation script can execute at root filesystem
creation time rather than on the target but depends on a native tool
in order to execute, you need to list the tools in
:term:`PACKAGE_WRITE_DEPS`.
@@ -5855,10 +5866,10 @@ system and gives an overview of their function and contents.
:term:`Build Directory`::
PREMIRRORS:prepend = "\
- git://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n \
- ftp://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n \
- http://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n \
- https://.*/.* &YOCTO_DL_URL;/mirror/sources/ \n"
+ git://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
+ ftp://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
+ http://.*/.* &YOCTO_DL_URL;/mirror/sources/ \
+ https://.*/.* &YOCTO_DL_URL;/mirror/sources/"
These changes cause the
build system to intercept Git, FTP, HTTP, and HTTPS requests and
@@ -6007,7 +6018,7 @@ system and gives an overview of their function and contents.
names used when installing the Python headers and libraries in
sysroot (e.g. ``.../python3.3m/...``).
- Recipes that inherit the ``distutils3`` class during cross-builds also
+ Recipes that inherit the :ref:`distutils3 <ref-classes-distutils3>` class during cross-builds also
use this variable to locate the headers and libraries of the
appropriate Python that the extension is targeting.
@@ -6198,7 +6209,7 @@ system and gives an overview of their function and contents.
:term:`RM_WORK_EXCLUDE`
With ``rm_work`` enabled, this variable specifies a list of recipes
whose work directories should not be removed. See the
- ":ref:`rm_work.bbclass <ref-classes-rm-work>`" section for more
+ ":ref:`ref-classes-rm-work`" section for more
details.
:term:`ROOT_HOME`
@@ -6583,9 +6594,9 @@ system and gives an overview of their function and contents.
:ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class.
This list overrides the variables specified using the
- :term:`SDK_LOCAL_CONF_BLACKLIST`
- variable as well as any variables identified by automatic
- blacklisting due to the "/" character being found at the start of the
+ :term:`SDK_LOCAL_CONF_BLACKLIST` variable as well as
+ other variables automatically added due to the "/" character
+ being found at the start of the
value, which is usually indicative of being a path and thus might not
be valid on the system where the SDK is installed.
@@ -6756,23 +6767,21 @@ system and gives an overview of their function and contents.
$ bitbake -c populate_sdk imagename
:term:`SDKMACHINE`
- The machine for which the SDK is built. In other words, the SDK is
- built such that it runs on the target you specify with the
- :term:`SDKMACHINE` value. The value points to a corresponding ``.conf``
- file under ``conf/machine-sdk/``.
-
- You can use "i686" and "x86_64" as possible values for this variable.
- The variable defaults to "i686" and is set in the local.conf file in
- the Build Directory.
- ::
+ The machine for which the SDK is built. In other words, the SDK is built
+ such that it runs on the target you specify with the :term:`SDKMACHINE`
+ value. The value points to a corresponding ``.conf`` file under
+ ``conf/machine-sdk/`` in the enabled layers, for example ``aarch64``,
+ ``i586``, ``i686``, ``ppc64``, ``ppc64le``, and ``x86_64`` are
+ :oe_git:`available in OpenEmbedded-Core </openembedded-core/tree/meta/conf/machine-sdk>`.
- SDKMACHINE ?= "i686"
+ The variable defaults to :term:`BUILD_ARCH` so that SDKs are built for the
+ architecture of the build machine.
.. note::
You cannot set the :term:`SDKMACHINE`
variable in your distribution configuration file. If you do, the
- configuration will not take affect.
+ configuration will not take effect.
:term:`SDKPATH`
Defines the path offered to the user for installation of the SDK that
@@ -6837,6 +6846,30 @@ system and gives an overview of their function and contents.
EXTRA_IMAGE_FEATURES += "read-only-rootfs"
+ :term:`SETUPTOOLS_BUILD_ARGS`
+ When used by recipes that inherit the
+ :ref:`setuptools3 <ref-classes-setuptools3>` class, this variable can
+ be used to specify additional arguments to be passed to ``setup.py build``
+ in the ``setuptools3_do_compile()`` task.
+
+ :term:`SETUPTOOLS_INSTALL_ARGS`
+ When used by recipes that inherit the
+ :ref:`setuptools3 <ref-classes-setuptools3>` class, this variable can
+ be used to specify additional arguments to be passed to ``setup.py install``
+ in the ``setuptools3_do_install()`` task.
+
+ :term:`SETUPTOOLS_SETUP_PATH`
+ When used by recipes that inherit the
+ :ref:`setuptools3 <ref-classes-setuptools3>` class, this variable should
+ be used to specify the directory in which the ``setup.py`` file is
+ located if it is not at the root of the source tree (as specified by
+ :term:`S`). For example, in a recipe where the sources are fetched from
+ a Git repository and ``setup.py`` is in a ``python/pythonmodule``
+ subdirectory, you would have this::
+
+ S = "${WORKDIR}/git"
+ SETUPTOOLS_SETUP_PATH = "${S}/python/pythonmodule"
+
:term:`SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS`
A list of recipe dependencies that should not be used to determine
signatures of tasks from one recipe when they depend on tasks from
@@ -7018,91 +7051,13 @@ system and gives an overview of their function and contents.
for additional information.
:term:`SRC_URI`
- The list of source files - local or remote. This variable tells the
- OpenEmbedded build system which bits to pull in for the build and how
- to pull them in. For example, if the recipe or append file only needs
- to fetch a tarball from the Internet, the recipe or append file uses
- a single :term:`SRC_URI` entry. On the other hand, if the recipe or
- append file needs to fetch a tarball, apply two patches, and include
- a custom file, the recipe or append file would include four instances
- of the variable.
-
- The following list explains the available URI protocols. URI
- protocols are highly dependent on particular BitBake Fetcher
- submodules. Depending on the fetcher BitBake uses, various URL
- parameters are employed. For specifics on the supported Fetchers, see
- the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers`" section in the
- BitBake User Manual.
-
- - ``file://`` - Fetches files, which are usually files shipped
- with the :term:`Metadata`, from the local machine (e.g.
- :ref:`patch <overview-manual/concepts:patching>` files).
- The path is relative to the :term:`FILESPATH`
- variable. Thus, the build system searches, in order, from the
- following directories, which are assumed to be a subdirectories of
- the directory in which the recipe file (``.bb``) or append file
- (``.bbappend``) resides:
-
- - ``${BPN}`` - The base recipe name without any special suffix
- or version numbers.
-
- - ``${BP}`` - ``${BPN}-${PV}``. The base recipe name and
- version but without any special package name suffix.
-
- - *files -* Files within a directory, which is named ``files``
- and is also alongside the recipe or append file.
-
- .. note::
-
- If you want the build system to pick up files specified through
- a
- SRC_URI
- statement from your append file, you need to be sure to extend
- the
- FILESPATH
- variable by also using the
- FILESEXTRAPATHS
- variable from within your append file.
- - ``bzr://`` - Fetches files from a Bazaar revision control
- repository.
+ See the BitBake manual for the initial description for this variable:
+ :term:`bitbake:SRC_URI`.
- - ``git://`` - Fetches files from a Git revision control
- repository.
+ The following features are added by OpenEmbedded and the Yocto Project.
- - ``osc://`` - Fetches files from an OSC (openSUSE Build service)
- revision control repository.
-
- - ``repo://`` - Fetches files from a repo (Git) repository.
-
- - ``ccrc://`` - Fetches files from a ClearCase repository.
-
- - ``http://`` - Fetches files from the Internet using ``http``.
-
- - ``https://`` - Fetches files from the Internet using ``https``.
-
- - ``ftp://`` - Fetches files from the Internet using ``ftp``.
-
- - ``cvs://`` - Fetches files from a CVS revision control
- repository.
-
- - ``hg://`` - Fetches files from a Mercurial (``hg``) revision
- control repository.
-
- - ``p4://`` - Fetches files from a Perforce (``p4``) revision
- control repository.
-
- - ``ssh://`` - Fetches files from a secure shell.
-
- - ``svn://`` - Fetches files from a Subversion (``svn``) revision
- control repository.
-
- - ``npm://`` - Fetches JavaScript modules from a registry.
-
- - ``az://`` - Fetches files from an Azure Storage account.
-
- There are standard and recipe-specific options for :term:`SRC_URI`. Here are
- standard ones:
+ There are standard and recipe-specific options. Here are standard ones:
- ``apply`` - Whether to apply the patch or not. The default
action is to apply the patch.
@@ -7135,41 +7090,12 @@ system and gives an overview of their function and contents.
- ``notrev`` - Apply the patch only if :term:`SRCREV` is not equal to
``rev``.
- Here are some additional options worth mentioning:
-
- - ``unpack`` - Controls whether or not to unpack the file if it is
- an archive. The default action is to unpack the file.
-
- - ``destsuffix`` - Places the file (or extracts its contents) into
- the specified subdirectory of :term:`WORKDIR` when
- the Git fetcher is used.
-
- - ``subdir`` - Places the file (or extracts its contents) into the
- specified subdirectory of :term:`WORKDIR` when the local (``file://``)
- fetcher is used.
-
- - ``localdir`` - Places the file (or extracts its contents) into
- the specified subdirectory of :term:`WORKDIR` when the CVS fetcher is
- used.
-
- - ``subpath`` - Limits the checkout to a specific subpath of the
- tree when using the Git fetcher is used.
-
- - ``name`` - Specifies a name to be used for association with
- :term:`SRC_URI` checksums or :term:`SRCREV` when you have more than one
- file or git repository specified in :term:`SRC_URI`. For example::
-
- SRC_URI = "git://example.com/foo.git;name=first \
- git://example.com/bar.git;name=second \
- http://example.com/file.tar.gz;name=third"
-
- SRCREV_first = "f1d2d2f924e986ac86fdf7b36c94bcdf32beec15"
- SRCREV_second = "e242ed3bffccdf271b7fbaf34ed72d089537b42f"
- SRC_URI[third.sha256sum] = "13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de"
-
+ .. note::
- - ``downloadfilename`` - Specifies the filename used when storing
- the downloaded file.
+ If you want the build system to pick up files specified through
+ a :term:`SRC_URI` statement from your append file, you need to be
+ sure to extend the :term:`FILESPATH` variable by also using the
+ :term:`FILESEXTRAPATHS` variable from within your append file.
:term:`SRC_URI_OVERRIDES_PACKAGE_ARCH`
By default, the OpenEmbedded build system automatically detects
@@ -8119,7 +8045,7 @@ system and gives an overview of their function and contents.
on enabling, running, and writing these tests, see the
":ref:`dev-manual/common-tasks:performing automated runtime testing`"
section in the Yocto Project Development Tasks Manual and the
- ":ref:`testimage*.bbclass <ref-classes-testimage*>`" section.
+ ":ref:`ref-classes-testimage*`" section.
:term:`THISDIR`
The directory in which the file BitBake is currently parsing is
@@ -8213,11 +8139,6 @@ system and gives an overview of their function and contents.
information on setting up a cross-development environment, see the
:doc:`/sdk-manual/index` manual.
- :term:`TOPDIR`
- The top-level :term:`Build Directory`. BitBake
- automatically sets this variable when you initialize your build
- environment using :ref:`structure-core-script`.
-
:term:`TRANSLATED_TARGET_ARCH`
A sanitized version of :term:`TARGET_ARCH`. This
variable is used where the architecture is needed in a value where
@@ -8334,40 +8255,6 @@ system and gives an overview of their function and contents.
TUNE_PKGARCH:tune-core2-32 = "core2-32"
- :term:`TUNEABI`
- An underlying Application Binary Interface (ABI) used by a particular
- tuning in a given toolchain layer. Providers that use prebuilt
- libraries can use the :term:`TUNEABI`,
- :term:`TUNEABI_OVERRIDE`, and
- :term:`TUNEABI_WHITELIST` variables to check
- compatibility of tunings against their selection of libraries.
-
- If :term:`TUNEABI` is undefined, then every tuning is allowed. See the
- :ref:`sanity <ref-classes-sanity>` class to see how the variable is
- used.
-
- :term:`TUNEABI_OVERRIDE`
- If set, the OpenEmbedded system ignores the
- :term:`TUNEABI_WHITELIST` variable.
- Providers that use prebuilt libraries can use the
- :term:`TUNEABI_OVERRIDE`, :term:`TUNEABI_WHITELIST`, and
- :term:`TUNEABI` variables to check compatibility of a
- tuning against their selection of libraries.
-
- See the :ref:`sanity <ref-classes-sanity>` class to see how the
- variable is used.
-
- :term:`TUNEABI_WHITELIST`
- A whitelist of permissible :term:`TUNEABI` values. If
- :term:`TUNEABI_WHITELIST` is not set, all tunes are allowed. Providers
- that use prebuilt libraries can use the :term:`TUNEABI_WHITELIST`,
- :term:`TUNEABI_OVERRIDE`, and :term:`TUNEABI`
- variables to check compatibility of a tuning against their selection
- of libraries.
-
- See the :ref:`sanity <ref-classes-sanity>` class to see how the
- variable is used.
-
:term:`TUNECONFLICTS[feature]`
Specifies CPU or Application Binary Interface (ABI) tuning features
that conflict with feature.
@@ -8783,7 +8670,7 @@ system and gives an overview of their function and contents.
warnings by the OpenEmbedded build system. You set this variable in
your distribution configuration file. For a list of the checks you
can control with this variable, see the
- ":ref:`insane.bbclass <ref-classes-insane>`" section.
+ ":ref:`ref-classes-insane`" section.
:term:`WKS_FILE`
Specifies the location of the Wic kickstart file that is used by the
diff --git a/poky/documentation/releases.rst b/poky/documentation/releases.rst
index 529d00e70e..c2c2232dca 100644
--- a/poky/documentation/releases.rst
+++ b/poky/documentation/releases.rst
@@ -1,5 +1,12 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+..
+ NOTE FOR RELEASE MAINTAINERS:
+ This file only needs updating in the development release ("master" branch)
+ When documentation for stable releases is built,
+ the latest version from "master" is used
+ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-build
+
===========================
Supported Release Manuals
===========================
@@ -9,6 +16,7 @@ Release Series 3.4 (honister)
******************************
- :yocto_docs:`3.4 Documentation </3.4>`
+- :yocto_docs:`3.4.1 Documentation </3.4.1>`
******************************
Release Series 3.3 (hardknott)
@@ -18,16 +26,7 @@ Release Series 3.3 (hardknott)
- :yocto_docs:`3.3.1 Documentation </3.3.1>`
- :yocto_docs:`3.3.2 Documentation </3.3.2>`
- :yocto_docs:`3.3.3 Documentation </3.3.3>`
-
-*******************************
-Release Series 3.2 (gatesgarth)
-*******************************
-
-- :yocto_docs:`3.2 Documentation </3.2>`
-- :yocto_docs:`3.2.1 Documentation </3.2.1>`
-- :yocto_docs:`3.2.2 Documentation </3.2.2>`
-- :yocto_docs:`3.2.3 Documentation </3.2.3>`
-- :yocto_docs:`3.2.4 Documentation </3.2.4>`
+- :yocto_docs:`3.3.4 Documentation </3.3.4>`
****************************
Release Series 3.1 (dunfell)
@@ -45,11 +44,23 @@ Release Series 3.1 (dunfell)
- :yocto_docs:`3.1.9 Documentation </3.1.9>`
- :yocto_docs:`3.1.10 Documentation </3.1.10>`
- :yocto_docs:`3.1.11 Documentation </3.1.11>`
+- :yocto_docs:`3.1.12 Documentation </3.1.12>`
+- :yocto_docs:`3.1.13 Documentation </3.1.13>`
==========================
Outdated Release Manuals
==========================
+*******************************
+Release Series 3.2 (gatesgarth)
+*******************************
+
+- :yocto_docs:`3.2 Documentation </3.2>`
+- :yocto_docs:`3.2.1 Documentation </3.2.1>`
+- :yocto_docs:`3.2.2 Documentation </3.2.2>`
+- :yocto_docs:`3.2.3 Documentation </3.2.3>`
+- :yocto_docs:`3.2.4 Documentation </3.2.4>`
+
*************************
Release Series 3.0 (zeus)
*************************
diff --git a/poky/documentation/sdk-manual/appendix-customizing.rst b/poky/documentation/sdk-manual/appendix-customizing.rst
index 4eccc28e9b..cac199bf7a 100644
--- a/poky/documentation/sdk-manual/appendix-customizing.rst
+++ b/poky/documentation/sdk-manual/appendix-customizing.rst
@@ -43,7 +43,7 @@ build system applies them against ``local.conf`` and ``auto.conf``:
:term:`SDK_INHERIT_BLACKLIST`
are disabled. Using :term:`SDK_INHERIT_BLACKLIST` to disable these
classes is the typical method to disable classes that are problematic
- or unnecessary in the SDK context. The default value blacklists the
+ or unnecessary in the SDK context. The default value disables the
:ref:`buildhistory <ref-classes-buildhistory>`
and :ref:`icecc <ref-classes-icecc>` classes.
@@ -63,9 +63,8 @@ adjustments:
- If your SDK configuration inherits additional classes using the
:term:`INHERIT` variable and you
do not need or want those classes enabled in the SDK, you can
- blacklist them by adding them to the
- :term:`SDK_INHERIT_BLACKLIST`
- variable as described in the fourth bullet of the previous section.
+ disable them by adding them to the :term:`SDK_INHERIT_BLACKLIST`
+ variable as described in the previous section.
.. note::
@@ -275,8 +274,8 @@ source, you need to do a number of things:
places or it will fail quickly on the OpenEmbedded build system
side, and its contents will not interfere with the build), then
you can set the variable in your ``local.conf`` or custom distro
- configuration file. You can then "whitelist" the variable through
- to the SDK by adding the following::
+ configuration file. You can then pass the variable to the SDK by
+ adding the following::
SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS"
diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst
index 8ef44e39ac..c5970f74fa 100644
--- a/poky/documentation/sdk-manual/extensible.rst
+++ b/poky/documentation/sdk-manual/extensible.rst
@@ -315,7 +315,7 @@ command:
$ devtool edit-recipe recipe
From within the editor, you
- can make modifications to the recipe that take affect when you build
+ can make modifications to the recipe that take effect when you build
it later.
3. *Build the Recipe or Rebuild the Image*: The next step you take
diff --git a/poky/documentation/sphinx-static/switchers.js b/poky/documentation/sphinx-static/switchers.js
index 6038dbb5a7..885104c407 100644
--- a/poky/documentation/sphinx-static/switchers.js
+++ b/poky/documentation/sphinx-static/switchers.js
@@ -1,12 +1,20 @@
+/*
+NOTE FOR RELEASE MAINTAINERS:
+This file only needs updating in the development release ("master" branch)
+When documentation for stable releases is built,
+the latest version from "master" is used
+by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-build
+*/
+
(function() {
'use strict';
var all_versions = {
'dev': 'dev (3.5)',
- '3.4': '3.4',
- '3.3.3': '3.3.3',
+ '3.4.1': '3.4.1',
+ '3.3.4': '3.3.4',
'3.2.4': '3.2.4',
- '3.1.11': '3.1.11',
+ '3.1.13': '3.1.13',
'3.0.4': '3.0.4',
'2.7.4': '2.7.4',
};
diff --git a/poky/documentation/standards.md b/poky/documentation/standards.md
new file mode 100644
index 0000000000..a2274f6d6e
--- /dev/null
+++ b/poky/documentation/standards.md
@@ -0,0 +1,103 @@
+# Standards for contributing to Yocto Project documentation
+
+This document attemps to standardize the way the Yocto Project
+documentation is created.
+
+It is currently a work in progress.
+
+## Text standards
+
+This section has not been filled yet
+
+## ReStructured Text Syntax standards
+
+This section has not been filled yet
+
+## Adding screenshots
+
+The preferred format for adding screenshots is
+[Portable Network Graphics (PNG)](https://en.wikipedia.org/wiki/Portable_Network_Graphics).
+Compared to the JPEG format, PNG is lossless and compresses screenshots better.
+
+Screenshots are stored in a `figures/` subdirectory.
+
+To include a screenshot in PNG format:
+
+ .. image:: figures/user-configuration.png
+ :align: center
+
+Depending on the size of the image, you may also shrink it
+to prevent it from filling the whole page width:
+
+ :scale: 50%
+
+For some types of screenshots, for example showing
+programs displaying photographs or playing video, the JPEG
+format may be more appropriate, because it is better at
+compressing real-life images:
+
+ .. image:: figures/vlc.jpg
+ :align: center
+ :scale: 75%
+
+## Adding new diagrams
+
+New diagrams should be added in
+[Scalable Vector Graphics (SVG) format](https://en.wikipedia.org/wiki/Scalable_Vector_Graphics).
+Thanks to this, diagrams render nicely at any zoom level on generated documentation,
+instead of being pixelated.
+
+The recommended tool for creating SVG diagrams for the Yocto Project
+documentation is [Inkscape](https://inkscape.org/).
+
+### Colors
+
+The "GNOME HIG Colors" palette is used in our diagrams
+(get it from <https://gitlab.gnome.org/Teams/Design/HIG-app-icons/-/blob/master/GNOME%20HIG.gpl>
+if you don't get it from Inkscape).
+
+It's easier to use than the default one in Inkscape,
+as it has fewer but sufficient colors. This is a way
+to guarantee that we use consistent colors across the
+diagrams used in our documentation.
+
+See <https://inkscape-manuals.readthedocs.io/en/latest/palette.html>
+for details about working with color palettes in Inkscape.
+
+### Template diagram
+
+The `template/` directory contains a `template.svg` file
+to make it easier to create diagrams.
+In particular, you can use it to copy standard text, shapes,
+arrows and clipart to the new SVG document.
+
+### Fonts
+
+The recommended font for description text and labels is `Nimbus Roman`, size 10.
+Labels are in bold.
+
+`template.svg` contains ready-to-copy labels.
+
+### Text boxes
+
+Text boxes are rectangle boxes, with rounded corners, and contain centered text
+or labels. Their stroke color is slightly darker than their fill color.
+
+See `template.svg` for example boxes with different colors, which are ready
+to be reused.
+
+### Clipart
+
+Only [Public Domain](https://en.wikipedia.org/wiki/Public_domain)
+files are accepted for clipart. [Openclipart](https://openclipart.org)
+is the best known and recommended source of such clipart.
+
+It is also required to state the source of each new clipart in the commit log,
+to make it possible to check its origin.
+
+For the sake of consistency across diagrams, we recommend
+to use existing cliparts, whenever possible.
+
+If cliparts in `template.svg` do not satisfy your requirements, you can
+add to said file new cliparts, from e.g. Openclipart. Newly added
+cliparts shall stay consistent in style and color with existing ones.
diff --git a/poky/documentation/template/template.svg b/poky/documentation/template/template.svg
new file mode 100644
index 0000000000..43043e3afb
--- /dev/null
+++ b/poky/documentation/template/template.svg
@@ -0,0 +1,1160 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="svg2"
+ width="607.31354"
+ height="968.48285"
+ viewBox="0 0 607.31353 968.48285"
+ sodipodi:docname="template.svg"
+ inkscape:version="1.1 (ce6663b3b7, 2021-05-25)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6">
+ <inkscape:path-effect
+ effect="powerstroke"
+ id="path-effect6121"
+ is_visible="true"
+ lpeversion="1"
+ offset_points="0,0.5"
+ sort_points="true"
+ interpolator_type="CubicBezierJohan"
+ interpolator_beta="0.2"
+ start_linecap_type="zerowidth"
+ linejoin_type="extrp_arc"
+ miter_limit="4"
+ scale_width="1"
+ end_linecap_type="zerowidth"
+ not_jump="false" />
+ <marker
+ style="overflow:visible"
+ id="marker5783"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5781" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker5623"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5621" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker5487"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5485" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker5285"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart"
+ inkscape:isstock="true">
+ <path
+ transform="scale(0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5283" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker5161"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5159" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4860"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path4858" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4504"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#ffa348;fill-opacity:1;fill-rule:evenodd;stroke:#ffa348;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path4502" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4286"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#62a0ea;fill-opacity:1;fill-rule:evenodd;stroke:#62a0ea;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path4284" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow1Mend"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow1Mend"
+ inkscape:isstock="true">
+ <path
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ style="fill:#62a0ea;fill-opacity:1;fill-rule:evenodd;stroke:#62a0ea;stroke-width:1pt;stroke-opacity:1"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+ id="path3318" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4174"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart"
+ inkscape:isstock="true">
+ <path
+ transform="scale(0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#62a0ea;fill-opacity:1;fill-rule:evenodd;stroke:#62a0ea;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path4172" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow2Mend"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#ffa348;fill-opacity:1;fill-rule:evenodd;stroke:#ffa348;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path3336" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow1Mstart"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow1Mstart"
+ inkscape:isstock="true">
+ <path
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ style="fill:#ff7800;fill-opacity:1;fill-rule:evenodd;stroke:#ffa348;stroke-width:1pt;stroke-opacity:1"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+ id="path3315" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow2Lstart"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lstart"
+ inkscape:isstock="true">
+ <path
+ transform="matrix(1.1,0,0,1.1,1.1,0)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#ff7800;fill-opacity:1;fill-rule:evenodd;stroke:#ffa348;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path3327" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow1Lstart"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart"
+ inkscape:isstock="true">
+ <path
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ style="fill:#ff7800;fill-opacity:1;fill-rule:evenodd;stroke:#ffa348;stroke-width:1pt;stroke-opacity:1"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+ id="path3309" />
+ </marker>
+ <linearGradient
+ id="linearGradient921"
+ inkscape:swatch="solid">
+ <stop
+ style="stop-color:#deddda;stop-opacity:1;"
+ offset="0"
+ id="stop919" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6035-4">
+ <stop
+ id="stop6037-2"
+ style="stop-color:#ffffff"
+ offset="0" />
+ <stop
+ id="stop6039-9"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11801"
+ y2="511.97"
+ spreadMethod="reflect"
+ gradientUnits="userSpaceOnUse"
+ x2="286.63"
+ gradientTransform="matrix(4.9627,0,0,4.9627,278.63,-3355.4)"
+ y1="511.97"
+ x1="269.97"
+ inkscape:collect="always">
+ <stop
+ id="stop5497-7"
+ style="stop-color:#497bb3"
+ offset="0" />
+ <stop
+ id="stop5501-5"
+ style="stop-color:#a5c4e6"
+ offset=".20485" />
+ <stop
+ id="stop5499-8"
+ style="stop-color:#3b5d8b"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11803"
+ y2="527.34003"
+ gradientUnits="userSpaceOnUse"
+ x2="286.63"
+ y1="518.56"
+ x1="282.35999"
+ inkscape:collect="always">
+ <stop
+ id="stop5468-4"
+ style="stop-color:#a5c4e6"
+ offset="0" />
+ <stop
+ id="stop5470-8"
+ style="stop-color:#497bb3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11805"
+ y2="520.33002"
+ xlink:href="#linearGradient6035-4"
+ spreadMethod="reflect"
+ gradientUnits="userSpaceOnUse"
+ x2="327.78"
+ gradientTransform="matrix(4.1992,0,0,4.1992,407.33,-3062.9)"
+ y1="522.60999"
+ x1="308.5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient11807"
+ y2="520.33002"
+ xlink:href="#linearGradient6035-4"
+ spreadMethod="reflect"
+ gradientUnits="userSpaceOnUse"
+ x2="327.78"
+ gradientTransform="matrix(4.1992,0,0,4.1992,407.33,-3015.8)"
+ y1="522.60999"
+ x1="308.5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient11809"
+ y2="520.33002"
+ xlink:href="#linearGradient6035-4"
+ spreadMethod="reflect"
+ gradientUnits="userSpaceOnUse"
+ x2="327.78"
+ gradientTransform="matrix(4.1992,0,0,4.1992,407.33,-2971.6)"
+ y1="522.60999"
+ x1="308.5"
+ inkscape:collect="always" />
+ <marker
+ style="overflow:visible"
+ id="Arrow2Mstart-4"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart"
+ inkscape:isstock="true">
+ <path
+ transform="scale(0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#ffa348;fill-opacity:1;fill-rule:evenodd;stroke:#ffa348;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path3333-2" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow2Mend-2"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#ffa348;fill-opacity:1;fill-rule:evenodd;stroke:#ffa348;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path3336-7" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker5623-2"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5621-3" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow2Mend-4"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#ffa348;fill-opacity:1;fill-rule:evenodd;stroke:#ffa348;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path3336-3" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker5285-1"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart"
+ inkscape:isstock="true">
+ <path
+ transform="scale(0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5283-7" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker5161-4"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5159-3" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker5285-1-4"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart"
+ inkscape:isstock="true">
+ <path
+ transform="scale(0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5283-7-6" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker5161-4-9"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5159-3-4" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4174-8"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart"
+ inkscape:isstock="true">
+ <path
+ transform="scale(0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#62a0ea;fill-opacity:1;fill-rule:evenodd;stroke:#62a0ea;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path4172-8" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4286-6"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#62a0ea;fill-opacity:1;fill-rule:evenodd;stroke:#62a0ea;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path4284-8" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1848"
+ inkscape:window-height="983"
+ id="namedview4"
+ showgrid="false"
+ inkscape:zoom="1.0233281"
+ inkscape:cx="454.88832"
+ inkscape:cy="692.83742"
+ inkscape:window-x="1992"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g10"
+ inkscape:document-rotation="0"
+ inkscape:snap-perpendicular="true"
+ fit-margin-top="30"
+ lock-margins="true"
+ fit-margin-left="30"
+ fit-margin-right="30"
+ fit-margin-bottom="30"
+ inkscape:pagecheckerboard="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid1257"
+ originx="82.778013"
+ originy="165.84269" />
+ </sodipodi:namedview>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Image"
+ id="g10"
+ transform="translate(82.778014,165.84268)">
+ <g
+ id="g3925"
+ transform="matrix(0.4122756,0,0,0.4122756,-156.60748,374.96076)"
+ style="stroke-width:2.42556">
+ <g
+ id="layer1-3-5-2"
+ inkscape:label="Capa 1"
+ transform="matrix(1.1196,0,0,1.1196,-122.82057,267.39056)"
+ style="stroke-width:2.42556">
+ <g
+ id="g10-5-2"
+ transform="matrix(0.0423,0,0,0.0423,319.39,59.128)"
+ class="Graphic"
+ style="stroke-width:2.42556">
+ <g
+ id="g12-4-2"
+ style="stroke-width:2.42556">
+ <g
+ id="g14-64-0"
+ style="fill:#c7c7c7;stroke-width:2.42556">
+ <path
+ id="path16-1-5"
+ inkscape:connector-curvature="0"
+ d="m 5903,2361 c 50,82 34,3995 -31,4149 -51,122 -1703,1495 -1789,1531 -1117,-7 -1870,-414 -1995,-629 -48,-270 -7,-4433 38,-4520 40,-76 2153,-833 2227,-851 67,-15 1493,229 1550,320 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g18-6-5"
+ style="fill:#000000;stroke-width:2.42556">
+ <path
+ id="path20-8-2"
+ inkscape:connector-curvature="0"
+ d="m 5881,2374 2,-1 -2,2 c 0,-1 -1,-1 -1,-1 v -2 l 7,-3 -2,2 -5,1 5,-1 -2,2 z m 2,-1 2,-2 2,-2 5,-2 -5,4 5,-4 h 1 l -6,3 v 1 -1 z m 10,-6 h -1 1 -1 l 11,-6 -10,5 z m 11,-4 -11,4 v -1 z m 20,-15 c -2,-3 -4,-6 -7,-9 -2,-3 -5,-5 -8,-7 -5,-4 -12,-8 -20,-12 -7,-4 -15,-7 -24,-11 -9,-4 -19,-7 -30,-11 -21,-8 -47,-16 -75,-24 -29,-8 -61,-16 -95,-25 -136,-34 -313,-72 -494,-106 -181,-35 -364,-66 -511,-90 -73,-11 -138,-21 -189,-27 -25,-3 -47,-6 -65,-8 -9,-1 -17,-1 -24,-2 -4,0 -7,0 -10,-1 h -9 c -3,0 -5,0 -7,1 h -4 c -2,0 -3,0 -4,1 -2,0 -4,1 -7,2 -2,0 -5,1 -8,2 -3,1 -7,2 -11,3 -4,2 -8,3 -13,5 -10,3 -22,7 -35,12 -13,4 -28,9 -44,15 -33,11 -71,25 -115,40 -43,15 -91,32 -144,51 -209,75 -481,173 -753,274 -271,101 -542,203 -747,285 -51,21 -98,40 -140,57 -43,18 -80,34 -111,48 -16,7 -30,14 -42,20 -13,6 -24,12 -33,17 -5,2 -9,5 -13,7 -4,3 -8,5 -10,7 -4,3 -7,5 -9,7 -5,4 -7,8 -9,11 -1,2 -2,5 -4,9 0,3 -1,6 -1,9 -1,3 -1,7 -2,11 -1,4 -1,8 -2,13 0,9 -1,20 -3,32 0,13 -1,27 -2,42 -2,31 -4,69 -6,111 -2,43 -4,91 -5,144 -7,213 -14,504 -19,835 -11,662 -19,1482 -19,2144 0,308 2,583 5,791 1,52 2,100 3,143 1,43 3,82 4,115 1,34 3,62 4,85 1,12 2,22 3,30 1,5 1,9 1,13 1,3 2,7 2,10 l 1,4 2,4 c 9,15 20,30 33,46 14,16 30,32 48,49 35,32 80,66 135,101 107,70 249,142 423,207 173,65 377,124 608,167 231,43 489,70 769,72 h 6 l 5,-2 8,-4 c 2,-2 5,-3 8,-6 3,-2 6,-4 10,-6 l 12,-9 c 9,-6 19,-13 30,-22 11,-8 23,-17 37,-28 27,-20 58,-45 93,-73 35,-28 74,-59 116,-93 169,-136 385,-315 600,-497 215,-181 430,-366 593,-512 41,-37 79,-71 113,-103 34,-31 64,-59 89,-84 13,-13 24,-24 34,-35 11,-11 20,-20 28,-29 8,-9 14,-17 19,-23 3,-4 5,-8 7,-10 2,-4 4,-8 6,-11 0,-2 1,-5 2,-8 1,-3 2,-5 3,-9 1,-6 2,-13 3,-22 2,-8 3,-17 4,-28 1,-11 2,-22 3,-35 2,-25 4,-55 7,-89 1,-34 3,-72 5,-113 8,-166 14,-391 19,-648 10,-516 16,-1164 16,-1743 0,-389 -3,-747 -8,-1012 -1,-66 -2,-127 -4,-181 -1,-53 -3,-100 -5,-139 -1,-20 -2,-38 -3,-53 -1,-16 -2,-30 -3,-41 -1,-6 -1,-11 -2,-16 -1,-5 -1,-10 -2,-13 -1,-4 -1,-8 -2,-11 -1,-2 -1,-4 -2,-5 -1,-3 -2,-5 -3,-6 z m -37,21 12,-12 z m -6,9 c 1,3 1,7 2,11 0,4 1,9 1,15 1,11 3,24 4,39 0,15 1,33 2,52 2,39 4,86 6,139 1,53 2,114 4,180 5,264 7,622 7,1011 0,578 -5,1227 -15,1742 -6,257 -12,481 -19,646 -2,42 -4,79 -6,113 -2,33 -4,63 -6,88 -1,12 -2,24 -4,34 0,10 -2,18 -3,26 -1,7 -2,14 -3,18 0,3 -1,4 -1,6 0,1 -1,2 -1,2 0,1 -1,2 -2,4 -1,1 -3,4 -4,6 -5,6 -10,13 -17,21 -7,7 -16,17 -26,27 l -34,34 c -25,24 -54,52 -88,83 -33,31 -71,66 -112,102 -163,146 -377,330 -592,512 -215,181 -431,360 -598,495 -42,34 -81,65 -116,93 -35,28 -66,52 -93,73 -13,10 -26,20 -37,28 -10,8 -20,15 -28,21 -4,3 -8,6 -12,8 -3,2 -6,4 -8,6 -2,1 -4,2 -5,3 -276,-2 -528,-29 -755,-71 -228,-42 -429,-100 -600,-164 -169,-64 -308,-134 -413,-202 -51,-33 -94,-66 -128,-97 -17,-15 -31,-30 -43,-44 -10,-12 -19,-23 -26,-34 v -4 c -1,-3 -1,-7 -1,-11 -1,-8 -2,-18 -3,-28 -2,-23 -3,-51 -5,-84 -1,-33 -2,-71 -3,-115 -1,-42 -2,-90 -3,-142 -3,-208 -5,-482 -5,-790 0,-662 7,-1481 18,-2143 6,-330 12,-622 19,-834 2,-53 4,-101 6,-144 2,-42 3,-79 5,-109 1,-16 2,-30 3,-42 1,-12 2,-22 3,-31 0,-4 1,-8 1,-11 1,-4 1,-6 2,-9 v -2 c 0,-1 1,-1 2,-2 2,-1 4,-3 7,-5 4,-1 7,-4 11,-6 9,-5 19,-10 31,-16 12,-6 26,-12 41,-19 31,-14 67,-29 109,-47 42,-17 89,-37 140,-57 205,-82 475,-184 746,-284 271,-101 543,-200 752,-274 52,-19 101,-36 144,-51 43,-16 82,-29 114,-40 17,-6 31,-11 44,-16 13,-4 25,-8 35,-11 4,-2 9,-3 13,-4 4,-2 7,-3 10,-4 3,-1 5,-1 8,-2 l 3,-1 -2,-8 1,8 h 1 4 7 c 2,0 5,0 8,1 7,0 14,1 23,2 17,1 39,4 64,7 50,6 114,16 187,27 147,23 329,55 509,89 180,35 357,72 492,106 34,9 65,17 92,25 28,8 53,15 73,23 10,3 20,7 28,10 7,3 15,6 20,9 5,3 10,5 13,8 0,0 1,0 1,1 0,1 1,3 1,4 z M 4075,8017 c 1,0 1,-1 2,-1 h 6 v 14 l -8,-13 8,13 v 11 l -10,-23 c 0,0 1,-1 2,-1 z M 2110,7400 c 1,1 1,3 2,4 1,1 1,3 1,4 l -25,4 21,-11 1,-1 -1,1 1,-1 h 2 z m 39,-4498 v 3 c -1,0 -1,1 -2,1 l -5,-6 -17,-4 17,4 -2,-1 4,2 z m -7,-2 2,1 z m -16,-8 14,7 z m 14,7 -10,-11 z m 2217,-841 -2,-17 z m -4,-17 4,17 v 1 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g22-8-9"
+ style="fill:#ffffff;fill-opacity:0.54118;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.54118">
+ <path
+ id="path24-1-0"
+ inkscape:connector-curvature="0"
+ d="m 5822,2442 -52,22 -52,23 -52,23 -53,25 -53,25 -53,26 -53,26 -54,27 -54,27 -54,28 -55,28 -54,29 -55,29 -55,29 -111,60 -112,60 -112,60 -113,61 -114,60 -114,60 -114,59 -57,29 -57,29 -58,28 -57,28 -27,-6 -28,-7 -56,-13 -58,-14 -59,-13 -60,-14 -61,-14 -61,-14 -63,-14 -62,-14 -63,-15 -127,-28 -127,-28 -64,-14 -63,-14 -62,-13 -62,-13 -61,-13 -60,-13 -60,-13 -58,-12 -57,-12 -28,-5 -28,-6 -27,-5 -27,-6 -27,-5 -26,-5 -26,-5 -25,-6 -25,-4 -24,-5 -24,-5 -24,-4 -23,-4 -22,-5 -22,-4 -21,-3 -21,-4 -20,-4 52,16 52,16 53,16 54,15 55,16 55,15 57,16 56,15 57,16 58,15 116,31 117,30 118,31 118,31 117,30 116,31 58,15 57,16 57,15 56,16 55,15 55,16 54,15 53,16 52,16 52,16 1,60 2,61 1,61 1,63 1,64 2,64 1,65 1,66 1,67 1,67 1,68 v 69 l 1,69 1,70 1,70 v 71 l 1,71 v 72 l 1,72 1,73 1,146 1,147 v 149 l 1,149 2,299 1,300 1,149 1,148 1,147 1,146 1,73 v 72 l 1,72 1,71 v 71 l 1,71 1,69 1,70 v 68 l 1,68 1,67 1,67 1,66 1,65 1,65 2,63 1,63 1,62 2,61 1,60 1,-61 1,-61 v -63 l 1,-63 1,-64 1,-65 1,-66 1,-67 1,-67 1,-68 1,-69 2,-69 1,-70 1,-71 1,-71 1,-72 1,-72 2,-73 1,-73 1,-73 3,-148 3,-149 2,-151 3,-151 6,-303 5,-303 3,-151 3,-150 2,-149 3,-149 1,-73 2,-73 1,-73 1,-72 1,-71 1,-72 1,-70 2,-70 1,-70 1,-68 1,-68 1,-68 1,-66 1,-66 1,-65 1,-64 1,-64 v -62 l 1,-62 1,-60 110,-59 109,-59 109,-57 109,-58 108,-57 107,-58 107,-57 107,-58 105,-58 105,-58 104,-60 103,-60 51,-30 50,-31 51,-31 50,-31 50,-31 50,-32 49,-32 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g28-1-8"
+ style="fill:none;stroke-width:2.42556">
+ <path
+ id="path30-7-3"
+ inkscape:connector-curvature="0"
+ d="m 5822,2442 c -549,232 -1156,606 -1768,901 -580,-138 -1417,-322 -1839,-396 543,169 1257,327 1800,496 32,1271 16,3196 48,4467 16,-1282 59,-3238 75,-4519 586,-317 1161,-601 1684,-949 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g32-7-8"
+ style="fill:#000000;fill-opacity:0.16078;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.16078">
+ <path
+ id="path34-1-0"
+ inkscape:connector-curvature="0"
+ d="m 2420,6628 10,14 10,13 11,13 12,13 12,12 12,12 14,12 13,12 14,12 15,11 15,11 16,11 15,11 17,10 16,10 17,11 18,9 18,10 18,9 18,8 19,9 19,8 19,8 19,8 40,15 40,14 41,12 41,11 42,10 41,9 42,8 41,6 41,6 41,3 21,2 20,1 19,1 h 20 20 19 l 19,-1 19,-1 18,-1 19,-1 17,-2 18,-3 17,-2 17,-3 17,-4 16,-4 15,-4 15,-4 15,-5 15,-5 -2,-1 h -1 l -5,-2 -6,-1 -7,-2 -8,-2 -10,-3 -10,-3 -12,-3 -13,-4 -14,-3 -15,-4 -16,-5 -16,-4 -18,-5 -18,-5 -19,-5 -20,-6 -20,-5 -21,-6 -22,-6 -22,-6 -22,-6 -23,-7 -24,-6 -48,-13 -49,-14 -50,-14 -50,-13 -50,-15 -50,-13 -49,-14 -49,-13 -23,-7 -24,-6 -23,-7 -22,-6 -22,-6 -21,-6 -21,-6 -20,-5 -19,-6 -19,-5 -18,-5 -17,-5 -16,-4 -15,-5 -15,-4 -13,-4 -12,-3 -12,-3 -10,-3 -9,-3 -7,-2 -7,-2 -5,-2 h -2 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g38-5-0"
+ style="fill:none;stroke-width:2.42556">
+ <path
+ id="path40-7-9"
+ inkscape:connector-curvature="0"
+ d="m 2420,6628 c 201,289 833,431 1133,315 -53,-14 -1066,-293 -1133,-315 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g42-6-1"
+ style="fill:#ffffff;fill-opacity:0.38824;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.38824">
+ <path
+ id="path44-7-9"
+ inkscape:connector-curvature="0"
+ d="m 3454,6093 -936,-361 -9,4 -8,4 -8,4 -6,5 -6,6 -6,6 -5,7 -5,6 -4,7 -4,7 -3,7 -3,8 -3,8 -2,7 -3,15 -2,15 -2,14 v 6 7 5 6 5 4 4 l 1,4 v 2 2 1 1 l 146,51 1,1 1,1 1,1 1,2 2,2 1,3 3,3 2,3 3,4 3,4 3,4 4,5 4,4 4,6 5,4 10,12 10,11 13,12 13,12 14,13 15,12 17,13 17,12 19,12 19,11 21,11 22,10 11,4 11,5 12,4 12,4 13,3 12,3 13,3 13,3 13,2 13,1 14,2 14,1 h 14 15 15 l 15,-1 15,-2 15,-2 16,-2 16,-3 16,-4 16,-4 17,-5 17,-6 h 1 l 2,1 h 3 l 6,1 6,1 7,1 8,1 9,1 10,1 11,1 12,1 12,1 h 12 l 13,1 h 26 l 14,-1 13,-1 14,-1 13,-2 13,-2 12,-3 12,-3 12,-3 10,-5 11,-5 9,-6 8,-6 8,-8 3,-4 3,-4 3,-4 2,-4 2,-5 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g48-57-2"
+ style="fill:none;stroke-width:2.42556">
+ <path
+ id="path50-0-5"
+ inkscape:connector-curvature="0"
+ d="m 3454,6093 -936,-361 c -97,34 -78,177 -78,177 l 146,51 c 0,0 204,319 566,194 0,0 269,48 302,-61 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g52-5-4"
+ style="fill:#606060;stroke-width:2.42556">
+ <path
+ id="path54-7-4"
+ inkscape:connector-curvature="0"
+ d="m 3446,5971 c -311,-81 -622,-161 -933,-242 -12,44 -13,107 6,140 47,23 142,41 189,64 136,131 255,142 472,124 84,17 168,31 251,48 26,-51 33,-72 15,-134 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g56-7-9"
+ style="fill:none;stroke-width:2.42556">
+ <path
+ id="path58-8-9"
+ inkscape:connector-curvature="0"
+ d="m 3446,5971 c -311,-81 -622,-161 -933,-242 -12,44 -13,107 6,140 47,23 142,41 189,64 136,131 255,142 472,124 84,17 168,31 251,48 26,-51 33,-72 15,-134 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g60-5-3"
+ style="fill:#ffffff;fill-opacity:0.4;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.4">
+ <path
+ id="path62-2-6"
+ inkscape:connector-curvature="0"
+ d="m 5856,2414 -1813,1017 7,4549 1775,-1494 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g66-2-5"
+ style="fill:none;stroke-width:2.42556">
+ <path
+ id="path68-9-0"
+ inkscape:connector-curvature="0"
+ d="m 5856,2414 -1813,1017 7,4549 1775,-1494 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g70-9-2"
+ style="fill:#000000;fill-opacity:0.16078;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.16078">
+ <path
+ id="path72-9-9"
+ inkscape:connector-curvature="0"
+ d="m 2525,6916 10,13 11,12 10,13 11,11 11,12 11,11 12,11 12,10 12,10 12,10 13,10 12,9 13,9 13,8 27,17 28,15 28,14 28,13 29,11 29,11 30,9 30,8 29,8 30,6 30,5 30,4 30,3 30,2 29,2 h 29 l 29,-1 27,-2 28,-2 27,-3 26,-5 25,-5 24,-6 24,-6 22,-8 -2,-1 h -4 l -4,-2 -5,-1 -6,-2 -8,-2 -8,-2 -9,-2 -10,-3 -10,-3 -11,-3 -12,-3 -13,-4 -13,-3 -14,-4 -15,-4 -15,-4 -15,-5 -16,-4 -16,-5 -17,-4 -18,-5 -35,-10 -36,-10 -38,-10 -38,-10 -38,-11 -76,-21 -37,-10 -37,-11 -36,-10 -17,-4 -17,-5 -17,-5 -16,-4 -16,-5 -15,-4 -15,-4 -14,-4 -14,-4 -13,-4 -12,-3 -11,-3 -12,-3 -10,-3 -9,-3 -8,-2 -8,-3 -7,-1 -6,-2 -5,-2 -4,-1 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g76-2-3"
+ style="fill:none;stroke-width:2.42556">
+ <path
+ id="path78-7-5"
+ inkscape:connector-curvature="0"
+ d="m 2525,6916 c 209,276 627,323 861,239 -39,-10 -810,-222 -861,-239 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g80-6-1"
+ style="fill:#000000;fill-opacity:0.16078;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.16078">
+ <path
+ id="path82-0-7"
+ inkscape:connector-curvature="0"
+ d="m 2680,7199 12,15 12,14 13,14 14,12 14,13 14,11 15,11 16,11 15,9 17,9 16,9 17,7 18,7 17,7 18,5 18,5 18,5 19,3 18,4 19,2 18,2 19,1 h 19 19 l 18,-1 19,-2 18,-2 19,-3 18,-4 18,-4 18,-5 17,-6 h -1 l -2,-1 h -3 l -4,-1 -3,-1 -5,-2 -5,-1 -6,-2 -6,-1 -6,-2 -7,-2 -8,-2 -8,-2 -8,-3 -9,-2 -9,-2 -19,-6 -20,-5 -22,-6 -22,-6 -23,-6 -23,-7 -48,-13 -48,-13 -23,-7 -23,-6 -23,-6 -21,-6 -21,-6 -19,-6 -9,-2 -9,-3 -9,-2 -8,-2 -8,-2 -7,-2 -7,-2 -6,-2 -6,-2 -5,-2 -5,-1 -5,-1 -3,-1 -3,-1 -3,-1 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g86-0-3"
+ style="fill:none;stroke-width:2.42556">
+ <path
+ id="path88-3-1"
+ inkscape:connector-curvature="0"
+ d="m 2680,7199 c 121,163 355,213 540,149 -25,-6 -507,-139 -540,-149 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g90-5-4"
+ style="fill:#fcfcfc;fill-opacity:0.43922;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.43922">
+ <path
+ id="path92-9-6"
+ inkscape:connector-curvature="0"
+ d="m 2356,3259 -92,13 -17,2173 1425,399 35,-116 -1369,-365 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g96-7-4"
+ style="fill:none;stroke-width:2.42556">
+ <path
+ id="path98-7-2"
+ inkscape:connector-curvature="0"
+ d="m 2356,3259 -92,13 -17,2173 1425,399 35,-116 -1369,-365 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g100-1-2"
+ style="fill:#000000;fill-opacity:0.23137;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.23137">
+ <path
+ id="path102-64-6"
+ inkscape:connector-curvature="0"
+ d="m 3700,4065 -2,61 -1340,-386 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g106-1-1"
+ style="fill:#000000;fill-opacity:0.23137;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.23137">
+ <path
+ id="path108-3-2"
+ inkscape:connector-curvature="0"
+ d="m 3720,4507 -3,61 -1339,-386 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g112-9-8"
+ style="fill:#000000;fill-opacity:0.23137;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.23137">
+ <path
+ id="path114-09-9"
+ inkscape:connector-curvature="0"
+ d="m 3700,4916 -2,61 -1340,-386 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g118-8-8"
+ style="fill:#000000;fill-opacity:0.23137;stroke:#ffffff;stroke-width:2.42556;stroke-opacity:0.23137">
+ <path
+ id="path120-3-8"
+ inkscape:connector-curvature="0"
+ d="m 3700,5318 -2,61 -1340,-387 z"
+ style="stroke-width:2.42556" />
+ </g>
+ <g
+ id="g124-5-6"
+ style="fill:#9e9e9e;stroke-width:2.42556">
+ <path
+ id="path126-3-8"
+ inkscape:connector-curvature="0"
+ d="m 2361,3309 1332,333 -11,2197 h 11 11 l 11,-2205 v -9 l -8,-2 -1341,-335 -2,11 z m 1340,335 -8,-2 v -8 h 11 z"
+ style="stroke-width:2.42556" />
+ </g>
+ </g>
+ </g>
+ </g>
+ <g
+ id="g16724-3"
+ transform="matrix(0.52218647,0,0,0.42933357,-400.52138,1028.8214)"
+ style="stroke-width:2.42556">
+ <path
+ id="path5488-8"
+ d="m 1618.4,-890.85 v 126.36 h 0.5249 c -0.3385,1.0131 -0.5249,1.975 -0.5249,3.0182 0,15.228 36.989,27.557 82.672,27.557 45.683,0 82.672,-12.33 82.672,-27.557 0,-1.0447 -0.1856,-2.0037 -0.5249,-3.0182 h 0.5249 v -126.36 h -165.34 z"
+ sodipodi:nodetypes="cccssscccc"
+ style="fill:url(#linearGradient11801);stroke-width:2.42556"
+ inkscape:connector-curvature="0" />
+ <ellipse
+ id="path5460-3"
+ style="fill:url(#linearGradient11803);stroke-width:2.42556"
+ transform="matrix(4.9627,0,0,4.9627,278.63,-3481.3)"
+ cx="286.6308"
+ cy="521.77954"
+ rx="16.667517"
+ ry="5.5558391" />
+ <path
+ id="path6026-3"
+ d="m 1618.3,-800.18 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -14.494,12.328 -46.02,20.865 -82.672,20.865 -36.727,0 -68.35,-8.6271 -82.804,-20.996 z"
+ style="fill:#3b5d8b;stroke-width:2.42556"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path6030-3"
+ d="m 1618.3,-891.51 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -0.9058,0.77052 -1.8509,1.4911 -2.8869,2.2308 -0.038,0.0491 -0.091,0.0823 -0.131,0.13101 -9.6253,11.663 -41.587,20.209 -79.654,20.209 -38.306,0 -70.487,-8.6955 -79.917,-20.471 -0.1046,-0.0752 -0.1596,-0.18729 -0.2625,-0.26245 -0.9185,-0.67058 -1.8123,-1.2733 -2.6245,-1.9684 z"
+ style="fill:url(#linearGradient11805);stroke-width:2.42556"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path6022-8"
+ style="fill:#3b5d8b;stroke-width:2.42556"
+ inkscape:connector-curvature="0"
+ d="m 1618.3,-844.36 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -14.494,12.328 -46.02,20.865 -82.672,20.865 -36.727,0 -68.35,-8.6271 -82.804,-20.996 z" />
+ <path
+ id="path6043-0"
+ d="m 1618.3,-844.36 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -0.2087,0.17721 -0.4427,0.3519 -0.6561,0.52491 -5.2161,13.55 -39.937,24.014 -82.016,24.014 -42.466,0 -77.55,-10.545 -82.279,-24.277 -0.1684,-0.13312 -0.3624,-0.2549 -0.5249,-0.39347 z"
+ style="fill:url(#linearGradient11807);stroke-width:2.42556"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path6054-4"
+ style="fill:url(#linearGradient11809);stroke-width:2.42556"
+ inkscape:connector-curvature="0"
+ d="m 1618.3,-800.18 c 0.6187,15.05 37.507,27.164 82.804,27.164 45.168,0 81.851,-12.042 82.672,-27.033 -0.2087,0.17721 -0.4427,0.3519 -0.6561,0.52491 -5.2161,13.55 -39.937,24.014 -82.016,24.014 -42.466,0 -77.55,-10.545 -82.279,-24.277 -0.1684,-0.13312 -0.3624,-0.2549 -0.5249,-0.39347 z" />
+ <path
+ id="path6060-7"
+ d="m 1618.8,-754.64 c 4.7284,13.732 39.813,24.277 82.279,24.277 42.079,0 76.8,-10.464 82.016,-24.014 -14.766,12.043 -45.892,20.34 -82.016,20.34 -36.314,0 -67.608,-8.4562 -82.279,-20.602 z"
+ style="fill:#3b5d8b;stroke-width:2.42556"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-40.600285"
+ y="693.29376"
+ id="text1185"><tspan
+ sodipodi:role="line"
+ id="tspan1183"
+ x="-40.600285"
+ y="693.29376"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';stroke:none">Server / computer</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-43.34169"
+ y="769.37323"
+ id="text1185-2"><tspan
+ sodipodi:role="line"
+ id="tspan1183-6"
+ x="-43.34169"
+ y="769.37323"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none">Note: Public domain graphics from https://openclipart.org/</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:42.5884px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="142.22464"
+ y="565.10297"
+ id="text907"><tspan
+ sodipodi:role="line"
+ id="tspan905"
+ x="142.22464"
+ y="565.10297" /></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:42.5884px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="98.363503"
+ y="637.8432"
+ id="text911"><tspan
+ sodipodi:role="line"
+ id="tspan909"
+ x="98.363503"
+ y="637.8432" /></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:42.5884px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-59.575905"
+ y="580.05695"
+ id="text915"><tspan
+ sodipodi:role="line"
+ id="tspan913"
+ x="-59.575905"
+ y="580.05695" /></text>
+ <rect
+ style="fill:#deddda;fill-opacity:1;fill-rule:evenodd;stroke:#9a9996;stroke-width:2;stroke-opacity:1"
+ id="rect917-0"
+ width="120.00001"
+ height="69.017166"
+ x="240"
+ y="120.98283"
+ ry="3.4599047" />
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="301.85687"
+ y="147.99857"
+ id="text1185-3-55"><tspan
+ sodipodi:role="line"
+ id="tspan1183-8-2"
+ x="301.85687"
+ y="147.99857"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;stroke:none">Light 3</tspan><tspan
+ sodipodi:role="line"
+ x="303.70908"
+ y="165.99524"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';stroke:none"
+ id="tspan957-2"><tspan
+ id="tspan65063"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;stroke:none">box</tspan> </tspan></text>
+ <g
+ id="g1125-0"
+ transform="matrix(0.42240595,0,0,0.41654472,-55.833175,-195.15195)"
+ style="stroke:none;stroke-width:2.38399">
+ <rect
+ style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.76797;stroke-opacity:1"
+ id="rect1061-9"
+ width="452.00439"
+ height="192.0562"
+ x="11.609296"
+ y="276.44562"
+ ry="4.0176301" />
+ <g
+ id="g1109-1"
+ transform="translate(-2.7615661,-1.7576335)"
+ style="stroke:none;stroke-width:2.38399">
+ <path
+ id="path14-9"
+ class="st0"
+ d="m 439.74452,358.11274 c 0,4.22 -3.41,7.64 -7.64,7.64 -4.22,0 -7.63,-3.42 -7.63,-7.64 0,-4.22 3.41,-7.64 7.63,-7.64 4.23,0 7.64,3.42 7.64,7.64 v 0"
+ style="fill:#4a97d2;fill-opacity:1;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path16-6"
+ class="st1"
+ d="m 114.56452,324.94274 -11.13,-6.3 -22.409996,45.41 -23.9,-45.41 -11.27,6.3 28.41,53.38 c -0.21,0.51 -0.86,1.9 -1.95,4.22 -1.11,2.21 -2.25,4.41 -3.46,6.62 -2.11,3.81 -4.26,6.91 -6.46,9.32 -2.21,2.51 -4.46,4.51 -6.78,6.02 -2.3,1.51 -4.7,2.65 -7.21,3.46 -2.41,0.8 -4.87,1.45 -7.38,1.95 l 5.12,10.68 c 1.6,-0.21 3.75,-0.71 6.46,-1.51 2.81,-0.7 5.86,-2.06 9.17,-4.06 3.3,-2 6.67,-4.86 10.07,-8.57 3.52,-3.71 6.78,-8.62 9.78,-14.73 l 32.939996,-66.78"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path18-2"
+ class="st1"
+ d="m 175.39452,358.18274 c 0,3.51 -0.6,6.76 -1.81,9.78 -1.21,3 -2.86,5.62 -4.95,7.81 -2.01,2.11 -4.41,3.81 -7.22,5.12 -2.71,1.19 -5.67,1.8 -8.87,1.8 -3.21,0 -6.22,-0.6 -9.02,-1.8 -2.81,-1.31 -5.27,-3.01 -7.38,-5.12 -2,-2.19 -3.6,-4.81 -4.81,-7.81 -1.21,-3.01 -1.81,-6.27 -1.81,-9.78 0,-3.51 0.6,-6.76 1.81,-9.77 1.21,-3 2.81,-5.61 4.81,-7.82 2.11,-2.21 4.57,-3.92 7.38,-5.11 2.8,-1.32 5.81,-1.97 9.02,-1.97 3.21,0 6.16,0.65 8.87,1.97 2.81,1.19 5.21,2.9 7.22,5.11 2.1,2.21 3.75,4.81 4.95,7.82 1.2,3.01 1.81,6.26 1.81,9.77 m 13.98,0 c 0,-5.21 -0.95,-10.08 -2.86,-14.59 -1.81,-4.51 -4.36,-8.42 -7.67,-11.73 -3.32,-3.3 -7.22,-5.86 -11.73,-7.67 -4.51,-1.9 -9.38,-2.86 -14.59,-2.86 -5.21,0 -10.08,0.95 -14.59,2.86 -4.51,1.81 -8.43,4.36 -11.73,7.67 -3.3,3.31 -5.92,7.22 -7.82,11.73 -1.9,4.51 -2.86,9.38 -2.86,14.59 0,5.21 0.95,10.08 2.86,14.59 1.9,4.41 4.52,8.27 7.82,11.57 3.3,3.32 7.22,5.92 11.73,7.82 4.51,1.81 9.38,2.71 14.59,2.71 5.21,0 10.08,-0.9 14.59,-2.71 4.51,-1.91 8.41,-4.51 11.73,-7.82 3.3,-3.3 5.86,-7.16 7.67,-11.57 1.91,-4.51 2.86,-9.38 2.86,-14.59"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path20-5"
+ class="st1"
+ d="m 373.22452,358.18274 c 0,3.51 -0.6,6.76 -1.81,9.78 -1.21,3 -2.86,5.62 -4.97,7.81 -2,2.11 -4.4,3.81 -7.21,5.12 -2.71,1.19 -5.67,1.8 -8.87,1.8 -3.21,0 -6.22,-0.6 -9.03,-1.8 -2.8,-1.31 -5.26,-3.01 -7.37,-5.12 -2,-2.19 -3.61,-4.81 -4.81,-7.81 -1.21,-3.01 -1.81,-6.27 -1.81,-9.78 0,-3.51 0.6,-6.76 1.81,-9.77 1.21,-3 2.81,-5.61 4.81,-7.82 2.11,-2.21 4.57,-3.92 7.37,-5.11 2.81,-1.32 5.82,-1.97 9.03,-1.97 3.21,0 6.16,0.65 8.87,1.97 2.81,1.19 5.21,2.9 7.21,5.11 2.11,2.21 3.76,4.81 4.97,7.82 1.21,3.01 1.81,6.26 1.81,9.77 m 13.98,0 c 0,-5.21 -0.95,-10.08 -2.86,-14.59 -1.81,-4.51 -4.36,-8.42 -7.67,-11.73 -3.32,-3.3 -7.22,-5.86 -11.73,-7.67 -4.51,-1.9 -9.38,-2.86 -14.59,-2.86 -5.22,0 -10.08,0.95 -14.59,2.86 -4.51,1.81 -8.43,4.36 -11.73,7.67 -3.3,3.31 -5.92,7.22 -7.82,11.73 -1.9,4.51 -2.86,9.38 -2.86,14.59 0,5.21 0.95,10.08 2.86,14.59 1.9,4.41 4.52,8.27 7.82,11.57 3.3,3.32 7.22,5.92 11.73,7.82 4.51,1.81 9.37,2.71 14.59,2.71 5.21,0 10.08,-0.9 14.59,-2.71 4.51,-1.91 8.41,-4.51 11.73,-7.82 3.3,-3.3 5.86,-7.16 7.67,-11.57 1.91,-4.51 2.86,-9.38 2.86,-14.59"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path22-4"
+ class="st1"
+ d="m 288.05452,298.59274 -13.39,7.52 v 16.45 h -36.21 c -26.15,0 -41.9,12.74 -41.9,35.95 0,36.04 37.55,42.84 64.25,29.96 l -5.63,-10.92 c -21.13,9.23 -44.53,5.3 -44.53,-19.28 0,-15.86 8.26,-24.54 27.49,-24.54 h 36.54 v 43.82 c 0,19.37 22.19,19.81 35.95,11.86 l -5.29,-10.45 c -8.85,4.48 -17.26,5.06 -17.26,-3.53 v -41.7 h 18.32 v -11.17 h -18.32 l -0.02,-23.97 v 0"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path24-4"
+ class="st1"
+ d="m 136.79452,428.30274 h 3.35 c 1.69,-0.01 3.34,1.19 3.34,2.9 0,2.87 -3.23,3.3 -3.23,3.3 l -3.46,0.02 z m -4.84,-4.1 v 25.3 h 4.83 l 0.06,-10.67 c 8.62,0.54 11.84,-2.46 11.84,-7.75 0,-4.75 -4.26,-6.88 -8.34,-6.88 h -8.39 v 0"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path26-9"
+ class="st1"
+ d="m 224.38452,436.87274 c 0,1.23 -0.23,2.39 -0.69,3.46 -0.42,1.04 -1.02,1.95 -1.81,2.74 -0.78,0.78 -1.7,1.4 -2.75,1.86 -1.04,0.42 -2.17,0.64 -3.38,0.64 -1.22,0 -2.35,-0.22 -3.39,-0.64 -1.05,-0.46 -1.96,-1.07 -2.75,-1.86 -0.76,-0.78 -1.36,-1.7 -1.81,-2.74 -0.46,-1.07 -0.69,-2.23 -0.69,-3.46 0,-1.23 0.23,-2.37 0.69,-3.42 0.45,-1.06 1.05,-1.99 1.81,-2.77 0.78,-0.78 1.7,-1.39 2.75,-1.82 1.04,-0.45 2.17,-0.67 3.39,-0.67 1.21,0 2.34,0.23 3.38,0.67 1.05,0.43 1.96,1.04 2.75,1.82 0.78,0.78 1.39,1.71 1.81,2.77 0.46,1.05 0.69,2.19 0.69,3.42 m 4.9,0 c 0,-1.81 -0.35,-3.5 -1.06,-5.06 -0.69,-1.59 -1.65,-2.97 -2.89,-4.12 -1.21,-1.17 -2.64,-2.09 -4.3,-2.75 -1.64,-0.69 -3.41,-1.04 -5.3,-1.04 -1.9,0 -3.69,0.35 -5.35,1.04 -1.64,0.66 -3.06,1.58 -4.27,2.75 -1.22,1.16 -2.17,2.53 -2.89,4.12 -0.69,1.57 -1.03,3.25 -1.03,5.06 0,1.83 0.34,3.53 1.03,5.1 0.72,1.57 1.68,2.94 2.89,4.12 1.21,1.17 2.63,2.09 4.27,2.75 1.66,0.66 3.45,1 5.35,1 1.89,0 3.67,-0.34 5.3,-1 1.66,-0.66 3.1,-1.58 4.3,-2.75 1.24,-1.18 2.21,-2.55 2.89,-4.12 0.71,-1.56 1.06,-3.26 1.06,-5.1"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path28-9"
+ class="st1"
+ d="m 249.02452,424.25274 v 19.18 c 0,0.77 -0.57,1.63 -1.51,1.65 l -1.51,0.06 0.08,4.7 1.41,0.02 c 4.73,0.07 6.36,-4.37 6.36,-6.45 v -19.13"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path30-3"
+ class="st1"
+ d="m 290.20452,424.19274 h -16.13 v 25.22 h 16.2 l -0.07,-4.06 h -11.28 v -6.58 h 9.44 v -4.06 h -9.44 v -6.38 h 11.21 l 0.07,-4.14"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path32-6"
+ class="st1"
+ d="m 327.39452,430.24274 c -8.26,-4.53 -16.39,-1.78 -16.39,6.52 0,6.69 6.43,11.84 17,6.31 l 1.53,4.13 c -10.15,5.58 -23.51,1.6 -23.51,-10.44 0,-10.91 11.85,-16.59 23.36,-10.61 l -1.99,4.09"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path34-0"
+ class="st1"
+ d="m 366.07452,424.19274 0.01,4.13 h -8.05 v 21.16 h -4.85 v -21.15 h -7.73 l 0.11,-4.13 h 20.51"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ <path
+ id="path36-5"
+ class="st1"
+ d="m 172.67452,428.30274 h 3.35 c 1.69,-0.01 3.34,1.19 3.34,2.9 0,2.87 -3.23,3.3 -3.23,3.3 l -3.46,0.02 z m -4.82,-4.1 v 25.3 h 4.82 v -10.89 h 3.2 l 5.59,10.89 h 5.5 l -6.67,-12.2 c 2.64,-1.18 4.01,-3.26 4.01,-6.22 0,-4.94 -4.33,-6.88 -9.09,-6.88 h -7.36 v 0"
+ style="fill:#ffffff;stroke:none;stroke-width:0.238399;stroke-opacity:1" />
+ </g>
+ </g>
+ <g
+ id="g72820">
+ <rect
+ style="fill:#99c1f1;fill-opacity:1;fill-rule:evenodd;stroke:#62a0ea;stroke-width:2;stroke-opacity:1"
+ id="rect917-2-4-5"
+ width="120"
+ height="69.017166"
+ x="100"
+ y="120.00001"
+ ry="3.4599047" />
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.5687px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="155.10774"
+ y="150.4942"
+ id="text1185-3-5-5-9"
+ transform="scale(1.0176559,0.98265042)"><tspan
+ sodipodi:role="line"
+ x="155.10774"
+ y="150.4942"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.5687px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;stroke:none;stroke-width:1px"
+ id="tspan957-6-5-9">Blue 1</tspan><tspan
+ sodipodi:role="line"
+ x="155.10774"
+ y="168.80861"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.5687px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;stroke:none;stroke-width:1px"
+ id="tspan60047">box</tspan></text>
+ </g>
+ <rect
+ style="fill:#ffbe6f;fill-opacity:1;fill-rule:evenodd;stroke:#ffa348;stroke-width:2;stroke-opacity:1"
+ id="rect917-2-9"
+ width="120.00001"
+ height="69.017166"
+ x="-40"
+ y="120.00001"
+ ry="3.4599047" />
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.5687px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="20.119326"
+ y="149.15712"
+ id="text1185-3-5-5-9-4"
+ transform="scale(1.0176559,0.98265042)"><tspan
+ sodipodi:role="line"
+ x="20.119326"
+ y="149.15712"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.5687px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;stroke:none;stroke-width:1px"
+ id="tspan957-6-5-9-2">Orange 1</tspan><tspan
+ sodipodi:role="line"
+ x="20.119326"
+ y="167.47153"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.5687px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;stroke:none;stroke-width:1px"
+ id="tspan60047-2">box</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:42.5884px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="313.46567"
+ y="412.9321"
+ id="text3781"><tspan
+ sodipodi:role="line"
+ id="tspan3779"
+ x="313.46567"
+ y="412.9321" /></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-52.348656"
+ y="518.42615"
+ id="text1185-9-2"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-8"
+ x="-52.348656"
+ y="518.42615"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:37.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none">Objets</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-52.87841"
+ y="89.660812"
+ id="text1185-9-2-7"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-8-2"
+ x="-52.87841"
+ y="89.660812"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:37.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none">Shapes</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:37.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-52.994568"
+ y="-109.65781"
+ id="text1185-9-2-7-0"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-8-2-4"
+ x="-52.994568"
+ y="-109.65781"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:37.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none">Logos</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-51.052338"
+ y="248.86438"
+ id="text1185-9-2-7-3"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-8-2-8"
+ x="-51.052338"
+ y="248.86438"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:37.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none">Arrows</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-52.697285"
+ y="373.75641"
+ id="text1185-9-2-7-3-6"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-8-2-8-4"
+ x="-52.697285"
+ y="373.75641"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:37.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none">Text</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker5285);marker-end:url(#marker5161)"
+ d="M -40,290.00001 H 70.803508"
+ id="path5151"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ffa348;fill-rule:evenodd;stroke:#ffa348;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow2Mstart-4);marker-end:url(#Arrow2Mend-4)"
+ d="M 99.19649,290.00001 H 210"
+ id="path5151-1"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c0bfbc;fill-rule:evenodd;stroke:#c0bfbc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker5285);marker-end:url(#marker5161)"
+ d="M 379.19649,290.00001 H 490"
+ id="path5151-1-2"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-38.034531"
+ y="429.09885"
+ id="text1185-9-7"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-2"
+ x="-38.034531"
+ y="429.09885"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';stroke:none">Normal text</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="105.28938"
+ y="324.79022"
+ id="text1185-9-7-8"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-2-9"
+ x="105.28938"
+ y="324.79022"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';stroke:none">Orange 1 arrow</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="255.85823"
+ y="324.95401"
+ id="text1185-9-7-8-2"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-2-9-8"
+ x="255.85823"
+ y="324.95401"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';stroke:none">Blue 1 arrow</tspan></text>
+ <path
+ style="fill:#99c1f1;fill-rule:evenodd;stroke:#99c1f1;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker4174-8);marker-end:url(#marker4286-6)"
+ d="M 239.19649,290.00001 H 350"
+ id="path5151-1-2-3"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="395.33353"
+ y="324.16251"
+ id="text1185-9-7-8-2-8"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-2-9-8-3"
+ x="395.33353"
+ y="324.16251"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';stroke:none">Light 3 arrow</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="57.50481"
+ y="428.73474"
+ id="text1185-9-7-1"><tspan
+ sodipodi:role="line"
+ id="tspan1183-1-2-2"
+ x="57.50481"
+ y="428.73474"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke:none">Label text (bold)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:42.5884px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-16.290483"
+ y="345.7359"
+ id="text3116"><tspan
+ sodipodi:role="line"
+ id="tspan3114"
+ x="-16.290483"
+ y="345.7359" /></text>
+ </g>
+ <style
+ type="text/css"
+ id="style1021"> .st0{fill:#4A97D2;} .st1{fill:#333333;} </style>
+</svg>
diff --git a/poky/documentation/test-manual/intro.rst b/poky/documentation/test-manual/intro.rst
index 101d283665..4a3a97e29a 100644
--- a/poky/documentation/test-manual/intro.rst
+++ b/poky/documentation/test-manual/intro.rst
@@ -121,7 +121,7 @@ the following types of tests:
$ bitbake image -c testsdkext
- The tests utilize the ``testsdkext`` class and the ``do_testsdkext`` task.
+ The tests utilize the :ref:`testsdkext <ref-classes-testsdk>` class and the ``do_testsdkext`` task.
- *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
diff --git a/poky/documentation/test-manual/reproducible-builds.rst b/poky/documentation/test-manual/reproducible-builds.rst
index 349cd1953e..5977366c9e 100644
--- a/poky/documentation/test-manual/reproducible-builds.rst
+++ b/poky/documentation/test-manual/reproducible-builds.rst
@@ -33,10 +33,10 @@ need to rebuild to add a security fix. If this happens, only the components that
have been modified should change at the binary level. This would lead to much
easier and clearer bounds on where validation is needed.
-This also gives an additional benefit to the project builds themselves, our hash
-equivalence for :ref:`Shared State <overview-manual/concepts:Shared State>`
-object reuse works much more effectively when the binary output remains the
-same.
+This also gives an additional benefit to the project builds themselves, our
+:ref:`overview-manual/concepts:Hash Equivalence` for
+:ref:`overview-manual/concepts:Shared State` object reuse works much more
+effectively when the binary output remains the same.
.. note::
diff --git a/poky/documentation/what-i-wish-id-known.rst b/poky/documentation/what-i-wish-id-known.rst
index 143f9fbfed..dec5617173 100644
--- a/poky/documentation/what-i-wish-id-known.rst
+++ b/poky/documentation/what-i-wish-id-known.rst
@@ -150,7 +150,7 @@ contact us with other suggestions.
need, which is advantageous because you are building for small devices when
developing for embedded and IoT.
-#. **You will want to learn about and know what's packaged in rootfs.**
+#. **You will want to learn about and know what's packaged in the root filesystem.**
#. **Create your own image recipe:**
There are a number of ways to create your own image recipe. We suggest you