summaryrefslogtreecommitdiff
path: root/poky/documentation
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2022-11-03 21:47:49 +0300
committerPatrick Williams <patrick@stwcx.xyz>2022-11-03 22:43:10 +0300
commit2390b1b6299fb1e57e6d9a94c287ce1c0b322376 (patch)
tree09462bb0a9634a75c5044f4a4db872fa857780da /poky/documentation
parent5641269ed7838c5ea402b23c5e0ac0af5d6a866b (diff)
downloadopenbmc-2390b1b6299fb1e57e6d9a94c287ce1c0b322376.tar.xz
subtree updates2.14.0-dev
meta-arm: 14c7e5b336..3b7347cd67: Jon Mason (6): CI: Remove host bitbake variables arm: add Mickledore to layer compat string CI: Add packages for opencsd and gator-daemon to base build CI: add common fvp yml file arm/opencsd: update to version 1.3.1 arm/gator-daemon: update to v7.8.0 Jose Quaresma (2): optee-ftpm/optee-os: add missing space in EXTRA_OEMAKE optee-os-ts: avoid using escape chars in EXTRA_OEMAKE Mohamed Omar Asaker (4): Revert "arm-bsp/trusted-firmware-m: corstone1000: secure debug code checkout from yocto" Revert "arm-bsp/trusted-firmware-m: corstone1000: bump tfm SHA" arm-bsp/trusted-firmware-m: corstone1000 support FMP image info arm-bsp/corstone1000: add msd configs for fvp Ross Burton (5): arm/hafnium: add missing Upstream-Status arm-bsp/hafnium: add missing Upstream-Status arm-bsp/linux-arm64-ack: fix malformed Upstream-Status tag CI: add documentation job CI: track meta-openembedded's langdale branch Rui Miguel Silva (2): arm/trusted-services: port crypto config arm-bsp/corstone1000: apply ts patch to psa crypto api test Satish Kumar (1): arm-bsp/trusted-service: corstone1000: esrt support Vishnu Banavath (4): runfvp: corstone1000: add mmc card configuration meta-arm-bsp/doc: add readthedocs for corstone1000 arm-bsp/optee: register DRAM1 for N1SDP target arm-bsp:optee: enable optee test for N1SDP target meta-raspberrypi: 722c51647c..a305f4804b: Sung Gon Kim (1): libcamera: rename bbappend to match any version meta-openembedded: 8073ec2275..6ebff843cc: Akash Hadke (1): audit: Fix compile error for audit_2.8.5 Alex Kiernan (1): lldpd: Upgrade 1.0.14 -> 1.0.15 Alexander Kanavin (3): sip3: remove the recipe python3-wxgtk4: skip the recipe python3-yappi: mark as incompatible with python 3.11 Bhupesh Sharma (1): android-tools-conf-configfs: Allow handling two or more UDC controllers Eero Aaltonen (1): valijson: use install task from CMakeLists.txt Etienne Cordonnier (1): uutils-coreutils: upgrade 0.0.15 -> 0.0.16 Gianfranco Costamagna (2): vboxguestdrivers: upgrade 6.1.38 -> 7.0.0 vbxguestdrivers: upgrade 7.0.0 -> 7.0.2 Joshua Watt (3): nginx: Add ipv6 support iniparser: Add native support libzip: Add native support Khem Raj (3): postfix: Upgrade to 3.7.3 msktutil: Add recipe protobuf: Enable protoc binary in nativesdk Leon Anavi (7): python3-cheetah: Upgrade 3.2.6 -> 3.2.6.post1 python3-dill: Upgrade 0.3.5.1 -> 0.3.6 python3-pythonping: Upgrade 1.1.3 -> 1.1.4 python3-colorama: Upgrade 0.4.5 -> 0.4.6 python3-pint: Upgrade 0.19.2 -> 0.20 python3-traitlets: Upgrade 5.4.0 -> 5.5.0 python3-py-cpuinfo: Upgrade 8.0.0 -> 9.0.0 Markus Volk (4): perfetto: build libperfetto libcamera: upgrade -> 0.0.1 gtk-vnc: add recipe spice-gtk: add recipe Meier Boas (1): jwt-cpp: add recipe Ovidiu Panait (1): syzkaller: add recipe and selftest for syzkaller fuzzing Peter Marko (2): cpputest: remove dev package dependency cpputest: add possibility to build extensions Robert Joslyn (1): fwupd: Fix plugin_gpio PACKAGECONFIG Sebastian Trahm (1): Add recipe for python3-pytest-json-report Tim Orling (5): libmime-types-perl: upgrade 2.17 -> 2.22 libcompress-raw*-perl: move from libio/compress-* libio-compress*-perl: cleanup; fixes libcompress-raw-*-perl: cleanup; fixes packagegroup-meta-perl: mv libcompress-raw-*-perl Vincent Davis Jr (2): libglvnd: add new recipe libglvnd v1.5.0 xf86-video-amdgpu: add new recipe xf86-video-amdgpu Wang Mingyu (36): bats: upgrade 1.8.0 -> 1.8.2 ctags: upgrade 5.9.20221009.0 -> 5.9.20221016.0 fvwm: upgrade 2.6.9 -> 2.7.0 makedumpfile: upgrade 1.7.1 -> 1.7.2 sanlock: upgrade 3.8.4 -> 3.8.5 python3-astroid: upgrade 2.12.11 -> 2.12.12 python3-charset-normalizer: upgrade 2.1.1 -> 3.0.0 python3-google-api-python-client: upgrade 2.64.0 -> 2.65.0 python3-google-auth: upgrade 2.12.0 -> 2.13.0 python3-grpcio-tools: upgrade 1.49.1 -> 1.50.0 python3-grpcio: upgrade 1.49.1 -> 1.50.0 python3-huey: upgrade 2.4.3 -> 2.4.4 python3-incremental: upgrade 21.3.0 -> 22.10.0 python3-luma-core: upgrade 2.3.1 -> 2.4.0 python3-oauthlib: upgrade 3.2.1 -> 3.2.2 python3-pandas: upgrade 1.5.0 -> 1.5.1 python3-pastedeploy: upgrade 2.1.1 -> 3.0.1 python3-pika: upgrade 1.3.0 -> 1.3.1 python3-portalocker: upgrade 2.5.1 -> 2.6.0 python3-protobuf: upgrade 4.21.7 -> 4.21.8 python3-pyjwt: upgrade 2.5.0 -> 2.6.0 python3-pymongo: upgrade 4.2.0 -> 4.3.2 python3-pywbemtools: upgrade 1.0.0 -> 1.0.1 python3-robotframework: upgrade 5.0.1 -> 6.0 python3-socketio: upgrade 5.7.1 -> 5.7.2 python3-sqlalchemy: upgrade 1.4.41 -> 1.4.42 tracker-miners: upgrade 3.2.1 -> 3.4.1 tracker: upgrade 3.4.0 -> 3.4.1 wolfssl: upgrade 5.5.1 -> 5.5.2 cglm: upgrade 0.8.5 -> 0.8.7 ctags: upgrade 5.9.20221016.0 -> 5.9.20221023.0 flatbuffers: upgrade 22.9.29 -> 22.10.26 function2: upgrade 4.2.1 -> 4.2.2 poco: upgrade 1.12.2 -> 1.12.3 thingsboard-gateway: upgrade 3.1 -> 3.2 grpc: upgrade 1.50.0 -> 1.50.1 Xiangyu Chen (1): ipmitool: fix typo in .bb file's comments, using = instead of =? Zheng Qiu (1): jq: improve ptest and disable valgrind by default zhengruoqin (5): tcpslice: upgrade 1.5 -> 1.6 tio: upgrade 2.1 -> 2.2 python3-stevedore: upgrade 4.0.1 -> 4.1.0 python3-xxhash: upgrade 3.0.0 -> 3.1.0 python3-zeroconf: upgrade 0.39.1 -> 0.39.2 meta-security: e8e7318189..2aa48e6f4e: Armin Kuster (1): kas-security-base.yml: make work again Gowtham Suresh Kumar (1): Update PARSEC recipe to latest v1.1.0 release Michael Haener (1): tpm2-openssl: update to 1.1.1 poky: 95c802b0be..482c493cf6: Adrian Freihofer (3): own-mirrors: add crate buildconf: compare abspath ref-manual: add wic command bootloader ptable option Ahmad Fatoum (2): kernel-fitimage: mangle slashes to underscores as late as possible kernel-fitimage: skip FDT section creation for applicable symlinks Alex Kiernan (4): u-boot: Remove duplicate inherit of cml1 u-boot: Add savedefconfig task rust: update 1.63.0 -> 1.64.0 cargo_common.bbclass: Fix typos Alexander Kanavin (40): rust-target-config: match riscv target names with what rust expects rust: install rustfmt for riscv32 as well unfs3: correct upstream version check gnu-config: update to latest revision llvm: update 14.0.6 -> 15.0.1 grep: update 3.7 -> 3.8 hdparm: update 9.64 -> 9.65 stress-ng: update 0.14.03 -> 0.14.06 vulkan: update 1.3.216.0 -> 1.3.224.1 wayland-utils: update 1.0.0 -> 1.1.0 libxft: update 2.3.4 -> 2.3.6 pinentry: update 1.2.0 -> 1.2.1 ovmf: upgrade edk2-stable202205 -> edk2-stable202208 cmake: update 3.24.0 -> 3.24.2 jquery: upgrade 3.6.0 -> 3.6.1 python3-dbus: upgrade 1.2.18 -> 1.3.2 python3-hatch-fancy-pypi-readme: add a recipe python3-jsonschema: upgrade 4.9.1 -> 4.16.0 shadow: update 4.12.1 -> 4.12.3 lttng-modules: upgrade 2.13.4 -> 2.13.5 libsoup: upgrade 3.0.7 -> 3.2.0 libxslt: upgrade 1.1.35 -> 1.1.37 quilt: backport a patch to address grep 3.8 failures python3: update 3.10.6 -> 3.11.0 cargo-update-recipe-crates.bbclass: add a class to generate SRC_URI crate lists from Cargo.lock python3-bcrypt: convert to use cargo-update-recipe-crates class. python3-cryptography: convert to cargo-update-recipe-crates class groff: submit patches upstream tcl: correct patch status tcl: correct upstream version check lttng-tools: submit determinism.patch upstream cmake: drop qt4 patches kea: submit patch upstream argp-standalone: replace with a maintained fork ovmf: correct patches status go: submit patch upstream libffi: submit patch upstream go: update 1.19 -> 1.19.2 rust-common.bbclass: use built-in rust targets for -native builds rust: submit a rewritten version of crossbeam_atomic.patch upstream Andrew Geissler (1): go: add support to build on ppc64le Bartosz Golaszewski (1): bluez5: add dbus to RDEPENDS Bernhard Rosenkränzer (1): cmake-native: Fix host tool contamination Bruce Ashfield (3): kern-tools: fix relative path processing linux-yocto/5.19: update to v5.19.14 linux-yocto/5.15: update to v5.15.72 Changhyeok Bae (2): ethtool: upgrade 5.19 -> 6.0 iproute2: upgrade 5.19.0 -> 6.0.0 Chen Qi (1): openssl: export necessary env vars in SDK Christian Eggers (1): linux-firmware: split rtl8761 firmware Claus Stovgaard (1): gstreamer1.0-libav: fix errors with ffmpeg 5.x Ed Tanous (1): openssl: Upgrade 3.0.5 -> 3.0.7 Etienne Cordonnier (1): mirrors.bbclass: use shallow tarball for binutils-native Fabio Estevam (1): go-mod.bbclass: Remove repeated word Frank de Brabander (1): cve-update-db-native: add timeout to urlopen() calls Hitendra Prajapati (1): openssl: CVE-2022-3358 Using a Custom Cipher with NID_undef may lead to NULL encryption Jan-Simon Moeller (1): buildtools-tarball: export certificates to python and curl Jeremy Puhlman (1): qemu-native: Add PACKAGECONFIG option for jack Johan Korsnes (1): bitbake: bitbake: user-manual: inform about spaces in :remove Jon Mason (2): linux-yocto: add efi entry for machine features linux-yocto-dev: add qemuarmv5 Jose Quaresma (3): kernel-yocto: improve fatal error messages of symbol_why.py oeqa/selftest/archiver: Add multiconfig test for shared recipes archiver: avoid using machine variable as it breaks multiconfig Joshua Watt (3): runqemu: Fix gl-es argument from causing other arguments to be ignored qemu-helper-native: Re-write bridge helper as C program runqemu: Do not perturb script environment Justin Bronder (1): bitbake: asyncrpc: serv: correct closed client socket detection Kai Kang (1): mesa: only apply patch to fix ALWAYS_INLINE for native Keiya Nobuta (2): gnutls: Unified package names to lower-case create-spdx: Remove ";name=..." for downloadLocation Khem Raj (3): perf: Depend on native setuptools3 musl: Upgrade to latest master mesa: Add native patch via a variable Lee Chee Yang (2): migration-guides/release-notes-4.1.rst: update Repositories / Downloads migration-guides/release-notes-4.1.rst: update Repositories / Downloads Leon Anavi (1): python3-manifest.json: Move urllib to netclient Liam Beguin (1): meson: make wrapper options sub-command specific Luca Boccassi (1): systemd: add systemd-creds and systemd-cryptenroll to systemd-extra-utils Marek Vasut (1): bluez5: Point hciattach bcm43xx firmware search path to /lib/firmware Mark Asselstine (2): bitbake: tests: bb.tests.fetch.URLHandle: add 2 new tests bitbake: bitbake: bitbake-layers: checkout layer(s) branch when clone exists Mark Hatle (2): insane.bbclass: Allow hashlib version that only accepts on parameter bitbake: utils/ply: Update md5 to better report errors with hashlib Markus Volk (2): wayland-protocols: upgrade 1.26 -> 1.27 mesa: update 22.2.0 -> 22.2.2 Martin Jansa (3): vulkan-samples: add lfs=0 to SRC_URI to avoid git smudge errors in do_unpack externalsrc.bbclass: fix git repo detection cargo-update-recipe-crates: small improvements Maxim Uvarov (2): wic: add UEFI kernel as UEFI stub wic: bootimg-efi: implement --include-path Michael Opdenacker (11): manuals: updates for building on Windows (WSL 2) ref-manual: classes.rst: add links to all references to a class poky.conf: remove Ubuntu 21.10 bitbake: doc: bitbake-user-manual: expand description of BB_PRESSURE_MAX variables bitbake: bitbake-user-manual: details about variable flags starting with underscore Documentation/README: formalize guidelines for external link syntax manuals: replace "_" by "__" in external links manuals: stop referring to the meta-openembedded repo from GitHub manuals: add missing references to SDKMACHINE and SDK_ARCH manuals: use references to the "Build Directory" term create-spdx.bbclass: remove unused SPDX_INCLUDE_PACKAGED Mikko Rapeli (6): os-release: replace DISTRO_CODENAME with VERSION_CODENAME os-release: add HOMEPAGE and link to documentation ref-manual: variables.rst: add documentation for CVE_VERSION ref-manual: classes.rst: improve documentation for cve-check.bbclass dev-manual: common-tasks.rst: add regular updates and CVE scans to security best practices dev-manual: common-tasks.rst: refactor and improve "Checking for Vulnerabilities" section Ming Liu (1): dropbear: add pam to PACKAGECONFIG Mingli Yu (1): grub: disable build on armv7ve/a with hardfp Oliver Lang (2): bitbake: cooker: fix a typo bitbake: runqueue: fix a typo Pablo Saavedra Rodi?o (1): weston: update 10.0.2 -> 11.0.0 Paul Eggleton (2): install-buildtools: support buildtools-make-tarball and update to 4.1 ref-manual: add info on buildtools-make-tarball Peter Bergin (1): gptfdisk: remove warning message from target system Peter Kjellerstedt (3): gcc: Allow -Wno-error=poison-system-directories to take effect base-passwd: Update to 3.6.1 externalsrc.bbclass: Remove a trailing slash from ${B} Qiu, Zheng (2): tiff: fix a typo for CVE-2022-2953.patch valgrind: update to 3.20.0 Quentin Schulz (1): docs: add support for langdale (4.1) release Richard Purdie (4): openssl: Fix SSL_CERT_FILE to match ca-certs location bitbake: tests/fetch: Allow handling of a file:// url within a submodule patchelf: upgrade 0.15.0 -> 0.16.1 lttng-modules: upgrade 2.13.5 -> 2.13.7 Robert Joslyn (1): curl: Update 7.85.0 to 7.86.0 Ross Burton (26): populate_sdk_base: ensure ptest-pkgs pulls in ptest-runner scripts/oe-check-sstate: cleanup scripts/oe-check-sstate: force build to run for all targets, specifically populate_sysroot externalsrc: move back to classes opkg-utils: use a git clone, not a dynamic snapshot oe/packagemanager/rpm: don't leak file objects zlib: use .gz archive and set a PREMIRROR glib-2.0: fix rare GFileInfo test case failure lighttpd: fix CVE-2022-41556 acpid: upgrade 2.0.33 -> 2.0.34 python3-hatchling: upgrade 1.9.0 -> 1.10.0 pango: upgrade 1.50.9 -> 1.50.10 piglit: upgrade to latest revision lsof: upgrade 4.95.0 -> 4.96.3 zlib: do out-of-tree builds zlib: upgrade 1.2.12 -> 1.2.13 libx11: apply the fix for CVE-2022-3554 xserver-xorg: ignore CVE-2022-3553 as it is XQuartz-specific xserver-xorg: backport fixes for CVE-2022-3550 and CVE-2022-3551 tiff: fix a number of CVEs qemu: backport the fix for CVE-2022-3165 bitbake: fetch2/git: don't set core.fsyncobjectfiles=0 sanity: check for GNU tar specifically expat: upgrade to 2.5.0 oeqa/target/ssh: add ignore_status argument to run() oeqa/runtime/dnf: rewrite test_dnf_installroot_usrmerge Sakib Sajal (1): go: update 1.19.2 -> 1.19.3 Sean Anderson (6): uboot-sign: Fix using wrong KEY_REQ_ARGS kernel: Clear SYSROOT_DIRS instead of replacing sysroot_stage_all kernel-fitimage: Use KERNEL_OUTPUT_DIR where appropriate uboot-sign: Use bitbake variables directly uboot-sign: Split off kernel-fitimage variables u-boot: Rework signing to remove interdependencies Sergei Zhmylev (2): wic: implement binary repeatable disk identifiers wic: honor the SOURCE_DATE_EPOCH in case of updated fstab Teoh Jay Shen (1): vim: Upgrade 9.0.0598 -> 9.0.0614 Thomas Perrot (2): psplash: add psplash-default in rdepends xserver-xorg: move some recommended dependencies in required Tim Orling (23): python3-cryptography: upgrade 37.0.4 -> 38.0.1 python3-cryptography-vectors: upgrade 37.0.4 -> 38.0.1 python3-certifi: upgrade 2022.9.14 -> 2022.9.24 python3-hypothesis: upgrade 6.54.5 -> 6.56.1 python3-pyopenssl: upgrade 22.0.0 -> 22.1.0 python3-bcrypt: upgrade 3.2.2 -> 4.0.0 python3-sphinx: upgrade 5.1.1 -> 5.2.3 python3-setuptools-rust: upgrade 1.5.1 -> 1.5.2 python3-iso8601: upgrade 1.0.2 -> 1.1.0 python3-poetry-core: upgrade 1.0.8 -> 1.3.2 git: upgrade 2.37.3 -> 2.38.1 vim: upgrade 9.0.0614 -> 9.0.0820 python3-mako: upgrade 1.2.2 -> 1.2.3 python3-bcrypt: upgrade 4.0.0 -> 4.0.1 python3-cryptography{-vectors}: 38.0.1 -> 38.0.3 python3-psutil: upgrade 5.9.2 -> 5.9.3 python3-pytest: upgrade 7.1.3 -> 7.2.0 python3-pytest-subtests: upgrade 0.8.0 -> 0.9.0 python3-hypothesis: upgrade 6.56.1 -> 6.56.4 python3-more-itertools: upgrade 8.14.0 -> 9.0.0 python3-pytz: upgrade 2022.4 -> 2022.6 python3-zipp: upgrade 3.9.0 -> 3.10.0 python3-sphinx: upgrade 5.2.3 -> 5.3.0 Vincent Davis Jr (1): linux-firmware: package amdgpu firmware Vyacheslav Yurkov (1): overlayfs: Allow not used mount points Xiangyu Chen (1): linux-yocto-dev: add qemuarm64 Yan Xinkuan (1): bc: Add ptest. ciarancourtney (1): wic: swap partitions are not added to fstab wangmy (32): init-system-helpers: upgrade 1.64 -> 1.65.2 meson: upgrade 0.63.2 -> 0.63.3 mtools: upgrade 4.0.40 -> 4.0.41 dbus: upgrade 1.14.0 -> 1.14.4 ifupdown: upgrade 0.8.37 -> 0.8.39 openssh: upgrade 9.0p1 -> 9.1p1 python3-hatchling: upgrade 1.10.0 -> 1.11.0 u-boot: upgrade 2022.07 -> 2022.10 python3-git: upgrade 3.1.27 -> 3.1.28 python3-importlib-metadata: upgrade 4.12.0 -> 5.0.0 gnutls: upgrade 3.7.7 -> 3.7.8 gsettings-desktop-schemas: upgrade 42.0 -> 43.0 harfbuzz: upgrade 5.1.0 -> 5.3.0 libcap: upgrade 2.65 -> 2.66 libical: upgrade 3.0.14 -> 3.0.15 libva: upgrade 2.15.0 -> 2.16.0 libva-utils: upgrade 2.15.0 -> 2.16.0 powertop: upgrade 2.14 -> 2.15 numactl: upgrade 2.0.15 -> 2.0.16 python3-pytz: upgrade 2022.2.1 -> 2022.4 python3-zipp: upgrade 3.8.1 -> 3.9.0 repo: upgrade 2.29.2 -> 2.29.3 sqlite3: upgrade 3.39.3 -> 3.39.4 wpebackend-fdo: upgrade 1.12.1 -> 1.14.0 xkeyboard-config: upgrade 2.36 -> 2.37 xz: upgrade 5.2.6 -> 5.2.7 libksba: upgrade 1.6.0 -> 1.6.2 libsdl2: upgrade 2.24.0 -> 2.24.1 libwpe: upgrade 1.12.3 -> 1.14.0 lttng-ust: upgrade 2.13.4 -> 2.13.5 btrfs-tools: upgrade 5.19.1 -> 6.0 lighttpd: upgrade 1.4.66 -> 1.4.67 Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3322dd0057da9f05bb2ba216fdcda3f569c0493b
Diffstat (limited to 'poky/documentation')
-rw-r--r--poky/documentation/README13
-rw-r--r--poky/documentation/boilerplate.rst2
-rw-r--r--poky/documentation/brief-yoctoprojectqs/index.rst29
-rw-r--r--poky/documentation/bsp-guide/bsp.rst3
-rw-r--r--poky/documentation/dev-manual/common-tasks.rst471
-rw-r--r--poky/documentation/dev-manual/qemu.rst12
-rw-r--r--poky/documentation/dev-manual/start.rst74
-rw-r--r--poky/documentation/kernel-dev/common.rst45
-rw-r--r--poky/documentation/kernel-dev/concepts-appx.rst3
-rw-r--r--poky/documentation/kernel-dev/intro.rst4
-rw-r--r--poky/documentation/kernel-dev/maint-appx.rst5
-rw-r--r--poky/documentation/migration-guides/migration-1.5.rst7
-rw-r--r--poky/documentation/migration-guides/migration-1.6.rst4
-rw-r--r--poky/documentation/migration-guides/migration-1.7.rst2
-rw-r--r--poky/documentation/migration-guides/migration-2.6.rst3
-rw-r--r--poky/documentation/migration-guides/migration-general.rst2
-rw-r--r--poky/documentation/migration-guides/release-notes-4.1.rst57
-rw-r--r--poky/documentation/overview-manual/concepts.rst85
-rw-r--r--poky/documentation/overview-manual/development-environment.rst8
-rw-r--r--poky/documentation/overview-manual/yp-intro.rst17
-rw-r--r--poky/documentation/poky.yaml.in14
-rw-r--r--poky/documentation/profile-manual/usage.rst4
-rw-r--r--poky/documentation/ref-manual/classes.rst519
-rw-r--r--poky/documentation/ref-manual/faq.rst17
-rw-r--r--poky/documentation/ref-manual/kickstart.rst17
-rw-r--r--poky/documentation/ref-manual/structure.rst33
-rw-r--r--poky/documentation/ref-manual/system-requirements.rst36
-rw-r--r--poky/documentation/ref-manual/terms.rst34
-rw-r--r--poky/documentation/ref-manual/variables.rst86
-rw-r--r--poky/documentation/sdk-manual/appendix-customizing.rst5
-rw-r--r--poky/documentation/sdk-manual/appendix-obtain.rst36
-rw-r--r--poky/documentation/sdk-manual/extensible.rst4
-rwxr-xr-xpoky/documentation/set_versions.py6
-rw-r--r--poky/documentation/test-manual/reproducible-builds.rst2
-rw-r--r--poky/documentation/test-manual/understand-autobuilder.rst4
-rw-r--r--poky/documentation/toaster-manual/reference.rst11
-rw-r--r--poky/documentation/toaster-manual/setup-and-use.rst19
37 files changed, 923 insertions, 770 deletions
diff --git a/poky/documentation/README b/poky/documentation/README
index 6333f0496a..c27ed86a33 100644
--- a/poky/documentation/README
+++ b/poky/documentation/README
@@ -275,6 +275,19 @@ websites.
More information can be found here:
https://sublime-and-sphinx-guide.readthedocs.io/en/latest/references.html.
+For external links, we use this syntax:
+`link text <link URL>`__
+
+instead of:
+`link text <link URL>`_
+
+Both syntaxes work, but the latter also creates a "link text" reference
+target which could conflict with other references with the same name.
+So, only use this variant when you wish to make multiple references
+to this link, reusing only the target name.
+
+See https://stackoverflow.com/questions/27420317/restructured-text-rst-http-links-underscore-vs-use
+
Anchor (<#link>) links are forbidden as they are not checked by Sphinx during
the build and may be broken without knowing about it.
diff --git a/poky/documentation/boilerplate.rst b/poky/documentation/boilerplate.rst
index 9b64d91efd..ad7bb64956 100644
--- a/poky/documentation/boilerplate.rst
+++ b/poky/documentation/boilerplate.rst
@@ -8,7 +8,7 @@
Permission is granted to copy, distribute and/or modify this document under the
terms of the `Creative Commons Attribution-Share Alike 2.0 UK: England & Wales
-<https://creativecommons.org/licenses/by-sa/2.0/uk/>`_ as published by Creative
+<https://creativecommons.org/licenses/by-sa/2.0/uk/>`__ as published by Creative
Commons.
To report any inaccuracies or problems with this (or any other Yocto Project)
diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst
index 7ae0ddc349..d322bbca6b 100644
--- a/poky/documentation/brief-yoctoprojectqs/index.rst
+++ b/poky/documentation/brief-yoctoprojectqs/index.rst
@@ -25,18 +25,11 @@ build a reference embedded OS called Poky.
in the Yocto Project Development Tasks Manual for more
information.
- - You may use Windows Subsystem For Linux v2 to set up a build host
- using Windows 10.
-
- .. note::
-
- The Yocto Project is not compatible with WSLv1, it is
- compatible but not officially supported nor validated with
- WSLv2, if you still decide to use WSL please upgrade to WSLv2.
-
- See the :ref:`dev-manual/start:setting up to use windows
- subsystem for linux (wslv2)` section in the Yocto Project Development
- Tasks Manual for more information.
+ - You may use version 2 of Windows Subsystem For Linux (WSL 2) to set
+ up a build host using Windows 10 or later, Windows Server 2019 or later.
+ See the :ref:`dev-manual/start:setting up to use windows subsystem for
+ linux (wsl 2)` section in the Yocto Project Development Tasks Manual
+ for more information.
If you want more conceptual or background information on the Yocto
Project, see the :doc:`/overview-manual/index`.
@@ -231,13 +224,13 @@ an entire Linux distribution, including the toolchain, from source.
Among other things, the script creates the :term:`Build Directory`, which is
``build`` in this case and is located in the :term:`Source Directory`. After
- the script runs, your current working directory is set to the Build
- Directory. Later, when the build completes, the Build Directory contains all the
- files created during the build.
+ the script runs, your current working directory is set to the
+ :term:`Build Directory`. Later, when the build completes, the
+ :term:`Build Directory` contains all the files created during the build.
#. **Examine Your Local Configuration File:** When you set up the build
environment, a local configuration file named ``local.conf`` becomes
- available in a ``conf`` subdirectory of the Build Directory. For this
+ available in a ``conf`` subdirectory of the :term:`Build Directory`. For this
example, the defaults are set to build for a ``qemux86`` target,
which is suitable for emulation. The package manager used is set to
the RPM package manager.
@@ -352,9 +345,7 @@ Follow these steps to add a hardware layer:
#. **Add Your Layer to the Layer Configuration File:** Before you can use
a layer during a build, you must add it to your ``bblayers.conf``
- file, which is found in the
- :term:`Build Directory` ``conf``
- directory.
+ file, which is found in the :term:`Build Directory` ``conf`` directory.
Use the ``bitbake-layers add-layer`` command to add the layer to the
configuration file:
diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst
index 7e17b42886..efdaf80f63 100644
--- a/poky/documentation/bsp-guide/bsp.rst
+++ b/poky/documentation/bsp-guide/bsp.rst
@@ -109,8 +109,7 @@ them to the "Dependencies" section.
Some layers function as a layer to hold other BSP layers. These layers
are known as ":term:`container layers <Container Layer>`". An example of
-this type of layer is OpenEmbedded's
-`meta-openembedded <https://github.com/openembedded/meta-openembedded>`__
+this type of layer is OpenEmbedded's :oe_git:`meta-openbedded </meta-openembedded>`
layer. The ``meta-openembedded`` layer contains many ``meta-*`` layers.
In cases like this, you need to include the names of the actual layers
you want to work with, such as::
diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst
index 53e7686633..c747c0deac 100644
--- a/poky/documentation/dev-manual/common-tasks.rst
+++ b/poky/documentation/dev-manual/common-tasks.rst
@@ -418,10 +418,10 @@ Enabling Your Layer
Before the OpenEmbedded build system can use your new layer, you need to
enable it. To enable your layer, simply add your layer's path to the
:term:`BBLAYERS` variable in your ``conf/bblayers.conf`` file, which is
-found in the :term:`Build Directory`.
-The following example shows how to enable your new
-``meta-mylayer`` layer (note how your new layer exists outside of
-the official ``poky`` repository which you would have checked out earlier)::
+found in the :term:`Build Directory`. The following example shows how to
+enable your new ``meta-mylayer`` layer (note how your new layer exists
+outside of the official ``poky`` repository which you would have checked
+out earlier)::
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
@@ -969,8 +969,7 @@ high-level image features by using the
variables. Although the functions for both variables are nearly
equivalent, best practices dictate using :term:`IMAGE_FEATURES` from within
a recipe and using :term:`EXTRA_IMAGE_FEATURES` from within your
-``local.conf`` file, which is found in the
-:term:`Build Directory`.
+``local.conf`` file, which is found in the :term:`Build Directory`.
To understand how these features work, the best reference is
:ref:`meta/classes-recipe/image.bbclass <ref-classes-image>`.
@@ -1206,11 +1205,10 @@ application that builds using Autotools. Creating the base recipe using
``recipetool`` results in a recipe that has the pre-build dependencies,
license requirements, and checksums configured.
-To run the tool, you just need to be in your
-:term:`Build Directory` and have sourced the
-build environment setup script (i.e.
-:ref:`structure-core-script`).
-To get help on the tool, use the following command::
+To run the tool, you just need to be in your :term:`Build Directory` and
+have sourced the build environment setup script (i.e.
+:ref:`structure-core-script`). To get help on the tool, use the following
+command::
$ recipetool -h
NOTE: Starting bitbake server...
@@ -1342,8 +1340,7 @@ using BitBake to process the recipe multiple times in order to
progressively discover and add information to the recipe file.
Assuming you have sourced the build environment setup script (i.e.
-:ref:`structure-core-script`) and you are in
-the :term:`Build Directory`, use
+:ref:`structure-core-script`) and you are in the :term:`Build Directory`, use
BitBake to process your recipe. All you need to provide is the
``basename`` of the recipe as described in the previous section::
@@ -1362,7 +1359,7 @@ is to have BitBake return it by running the following::
$ bitbake -e basename | grep ^WORKDIR=
As an example, assume a Source Directory
-top-level folder named ``poky``, a default Build Directory at
+top-level folder named ``poky``, a default :term:`Build Directory` at
``poky/build``, and a ``qemux86-poky-linux`` machine target system.
Furthermore, suppose your recipe is named ``foo_1.3.0.bb``. In this
case, the work directory the build system uses to build the package
@@ -3017,15 +3014,14 @@ The following steps describe how to set up the AUH utility:
AUH is not part of the :term:`OpenEmbedded-Core (OE-Core)` or
:term:`Poky` repositories.
-4. *Create a Dedicated Build Directory:* Run the
- :ref:`structure-core-script`
- script to create a fresh build directory that you use exclusively for
- running the AUH utility::
+4. *Create a Dedicated Build Directory:* Run the :ref:`structure-core-script`
+ script to create a fresh :term:`Build Directory` that you use exclusively
+ for running the AUH utility::
$ cd poky
$ source oe-init-build-env your_AUH_build_directory
- Re-using an existing build directory and its configurations is not
+ Re-using an existing :term:`Build Directory` and its configurations is not
recommended as existing settings could cause AUH to fail or behave
undesirably.
@@ -3045,7 +3041,7 @@ The following steps describe how to set up the AUH utility:
With this configuration and a successful
upgrade, a build history "diff" file appears in the
``upgrade-helper/work/recipe/buildhistory-diff.txt`` file found in
- your build directory.
+ your :term:`Build Directory`.
- If you want to enable testing through the
:ref:`testimage <ref-classes-testimage>`
@@ -3070,7 +3066,7 @@ The following steps describe how to set up the AUH utility:
7. *Create and Edit an AUH Configuration File:* You need to have the
``upgrade-helper/upgrade-helper.conf`` configuration file in your
- build directory. You can find a sample configuration file in the
+ :term:`Build Directory`. You can find a sample configuration file in the
:yocto_git:`AUH source repository </auto-upgrade-helper/tree/>`.
Read through the sample file and make configurations as needed. For
@@ -3118,7 +3114,7 @@ This next set of examples describes how to use the AUH:
$ upgrade-helper.py -e all
Once you have run the AUH utility, you can find the results in the AUH
-build directory::
+:term:`Build Directory`::
${BUILDDIR}/upgrade-helper/timestamp
@@ -3179,8 +3175,7 @@ example, assume that the layer has been cloned into following area::
/home/scottrif/meta-openembedded
-The following command from your
-:term:`Build Directory` adds the layer to
+The following command from your :term:`Build Directory` adds the layer to
your build configuration (i.e. ``${BUILDDIR}/conf/bblayers.conf``)::
$ bitbake-layers add-layer /home/scottrif/meta-openembedded/meta-oe
@@ -3341,16 +3336,14 @@ source code used by recipes to build packages. For example, suppose you
are developing a patch and you need to experiment a bit to figure out
your solution. After you have initially built the package, you can
iteratively tweak the source code, which is located in the
-:term:`Build Directory`, and then you can
-force a re-compile and quickly test your altered code. Once you settle
-on a solution, you can then preserve your changes in the form of
-patches.
+:term:`Build Directory`, and then you can force a re-compile and quickly
+test your altered code. Once you settle on a solution, you can then preserve
+your changes in the form of patches.
During a build, the unpacked temporary source code used by recipes to
-build packages is available in the Build Directory as defined by the
-:term:`S` variable. Below is the default
-value for the :term:`S` variable as defined in the
-``meta/conf/bitbake.conf`` configuration file in the
+build packages is available in the :term:`Build Directory` as defined by the
+:term:`S` variable. Below is the default value for the :term:`S` variable as
+defined in the ``meta/conf/bitbake.conf`` configuration file in the
:term:`Source Directory`::
S = "${WORKDIR}/${BP}"
@@ -3392,7 +3385,7 @@ The actual directory depends on several things:
- :term:`PR`: The recipe revision.
As an example, assume a Source Directory top-level folder named
-``poky``, a default Build Directory at ``poky/build``, and a
+``poky``, a default :term:`Build Directory` at ``poky/build``, and a
``qemux86-poky-linux`` machine target system. Furthermore, suppose your
recipe is named ``foo_1.3.0.bb``. In this case, the work directory the
build system uses to build the package would be as follows::
@@ -3420,8 +3413,7 @@ form of a patch all using Quilt.
Follow these general steps:
1. *Find the Source Code:* Temporary source code used by the
- OpenEmbedded build system is kept in the
- :term:`Build Directory`. See the
+ OpenEmbedded build system is kept in the :term:`Build Directory`. See the
":ref:`dev-manual/common-tasks:finding temporary source code`" section to
learn how to locate the directory that has the temporary source code for a
particular package.
@@ -3649,10 +3641,10 @@ build host running Linux.
:doc:`/brief-yoctoprojectqs/index` document.
The build process creates an entire Linux distribution from source and
-places it in your :term:`Build Directory` under
-``tmp/deploy/images``. For detailed information on the build process
-using BitBake, see the ":ref:`overview-manual/concepts:images`" section in the
-Yocto Project Overview and Concepts Manual.
+places it in your :term:`Build Directory` under ``tmp/deploy/images``. For
+detailed information on the build process using BitBake, see the
+":ref:`overview-manual/concepts:images`" section in the Yocto Project Overview
+and Concepts Manual.
The following figure and list overviews the build process:
@@ -3672,25 +3664,23 @@ The following figure and list overviews the build process:
When you use the initialization script, the OpenEmbedded build system
uses ``build`` as the default :term:`Build Directory` in your current work
directory. You can use a `build_dir` argument with the script to
- specify a different build directory.
+ specify a different :term:`Build Directory`.
.. note::
- A common practice is to use a different Build Directory for
+ A common practice is to use a different :term:`Build Directory` for
different targets; for example, ``~/build/x86`` for a ``qemux86``
target, and ``~/build/arm`` for a ``qemuarm`` target. In any
- event, it's typically cleaner to locate the build directory
+ event, it's typically cleaner to locate the :term:`Build Directory`
somewhere outside of your source directory.
3. *Make Sure Your* ``local.conf`` *File is Correct*: Ensure the
- ``conf/local.conf`` configuration file, which is found in the Build
- Directory, is set up how you want it. This file defines many aspects
- of the build environment including the target machine architecture
+ ``conf/local.conf`` configuration file, which is found in the
+ :term:`Build Directory`, is set up how you want it. This file defines many
+ aspects of the build environment including the target machine architecture
through the :term:`MACHINE` variable, the packaging format used during
- the build
- (:term:`PACKAGE_CLASSES`),
- and a centralized tarball download directory through the
- :term:`DL_DIR` variable.
+ the build (:term:`PACKAGE_CLASSES`), and a centralized tarball download
+ directory through the :term:`DL_DIR` variable.
4. *Build the Image:* Build the image using the ``bitbake`` command::
@@ -3718,7 +3708,7 @@ The following figure and list overviews the build process:
Once an
image has been built, it often needs to be installed. The images and
kernels built by the OpenEmbedded build system are placed in the
- Build Directory in ``tmp/deploy/images``. For information on how to
+ :term:`Build Directory` in ``tmp/deploy/images``. For information on how to
run pre-built images such as ``qemux86`` and ``qemuarm``, see the
:doc:`/sdk-manual/index` manual. For
information about how to install these images, see the documentation
@@ -3772,7 +3762,7 @@ Follow these steps to set up and execute multiple configuration builds:
TMPDIR = "${TOPDIR}/tmpmultix86"
The location for these multiconfig configuration files is specific.
- They must reside in the current build directory in a sub-directory of
+ They must reside in the current :term:`Build Directory` in a sub-directory of
``conf`` named ``multiconfig`` or within a layer's ``conf`` directory
under a directory named ``multiconfig``. Following is an example that defines
two configuration files for the "x86" and "arm" multiconfigs:
@@ -4275,15 +4265,13 @@ If build speed and package feed maintenance are considerations, you
should consider the points in this section that can help you optimize
your tunings to best consider build times and package feed maintenance.
-- *Share the Build Directory:* If at all possible, share the
- :term:`TMPDIR` across builds. The
- Yocto Project supports switching between different
- :term:`MACHINE` values in the same
- :term:`TMPDIR`. This practice is well supported and regularly used by
- developers when building for multiple machines. When you use the same
- :term:`TMPDIR` for multiple machine builds, the OpenEmbedded build system
- can reuse the existing native and often cross-recipes for multiple
- machines. Thus, build time decreases.
+- *Share the :term:`Build Directory`:* If at all possible, share the
+ :term:`TMPDIR` across builds. The Yocto Project supports switching between
+ different :term:`MACHINE` values in the same :term:`TMPDIR`. This practice
+ is well supported and regularly used by developers when building for
+ multiple machines. When you use the same :term:`TMPDIR` for multiple
+ machine builds, the OpenEmbedded build system can reuse the existing native
+ and often cross-recipes for multiple machines. Thus, build time decreases.
.. note::
@@ -4399,10 +4387,10 @@ your tunings to best consider build times and package feed maintenance.
Building Software from an External Source
-----------------------------------------
-By default, the OpenEmbedded build system uses the
-:term:`Build Directory` when building source
-code. The build process involves fetching the source files, unpacking
-them, and then patching them if necessary before the build takes place.
+By default, the OpenEmbedded build system uses the :term:`Build Directory`
+when building source code. The build process involves fetching the source
+files, unpacking them, and then patching them if necessary before the build
+takes place.
There are situations where you might want to build software from source
files that are external to and thus outside of the OpenEmbedded build
@@ -4519,9 +4507,8 @@ directory:
from your "own-mirror" are used.
2. *Start With a Clean Build:* You can start with a clean build by
- removing the
- ``${``\ :term:`TMPDIR`\ ``}``
- directory or using a new :term:`Build Directory`.
+ removing the ``${``\ :term:`TMPDIR`\ ``}`` directory or using a new
+ :term:`Build Directory`.
3. *Build Your Target:* Use BitBake to build your target::
@@ -4622,8 +4609,7 @@ Following are additional factors that can affect build speed:
the benefits are limited due to the compiler using ``-pipe``. The
build system goes to some lengths to avoid ``sync()`` calls into the
file system on the principle that if there was a significant failure,
- the :term:`Build Directory`
- contents could easily be rebuilt.
+ the :term:`Build Directory` contents could easily be rebuilt.
- Inheriting the
:ref:`rm_work <ref-classes-rm-work>` class:
@@ -4820,8 +4806,7 @@ Using Multilib
After you have set up the recipes, you need to define the actual
combination of multiple libraries you want to build. You accomplish this
through your ``local.conf`` configuration file in the
-:term:`Build Directory`. An example
-configuration would be as follows::
+:term:`Build Directory`. An example configuration would be as follows::
MACHINE = "qemux86-64"
require conf/multilib.conf
@@ -4871,10 +4856,9 @@ Here are the implementation details for the RPM Package Management System:
- A unique architecture is defined for the Multilib packages, along
with creating a unique deploy folder under ``tmp/deploy/rpm`` in the
- :term:`Build Directory`. For
- example, consider ``lib32`` in a ``qemux86-64`` image. The possible
- architectures in the system are "all", "qemux86_64",
- "lib32:qemux86_64", and "lib32:x86".
+ :term:`Build Directory`. For example, consider ``lib32`` in a
+ ``qemux86-64`` image. The possible architectures in the system are "all",
+ "qemux86_64", "lib32:qemux86_64", and "lib32:x86".
- The ``${MLPREFIX}`` variable is stripped from ``${PN}`` during RPM
packaging. The naming for a normal RPM package and a Multilib RPM
@@ -5460,8 +5444,7 @@ system needs to meet the following requirements:
your development host system.
- You must have sourced the build environment setup script (i.e.
- :ref:`structure-core-script`) found in the
- :term:`Build Directory`.
+ :ref:`structure-core-script`) found in the :term:`Build Directory`.
- You need to have the build artifacts already available, which
typically means that you must have already created an image using the
@@ -5569,11 +5552,10 @@ Raw Mode
Running Wic in raw mode allows you to specify all the partitions through
the ``wic`` command line. The primary use for raw mode is if you have
-built your kernel outside of the Yocto Project
-:term:`Build Directory`. In other words, you
-can point to arbitrary kernel, root filesystem locations, and so forth.
-Contrast this behavior with cooked mode where Wic looks in the Build
-Directory (e.g. ``tmp/deploy/images/``\ machine).
+built your kernel outside of the Yocto Project :term:`Build Directory`.
+In other words, you can point to arbitrary kernel, root filesystem locations,
+and so forth. Contrast this behavior with cooked mode where Wic looks in the
+:term:`Build Directory` (e.g. ``tmp/deploy/images/``\ machine).
The general form of the ``wic`` command in raw mode is::
@@ -5626,11 +5608,11 @@ The general form of the ``wic`` command in raw mode is::
Cooked Mode
~~~~~~~~~~~
-Running Wic in cooked mode leverages off artifacts in the Build
-Directory. In other words, you do not have to specify kernel or root
-filesystem locations as part of the command. All you need to provide is
+Running Wic in cooked mode leverages off artifacts in the
+:term:`Build Directory`. In other words, you do not have to specify kernel or
+root filesystem locations as part of the command. All you need to provide is
a kickstart file and the name of the image from which to use artifacts
-by using the "-e" option. Wic looks in the Build Directory (e.g.
+by using the "-e" option. Wic looks in the :term:`Build Directory` (e.g.
``tmp/deploy/images/``\ machine) for artifacts.
The general form of the ``wic`` command using Cooked Mode is as follows::
@@ -5878,9 +5860,9 @@ and kickstart file information.
You should always verify the details provided in the output to make
sure that the image was indeed created exactly as expected.
-Continuing with the example, you can now write the image from the Build
-Directory onto a USB stick, or whatever media for which you built your
-image, and boot from the media. You can write the image by using
+Continuing with the example, you can now write the image from the
+:term:`Build Directory` onto a USB stick, or whatever media for which you
+built your image, and boot from the media. You can write the image by using
``bmaptool`` or ``dd``::
$ oe-run-native bmap-tools-native bmaptool copy mkefidisk-201804191017-sda.direct /dev/sdX
@@ -6152,7 +6134,7 @@ any type of image. Use these steps to flash an image using Bmaptool:
3. *Flash the Device:* Flash the device with the image by using Bmaptool
depending on your particular setup. The following commands assume the
- image resides in the Build Directory's ``deploy/images/`` area:
+ image resides in the :term:`Build Directory`'s ``deploy/images/`` area:
- If you have write access to the media, use this command form::
@@ -6231,6 +6213,13 @@ more secure:
vulnerabilities discovered in the future. This consideration
especially applies when your device is network-enabled.
+- Regularly scan and apply fixes for CVE security issues affecting
+ all software components in the product, see ":ref:`dev-manual/common-tasks:checking for vulnerabilities`".
+
+- Regularly update your version of Poky and OE-Core from their upstream
+ developers, e.g. to apply updates and security fixes from stable
+ and LTS branches.
+
- Ensure you remove or disable debugging functionality before producing
the final image. For information on how to do this, see the
":ref:`dev-manual/common-tasks:considerations specific to the openembedded build system`"
@@ -6392,11 +6381,9 @@ layer. The following steps provide some more detail:
variable from the ``local.conf`` file. The variables you use are not
limited to the list in the previous bulleted item.
-- *Point to Your distribution configuration file:* In your
- ``local.conf`` file in the :term:`Build Directory`,
- set your
- :term:`DISTRO` variable to point to
- your distribution's configuration file. For example, if your
+- *Point to Your distribution configuration file:* In your ``local.conf``
+ file in the :term:`Build Directory`, set your :term:`DISTRO` variable to
+ point to your distribution's configuration file. For example, if your
distribution's configuration file is named ``mydistro.conf``, then
you point to it as follows::
@@ -6431,7 +6418,7 @@ Creating a Custom Template Configuration Directory
If you are producing your own customized version of the build system for
use by other users, you might want to provide a custom build configuration
that includes all the necessary settings and layers (i.e. ``local.conf`` and
-``bblayers.conf`` that are created in a new build directory) and a custom
+``bblayers.conf`` that are created in a new :term:`Build Directory`) and a custom
message that is shown when setting up the build. This can be done by
creating one or more template configuration directories in your
custom distribution layer.
@@ -6445,7 +6432,7 @@ This can be done by using ``bitbake-layers save-build-conf``::
You can try out the configuration with
TEMPLATECONF=/srv/work/alex/meta-alex/conf/templates/test-1 . /srv/work/alex/poky/oe-init-build-env build-try-test-1
-The above command takes the config files from the currently active build directory under ``conf``,
+The above command takes the config files from the currently active :term:`Build Directory` under ``conf``,
replaces site-specific paths in ``bblayers.conf`` with ``##OECORE##``-relative paths, and copies
the config files into a specified layer under a specified template name.
@@ -6677,10 +6664,9 @@ generated are just "self consistent". The build system adds and removes
packages and there are no guarantees about upgrade paths but images will
be consistent and correct with the latest changes.
-The simplest form for a PR Service is for a single host
-development system that builds the package feed (building system). For
-this scenario, you can enable a local PR Service by setting
-:term:`PRSERV_HOST` in your
+The simplest form for a PR Service is for a single host development system
+that builds the package feed (building system). For this scenario, you can
+enable a local PR Service by setting :term:`PRSERV_HOST` in your
``local.conf`` file in the :term:`Build Directory`::
PRSERV_HOST = "localhost:0"
@@ -7036,7 +7022,7 @@ machine does not necessarily have to be the package server. The build
machine could push its artifacts to another machine that acts as the
server (e.g. Internet-facing). In fact, doing so is advantageous for a
production environment as getting the packages away from the development
-system's build directory prevents accidental overwrites.
+system's :term:`Build Directory` prevents accidental overwrites.
A simple build that targets just one device produces more than one
package database. In other words, the packages produced by a build are
@@ -7068,8 +7054,7 @@ to use. In your configuration, you use the
:term:`PACKAGE_CLASSES`
variable to specify the format:
-1. Open the ``local.conf`` file inside your
- :term:`Build Directory` (e.g.
+1. Open the ``local.conf`` file inside your :term:`Build Directory` (e.g.
``poky/build/conf/local.conf``).
2. Select the desired package format as follows::
@@ -7155,12 +7140,10 @@ environment, the setup is simple and straight forward. Should you want
to use a different server more suited for production (e.g. Apache 2,
Lighttpd, or Nginx), take the appropriate steps to do so.
-From within the build directory where you have built an image based on
-your packaging choice (i.e. the
-:term:`PACKAGE_CLASSES`
-setting), simply start the server. The following example assumes a build
-directory of ``poky/build/tmp/deploy/rpm`` and a :term:`PACKAGE_CLASSES`
-setting of "package_rpm"::
+From within the :term:`Build Directory` where you have built an image based on
+your packaging choice (i.e. the :term:`PACKAGE_CLASSES` setting), simply start
+the server. The following example assumes a :term:`Build Directory` of ``poky/build``
+and a :term:`PACKAGE_CLASSES` setting of "package_rpm"::
$ cd poky/build/tmp/deploy/rpm
$ python3 -m http.server
@@ -7432,11 +7415,9 @@ see the :yocto_wiki:`Ptest </Ptest>` wiki page.
Adding ptest to Your Build
~~~~~~~~~~~~~~~~~~~~~~~~~~
-To add package testing to your build, add the
-:term:`DISTRO_FEATURES` and
-:term:`EXTRA_IMAGE_FEATURES`
-variables to your ``local.conf`` file, which is found in the
-:term:`Build Directory`::
+To add package testing to your build, add the :term:`DISTRO_FEATURES` and
+:term:`EXTRA_IMAGE_FEATURES` variables to your ``local.conf`` file, which
+is found in the :term:`Build Directory`::
DISTRO_FEATURES:append = " ptest"
EXTRA_IMAGE_FEATURES += "ptest-pkgs"
@@ -7547,17 +7528,16 @@ NPM packages:
- Of the two methods that you can use ``devtool`` to create NPM
packages, the registry approach is slightly simpler. However, you
might consider the project approach because you do not have to
- publish your module in the NPM registry
- (`npm-registry <https://docs.npmjs.com/misc/registry>`_), which
- is NPM's public registry.
+ publish your module in the `NPM registry <https://docs.npmjs.com/misc/registry>`__,
+ which is NPM's public registry.
- Be familiar with
:doc:`devtool </ref-manual/devtool-reference>`.
- The NPM host tools need the native ``nodejs-npm`` package, which is
part of the OpenEmbedded environment. You need to get the package by
- cloning the https://github.com/openembedded/meta-openembedded
- repository out of GitHub. Be sure to add the path to your local copy
+ cloning the :oe_git:`meta-openembedded </meta-openembedded>`
+ repository. Be sure to add the path to your local copy
to your ``bblayers.conf`` file.
- ``devtool`` cannot detect native libraries in module dependencies.
@@ -8087,7 +8067,7 @@ image's recipe file via the :term:`IMAGE_FEATURES` variable::
IMAGE_FEATURES += "read-only-rootfs"
As an alternative, you can add the same feature
-from within your build directory's ``local.conf`` file with the
+from within your :term:`Build Directory`'s ``local.conf`` file with the
associated :term:`EXTRA_IMAGE_FEATURES` variable, as in::
EXTRA_IMAGE_FEATURES = "read-only-rootfs"
@@ -8182,9 +8162,8 @@ Enabling and Disabling Build History
------------------------------------
Build history is disabled by default. To enable it, add the following
-:term:`INHERIT` statement and set the
-:term:`BUILDHISTORY_COMMIT`
-variable to "1" at the end of your ``conf/local.conf`` file found in the
+:term:`INHERIT` statement and set the :term:`BUILDHISTORY_COMMIT` variable to
+"1" at the end of your ``conf/local.conf`` file found in the
:term:`Build Directory`::
INHERIT += "buildhistory"
@@ -8207,10 +8186,8 @@ your ``conf/local.conf`` file.
Understanding What the Build History Contains
---------------------------------------------
-Build history information is kept in
-``${``\ :term:`TOPDIR`\ ``}/buildhistory``
-in the Build Directory as defined by the
-:term:`BUILDHISTORY_DIR`
+Build history information is kept in ``${``\ :term:`TOPDIR`\ ``}/buildhistory``
+in the :term:`Build Directory` as defined by the :term:`BUILDHISTORY_DIR`
variable. Here is an example abbreviated listing:
.. image:: figures/buildhistory.png
@@ -8877,11 +8854,9 @@ Running Tests
You can start the tests automatically or manually:
-- *Automatically running tests:* To run the tests automatically after
- the OpenEmbedded build system successfully creates an image, first
- set the
- :term:`TESTIMAGE_AUTO`
- variable to "1" in your ``local.conf`` file in the
+- *Automatically running tests:* To run the tests automatically after the
+ OpenEmbedded build system successfully creates an image, first set the
+ :term:`TESTIMAGE_AUTO` variable to "1" in your ``local.conf`` file in the
:term:`Build Directory`::
TESTIMAGE_AUTO = "1"
@@ -8976,10 +8951,9 @@ following BitBake command form::
$ bitbake image -c testexport
-Exporting the tests places them in the
-:term:`Build Directory` in
-``tmp/testexport/``\ image, which is controlled by the
-:term:`TEST_EXPORT_DIR` variable.
+Exporting the tests places them in the :term:`Build Directory` in
+``tmp/testexport/``\ image, which is controlled by the :term:`TEST_EXPORT_DIR`
+variable.
You can now run the tests outside of the build environment::
@@ -9206,9 +9180,8 @@ section:
- ":ref:`dev-manual/common-tasks:viewing task variable dependencies`" describes
how to use the ``bitbake-dumpsig`` command in conjunction with key
- subdirectories in the
- :term:`Build Directory` to determine
- variable dependencies.
+ subdirectories in the :term:`Build Directory` to determine variable
+ dependencies.
- ":ref:`dev-manual/common-tasks:running specific tasks`" describes
how to use several BitBake options (e.g. ``-c``, ``-C``, and ``-f``)
@@ -10357,13 +10330,11 @@ Here are some other tips that you might find useful:
is also possible to switch out of the splashscreen by switching the
virtual console (e.g. Fn+Left or Fn+Right on a Zaurus).
-- Removing :term:`TMPDIR` (usually
- ``tmp/``, within the
- :term:`Build Directory`) can often fix
- temporary build issues. Removing :term:`TMPDIR` is usually a relatively
- cheap operation, because task output will be cached in
- :term:`SSTATE_DIR` (usually
- ``sstate-cache/``, which is also in the Build Directory).
+- Removing :term:`TMPDIR` (usually ``tmp/``, within the
+ :term:`Build Directory`) can often fix temporary build issues. Removing
+ :term:`TMPDIR` is usually a relatively cheap operation, because task output
+ will be cached in :term:`SSTATE_DIR` (usually ``sstate-cache/``, which is
+ also in the :term:`Build Directory`).
.. note::
@@ -10377,8 +10348,8 @@ Here are some other tips that you might find useful:
Using GNU Grep, you can use the following shell function to
recursively search through common recipe-related files, skipping
- binary files, ``.git`` directories, and the Build Directory (assuming
- its name starts with "build")::
+ binary files, ``.git`` directories, and the :term:`Build Directory`
+ (assuming its name starts with "build")::
g() {
grep -Ir \
@@ -11276,8 +11247,7 @@ of compliance in mind.
One way of doing this (but certainly not the only way) is to release
just the source as a tarball. You can do this by adding the following to
-the ``local.conf`` file found in the
-:term:`Build Directory`::
+the ``local.conf`` file found in the :term:`Build Directory`::
INHERIT += "archiver"
ARCHIVER_MODE[src] = "original"
@@ -11436,9 +11406,9 @@ this function, you have to follow the following steps:
3. Meta-spdxscanner provides several methods within the bbclass to create spdx files.
Please choose one that you want to use and enable the spdx task. You have to
- add some config options in ``local.conf`` file in your :term:`Build
- Directory`. Here is an example showing how to generate spdx files
- during BitBake using the fossology-python.bbclass::
+ add some config options in ``local.conf`` file in your :term:`Build Directory`.
+ Here is an example showing how to generate spdx files during BitBake using the
+ fossology-python.bbclass::
# Select fossology-python.bbclass.
INHERIT += "fossology-python"
@@ -11495,8 +11465,8 @@ the license from the fetched source::
Checking for Vulnerabilities
============================
-Vulnerabilities in images
--------------------------
+Vulnerabilities in Poky and OE-Core
+-----------------------------------
The Yocto Project has an infrastructure to track and address unfixed
known security vulnerabilities, as tracked by the public
@@ -11509,14 +11479,78 @@ for packages in Poky and OE-Core, tracking the evolution of the number of
unpatched CVEs and the status of patches. Such information is available for
the current development version and for each supported release.
-To know which packages are vulnerable to known security vulnerabilities
-in the specific image you are building, add the following setting to your
-configuration::
+Security is a process, not a product, and thus at any time, a number of security
+issues may be impacting Poky and OE-Core. It is up to the maintainers, users,
+contributors and anyone interested in the issues to investigate and possibly fix them by
+updating software components to newer versions or by applying patches to address them.
+It is recommended to work with Poky and OE-Core upstream maintainers and submit
+patches to fix them, see ":ref:`dev-manual/common-tasks:submitting a change to the yocto project`" for details.
+
+Vulnerability check at build time
+---------------------------------
+
+To enable a check for CVE security vulnerabilities using :ref:`cve-check <ref-classes-cve-check>` in the specific image
+or target you are building, add the following setting to your configuration::
INHERIT += "cve-check"
-This way, at build time, BitBake will warn you about known CVEs
-as in the example below::
+The CVE database contains some old incomplete entries which have been
+deemed not to impact Poky or OE-Core. These CVE entries can be excluded from the
+check using build configuration::
+
+ include conf/distro/include/cve-extra-exclusions.inc
+
+With this CVE check enabled, BitBake build will try to map each compiled software component
+recipe name and version information to the CVE database and generate recipe and
+image specific reports. These reports will contain:
+
+- metadata about the software component like names and versions
+
+- metadata about the CVE issue such as description and NVD link
+
+- for each software component, a list of CVEs which are possibly impacting this version
+
+- status of each CVE: ``Patched``, ``Unpatched`` or ``Ignored``
+
+The status ``Patched`` means that a patch file to address the security issue has been
+applied. ``Unpatched`` status means that no patches to address the issue have been
+applied and that the issue needs to be investigated. ``Ignored`` means that after
+analysis, it has been deemed to ignore the issue as it for example affects
+the software component on a different operating system platform.
+
+After build with CVE check enabled, reports for each compiled source recipe will be
+found in ``build/tmp/deploy/cve``.
+
+For example the CVE check report for the ``flex-native`` recipe looks like::
+
+ $ cat poky/build/tmp/deploy/cve/flex-native
+ LAYER: meta
+ PACKAGE NAME: flex-native
+ PACKAGE VERSION: 2.6.4
+ CVE: CVE-2016-6354
+ CVE STATUS: Patched
+ CVE SUMMARY: Heap-based buffer overflow in the yy_get_next_buffer function in Flex before 2.6.1 might allow context-dependent attackers to cause a denial of service or possibly execute arbitrary code via vectors involving num_to_read.
+ CVSS v2 BASE SCORE: 7.5
+ CVSS v3 BASE SCORE: 9.8
+ VECTOR: NETWORK
+ MORE INFORMATION: https://nvd.nist.gov/vuln/detail/CVE-2016-6354
+
+ LAYER: meta
+ PACKAGE NAME: flex-native
+ PACKAGE VERSION: 2.6.4
+ CVE: CVE-2019-6293
+ CVE STATUS: Ignored
+ CVE SUMMARY: An issue was discovered in the function mark_beginning_as_normal in nfa.c in flex 2.6.4. There is a stack exhaustion problem caused by the mark_beginning_as_normal function making recursive calls to itself in certain scenarios involving lots of '*' characters. Remote attackers could leverage this vulnerability to cause a denial-of-service.
+ CVSS v2 BASE SCORE: 4.3
+ CVSS v3 BASE SCORE: 5.5
+ VECTOR: NETWORK
+ MORE INFORMATION: https://nvd.nist.gov/vuln/detail/CVE-2019-6293
+
+For images, a summary of all recipes included in the image and their CVEs is also
+generated in textual and JSON formats. These ``.cve`` and ``.json`` reports can be found
+in the ``tmp/deploy/images`` directory for each compiled image.
+
+At build time CVE check will also throw warnings about ``Unpatched`` CVEs::
WARNING: flex-2.6.4-r0 do_cve_check: Found unpatched CVE (CVE-2019-6293), for more information check /poky/build/tmp/work/core2-64-poky-linux/flex/2.6.4-r0/temp/cve.log
WARNING: libarchive-3.5.1-r0 do_cve_check: Found unpatched CVE (CVE-2021-36976), for more information check /poky/build/tmp/work/core2-64-poky-linux/libarchive/3.5.1-r0/temp/cve.log
@@ -11525,21 +11559,46 @@ It is also possible to check the CVE status of individual packages as follows::
bitbake -c cve_check flex libarchive
-Note that OpenEmbedded-Core keeps a list of known unfixed CVE issues which can
-be ignored. You can pass this list to the check as follows::
+Fixing CVE product name and version mappings
+--------------------------------------------
- bitbake -c cve_check libarchive -R conf/distro/include/cve-extra-exclusions.inc
+By default, :ref:`cve-check <ref-classes-cve-check>` uses the recipe name :term:`BPN` as CVE
+product name when querying the CVE database. If this mapping contains false positives, e.g.
+some reported CVEs are not for the software component in question, or false negatives like
+some CVEs are not found to impact the recipe when they should, then the problems can be
+in the recipe name to CVE product mapping. These mapping issues can be fixed by setting
+the :term:`CVE_PRODUCT` variable inside the recipe. This defines the name of software component in the
+upstream `NIST CVE database <https://nvd.nist.gov/>`__.
-Enabling vulnerabily tracking in recipes
-----------------------------------------
+The variable supports using vendor and product names like this::
-The :term:`CVE_PRODUCT` variable defines the name used to match the recipe name
-against the name in the upstream `NIST CVE database <https://nvd.nist.gov/>`__.
+ CVE_PRODUCT = "flex_project:flex"
-Editing recipes to fix vulnerabilities
---------------------------------------
+In this example from the vendor name used in CVE database is ``flex_project`` and
+product is ``flex``. With this setting the ``flex`` recipe only maps to this specific
+product and not products from other vendors with same name ``flex``.
+
+Similary, when the recipe version :term:`PV` is not compatible with software versions used by
+the upstream software component releases and the CVE database, these can be fixed using
+:term:`CVE_VERSION` variable.
+
+Note that if the CVE entries in NVD databse contain bugs or have missing or incomplete
+information, it is recommended to fix the information there directly instead of working
+around the issues for a possibly long time in Poky and OE-Core side recipes. Feedback to
+NVD about CVEs entries can be provided through the `NVD contact form <https://nvd.nist.gov/info/contact-form>`__.
+
+Fixing vulnerabilities in recipes
+---------------------------------
+
+If a CVE security issue impacts a software component, it can be fixed by updating to a newer
+version of the software component or by applying a patch. For Poky and OE-Core master branches, updating
+to newer software component release with fixes is the best option, but patches can be applied
+if releases are not yet available.
-To fix a given known vulnerability, you need to add a patch file to your recipe. Here's
+For stable branches, it is preferred to apply patches for the issues. For some software
+components minor version updates can also applied if they are backwards compatible.
+
+Here is an example of fixing CVE security issues with patch files,
an example from the :oe_layerindex:`ffmpeg recipe</layerindex/recipe/47350>`::
SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
@@ -11551,31 +11610,21 @@ an example from the :oe_layerindex:`ffmpeg recipe</layerindex/recipe/47350>`::
file://fix-CVE-2020-22033-CVE-2020-22019.patch \
file://fix-CVE-2021-33815.patch \
-The :ref:`cve-check <ref-classes-cve-check>` class defines two ways of
-supplying a patch for a given CVE. The first
-way is to use a patch filename that matches the below pattern::
-
- cve_file_name_match = re.compile(".*([Cc][Vv][Ee]\-\d{4}\-\d+)")
-
-As shown in the example above, multiple CVE IDs can appear in a patch filename,
-but the :ref:`cve-check <ref-classes-cve-check>` class will only consider
-the last CVE ID in the filename as patched.
+A good practice is to include the CVE identifier in both patch file name
+and inside the patch file commit message use the format::
-The second way to recognize a patched CVE ID is when a line matching the
-below pattern is found in any patch file provided by the recipe::
+ CVE: CVE-2020-22033
- cve_match = re.compile("CVE:( CVE\-\d{4}\-\d+)+")
+CVE checker will then capture this information and change the CVE status to ``Patched``
+in the generated reports.
-This allows a single patch file to address multiple CVE IDs at the same time.
+If analysis shows that the CVE issue does not impact the recipe due to configuration, platform,
+version or other reasons, the CVE can be marked as ``Ignored`` using :term:`CVE_CHECK_IGNORE` variable.
+As mentioned previously, if data in the CVE database is wrong, it is recommend to fix those
+issues in the CVE database directly.
-Of course, another way to fix vulnerabilities is to upgrade to a version
-of the package which is not impacted, typically a more recent one.
-The NIST database knows which versions are vulnerable and which ones
-are not.
-
-Last but not least, you can choose to ignore vulnerabilities through
-the :term:`CVE_CHECK_SKIP_RECIPE` and :term:`CVE_CHECK_IGNORE`
-variables.
+Recipes can be completely skipped by CVE check by including the recipe name in
+the :term:`CVE_CHECK_SKIP_RECIPE` variable.
Implementation details
----------------------
@@ -11592,24 +11641,39 @@ file. The found CVE IDs are also considered as patched.
Then, the code looks up all the CVE IDs in the NIST database for all the
products defined in :term:`CVE_PRODUCT`. Then, for each found CVE:
- - If the package name (:term:`PN`) is part of
- :term:`CVE_CHECK_SKIP_RECIPE`, it is considered as patched.
+- If the package name (:term:`PN`) is part of
+ :term:`CVE_CHECK_SKIP_RECIPE`, it is considered as ``Patched``.
- - If the CVE ID is part of :term:`CVE_CHECK_IGNORE`, it is
- considered as patched too.
+- If the CVE ID is part of :term:`CVE_CHECK_IGNORE`, it is
+ set as ``Ignored``.
- - If the CVE ID is part of the patched CVE for the recipe, it is
- already considered as patched.
+- If the CVE ID is part of the patched CVE for the recipe, it is
+ already considered as ``Patched``.
- - Otherwise, the code checks whether the recipe version (:term:`PV`)
+- Otherwise, the code checks whether the recipe version (:term:`PV`)
is within the range of versions impacted by the CVE. If so, the CVE
- is considered as unpatched.
+ is considered as ``Unpatched``.
The CVE database is stored in :term:`DL_DIR` and can be inspected using
``sqlite3`` command as follows::
sqlite3 downloads/CVE_CHECK/nvdcve_1.1.db .dump | grep CVE-2021-37462
+When analyzing CVEs, it is recommended to:
+
+- study the latest information in `CVE database <https://nvd.nist.gov/vuln/search>`__.
+
+- check how upstream developers of the software component addressed the issue, e.g.
+ what patch was applied, which upstream release contains the fix.
+
+- check what other Linux distributions like `Debian <https://security-tracker.debian.org/tracker/>`__
+ did to analyze and address the issue.
+
+- follow security notices from other Linux distributions.
+
+- follow public `open source security mailing lists <https://oss-security.openwall.org/wiki/mailing-lists>`__ for
+ discussions and advance notifications of CVE bugs and software releases with fixes.
+
Using the Error Reporting Tool
==============================
@@ -11637,12 +11701,9 @@ Enabling and Using the Tool
---------------------------
By default, the error reporting tool is disabled. You can enable it by
-inheriting the
-:ref:`report-error <ref-classes-report-error>`
+inheriting the :ref:`report-error <ref-classes-report-error>`
class by adding the following statement to the end of your
-``local.conf`` file in your
-:term:`Build Directory`.
-::
+``local.conf`` file in your :term:`Build Directory`::
INHERIT += "report-error"
diff --git a/poky/documentation/dev-manual/qemu.rst b/poky/documentation/dev-manual/qemu.rst
index 9f4bc264a3..5a4a82ce6f 100644
--- a/poky/documentation/dev-manual/qemu.rst
+++ b/poky/documentation/dev-manual/qemu.rst
@@ -99,8 +99,7 @@ available. Follow these general steps to run QEMU:
Here are some additional examples to help illustrate further QEMU:
- This example starts QEMU with MACHINE set to "qemux86-64".
- Assuming a standard
- :term:`Build Directory`, ``runqemu``
+ Assuming a standard :term:`Build Directory`, ``runqemu``
automatically finds the ``bzImage-qemux86-64.bin`` image file and
the ``core-image-minimal-qemux86-64-20200218002850.rootfs.ext4``
(assuming the current build created a ``core-image-minimal``
@@ -246,11 +245,10 @@ be a problem when QEMU is running with KVM enabled. Specifically,
software compiled with a certain CPU feature crashes when run on a CPU
under KVM that does not support that feature. To work around this
problem, you can override QEMU's runtime CPU setting by changing the
-``QB_CPU_KVM`` variable in ``qemuboot.conf`` in the
-:term:`Build Directory` ``deploy/image``
-directory. This setting specifies a ``-cpu`` option passed into QEMU in
-the ``runqemu`` script. Running ``qemu -cpu help`` returns a list of
-available supported CPU types.
+``QB_CPU_KVM`` variable in ``qemuboot.conf`` in the :term:`Build Directory`
+``deploy/image`` directory. This setting specifies a ``-cpu`` option passed
+into QEMU in the ``runqemu`` script. Running ``qemu -cpu help`` returns a
+list of available supported CPU types.
QEMU Performance
================
diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst
index 6816ce5846..f90375471f 100644
--- a/poky/documentation/dev-manual/start.rst
+++ b/poky/documentation/dev-manual/start.rst
@@ -267,16 +267,16 @@ development using the Yocto Project. Your build host can be a native
Linux machine (recommended), it can be a machine (Linux, Mac, or
Windows) that uses `CROPS <https://github.com/crops/poky-container>`__,
which leverages `Docker Containers <https://www.docker.com/>`__ or it
-can be a Windows machine capable of running Windows Subsystem For Linux
-v2 (WSL).
+can be a Windows machine capable of running version 2 of Windows Subsystem
+For Linux (WSL 2).
.. note::
- The Yocto Project is not compatible with
- `Windows Subsystem for Linux v1 <https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux>`__.
- It is compatible but not officially supported nor validated with
- WSLv2. If you still decide to use WSL please upgrade to
- `WSLv2 <https://docs.microsoft.com/en-us/windows/wsl/install-win10>`__.
+ The Yocto Project is not compatible with version 1 of
+ `Windows Subsystem for Linux <https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux>`__.
+ It is compatible but neither officially supported nor validated with
+ WSL 2. If you still decide to use WSL please upgrade to
+ `WSL 2 <https://learn.microsoft.com/en-us/windows/wsl/install>`__.
Once your build host is set up to use the Yocto Project, further steps
are necessary depending on what you want to accomplish. See the
@@ -441,35 +441,36 @@ Kit (eSDK) manual. If you are going to use the Toaster container, see
the ":doc:`/toaster-manual/setup-and-use`"
section in the Toaster User Manual.
-Setting Up to Use Windows Subsystem For Linux (WSLv2)
+Setting Up to Use Windows Subsystem For Linux (WSL 2)
-----------------------------------------------------
-With `Windows Subsystem for Linux
-(WSLv2) <https://docs.microsoft.com/en-us/windows/wsl/wsl2-about>`__,
+With `Windows Subsystem for Linux (WSL 2)
+<https://learn.microsoft.com/en-us/windows/wsl/>`__,
you can create a Yocto Project development environment that allows you
to build on Windows. You can set up a Linux distribution inside Windows
in which you can develop using the Yocto Project.
-Follow these general steps to prepare a Windows machine using WSLv2 as
+Follow these general steps to prepare a Windows machine using WSL 2 as
your Yocto Project build host:
-1. *Make sure your Windows 10 machine is capable of running WSLv2:*
- WSLv2 is only available for Windows 10 builds > 18917. To check which
- build version you are running, you may open a command prompt on
- Windows and execute the command "ver".
- ::
+1. *Make sure your Windows machine is capable of running WSL 2:*
+
+ While all Windows 11 and Windows Server 2022 builds support WSL 2,
+ the first versions of Windows 10 and Windows Server 2019 didn't.
+ Check the minimum build numbers for `Windows 10
+ <https://learn.microsoft.com/en-us/windows/wsl/install-manual#step-2---check-requirements-for-running-wsl-2>`__
+ and for `Windows Server 2019
+ <https://learn.microsoft.com/en-us/windows/wsl/install-on-server>`__.
+
+ To check which build version you are running, you may open a command
+ prompt on Windows and execute the command "ver"::
C:\Users\myuser> ver
Microsoft Windows [Version 10.0.19041.153]
- If your build is capable of running
- WSLv2 you may continue, for more information on this subject or
- instructions on how to upgrade to WSLv2 visit `Windows 10
- WSLv2 <https://docs.microsoft.com/en-us/windows/wsl/wsl2-install>`__
-
-2. *Install the Linux distribution of your choice inside Windows 10:*
- Once you know your version of Windows 10 supports WSLv2, you can
+2. *Install the Linux distribution of your choice inside WSL 2:*
+ Once you know your version of Windows supports WSL 2, you can
install the distribution of your choice from the Microsoft Store.
Open the Microsoft Store and search for Linux. While there are
several Linux distributions available, the assumption is that your
@@ -478,31 +479,28 @@ your Yocto Project build host:
making your selection, simply click "Get" to download and install the
distribution.
-3. *Check your Linux distribution is using WSLv2:* Open a Windows
+3. *Check which Linux distribution WSL 2 is using:* Open a Windows
PowerShell and run::
C:\WINDOWS\system32> wsl -l -v
NAME STATE VERSION
*Ubuntu Running 2
- Note the version column which says the WSL version
- being used by your distribution, on compatible systems, this can be
- changed back at any point in time.
+ Note that WSL 2 supports running as many different Linux distributions
+ as you want to install.
-4. *Optionally Orient Yourself on WSL:* If you are unfamiliar with WSL,
- you can learn more here -
+4. *Optionally Get Familiar with WSL:* You can learn more on
https://docs.microsoft.com/en-us/windows/wsl/wsl2-about.
5. *Launch your WSL Distibution:* From the Windows start menu simply
launch your WSL distribution just like any other application.
-6. *Optimize your WSLv2 storage often:* Due to the way storage is
- handled on WSLv2, the storage space used by the underlying Linux
+6. *Optimize your WSL 2 storage often:* Due to the way storage is
+ handled on WSL 2, the storage space used by the underlying Linux
distribution is not reflected immediately, and since BitBake heavily
uses storage, after several builds, you may be unaware you are
- running out of space. WSLv2 uses a VHDX file for storage, this issue
- can be easily avoided by manually optimizing this file often, this
- can be done in the following way:
+ running out of space. As WSL 2 uses a VHDX file for storage, this issue
+ can be easily avoided by regularly optimizing this file in a manual way:
1. *Find the location of your VHDX file:*
@@ -556,14 +554,14 @@ your Yocto Project build host:
.. note::
- The current implementation of WSLv2 does not have out-of-the-box
+ The current implementation of WSL 2 does not have out-of-the-box
access to external devices such as those connected through a USB
port, but it automatically mounts your ``C:`` drive on ``/mnt/c/``
(and others), which you can use to share deploy artifacts to be later
- flashed on hardware through Windows, but your build directory should
- not reside inside this mountpoint.
+ flashed on hardware through Windows, but your :term:`Build Directory`
+ should not reside inside this mountpoint.
-Once you have WSLv2 set up, everything is in place to develop just as if
+Once you have WSL 2 set up, everything is in place to develop just as if
you were running on a native Linux machine. If you are going to use the
Extensible SDK container, see the ":doc:`/sdk-manual/extensible`" Chapter in the Yocto
Project Application Development and the Extensible Software Development
diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst
index 0a1819ceae..690f61110b 100644
--- a/poky/documentation/kernel-dev/common.rst
+++ b/poky/documentation/kernel-dev/common.rst
@@ -66,19 +66,15 @@ section:
(i.e. ``poky``) have been cloned using Git and the local repository is named
"poky".
-2. *Prepare Your local.conf File:* By default, the
- :term:`MACHINE` variable is set to
- "qemux86-64", which is fine if you are building for the QEMU emulator
- in 64-bit mode. However, if you are not, you need to set the
+2. *Prepare Your local.conf File:* By default, the :term:`MACHINE` variable
+ is set to "qemux86-64", which is fine if you are building for the QEMU
+ emulator in 64-bit mode. However, if you are not, you need to set the
:term:`MACHINE` variable appropriately in your ``conf/local.conf`` file
- found in the
- :term:`Build Directory` (i.e.
- ``poky/build`` in this example).
+ found in the :term:`Build Directory` (i.e. ``poky/build`` in this example).
Also, since you are preparing to work on the kernel image, you need
- to set the
- :term:`MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS`
- variable to include kernel modules.
+ to set the :term:`MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS` variable to include
+ kernel modules.
In this example we wish to build for qemux86 so we must set the
:term:`MACHINE` variable to "qemux86" and also add the "kernel-modules".
@@ -186,14 +182,11 @@ section:
(i.e. ``poky``) have been cloned using Git and the local repository is named
"poky".
-2. *Prepare Your local.conf File:* By default, the
- :term:`MACHINE` variable is set to
- "qemux86-64", which is fine if you are building for the QEMU emulator
- in 64-bit mode. However, if you are not, you need to set the
- :term:`MACHINE` variable appropriately in your ``conf/local.conf`` file
- found in the
- :term:`Build Directory` (i.e.
- ``poky/build`` in this example).
+2. *Prepare Your local.conf File:* By default, the :term:`MACHINE` variable is
+ set to "qemux86-64", which is fine if you are building for the QEMU emulator
+ in 64-bit mode. However, if you are not, you need to set the :term:`MACHINE`
+ variable appropriately in your ``conf/local.conf`` file found in the
+ :term:`Build Directory` (i.e. ``poky/build`` in this example).
Also, since you are preparing to work on the kernel image, you need
to set the
@@ -836,8 +829,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
8. *Build the Image With Your Modified Kernel:* You can now build an
image that includes your kernel patches. Execute the following
- command from your
- :term:`Build Directory` in the terminal
+ command from your :term:`Build Directory` in the terminal
set up to run BitBake::
$ cd poky/build
@@ -1057,9 +1049,8 @@ To use the ``menuconfig`` tool in the Yocto Project development
environment, you must do the following:
- Because you launch ``menuconfig`` using BitBake, you must be sure to
- set up your environment by running the
- :ref:`structure-core-script` script found in
- the :term:`Build Directory`.
+ set up your environment by running the :ref:`structure-core-script` script
+ found in the :term:`Build Directory`.
- You must be sure of the state of your build's configuration in the
:term:`Source Directory`.
@@ -1111,10 +1102,10 @@ can find the option under "Processor Type and Features". To deselect
Multi-Processing Support" and enter "N" to clear the asterisk. When you
are finished, exit out and save the change.
-Saving the selections updates the ``.config`` configuration file. This
-is the file that the OpenEmbedded build system uses to configure the
-kernel during the build. You can find and examine this file in the Build
-Directory in ``tmp/work/``. The actual ``.config`` is located in the
+Saving the selections updates the ``.config`` configuration file. This is the
+file that the OpenEmbedded build system uses to configure the kernel during
+the build. You can find and examine this file in the :term:`Build Directory`
+in ``tmp/work/``. The actual ``.config`` is located in the
area where the specific kernel is built. For example, if you were
building a Linux Yocto kernel based on the ``linux-yocto-4.12`` kernel
and you were building a QEMU image targeted for ``x86`` architecture,
diff --git a/poky/documentation/kernel-dev/concepts-appx.rst b/poky/documentation/kernel-dev/concepts-appx.rst
index 63c5124a57..6a2fe4bb0b 100644
--- a/poky/documentation/kernel-dev/concepts-appx.rst
+++ b/poky/documentation/kernel-dev/concepts-appx.rst
@@ -319,8 +319,7 @@ image.
The following figure shows the temporary file structure created on your
host system when you build the kernel using BitBake. This
-:term:`Build Directory` contains all the
-source files used during the build.
+:term:`Build Directory` contains all the source files used during the build.
.. image:: figures/kernel-overview-2-generic.png
:align: center
diff --git a/poky/documentation/kernel-dev/intro.rst b/poky/documentation/kernel-dev/intro.rst
index 4ff4dc7d35..267b7e7797 100644
--- a/poky/documentation/kernel-dev/intro.rst
+++ b/poky/documentation/kernel-dev/intro.rst
@@ -134,7 +134,7 @@ general information and references for further information.
3. *Make Changes to the Kernel Source Code if applicable:* Modifying the
kernel does not always mean directly changing source files. However,
if you have to do this, you make the changes to the files in the
- Yocto's Build Directory if you are using ``devtool``. For more
+ Yocto's :term:`Build Directory` if you are using ``devtool``. For more
information, see the
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
section.
@@ -155,7 +155,7 @@ general information and references for further information.
.. note::
Try to resist the temptation to directly edit an existing ``.config``
- file, which is found in the Build Directory among the source code
+ file, which is found in the :term:`Build Directory` among the source code
used for the build. Doing so, can produce unexpected results when
the OpenEmbedded build system regenerates the configuration file.
diff --git a/poky/documentation/kernel-dev/maint-appx.rst b/poky/documentation/kernel-dev/maint-appx.rst
index d968c856f6..6aa2fb7cf1 100644
--- a/poky/documentation/kernel-dev/maint-appx.rst
+++ b/poky/documentation/kernel-dev/maint-appx.rst
@@ -229,6 +229,5 @@ This behavior means that all the generated files for a particular
machine or BSP are now in the build tree directory. The files include
the final ``.config`` file, all the ``.o`` files, the ``.a`` files, and
so forth. Since each machine or BSP has its own separate
-:term:`Build Directory` in its own separate
-branch of the Git repository, you can easily switch between different
-builds.
+:term:`Build Directory` in its own separate branch of the Git repository,
+you can easily switch between different builds.
diff --git a/poky/documentation/migration-guides/migration-1.5.rst b/poky/documentation/migration-guides/migration-1.5.rst
index 1b78e99809..70a087ff1a 100644
--- a/poky/documentation/migration-guides/migration-1.5.rst
+++ b/poky/documentation/migration-guides/migration-1.5.rst
@@ -126,10 +126,9 @@ The following directory changes exist:
:term:`DEPLOY_DIR_IMAGE` variable in the external environment.
- When buildhistory is enabled, its output is now written under the
- :term:`Build Directory` rather than
- :term:`TMPDIR`. Doing so makes it easier to delete
- :term:`TMPDIR` and preserve the build history. Additionally, data for
- produced SDKs is now split by :term:`IMAGE_NAME`.
+ :term:`Build Directory` rather than :term:`TMPDIR`. Doing so makes
+ it easier to delete :term:`TMPDIR` and preserve the build history.
+ Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`.
- The ``pkgdata`` directory produced as part of the packaging process
has been collapsed into a single machine-specific directory. This
diff --git a/poky/documentation/migration-guides/migration-1.6.rst b/poky/documentation/migration-guides/migration-1.6.rst
index f54d4ba729..d3de264650 100644
--- a/poky/documentation/migration-guides/migration-1.6.rst
+++ b/poky/documentation/migration-guides/migration-1.6.rst
@@ -233,9 +233,9 @@ Separate build and source directories have been enabled by default for
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
+will enable a separate :term:`Build Directory` by default as well. Recipes
building Autotools-based software that fails to build with a separate
-build directory should be changed to inherit from the
+:term:`Build Directory` should be changed to inherit from the
:ref:`autotools-brokensep <ref-classes-autotools>` class instead of
the ``autotools`` or ``autotools_stage``\ classes.
diff --git a/poky/documentation/migration-guides/migration-1.7.rst b/poky/documentation/migration-guides/migration-1.7.rst
index 7b179f2aa1..e1a7594fb1 100644
--- a/poky/documentation/migration-guides/migration-1.7.rst
+++ b/poky/documentation/migration-guides/migration-1.7.rst
@@ -42,7 +42,7 @@ Autotools Class Changes
The following :ref:`autotools <ref-classes-autotools>` class changes
occurred:
-- *A separate build directory is now used by default:* The
+- *A separate :term:`Build Directory` is now used by default:* The
:ref:`autotools <ref-classes-autotools>` class has been
changed to use a directory for building
(:term:`B`), which is separate from the source directory
diff --git a/poky/documentation/migration-guides/migration-2.6.rst b/poky/documentation/migration-guides/migration-2.6.rst
index b36eb194b3..eedede2457 100644
--- a/poky/documentation/migration-guides/migration-2.6.rst
+++ b/poky/documentation/migration-guides/migration-2.6.rst
@@ -343,8 +343,7 @@ BitBake Changes
---------------
The server logfile ``bitbake-cookerdaemon.log`` is now always placed in
-the :term:`Build Directory` instead of the current
-directory.
+the :term:`Build Directory` instead of the current directory.
.. _migration-2.6-security-changes:
diff --git a/poky/documentation/migration-guides/migration-general.rst b/poky/documentation/migration-guides/migration-general.rst
index 0f0408e51f..847bdad739 100644
--- a/poky/documentation/migration-guides/migration-general.rst
+++ b/poky/documentation/migration-guides/migration-general.rst
@@ -86,7 +86,7 @@ any new Yocto Project release.
3. Capture the buildhistory output (as specified by :term:`BUILDHISTORY_DIR`)
and ensure it is preserved for subsequent builds. How you would do this
depends on how you are running your builds - if you are doing this all on
- one workstation in the same build directory you may not need to do
+ one workstation in the same :term:`Build Directory` you may not need to do
anything other than not deleting the buildhistory output directory. For
builds in a pipeline it may be more complicated.
diff --git a/poky/documentation/migration-guides/release-notes-4.1.rst b/poky/documentation/migration-guides/release-notes-4.1.rst
index a2d4b3d6cb..d4ed23f63d 100644
--- a/poky/documentation/migration-guides/release-notes-4.1.rst
+++ b/poky/documentation/migration-guides/release-notes-4.1.rst
@@ -699,7 +699,60 @@ Thanks to the following people who contributed to this release:
- Zheng Ruoqin
- Zoltán Böszörményi
-
-
Repositories / Downloads for 4.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+- Repository Location: https://git.yoctoproject.org/git/poky
+- Branch: :yocto_git:`langdale </poky/log/?h=langdale>`
+- Tag: :yocto_git:`yocto-4.1 </poky/log/?h=yocto-4.1>`
+- Git Revision: :yocto_git:`5200799866b92259e855051112520006e1aaaac0 </poky/commit/?id=5200799866b92259e855051112520006e1aaaac0>`
+- Release Artefact: poky-5200799866b92259e855051112520006e1aaaac0
+- sha: 9d9a2f7ecf2502f89f43bf45d63e6b61cdcb95ed1d75c8281372f550d809c823
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.1/poky-5200799866b92259e855051112520006e1aaaac0.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.1/poky-5200799866b92259e855051112520006e1aaaac0.tar.bz2
+
+openembedded-core
+
+- Repository Location: https://git.openembedded.org/openembedded-core
+- Branch: :oe_git:`langdale </openembedded-core/log/?h=langdale>`
+- Tag: :oe_git:`yocto-4.1 </openembedded-core/log/?h=yocto-4.1>`
+- Git Revision: :oe_git:`744a2277844ec9a384a9ca7dae2a634d5a0d3590 </openembedded-core/commit/?id=744a2277844ec9a384a9ca7dae2a634d5a0d3590>`
+- Release Artefact: oecore-744a2277844ec9a384a9ca7dae2a634d5a0d3590
+- sha: 34f1fd5bb83514bf0ec8ad7f8cce088a8e28677e1338db94c188283da704c663
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.1/oecore-744a2277844ec9a384a9ca7dae2a634d5a0d3590.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.1/oecore-744a2277844ec9a384a9ca7dae2a634d5a0d3590.tar.bz2
+
+meta-mingw
+
+- Repository Location: https://git.yoctoproject.org/git/meta-mingw
+- Branch: :yocto_git:`langdale </meta-mingw/log/?h=langdale>`
+- Tag: :yocto_git:`yocto-4.1 </meta-mingw/log/?h=yocto-4.1>`
+- Git Revision: :yocto_git:`b0067202db8573df3d23d199f82987cebe1bee2c </meta-mingw/commit/?id=b0067202db8573df3d23d199f82987cebe1bee2c>`
+- Release Artefact: meta-mingw-b0067202db8573df3d23d199f82987cebe1bee2c
+- sha: 704f2940322b81ce774e9cbd27c3cfa843111d497dc7b1eeaa39cd694d9a2366
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.1/meta-mingw-b0067202db8573df3d23d199f82987cebe1bee2c.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.1/meta-mingw-b0067202db8573df3d23d199f82987cebe1bee2c.tar.bz2
+
+bitbake
+
+- Repository Location: https://git.openembedded.org/bitbake
+- Branch: :oe_git:`2.2 </bitbake/log/?h=2.2>`
+- Tag: :oe_git:`yocto-4.1 </bitbake/log/?h=yocto-4.1>`
+- Git Revision: :oe_git:`074da4c469d1f4177a1c5be72b9f3ccdfd379d67 </bitbake/commit/?id=074da4c469d1f4177a1c5be72b9f3ccdfd379d67>`
+- Release Artefact: bitbake-074da4c469d1f4177a1c5be72b9f3ccdfd379d67
+- sha: e32c300e0c8522d8d49ef10aae473bd5f293202672eb9d38e90ed92594ed1fe8
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.1/bitbake-074da4c469d1f4177a1c5be72b9f3ccdfd379d67.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.1/bitbake-074da4c469d1f4177a1c5be72b9f3ccdfd379d67.tar.bz2
+
+yocto-docs
+
+- Repository Location: https://git.yoctoproject.org/git/yocto-docs
+- Branch: :yocto_git:`langdale </yocto-docs/log/?h=langdale>`
+- Tag: :yocto_git:`yocto-4.1 </yocto-docs/log/?h=yocto-4.1>`
+- Git Revision: :yocto_git:`42d3e26a0d04bc5951e640b471686f347dc9b74a </yocto-docs/commit/?id=42d3e26a0d04bc5951e640b471686f347dc9b74a>`
diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst
index 75eb872b32..b323a6fdf4 100644
--- a/poky/documentation/overview-manual/concepts.rst
+++ b/poky/documentation/overview-manual/concepts.rst
@@ -233,13 +233,12 @@ for creating actual configuration files when you source
:ref:`structure-core-script`, which is the
build environment script.
-Sourcing the build environment script creates a
-:term:`Build Directory` if one does not
-already exist. BitBake uses the Build Directory for all its work during
-builds. The Build Directory has a ``conf`` directory that contains
-default versions of your ``local.conf`` and ``bblayers.conf``
+Sourcing the build environment script creates a :term:`Build Directory`
+if one does not already exist. BitBake uses the :term:`Build Directory`
+for all its work during builds. The Build Directory has a ``conf`` directory
+that contains default versions of your ``local.conf`` and ``bblayers.conf``
configuration files. These default configuration files are created only
-if versions do not already exist in the Build Directory at the time you
+if versions do not already exist in the :term:`Build Directory` at the time you
source the build environment setup script.
Because the Poky repository is fundamentally an aggregation of existing
@@ -251,9 +250,9 @@ assumes the script is executed from within a cloned or unpacked version
of Poky.
Depending on where the script is sourced, different sub-scripts are
-called to set up the Build Directory (Yocto or OpenEmbedded).
+called to set up the :term:`Build Directory` (Yocto or OpenEmbedded).
Specifically, the script ``scripts/oe-setup-builddir`` inside the poky
-directory sets up the Build Directory and seeds the directory (if
+directory sets up the :term:`Build Directory` and seeds the directory (if
necessary) with configuration files appropriate for the Yocto Project
development environment.
@@ -428,7 +427,7 @@ The distribution layer provides policy configurations for your
distribution. Best practices dictate that you isolate these types of
configurations into their own layer. Settings you provide in
``conf/distro/distro.conf`` override similar settings that BitBake finds
-in your ``conf/local.conf`` file in the Build Directory.
+in your ``conf/local.conf`` file in the :term:`Build Directory`.
The following list provides some explanation and references for what you
typically find in the distribution layer:
@@ -531,10 +530,11 @@ repositories, which is not the default behavior, and store them in the
variable.
Judicious use of a :term:`DL_DIR` directory can save the build system a trip
-across the Internet when looking for files. A good method for using a
-download directory is to have :term:`DL_DIR` point to an area outside of
-your Build Directory. Doing so allows you to safely delete the Build
-Directory if needed without fear of removing any downloaded source file.
+across the Internet when looking for files. A good method for using a download
+directory is to have :term:`DL_DIR` point to an area outside of your
+:term:`Build Directory`. Doing so allows you to safely delete the
+:term:`Build Directory` if needed without fear of removing any downloaded
+source file.
The remainder of this section provides a deeper look into the source
files and the mirrors. Here is a more detailed look at the source file
@@ -632,15 +632,14 @@ process validates them with generated output quality assurance checks
through the :ref:`insane <ref-classes-insane>`
class.
-The package feed area resides in the Build Directory. The directory the
+The package feed area resides in the :term:`Build Directory`. The directory the
build system uses to temporarily store packages is determined by a
combination of variables and the particular package manager in use. See
the "Package Feeds" box in the illustration and note the information to
the right of that area. In particular, the following defines where
package files are kept:
-- :term:`DEPLOY_DIR`: Defined as
- ``tmp/deploy`` in the Build Directory.
+- :term:`DEPLOY_DIR`: Defined as ``tmp/deploy`` in the :term:`Build Directory`.
- ``DEPLOY_DIR_*``: Depending on the package manager used, the package
type sub-folder. Given RPM, IPK, or DEB packaging and tarball
@@ -696,10 +695,8 @@ code:
.. image:: figures/source-fetching.png
:width: 100%
-The :ref:`ref-tasks-fetch` and
-:ref:`ref-tasks-unpack` tasks fetch
-the source files and unpack them into the
-:term:`Build Directory`.
+The :ref:`ref-tasks-fetch` and :ref:`ref-tasks-unpack` tasks fetch
+the source files and unpack them into the :term:`Build Directory`.
.. note::
@@ -710,17 +707,16 @@ the source files and unpack them into the
file has been modified, the :ref:`ref-tasks-fetch` task and all
tasks that depend on it are re-executed.
-By default, everything is accomplished in the Build Directory, which has
-a defined structure. For additional general information on the Build
-Directory, see the ":ref:`structure-core-build`" section in
+By default, everything is accomplished in the :term:`Build Directory`, which has
+a defined structure. For additional general information on the
+:term:`Build Directory`, see the ":ref:`structure-core-build`" section in
the Yocto Project Reference Manual.
-Each recipe has an area in the Build Directory where the unpacked source
-code resides. The :term:`S` variable points
-to this area for a recipe's unpacked source code. The name of that
-directory for any given recipe is defined from several different
-variables. The preceding figure and the following list describe the
-Build Directory's hierarchy:
+Each recipe has an area in the :term:`Build Directory` where the unpacked
+source code resides. The :term:`S` variable points to this area for a recipe's
+unpacked source code. The name of that directory for any given recipe is
+defined from several different variables. The preceding figure and the
+following list describe the :term:`Build Directory`'s hierarchy:
- :term:`TMPDIR`: The base directory
where the OpenEmbedded build system performs all its work during the
@@ -1258,15 +1254,12 @@ this output:
":doc:`/ref-manual/images`" chapter in the Yocto Project Reference
Manual.
-The build process writes images out to the :term:`Build Directory`
-inside the
-``tmp/deploy/images/machine/`` folder as shown in the figure. This
+The build process writes images out to the :term:`Build Directory` inside
+the ``tmp/deploy/images/machine/`` folder as shown in the figure. This
folder contains any files expected to be loaded on the target device.
-The :term:`DEPLOY_DIR` variable
-points to the ``deploy`` directory, while the
-:term:`DEPLOY_DIR_IMAGE`
-variable points to the appropriate directory containing images for the
-current configuration.
+The :term:`DEPLOY_DIR` variable points to the ``deploy`` directory, while the
+:term:`DEPLOY_DIR_IMAGE` variable points to the appropriate directory
+containing images for the current configuration.
- kernel-image: A kernel binary file. The
:term:`KERNEL_IMAGETYPE`
@@ -1340,10 +1333,9 @@ can initialize the environment before using the tools.
the :doc:`/sdk-manual/index` manual.
All the output files for an SDK are written to the ``deploy/sdk`` folder
-inside the :term:`Build Directory` as
-shown in the previous figure. Depending on the type of SDK, there are
-several variables to configure these files. Here are the variables
-associated with an extensible SDK:
+inside the :term:`Build Directory` as shown in the previous figure. Depending
+on the type of SDK, there are several variables to configure these files.
+Here are the variables associated with an extensible SDK:
- :term:`DEPLOY_DIR`: Points to
the ``deploy`` directory.
@@ -1482,12 +1474,11 @@ relocatable SDK used to develop applications. When you run the
installer, it installs the toolchain, which contains the development
tools (e.g., ``gcc-cross-canadian``, ``binutils-cross-canadian``, and
other ``nativesdk-*`` tools), which are tools native to the SDK (i.e.
-native to :term:`SDK_ARCH`), you
-need to cross-compile and test your software. The figure shows the
-commands you use to easily build out this toolchain. This
-cross-development toolchain is built to execute on the
-:term:`SDKMACHINE`, which might or
-might not be the same machine as the Build Host.
+native to :term:`SDK_ARCH`), you need to cross-compile and test your
+software. The figure shows the commands you use to easily build out
+this toolchain. This cross-development toolchain is built to execute on the
+:term:`SDKMACHINE`, which might or might not be the same machine as
+the Build Host.
.. note::
diff --git a/poky/documentation/overview-manual/development-environment.rst b/poky/documentation/overview-manual/development-environment.rst
index 43a6f1b480..04aea1373c 100644
--- a/poky/documentation/overview-manual/development-environment.rst
+++ b/poky/documentation/overview-manual/development-environment.rst
@@ -623,11 +623,9 @@ MIT license `here <https://en.wikipedia.org/wiki/MIT_License>`__.
When you build an image using the Yocto Project, the build process uses
a known list of licenses to ensure compliance. You can find this list in
-the :term:`Source Directory` at
-``meta/files/common-licenses``. Once the build completes, the list of
-all licenses found and used during that build are kept in the
-:term:`Build Directory` at
-``tmp/deploy/licenses``.
+the :term:`Source Directory` at ``meta/files/common-licenses``. Once the
+build completes, the list of all licenses found and used during that build
+are kept in the :term:`Build Directory` at ``tmp/deploy/licenses``.
If a module requires a license that is not in the base list, the build
process generates a warning during the build. These tools make it easier
diff --git a/poky/documentation/overview-manual/yp-intro.rst b/poky/documentation/overview-manual/yp-intro.rst
index 4e3b7c3250..8b476f43c4 100644
--- a/poky/documentation/overview-manual/yp-intro.rst
+++ b/poky/documentation/overview-manual/yp-intro.rst
@@ -584,20 +584,15 @@ Build Host runs, you have several choices.
":ref:`dev-manual/start:setting up to use cross platforms (crops)`"
section in the Yocto Project Development Tasks Manual.
-- *Windows Subsystem For Linux (WSLv2):* You may use Windows Subsystem
- For Linux v2 to set up a Build Host using Windows 10.
+- *Windows Subsystem For Linux (WSL 2):* You may use Windows Subsystem
+ For Linux version 2 to set up a Build Host using Windows 10 or later,
+ or Windows Server 2019 or later.
- .. note::
-
- The Yocto Project is not compatible with WSLv1, it is compatible
- but not officially supported nor validated with WSLv2, if you
- still decide to use WSL please upgrade to WSLv2.
-
- The Windows Subsystem For Linux allows Windows 10 to run a real Linux
+ The Windows Subsystem For Linux allows Windows to run a real Linux
kernel inside of a lightweight virtual machine (VM).
- For information on how to set up a Build Host with WSLv2, see the
- ":ref:`dev-manual/start:setting up to use windows subsystem for linux (wslv2)`"
+ For information on how to set up a Build Host with WSL 2, see the
+ ":ref:`dev-manual/start:setting up to use windows subsystem for linux (wsl 2)`"
section in the Yocto Project Development Tasks Manual.
- *Toaster:* Regardless of what your Build Host is running, you can use
diff --git a/poky/documentation/poky.yaml.in b/poky/documentation/poky.yaml.in
index 6b942f0959..5639f3ca7a 100644
--- a/poky/documentation/poky.yaml.in
+++ b/poky/documentation/poky.yaml.in
@@ -1,10 +1,10 @@
-DISTRO : "4.0"
-DISTRO_NAME_NO_CAP : "kirkstone"
-DISTRO_NAME : "Kirkstone"
-DISTRO_NAME_NO_CAP_MINUS_ONE : "honister"
-DISTRO_NAME_NO_CAP_LTS : "dunfell"
-YOCTO_DOC_VERSION : "4.0"
-DISTRO_REL_TAG : "yocto-4.0"
+DISTRO : "4.1"
+DISTRO_NAME_NO_CAP : "langdale"
+DISTRO_NAME : "Langdale"
+DISTRO_NAME_NO_CAP_MINUS_ONE : "kirkstone"
+DISTRO_NAME_NO_CAP_LTS : "kirkstone"
+YOCTO_DOC_VERSION : "4.1"
+DISTRO_REL_TAG : "yocto-4.1"
DOCCONF_VERSION : "dev"
BITBAKE_SERIES : ""
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
diff --git a/poky/documentation/profile-manual/usage.rst b/poky/documentation/profile-manual/usage.rst
index 49f8af4a74..01fbde1411 100644
--- a/poky/documentation/profile-manual/usage.rst
+++ b/poky/documentation/profile-manual/usage.rst
@@ -1895,9 +1895,9 @@ manual, and boot the resulting target image.
.. note::
- If you have a build directory containing multiple machines, you need
+ If you have a :term:`Build Directory` containing multiple machines, you need
to have the MACHINE you're connecting to selected in local.conf, and
- the kernel in that machine's build directory must match the kernel on
+ the kernel in that machine's :term:`Build Directory` must match the kernel on
the booted system exactly, or you'll get the above 'crosstap' message
when you try to invoke a script.
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index cd5a51695b..3b33783c58 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -37,7 +37,7 @@ information.
``allarch.bbclass``
===================
-The ``allarch`` class is inherited by recipes that do not produce
+The :ref:`allarch <ref-classes-allarch>` class is inherited by recipes that do not produce
architecture-specific output. The class disables functionality that is
normally needed for recipes that produce executable binaries (such as
building the cross-compiler and a C library as pre-requisites, and
@@ -49,7 +49,7 @@ splitting out of debug symbols during packaging).
produce packages that depend on tunings through use of the
:term:`RDEPENDS` and
:term:`TUNE_PKGARCH` variables, should never be
- configured for all architectures using ``allarch``. This is the case
+ configured for all architectures using :ref:`allarch <ref-classes-allarch>`. This is the case
even if the recipes do not produce architecture-specific output.
Configuring such recipes for all architectures causes the
@@ -63,17 +63,17 @@ By default, all recipes inherit the :ref:`base <ref-classes-base>` and
functionality needed for recipes that produce executable output. If your
recipe, for example, only produces packages that contain configuration
files, media files, or scripts (e.g. Python and Perl), then it should
-inherit the ``allarch`` class.
+inherit the :ref:`allarch <ref-classes-allarch>` class.
.. _ref-classes-archiver:
``archiver.bbclass``
====================
-The ``archiver`` class supports releasing source code and other
+The :ref:`archiver <ref-classes-archiver>` class supports releasing source code and other
materials with the binaries.
-For more details on the source archiver, see the
+For more details on the source :ref:`archiver <ref-classes-archiver>`, see the
":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`"
section in the Yocto Project Development Tasks Manual. You can also see
the :term:`ARCHIVER_MODE` variable for information
@@ -84,7 +84,7 @@ about the variable flags (varflags) that help control archive creation.
``autotools*.bbclass``
======================
-The ``autotools*`` classes support packages built with the
+The :ref:`autotools* <ref-classes-autotools>` classes support packages built with the
`GNU Autotools <https://en.wikipedia.org/wiki/GNU_Autotools>`__.
The ``autoconf``, ``automake``, and ``libtool`` packages bring
@@ -96,13 +96,13 @@ that emulates Autotools. For more information, see the
":ref:`dev-manual/common-tasks:autotooled package`" section
in the Yocto Project Development Tasks Manual.
-By default, the ``autotools*`` classes use out-of-tree builds (i.e.
+By default, the :ref:`autotools* <ref-classes-autotools>` classes use out-of-tree builds (i.e.
``autotools.bbclass`` building with ``B != S``).
If the software being built by a recipe does not support using
out-of-tree builds, you should have the recipe inherit the
-``autotools-brokensep`` class. The ``autotools-brokensep`` class behaves
-the same as the ``autotools`` class but builds with :term:`B`
+:ref:`autotools-brokensep <ref-classes-autotools>` class. The :ref:`autotools-brokensep <ref-classes-autotools>` class behaves
+the same as the :ref:`autotools <ref-classes-autotools>` class but builds with :term:`B`
== :term:`S`. This method is useful when out-of-tree build
support is either not present or is broken.
@@ -112,7 +112,7 @@ support is either not present or is broken.
all possible.
It's useful to have some idea of how the tasks defined by the
-``autotools*`` classes work and what they do behind the scenes.
+:ref:`autotools* <ref-classes-autotools>` classes work and what they do behind the scenes.
- :ref:`ref-tasks-configure` --- regenerates the
configure script (using ``autoreconf``) and then launches it with a
@@ -133,7 +133,7 @@ It's useful to have some idea of how the tasks defined by the
``base.bbclass``
================
-The ``base`` class is special in that every ``.bb`` file implicitly
+The :ref:`base <ref-classes-base>` class is special in that every ``.bb`` file implicitly
inherits the class. This class contains definitions for standard basic
tasks such as fetching, unpacking, configuring (empty by default),
compiling (runs any ``Makefile`` present), installing (empty by default)
@@ -160,7 +160,7 @@ software that includes bash-completion data.
``bin_package.bbclass``
=======================
-The ``bin_package`` class is a helper class for recipes that extract the
+The :ref:`bin_package <ref-classes-bin-package>` class is a helper class for recipes that extract the
contents of a binary package (e.g. an RPM) and install those contents
rather than building the binary from source. The binary package is
extracted and new packages in the configured output package format are
@@ -187,7 +187,7 @@ example use for this class.
``binconfig.bbclass``
=====================
-The ``binconfig`` class helps to correct paths in shell scripts.
+The :ref:`binconfig <ref-classes-binconfig>` class helps to correct paths in shell scripts.
Before ``pkg-config`` had become widespread, libraries shipped shell
scripts to give information about the libraries and include paths needed
@@ -219,7 +219,7 @@ the class.
``buildhistory.bbclass``
========================
-The ``buildhistory`` class records a history of build output metadata,
+The :ref:`buildhistory <ref-classes-buildhistory>` class records a history of build output metadata,
which can be used to detect possible regressions as well as used for
analysis of the build output. For more information on using Build
History, see the
@@ -231,7 +231,7 @@ section in the Yocto Project Development Tasks Manual.
``buildstats.bbclass``
======================
-The ``buildstats`` class records performance statistics about each task
+The :ref:`buildstats <ref-classes-buildstats>` class records performance statistics about each task
executed during the build (e.g. elapsed time, CPU usage, and I/O usage).
When you use this class, the output goes into the
@@ -245,7 +245,7 @@ Collecting build statistics is enabled by default through the
:term:`USER_CLASSES` variable from your
``local.conf`` file. Consequently, you do not have to do anything to
enable the class. However, if you want to disable the class, simply
-remove "buildstats" from the :term:`USER_CLASSES` list.
+remove ":ref:`buildstats <ref-classes-buildstats>`" from the :term:`USER_CLASSES` list.
.. _ref-classes-buildstats-summary:
@@ -261,7 +261,7 @@ sstate re-use. In order to function, this class requires the
``ccache.bbclass``
==================
-The ``ccache`` class enables the C/C++ Compiler Cache for the build.
+The :ref:`ccache <ref-classes-ccache>` class enables the C/C++ Compiler Cache for the build.
This class is used to give a minor performance boost during the build.
See https://ccache.samba.org/ for information on the C/C++ Compiler
@@ -278,9 +278,9 @@ this class is not recommended.
``chrpath.bbclass``
===================
-The ``chrpath`` class is a wrapper around the "chrpath" utility, which
-is used during the build process for ``nativesdk``, ``cross``, and
-``cross-canadian`` recipes to change ``RPATH`` records within binaries
+The :ref:`chrpath <ref-classes-chrpath>` class is a wrapper around the "chrpath" utility, which
+is used during the build process for :ref:`nativesdk <ref-classes-nativesdk>`, :ref:`cross <ref-classes-cross>`, and
+:ref:`cross-canadian <ref-classes-cross-canadian>` recipes to change ``RPATH`` records within binaries
in order to make them relocatable.
.. _ref-classes-cmake:
@@ -288,7 +288,7 @@ in order to make them relocatable.
``cmake.bbclass``
=================
-The ``cmake`` class allows for recipes that need to build software using
+The ref:`cmake <ref-classes-cmake>` class allows for recipes that need to build software using
the `CMake <https://cmake.org/overview/>`__ build system. You can use
the :term:`EXTRA_OECMAKE` variable to specify
additional configuration options to be passed using the ``cmake``
@@ -305,7 +305,7 @@ Modules during
``cml1.bbclass``
================
-The ``cml1`` class provides basic support for the Linux kernel style
+The :ref:`cml1 <ref-classes-cml1>` class provides basic support for the Linux kernel style
build configuration system.
.. _ref-classes-compress_doc:
@@ -323,8 +323,8 @@ but you can select an alternative mechanism by setting the
``copyleft_compliance.bbclass``
===============================
-The ``copyleft_compliance`` class preserves source code for the purposes
-of license compliance. This class is an alternative to the ``archiver``
+The :ref:`copyleft_compliance <ref-classes-copyleft_compliance>` class preserves source code for the purposes
+of license compliance. This class is an alternative to the :ref:`archiver <ref-classes-archiver>`
class and is still used by some users even though it has been deprecated
in favor of the :ref:`archiver <ref-classes-archiver>` class.
@@ -343,7 +343,7 @@ class and is not intended to be used directly.
``core-image.bbclass``
======================
-The ``core-image`` class provides common definitions for the
+The :ref:`core-image <ref-classes-core-image>` class provides common definitions for the
``core-image-*`` image recipes, such as support for additional
:term:`IMAGE_FEATURES`.
@@ -352,7 +352,7 @@ The ``core-image`` class provides common definitions for the
``cpan*.bbclass``
=================
-The ``cpan*`` classes support Perl modules.
+The :ref:`cpan* <ref-classes-cpan>` classes support Perl modules.
Recipes for Perl modules are simple. These recipes usually only need to
point to the source's archive and then inherit the proper class file.
@@ -365,7 +365,7 @@ authors used.
- Modules that use ``Build.PL``-based build system require using
``cpan_build.bbclass`` in their recipes.
-Both build methods inherit the ``cpan-base`` class for basic Perl
+Both build methods inherit the :ref:`cpan-base <ref-classes-cpan>` class for basic Perl
support.
.. _ref-classes-create-spdx:
@@ -373,7 +373,7 @@ support.
``create-spdx.bbclass``
=======================
-The ``create-spdx`` class provides support for automatically creating
+The :ref:`create-spdx <ref-classes-create-spdx>` class provides support for automatically creating
SPDX SBoM documents based upon image and SDK contents.
.. _ref-classes-cross:
@@ -381,7 +381,7 @@ SPDX SBoM documents based upon image and SDK contents.
``cross.bbclass``
=================
-The ``cross`` class provides support for the recipes that build the
+The :ref:`cross <ref-classes-cross>` class provides support for the recipes that build the
cross-compilation tools.
.. _ref-classes-cross-canadian:
@@ -389,7 +389,7 @@ cross-compilation tools.
``cross-canadian.bbclass``
==========================
-The ``cross-canadian`` class provides support for the recipes that build
+The :ref:`cross-canadian <ref-classes-cross-canadian>` class provides support for the recipes that build
the Canadian Cross-compilation tools for SDKs. See the
":ref:`overview-manual/concepts:cross-development toolchain generation`"
section in the Yocto Project Overview and Concepts Manual for more
@@ -400,7 +400,7 @@ discussion on these cross-compilation tools.
``crosssdk.bbclass``
====================
-The ``crosssdk`` class provides support for the recipes that build the
+The :ref:`crosssdk <ref-classes-crosssdk>` class provides support for the recipes that build the
cross-compilation tools used for building SDKs. See the
":ref:`overview-manual/concepts:cross-development toolchain generation`"
section in the Yocto Project Overview and Concepts Manual for more
@@ -411,14 +411,62 @@ discussion on these cross-compilation tools.
``cve-check.bbclass``
=====================
-The ``cve-check`` class looks for known CVEs (Common Vulnerabilities
-and Exposures) while building an image. This class is meant to be
+The :ref:`cve-check <ref-classes-cve-check>` class looks for known CVEs (Common Vulnerabilities
+and Exposures) while building with BitBake. This class is meant to be
inherited globally from a configuration file::
INHERIT += "cve-check"
+To filter out obsolete CVE database entries which are known not to impact software from Poky and OE-Core,
+add following line to the build configuration file::
+
+ include cve-extra-exclusions.inc
+
You can also look for vulnerabilities in specific packages by passing
-``-c cve_check`` to BitBake. You will find details in the
+``-c cve_check`` to BitBake.
+
+After building the software with Bitbake, CVE check output reports are available in ``tmp/deploy/cve``
+and image specific summaries in ``tmp/deploy/images/*.cve`` or ``tmp/deploy/images/*.json`` files.
+
+When building, the CVE checker will emit build time warnings for any detected
+issues which are in the state ``Unpatched``, meaning that CVE issue seems to affect the software component
+and version being compiled and no patches to address the issue are applied. Other states
+for detected CVE issues are: ``Patched`` meaning that a patch to address the issue is already
+applied, and ``Ignored`` meaning that the issue can be ignored.
+
+The ``Patched`` state of a CVE issue is detected from patch files with the format
+``CVE-ID.patch``, e.g. ``CVE-2019-20633.patch``, in the :term:`SRC_URI` and using
+CVE metadata of format ``CVE: CVE-ID`` in the commit message of the patch file.
+
+If the recipe lists the ``CVE-ID`` in :term:`CVE_CHECK_IGNORE` variable, then the CVE state is reported
+as ``Ignored``. Multiple CVEs can be listed separated by spaces. Example::
+
+ CVE_CHECK_IGNORE += "CVE-2020-29509 CVE-2020-29511"
+
+If CVE check reports that a recipe contains false positives or false negatives, these may be
+fixed in recipes by adjusting the CVE product name using :term:`CVE_PRODUCT` and :term:`CVE_VERSION` variables.
+:term:`CVE_PRODUCT` defaults to the plain recipe name :term:`BPN` which can be adjusted to one or more CVE
+database vendor and product pairs using the syntax::
+
+ CVE_PRODUCT = "flex_project:flex"
+
+where ``flex_project`` is the CVE database vendor name and ``flex`` is the product name. Similarly
+if the default recipe version :term:`PV` does not match the version numbers of the software component
+in upstream releases or the CVE database, then the :term:`CVE_VERSION` variable can be used to set the
+CVE database compatible version number, for example::
+
+ CVE_VERSION = "2.39"
+
+Any bugs or missing or incomplete information in the CVE database entries should be fixed in the CVE database
+via the `NVD feedback form <https://nvd.nist.gov/info/contact-form>`__.
+
+Users should note that security is a process, not a product, and thus also CVE checking, analyzing results,
+patching and updating the software should be done as a regular process. The data and assumptions
+required for CVE checker to reliably detect issues are frequently broken in various ways.
+These can only be detected by reviewing the details of the issues and iterating over the generated reports,
+and following what happens in other Linux distributions and in the greater open source community.
+
+You will find some more details in the
":ref:`dev-manual/common-tasks:checking for vulnerabilities`"
section in the Development Tasks Manual.
@@ -427,7 +475,7 @@ section in the Development Tasks Manual.
``debian.bbclass``
==================
-The ``debian`` class renames output packages so that they follow the
+The :ref:`debian <ref-classes-debian>` class renames output packages so that they follow the
Debian naming policy (i.e. ``glibc`` becomes ``libc6`` and
``glibc-devel`` becomes ``libc6-dev``.) Renaming includes the library
name and version as part of the package name.
@@ -442,7 +490,7 @@ naming scheme.
``deploy.bbclass``
==================
-The ``deploy`` class handles deploying files to the
+The :ref:`deploy <ref-classes-deploy>` class handles deploying files to the
:term:`DEPLOY_DIR_IMAGE` directory. The main
function of this class is to allow the deploy step to be accelerated by
shared state. Recipes that inherit this class should define their own
@@ -458,17 +506,17 @@ staging the files from :term:`DEPLOYDIR` to :term:`DEPLOY_DIR_IMAGE`.
``devshell.bbclass``
====================
-The ``devshell`` class adds the :ref:`ref-tasks-devshell` task. Distribution
+The :ref:`devshell <ref-classes-devshell>` class adds the :ref:`ref-tasks-devshell` task. Distribution
policy dictates whether to include this class. See the ":ref:`dev-manual/common-tasks:using a development shell`"
section in the Yocto Project Development Tasks Manual for more
-information about using ``devshell``.
+information about using :ref:`devshell <ref-classes-devshell>`.
.. _ref-classes-devupstream:
``devupstream.bbclass``
=======================
-The ``devupstream`` class uses
+The :ref:`devupstream <ref-classes-devupstream>` class uses
:term:`BBCLASSEXTEND` to add a variant of the
recipe that fetches from an alternative URI (e.g. Git) instead of a
tarball. Following is an example::
@@ -490,10 +538,10 @@ Any development-specific adjustments can be done by using the
The class
currently only supports creating a development variant of the target
-recipe, not ``native`` or ``nativesdk`` variants.
+recipe, not :ref:`native <ref-classes-native>` or :ref:`nativesdk <ref-classes-nativesdk>` variants.
The :term:`BBCLASSEXTEND` syntax (i.e. ``devupstream:target``) provides
-support for ``native`` and ``nativesdk`` variants. Consequently, this
+support for :ref:`native <ref-classes-native>` and :ref:`nativesdk <ref-classes-nativesdk>` variants. Consequently, this
functionality can be added in a future release.
Support for other version control systems such as Subversion is limited
@@ -505,7 +553,7 @@ due to BitBake's automatic fetch dependencies (e.g.
``externalsrc.bbclass``
=======================
-The ``externalsrc`` class supports building software from source code
+The :ref:`externalsrc <ref-classes-externalsrc>` class supports building software from source code
that is external to the OpenEmbedded build system. Building software
from an external source tree means that the build system's normal fetch,
unpack, and patch process is not used.
@@ -513,7 +561,7 @@ unpack, and patch process is not used.
By default, the OpenEmbedded build system uses the :term:`S`
and :term:`B` variables to locate unpacked recipe source code
and to build it, respectively. When your recipe inherits the
-``externalsrc`` class, you use the
+:ref:`externalsrc <ref-classes-externalsrc>` class, you use the
:term:`EXTERNALSRC` and
:term:`EXTERNALSRC_BUILD` variables to
ultimately define :term:`S` and :term:`B`.
@@ -530,10 +578,10 @@ See these variables for more information:
:term:`WORKDIR`, :term:`BPN`, and
:term:`PV`,
-For more information on the ``externalsrc`` class, see the comments in
+For more information on the :ref:`externalsrc <ref-classes-externalsrc>` class, see the comments in
``meta/classes/externalsrc.bbclass`` in the :term:`Source Directory`.
For information on how to use the
-``externalsrc`` class, see the
+:ref:`externalsrc <ref-classes-externalsrc>` class, see the
":ref:`dev-manual/common-tasks:building software from an external source`"
section in the Yocto Project Development Tasks Manual.
@@ -542,7 +590,7 @@ section in the Yocto Project Development Tasks Manual.
``extrausers.bbclass``
======================
-The ``extrausers`` class allows additional user and group configuration
+The :ref:`extrausers <ref-classes-extrausers>` class allows additional user and group configuration
to be applied at the image level. Inheriting this class either globally
or from an image recipe allows additional user and group operations to
be performed using the
@@ -604,7 +652,7 @@ Finally, here is an example that sets the root password::
``features_check.bbclass``
=================================
-The ``features_check`` class allows individual recipes to check
+The :ref:`features_check <ref-classes-features_check>` class allows individual recipes to check
for required and conflicting
:term:`DISTRO_FEATURES`, :term:`MACHINE_FEATURES` or :term:`COMBINED_FEATURES`.
@@ -630,7 +678,7 @@ triggered.
``fontcache.bbclass``
=====================
-The ``fontcache`` class generates the proper post-install and
+The :ref:`fontcache <ref-classes-fontcache>` class generates the proper post-install and
post-remove (postinst and postrm) scriptlets for font packages. These
scriptlets call ``fc-cache`` (part of ``Fontconfig``) to add the fonts
to the font information cache. Since the cache files are
@@ -646,9 +694,9 @@ packages containing the fonts.
``fs-uuid.bbclass``
===================
-The ``fs-uuid`` class extracts UUID from
+The :ref:`fs-uuid <ref-classes-fs-uuid>` class extracts UUID from
``${``\ :term:`ROOTFS`\ ``}``, which must have been built
-by the time that this function gets called. The ``fs-uuid`` class only
+by the time that this function gets called. The :ref:`fs-uuid <ref-classes-fs-uuid>` class only
works on ``ext`` file systems and depends on ``tune2fs``.
.. _ref-classes-gconf:
@@ -656,7 +704,7 @@ works on ``ext`` file systems and depends on ``tune2fs``.
``gconf.bbclass``
=================
-The ``gconf`` class provides common functionality for recipes that need
+The :ref:`gconf <ref-classes-gconf>` class provides common functionality for recipes that need
to install GConf schemas. The schemas will be put into a separate
package (``${``\ :term:`PN`\ ``}-gconf``) that is created
automatically when this class is inherited. This package uses the
@@ -668,7 +716,7 @@ register and unregister the schemas in the target image.
``gettext.bbclass``
===================
-The ``gettext`` class provides support for building software that uses
+The :ref:`gettext <ref-classes-gettext>` class provides support for building software that uses
the GNU ``gettext`` internationalization and localization system. All
recipes building software that use ``gettext`` should inherit this
class.
@@ -678,11 +726,11 @@ class.
``github-releases``
===================
-For recipes that fetch release tarballs from github, the ``github-releases``
+For recipes that fetch release tarballs from github, the :ref:`github-releases <ref-classes-github-releases>`
class sets up a standard way for checking available upstream versions
(to support ``devtool upgrade`` and the Automated Upgrade Helper (AUH)).
-To use it, add ``github-releases`` to the inherit line in the recipe,
+To use it, add ":ref:`github-releases <ref-classes-github-releases>`" to the inherit line in the recipe,
and if the default value of :term:`GITHUB_BASE_URI` is not suitable,
then set your own value in the recipe. You should then use ``${GITHUB_BASE_URI}``
in the value you set for :term:`SRC_URI` within the recipe.
@@ -692,7 +740,7 @@ in the value you set for :term:`SRC_URI` within the recipe.
``gnomebase.bbclass``
=====================
-The ``gnomebase`` class is the base class for recipes that build
+The :ref:`gnomebase <ref-classes-gnomebase>` class is the base class for recipes that build
software from the GNOME stack. This class sets
:term:`SRC_URI` to download the source from the GNOME
mirrors as well as extending :term:`FILES` with the typical
@@ -721,7 +769,7 @@ introspection. This functionality is only enabled if the
``grub-efi.bbclass``
====================
-The ``grub-efi`` class provides ``grub-efi``-specific functions for
+The :ref:`grub-efi <ref-classes-grub-efi>` class provides ``grub-efi``-specific functions for
building bootable images.
This class supports several variables:
@@ -753,7 +801,7 @@ This class supports several variables:
``gsettings.bbclass``
=====================
-The ``gsettings`` class provides common functionality for recipes that
+The :ref:`gsettings <ref-classes-gsettings>` class provides common functionality for recipes that
need to install GSettings (glib) schemas. The schemas are assumed to be
part of the main package. Appropriate post-install and post-remove
(postinst/postrm) scriptlets are added to register and unregister the
@@ -764,7 +812,7 @@ schemas in the target image.
``gtk-doc.bbclass``
===================
-The ``gtk-doc`` class is a helper class to pull in the appropriate
+The :ref:`gtk-doc <ref-classes-gtk-doc>` class is a helper class to pull in the appropriate
``gtk-doc`` dependencies and disable ``gtk-doc``.
.. _ref-classes-gtk-icon-cache:
@@ -772,7 +820,7 @@ The ``gtk-doc`` class is a helper class to pull in the appropriate
``gtk-icon-cache.bbclass``
==========================
-The ``gtk-icon-cache`` class generates the proper post-install and
+The :ref:`gtk-icon-cache <ref-classes-gtk-icon-cache>` class generates the proper post-install and
post-remove (postinst/postrm) scriptlets for packages that use GTK+ and
install icons. These scriptlets call ``gtk-update-icon-cache`` to add
the fonts to GTK+'s icon cache. Since the cache files are
@@ -785,7 +833,7 @@ creation.
``gtk-immodules-cache.bbclass``
===============================
-The ``gtk-immodules-cache`` class generates the proper post-install and
+The :ref:`gtk-immodules-cache <ref-classes-gtk-immodules-cache>` class generates the proper post-install and
post-remove (postinst/postrm) scriptlets for packages that install GTK+
input method modules for virtual keyboards. These scriptlets call
``gtk-update-icon-cache`` to add the input method modules to the cache.
@@ -803,7 +851,7 @@ the packages containing the modules.
``gzipnative.bbclass``
======================
-The ``gzipnative`` class enables the use of different native versions of
+The :ref:`gzipnative <ref-classes-gzipnative>` class enables the use of different native versions of
``gzip`` and ``pigz`` rather than the versions of these tools from the
build host.
@@ -812,7 +860,7 @@ build host.
``icecc.bbclass``
=================
-The ``icecc`` class supports
+The :ref:`icecc <ref-classes-icecc>` class supports
`Icecream <https://github.com/icecc/icecream>`__, which facilitates
taking compile jobs and distributing them among remote machines.
@@ -860,13 +908,13 @@ Additionally, you can list recipes using the
your ``local.conf`` file to force ``icecc`` to be enabled for recipes
using an empty :term:`PARALLEL_MAKE` variable.
-Inheriting the ``icecc`` class changes all sstate signatures.
+Inheriting the :ref:`icecc <ref-classes-icecc>` class changes all sstate signatures.
Consequently, if a development team has a dedicated build system that
populates :term:`SSTATE_MIRRORS` and they want to
reuse sstate from :term:`SSTATE_MIRRORS`, then all developers and the build
-system need to either inherit the ``icecc`` class or nobody should.
+system need to either inherit the :ref:`icecc <ref-classes-icecc>` class or nobody should.
-At the distribution level, you can inherit the ``icecc`` class to be
+At the distribution level, you can inherit the :ref:`icecc <ref-classes-icecc>` class to be
sure that all builders start with the same sstate signatures. After
inheriting the class, you can then disable the feature by setting the
:term:`ICECC_DISABLED` variable to "1" as follows::
@@ -886,7 +934,7 @@ individually as follows in your ``local.conf`` file::
``image.bbclass``
=================
-The ``image`` class helps support creating images in different formats.
+The :ref:`image <ref-classes-image>` class helps support creating images in different formats.
First, the root filesystem is created from packages using one of the
``rootfs*.bbclass`` files (depending on the package format used) and
then one or more image files are created.
@@ -909,7 +957,7 @@ Yocto Project Overview and Concepts Manual.
``image-buildinfo.bbclass``
===========================
-The ``image-buildinfo`` class writes a plain text file containing
+The :ref:`image-buildinfo <ref-classes-image-buildinfo>` class writes a plain text file containing
build information to the target filesystem at ``${sysconfdir}/buildinfo``
by default (as specified by :term:`IMAGE_BUILDINFO_FILE`.
This can be useful for manually determining the origin of any given
@@ -931,14 +979,14 @@ to ``/buildinfo`` by default (as specified by
``image_types.bbclass``
=======================
-The ``image_types`` class defines all of the standard image output types
+The :ref:`image_types <ref-classes-image_types>` class defines all of the standard image output types
that you can enable through the
:term:`IMAGE_FSTYPES` variable. You can use this
class as a reference on how to add support for custom image output
types.
By default, the :ref:`image <ref-classes-image>` class automatically
-enables the ``image_types`` class. The ``image`` class uses the
+enables the :ref:`image_types <ref-classes-image_types>` class. The :ref:`image <ref-classes-image>` class uses the
``IMGCLASSES`` variable as follows::
IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
@@ -950,7 +998,7 @@ enables the ``image_types`` class. The ``image`` class uses the
IMGCLASSES += "image-postinst-intercepts"
inherit ${IMGCLASSES}
-The ``image_types`` class also handles conversion and compression of images.
+The :ref:`image_types <ref-classes-image_types>` class also handles conversion and compression of images.
.. note::
@@ -976,7 +1024,7 @@ Normally, you do not use this class directly. Instead, you add "live" to
``insane.bbclass``
==================
-The ``insane`` class adds a step to the package generation process so
+The :ref:`insane <ref-classes-insane>` class adds a step to the package generation process so
that output quality assurance checks are generated by the OpenEmbedded
build system. A range of checks are performed that check the build's
output for common problems that show up during runtime. Distribution
@@ -1276,7 +1324,7 @@ Here are the tests you can list with the :term:`WARN_QA` and
``insserv.bbclass``
===================
-The ``insserv`` class uses the ``insserv`` utility to update the order
+The :ref:`insserv <ref-classes-insserv>` class uses the ``insserv`` utility to update the order
of symbolic links in ``/etc/rc?.d/`` within an image based on
dependencies specified by LSB headers in the ``init.d`` scripts
themselves.
@@ -1286,7 +1334,7 @@ themselves.
``kernel.bbclass``
==================
-The ``kernel`` class handles building Linux kernels. The class contains
+The :ref:`kernel <ref-classes-kernel>` class handles building Linux kernels. The class contains
code to build all kernel trees. All needed headers are staged into the
:term:`STAGING_KERNEL_DIR` directory to allow out-of-tree module builds
using the :ref:`module <ref-classes-module>` class.
@@ -1297,13 +1345,13 @@ If all modules are required, then installing the ``kernel-modules``
package installs all packages with modules and various other kernel
packages such as ``kernel-vmlinux``.
-The ``kernel`` class contains logic that allows you to embed an initial
+The :ref:`kernel <ref-classes-kernel>` class contains logic that allows you to embed an initial
RAM filesystem (:term:`Initramfs`) image when you build the kernel image. For
information on how to build an :term:`Initramfs`, see the
":ref:`dev-manual/common-tasks:building an initial ram filesystem (Initramfs) image`" section in
the Yocto Project Development Tasks Manual.
-Various other classes are used by the ``kernel`` and ``module`` classes
+Various other classes are used by the :ref:`kernel <ref-classes-kernel>` and :ref:`module <ref-classes-module>` classes
internally including the :ref:`kernel-arch <ref-classes-kernel-arch>`,
:ref:`module-base <ref-classes-module-base>`, and
:ref:`linux-kernel-base <ref-classes-linux-kernel-base>` classes.
@@ -1313,7 +1361,7 @@ internally including the :ref:`kernel-arch <ref-classes-kernel-arch>`,
``kernel-arch.bbclass``
=======================
-The ``kernel-arch`` class sets the ``ARCH`` environment variable for
+The :ref:`kernel-arch <ref-classes-kernel-arch>` class sets the ``ARCH`` environment variable for
Linux kernel compilation (including modules).
.. _ref-classes-kernel-devicetree:
@@ -1321,7 +1369,7 @@ Linux kernel compilation (including modules).
``kernel-devicetree.bbclass``
=============================
-The ``kernel-devicetree`` class, which is inherited by the
+The :ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class, which is inherited by the
:ref:`kernel <ref-classes-kernel>` class, supports device tree
generation.
@@ -1330,11 +1378,11 @@ generation.
``kernel-fitimage.bbclass``
===========================
-The ``kernel-fitimage`` class provides support to pack a kernel image,
+The :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class provides support to pack a kernel image,
device trees, a U-boot script, a Initramfs bundle and a RAM disk
into a single FIT image. In theory, a FIT image can support any number
of kernels, U-boot scripts, Initramfs bundles, RAM disks and device-trees.
-However, ``kernel-fitimage`` currently only supports
+However, :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` currently only supports
limited usecases: just one kernel image, an optional U-boot script,
an optional Initramfs bundle, an optional RAM disk, and any number of
device tree.
@@ -1348,19 +1396,19 @@ when creating the FIT image are specified using the
:term:`UBOOT_MKIMAGE_DTCOPTS` variable.
Only a single kernel can be added to the FIT image created by
-``kernel-fitimage`` and the kernel image in FIT is mandatory. The
+:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the kernel image in FIT is mandatory. The
address where the kernel image is to be loaded by U-Boot is
specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by
:term:`UBOOT_ENTRYPOINT`.
Multiple device trees can be added to the FIT image created by
-``kernel-fitimage`` and the device tree is optional.
+:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the device tree is optional.
The address where the device tree is to be loaded by U-Boot is
specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays
and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries.
Only a single RAM disk can be added to the FIT image created by
-``kernel-fitimage`` and the RAM disk in FIT is optional.
+:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the RAM disk in FIT is optional.
The address where the RAM disk image is to be loaded by U-Boot
is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by
:term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to FIT image when
@@ -1368,7 +1416,7 @@ is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by
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.
+:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the Initramfs bundle in FIT is optional.
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 root filesystem.
@@ -1378,21 +1426,21 @@ The address where the Initramfs bundle is to be loaded by U-boot is specified
by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`.
Only a single U-boot boot script can be added to the FIT image created by
-``kernel-fitimage`` and the boot script is optional.
+:ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the boot script is optional.
The boot script is specified in the ITS file as a text file containing
U-boot commands. When using a boot script the user should configure the
U-boot :ref:`ref-tasks-install` task to copy the script to sysroot.
-So the script can be included in the FIT image by the ``kernel-fitimage``
+So the script can be included in the FIT image by the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>`
class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to
load the boot script from the FIT image and executes it.
-The FIT image generated by ``kernel-fitimage`` class is signed when the
+The FIT image generated by :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class is signed when the
variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`,
:term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set
appropriately. The default values used for :term:`FIT_HASH_ALG` and
-:term:`FIT_SIGN_ALG` in ``kernel-fitimage`` are "sha256" and
+:term:`FIT_SIGN_ALG` in :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` are "sha256" and
"rsa2048" respectively. The keys for signing fitImage can be generated using
-the ``kernel-fitimage`` class when both :term:`FIT_GENERATE_KEYS` and
+the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class when both :term:`FIT_GENERATE_KEYS` and
:term:`UBOOT_SIGN_ENABLE` are set to "1".
@@ -1401,7 +1449,7 @@ the ``kernel-fitimage`` class when both :term:`FIT_GENERATE_KEYS` and
``kernel-grub.bbclass``
=======================
-The ``kernel-grub`` class updates the boot area and the boot menu with
+The :ref:`kernel-grub <ref-classes-kernel-grub>` class updates the boot area and the boot menu with
the kernel as the priority boot mechanism while installing a RPM to
update the kernel on a deployed target.
@@ -1410,7 +1458,7 @@ update the kernel on a deployed target.
``kernel-module-split.bbclass``
===============================
-The ``kernel-module-split`` class provides common functionality for
+The :ref:`kernel-module-split <ref-classes-kernel-module-split>` class provides common functionality for
splitting Linux kernel modules into separate packages.
.. _ref-classes-kernel-uboot:
@@ -1418,7 +1466,7 @@ splitting Linux kernel modules into separate packages.
``kernel-uboot.bbclass``
========================
-The ``kernel-uboot`` class provides support for building from
+The :ref:`kernel-uboot <ref-classes-kernel-uboot>` class provides support for building from
vmlinux-style kernel sources.
.. _ref-classes-kernel-uimage:
@@ -1426,14 +1474,14 @@ vmlinux-style kernel sources.
``kernel-uimage.bbclass``
=========================
-The ``kernel-uimage`` class provides support to pack uImage.
+The :ref:`kernel-uimage <ref-classes-kernel-uimage>` class provides support to pack uImage.
.. _ref-classes-kernel-yocto:
``kernel-yocto.bbclass``
========================
-The ``kernel-yocto`` class provides common functionality for building
+The :ref:`kernel-yocto <ref-classes-kernel-yocto>` class provides common functionality for building
from linux-yocto style kernel source repositories.
.. _ref-classes-kernelsrc:
@@ -1441,14 +1489,14 @@ from linux-yocto style kernel source repositories.
``kernelsrc.bbclass``
=====================
-The ``kernelsrc`` class sets the Linux kernel source and version.
+The :ref:`kernelsrc <ref-classes-kernelsrc>` class sets the Linux kernel source and version.
.. _ref-classes-lib_package:
``lib_package.bbclass``
=======================
-The ``lib_package`` class supports recipes that build libraries and
+The :ref:`lib_package <ref-classes-lib_package>` class supports recipes that build libraries and
produce executable binaries, where those binaries should not be
installed by default along with the library. Instead, the binaries are
added to a separate ``${``\ :term:`PN`\ ``}-bin`` package to
@@ -1459,12 +1507,12 @@ make their installation optional.
``libc*.bbclass``
=================
-The ``libc*`` classes support recipes that build packages with ``libc``:
+The :ref:`libc* <ref-classes-libc*>` classes support recipes that build packages with ``libc``:
-- The ``libc-common`` class provides common support for building with
+- The :ref:`libc-common <ref-classes-libc*>` class provides common support for building with
``libc``.
-- The ``libc-package`` class supports packaging up ``glibc`` and
+- The :ref:`libc-package <ref-classes-libc*>` class supports packaging up ``glibc`` and
``eglibc``.
.. _ref-classes-license:
@@ -1472,7 +1520,7 @@ The ``libc*`` classes support recipes that build packages with ``libc``:
``license.bbclass``
===================
-The ``license`` class provides license manifest creation and license
+The :ref:`license <ref-classes-license>` class provides license manifest creation and license
exclusion. This class is enabled by default using the default value for
the :term:`INHERIT_DISTRO` variable.
@@ -1481,7 +1529,7 @@ the :term:`INHERIT_DISTRO` variable.
``linux-kernel-base.bbclass``
=============================
-The ``linux-kernel-base`` class provides common functionality for
+The :ref:`linux-kernel-base <ref-classes-linux-kernel-base>` class provides common functionality for
recipes that build out of the Linux kernel source tree. These builds
goes beyond the kernel itself. For example, the Perf recipe also
inherits this class.
@@ -1500,11 +1548,11 @@ number of other classes.
``logging.bbclass``
===================
-The ``logging`` class provides the standard shell functions used to log
+The :ref:`logging <ref-classes-logging>` class provides the standard shell functions used to log
messages for various BitBake severity levels (i.e. ``bbplain``,
``bbnote``, ``bbwarn``, ``bberror``, ``bbfatal``, and ``bbdebug``).
-This class is enabled by default since it is inherited by the ``base``
+This class is enabled by default since it is inherited by the :ref:`base <ref-classes-base>`
class.
.. _ref-classes-metadata_scm:
@@ -1512,20 +1560,20 @@ class.
``metadata_scm.bbclass``
========================
-The ``metadata_scm`` class provides functionality for querying the
+The :ref:`metadata_scm <ref-classes-metadata_scm>` class provides functionality for querying the
branch and revision of a Source Code Manager (SCM) repository.
The :ref:`base <ref-classes-base>` class uses this class to print the
revisions of each layer before starting every build. The
-``metadata_scm`` class is enabled by default because it is inherited by
-the ``base`` class.
+:ref:`metadata_scm <ref-classes-metadata_scm>` class is enabled by default because it is inherited by
+the :ref:`base <ref-classes-base>` class.
.. _ref-classes-migrate_localcount:
``migrate_localcount.bbclass``
==============================
-The ``migrate_localcount`` class verifies a recipe's localcount data and
+The :ref:`migrate_localcount <ref-classes-migrate_localcount>` class verifies a recipe's localcount data and
increments it appropriately.
.. _ref-classes-mime:
@@ -1533,7 +1581,7 @@ increments it appropriately.
``mime.bbclass``
================
-The ``mime`` class generates the proper post-install and post-remove
+The :ref:`mime <ref-classes-mime>` class generates the proper post-install and post-remove
(postinst/postrm) scriptlets for packages that install MIME type files.
These scriptlets call ``update-mime-database`` to add the MIME types to
the shared database.
@@ -1543,7 +1591,7 @@ the shared database.
``mirrors.bbclass``
===================
-The ``mirrors`` class sets up some standard
+The :ref:`mirrors <ref-classes-mirrors>` class sets up some standard
:term:`MIRRORS` entries for source code mirrors. These
mirrors provide a fall-back path in case the upstream source specified
in :term:`SRC_URI` within recipes is unavailable.
@@ -1556,7 +1604,7 @@ This class is enabled by default since it is inherited by the
``module.bbclass``
==================
-The ``module`` class provides support for building out-of-tree Linux
+The :ref:`module <ref-classes-module>` class provides support for building out-of-tree Linux
kernel modules. The class inherits the
:ref:`module-base <ref-classes-module-base>` and
:ref:`kernel-module-split <ref-classes-kernel-module-split>` classes,
@@ -1573,7 +1621,7 @@ section in the Yocto Project Linux Kernel Development Manual.
``module-base.bbclass``
=======================
-The ``module-base`` class provides the base functionality for building
+The :ref:`module-base <ref-classes-module-base>` class provides the base functionality for building
Linux kernel modules. Typically, a recipe that builds software that
includes one or more kernel modules and has its own means of building
the module inherits this class as opposed to inheriting the
@@ -1584,7 +1632,7 @@ the module inherits this class as opposed to inheriting the
``multilib*.bbclass``
=====================
-The ``multilib*`` classes provide support for building libraries with
+The :ref:`multilib* <ref-classes-multilib*>` classes provide support for building libraries with
different target optimizations or target architectures and installing
them side-by-side in the same image.
@@ -1597,17 +1645,17 @@ section in the Yocto Project Development Tasks Manual.
``native.bbclass``
==================
-The ``native`` class provides common functionality for recipes that
+The :ref:`native <ref-classes-native>` class provides common functionality for recipes that
build tools to run on the :term:`Build Host` (i.e. tools that use the compiler
or other tools from the build host).
You can create a recipe that builds tools that run natively on the host
a couple different ways:
-- Create a ``myrecipe-native.bb`` recipe that inherits the ``native``
+- Create a ``myrecipe-native.bb`` recipe that inherits the :ref:`native <ref-classes-native>`
class. If you use this method, you must order the inherit statement
in the recipe after all other inherit statements so that the
- ``native`` class is inherited last.
+ :ref:`native <ref-classes-native>` class is inherited last.
.. note::
@@ -1629,7 +1677,7 @@ a couple different ways:
specify any functionality specific to the respective native or target
case.
-Although applied differently, the ``native`` class is used with both
+Although applied differently, the :ref:`native <ref-classes-native>` class is used with both
methods. The advantage of the second method is that you do not need to
have two separate recipes (assuming you need both) for native and
target. All common parts of the recipe are automatically shared.
@@ -1639,7 +1687,7 @@ target. All common parts of the recipe are automatically shared.
``nativesdk.bbclass``
=====================
-The ``nativesdk`` class provides common functionality for recipes that
+The :ref:`nativesdk <ref-classes-nativesdk>` class provides common functionality for recipes that
wish to build tools to run as part of an SDK (i.e. tools that run on
:term:`SDKMACHINE`).
@@ -1647,11 +1695,11 @@ You can create a recipe that builds tools that run on the SDK machine a
couple different ways:
- Create a ``nativesdk-myrecipe.bb`` recipe that inherits the
- ``nativesdk`` class. If you use this method, you must order the
+ :ref:`nativesdk <ref-classes-nativesdk>` class. If you use this method, you must order the
inherit statement in the recipe after all other inherit statements so
- that the ``nativesdk`` class is inherited last.
+ that the :ref:`nativesdk <ref-classes-nativesdk>` class is inherited last.
-- Create a ``nativesdk`` variant of any recipe by adding the following::
+- Create a :ref:`nativesdk <ref-classes-nativesdk>` variant of any recipe by adding the following::
BBCLASSEXTEND = "nativesdk"
@@ -1670,7 +1718,7 @@ couple different ways:
Not doing so can lead to subtle problems because there is code that
depends on the naming convention.
-Although applied differently, the ``nativesdk`` class is used with both
+Although applied differently, the :ref:`nativesdk <ref-classes-nativesdk>` class is used with both
methods. The advantage of the second method is that you do not need to
have two separate recipes (assuming you need both) for the SDK machine
and the target. All common parts of the recipe are automatically shared.
@@ -1705,11 +1753,11 @@ section in the Yocto Project Development Tasks Manual.
``oelint.bbclass``
==================
-The ``oelint`` class is an obsolete lint checking tool available in
+The :ref:`oelint <ref-classes-oelint>` class is an obsolete lint checking tool available in
``meta/classes`` in the :term:`Source Directory`.
There are some classes that could be generally useful in OE-Core but
-are never actually used within OE-Core itself. The ``oelint`` class is
+are never actually used within OE-Core itself. The :ref:`oelint <ref-classes-oelint>` class is
one such example. However, being aware of this class can reduce the
proliferation of different versions of similar classes across multiple
layers.
@@ -1738,7 +1786,7 @@ is supported by ``overlayfs``. This has to be done in your machine configuration
* QA checks fail to catch file existence if you redefine this variable in your recipe!
* Only the existence of the systemd mount unit file is checked, not its contents.
* To get more details on ``overlayfs``, its internals and supported operations, please refer
- to the official documentation of the `Linux kernel <https://www.kernel.org/doc/html/latest/filesystems/overlayfs.html>`_.
+ to the official documentation of the `Linux kernel <https://www.kernel.org/doc/html/latest/filesystems/overlayfs.html>`__.
The class assumes you have a ``data.mount`` systemd unit defined elsewhere in your BSP
(e.g. in ``systemd-machine-units`` recipe) and it's installed into the image.
@@ -1828,7 +1876,7 @@ The class provides two options for ``/sbin/init`` generation:
``own-mirrors.bbclass``
=======================
-The ``own-mirrors`` class makes it easier to set up your own
+The :ref:`own-mirrors <ref-classes-own-mirrors>` class makes it easier to set up your own
:term:`PREMIRRORS` from which to first fetch source
before attempting to fetch it from the upstream specified in
:term:`SRC_URI` within each recipe.
@@ -1847,7 +1895,7 @@ in :term:`SOURCE_MIRROR_URL`.
``package.bbclass``
===================
-The ``package`` class supports generating packages from a build's
+The :ref:`package <ref-classes-package>` class supports generating packages from a build's
output. The core generic functionality is in ``package.bbclass``. The
code specific to particular package types resides in these
package-specific classes:
@@ -1858,18 +1906,16 @@ package-specific classes:
.. note::
- The
- package_tar
- class is broken and not supported. It is recommended that you do not
- use this class.
+ The :ref:`package_tar <ref-classes-package_tar>` class is broken and
+ not supported. It is recommended that you do not use this class.
You can control the list of resulting package formats by using the
:term:`PACKAGE_CLASSES` variable defined in your ``conf/local.conf``
configuration file, which is located in the :term:`Build Directory`.
-When defining the variable, you can
-specify one or more package types. Since images are generated from
-packages, a packaging class is needed to enable image generation. The
-first class listed in this variable is used for image generation.
+When defining the variable, you can specify one or more package types.
+Since images are generated from packages, a packaging class is needed
+to enable image generation. The first class listed in this variable is
+used for image generation.
If you take the optional step to set up a repository (package feed) on
the development host that can be used by DNF, you can install packages
@@ -1886,7 +1932,7 @@ complete build of the package with all dependencies previously built.
The reason for this discrepancy is because the RPM package manager
creates and processes more :term:`Metadata` than the IPK package
manager. Consequently, you might consider setting :term:`PACKAGE_CLASSES` to
-"package_ipk" if you are building smaller systems.
+":ref:`package_ipk <ref-classes-package_ipk>`" if you are building smaller systems.
Before making your package manager decision, however, you should
consider some further things about using RPM:
@@ -1914,7 +1960,7 @@ at these two Yocto Project mailing list links:
``package_deb.bbclass``
=======================
-The ``package_deb`` class provides support for creating packages that
+The :ref:`package_deb <ref-classes-package_deb>` class provides support for creating packages that
use the Debian (i.e. ``.deb``) file format. The class ensures the
packages are written out in a ``.deb`` file format to the
``${``\ :term:`DEPLOY_DIR_DEB`\ ``}`` directory.
@@ -1928,7 +1974,7 @@ variable in the ``local.conf`` file.
``package_ipk.bbclass``
=======================
-The ``package_ipk`` class provides support for creating packages that
+The :ref:`package_ipk <ref-classes-package_ipk>` class provides support for creating packages that
use the IPK (i.e. ``.ipk``) file format. The class ensures the packages
are written out in a ``.ipk`` file format to the
``${``\ :term:`DEPLOY_DIR_IPK`\ ``}`` directory.
@@ -1942,7 +1988,7 @@ variable in the ``local.conf`` file.
``package_rpm.bbclass``
=======================
-The ``package_rpm`` class provides support for creating packages that
+The :ref:`package_rpm <ref-classes-package_rpm>` class provides support for creating packages that
use the RPM (i.e. ``.rpm``) file format. The class ensures the packages
are written out in a ``.rpm`` file format to the
``${``\ :term:`DEPLOY_DIR_RPM`\ ``}`` directory.
@@ -1956,7 +2002,7 @@ variable in the ``local.conf`` file.
``package_tar.bbclass``
=======================
-The ``package_tar`` class provides support for creating tarballs. The
+The :ref:`package_tar <ref-classes-package_tar>` class provides support for creating tarballs. The
class ensures the packages are written out in a tarball format to the
``${``\ :term:`DEPLOY_DIR_TAR`\ ``}`` directory.
@@ -1966,7 +2012,7 @@ variable in the ``local.conf`` file.
.. note::
- You cannot specify the ``package_tar`` class first using the
+ You cannot specify the :ref:`package_tar <ref-classes-package_tar>` class first using the
:term:`PACKAGE_CLASSES` variable. You must use ``.deb``, ``.ipk``, or ``.rpm``
file formats for your image or SDK.
@@ -1975,7 +2021,7 @@ variable in the ``local.conf`` file.
``packagedata.bbclass``
=======================
-The ``packagedata`` class provides common functionality for reading
+The :ref:`packagedata <ref-classes-packagedata>` class provides common functionality for reading
``pkgdata`` files found in :term:`PKGDATA_DIR`. These
files contain information about each output package produced by the
OpenEmbedded build system.
@@ -1988,7 +2034,7 @@ This class is enabled by default because it is inherited by the
``packagegroup.bbclass``
========================
-The ``packagegroup`` class sets default values appropriate for package
+The :ref:`packagegroup <ref-classes-packagegroup>` class sets default values appropriate for package
group recipes (e.g. :term:`PACKAGES`, :term:`PACKAGE_ARCH`, :term:`ALLOW_EMPTY`, and
so forth). It is highly recommended that all package group recipes
inherit this class.
@@ -2004,7 +2050,7 @@ Previously, this class was called the ``task`` class.
``patch.bbclass``
=================
-The ``patch`` class provides all functionality for applying patches
+The :ref:`patch <ref-classes-patch>` class provides all functionality for applying patches
during the :ref:`ref-tasks-patch` task.
This class is enabled by default because it is inherited by the
@@ -2015,7 +2061,7 @@ This class is enabled by default because it is inherited by the
``perlnative.bbclass``
======================
-When inherited by a recipe, the ``perlnative`` class supports using the
+When inherited by a recipe, the :ref:`perlnative <ref-classes-perlnative>` class supports using the
native version of Perl built by the build system rather than using the
version provided by the build host.
@@ -2024,14 +2070,14 @@ version provided by the build host.
``pypi.bbclass``
================
-The ``pypi`` class sets variables appropriately for recipes that build
+The :ref:`pypi <ref-classes-pypi>` class sets variables appropriately for recipes that build
Python modules from `PyPI <https://pypi.org/>`__, the Python Package Index.
By default it determines the PyPI package name based upon :term:`BPN`
(stripping the "python-" or "python3-" prefix off if present), however in
some cases you may need to set it manually in the recipe by setting
:term:`PYPI_PACKAGE`.
-Variables set by the ``pypi`` class include :term:`SRC_URI`, :term:`SECTION`,
+Variables set by the :ref:`pypi <ref-classes-pypi>` class include :term:`SRC_URI`, :term:`SECTION`,
:term:`HOMEPAGE`, :term:`UPSTREAM_CHECK_URI`, :term:`UPSTREAM_CHECK_REGEX`
and :term:`CVE_PRODUCT`.
@@ -2040,7 +2086,7 @@ and :term:`CVE_PRODUCT`.
``python_flit_core.bbclass``
============================
-The ``python_flit_core`` class enables building Python modules which declare
+The :ref:`python_flit_core <ref-classes-python_flit_core>` class enables building Python modules which declare
the `PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant
``flit_core.buildapi`` ``build-backend`` in the ``[build-system]``
section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__).
@@ -2055,7 +2101,7 @@ Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class.
``python_pep517.bbclass``
=========================
-The ``python_pep517`` class builds and installs a Python ``wheel`` binary
+The :ref:`python_pep517 <ref-classes-python_pep517>` class builds and installs a Python ``wheel`` binary
archive (see `PEP-517 <https://peps.python.org/pep-0517/>`__).
Recipes wouldn't inherit this directly, instead typically another class will
@@ -2071,7 +2117,7 @@ Examples of classes which do this are :ref:`python_flit_core
``python_poetry_core.bbclass``
==============================
-The ``python_poetry_core`` class enables building Python modules which use the
+The :ref:`python_poetry_core <ref-classes-python_poetry_core>` class enables building Python modules which use the
`Poetry Core <https://python-poetry.org>`__ build system.
Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class.
@@ -2081,7 +2127,7 @@ Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class.
``pixbufcache.bbclass``
=======================
-The ``pixbufcache`` class generates the proper post-install and
+The :ref:`pixbufcache <ref-classes-pixbufcache>` class generates the proper post-install and
post-remove (postinst/postrm) scriptlets for packages that install
pixbuf loaders, which are used with ``gdk-pixbuf``. These scriptlets
call ``update_pixbuf_cache`` to add the pixbuf loaders to the cache.
@@ -2099,13 +2145,13 @@ containing the loaders.
``pkgconfig.bbclass``
=====================
-The ``pkgconfig`` class provides a standard way to get header and
+The :ref:`pkgconfig <ref-classes-pkgconfig>` class provides a standard way to get header and
library information by using ``pkg-config``. This class aims to smooth
integration of ``pkg-config`` into libraries that use it.
During staging, BitBake installs ``pkg-config`` data into the
``sysroots/`` directory. By making use of sysroot functionality within
-``pkg-config``, the ``pkgconfig`` class no longer has to manipulate the
+``pkg-config``, the :ref:`pkgconfig <ref-classes-pkgconfig>` class no longer has to manipulate the
files.
.. _ref-classes-populate-sdk:
@@ -2113,7 +2159,7 @@ files.
``populate_sdk.bbclass``
========================
-The ``populate_sdk`` class provides support for SDK-only recipes. For
+The :ref:`populate_sdk <ref-classes-populate-sdk>` class provides support for SDK-only recipes. For
information on advantages gained when building a cross-development
toolchain using the :ref:`ref-tasks-populate_sdk`
task, see the ":ref:`sdk-manual/appendix-obtain:building an sdk installer`"
@@ -2125,31 +2171,31 @@ Software Development Kit (eSDK) manual.
``populate_sdk_*.bbclass``
==========================
-The ``populate_sdk_*`` classes support SDK creation and consist of the
+The :ref:`populate_sdk_* <ref-classes-populate-sdk-*>` classes support SDK creation and consist of the
following classes:
-- ``populate_sdk_base``: The base class supporting SDK creation under
+- :ref:`populate_sdk_base <ref-classes-populate-sdk-*>`: The base class supporting SDK creation under
all package managers (i.e. DEB, RPM, and opkg).
-- ``populate_sdk_deb``: Supports creation of the SDK given the Debian
+- :ref:`populate_sdk_deb <ref-classes-populate-sdk-*>`: Supports creation of the SDK given the Debian
package manager.
-- ``populate_sdk_rpm``: Supports creation of the SDK given the RPM
+- :ref:`populate_sdk_rpm <ref-classes-populate-sdk-*>`: Supports creation of the SDK given the RPM
package manager.
-- ``populate_sdk_ipk``: Supports creation of the SDK given the opkg
+- :ref:`populate_sdk_ipk <ref-classes-populate-sdk-*>`: Supports creation of the SDK given the opkg
(IPK format) package manager.
-- ``populate_sdk_ext``: Supports extensible SDK creation under all
+- :ref:`populate_sdk_ext <ref-classes-populate-sdk-*>`: Supports extensible SDK creation under all
package managers.
-The ``populate_sdk_base`` class inherits the appropriate
+The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class inherits the appropriate
``populate_sdk_*`` (i.e. ``deb``, ``rpm``, and ``ipk``) based on
:term:`IMAGE_PKGTYPE`.
The base class ensures all source and destination directories are
established and then populates the SDK. After populating the SDK, the
-``populate_sdk_base`` class constructs two sysroots:
+:ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class constructs two sysroots:
``${``\ :term:`SDK_ARCH`\ ``}-nativesdk``, which
contains the cross-compiler and associated tooling, and the target,
which contains a target root filesystem that is configured for the SDK
@@ -2162,9 +2208,9 @@ which consists of the following::
Finally, the base populate SDK class creates the toolchain environment
setup script, the tarball of the SDK, and the installer.
-The respective ``populate_sdk_deb``, ``populate_sdk_rpm``, and
-``populate_sdk_ipk`` classes each support the specific type of SDK.
-These classes are inherited by and used with the ``populate_sdk_base``
+The respective :ref:`populate_sdk_deb <ref-classes-populate-sdk-*>`, :ref:`populate_sdk_rpm <ref-classes-populate-sdk-*>`, and
+:ref:`populate_sdk_ipk <ref-classes-populate-sdk-*>` classes each support the specific type of SDK.
+These classes are inherited by and used with the :ref:`populate_sdk_base <ref-classes-populate-sdk-*>`
class.
For more information on the cross-development toolchain generation, see
@@ -2182,7 +2228,7 @@ Software Development Kit (eSDK) manual.
``prexport.bbclass``
====================
-The ``prexport`` class provides functionality for exporting
+The :ref:`prexport <ref-classes-prexport>` class provides functionality for exporting
:term:`PR` values.
.. note::
@@ -2195,7 +2241,7 @@ The ``prexport`` class provides functionality for exporting
``primport.bbclass``
====================
-The ``primport`` class provides functionality for importing
+The :ref:`primport <ref-classes-primport>` class provides functionality for importing
:term:`PR` values.
.. note::
@@ -2208,7 +2254,7 @@ The ``primport`` class provides functionality for importing
``prserv.bbclass``
==================
-The ``prserv`` class provides functionality for using a :ref:`PR
+The :ref:`prserv <ref-classes-prserv>` class provides functionality for using a :ref:`PR
service <dev-manual/common-tasks:working with a pr service>` in order to
automatically manage the incrementing of the :term:`PR`
variable for each recipe.
@@ -2223,7 +2269,7 @@ build system will not enable the functionality of this class unless
``ptest.bbclass``
=================
-The ``ptest`` class provides functionality for packaging and installing
+The :ref:`ptest <ref-classes-ptest>` class provides functionality for packaging and installing
runtime tests for recipes that build software that provides these tests.
This class is intended to be inherited by individual recipes. However,
@@ -2250,7 +2296,7 @@ section in the Yocto Project Development Tasks Manual.
``python3-dir.bbclass``
=======================
-The ``python3-dir`` class provides the base version, location, and site
+The :ref:`python3-dir <ref-classes-python3-dir>` class provides the base version, location, and site
package location for Python 3.
.. _ref-classes-python3native:
@@ -2258,7 +2304,7 @@ package location for Python 3.
``python3native.bbclass``
=========================
-The ``python3native`` class supports using the native version of Python
+The :ref:`python3native <ref-classes-python3native>` class supports using the native version of Python
3 built by the build system rather than support of the version provided
by the build host.
@@ -2267,7 +2313,7 @@ by the build host.
``python3targetconfig.bbclass``
===============================
-The ``python3targetconfig`` class supports using the native version of Python
+The :ref:`python3targetconfig <ref-classes-python3targetconfig>` class supports using the native version of Python
3 built by the build system rather than support of the version provided
by the build host, except that the configuration for the target machine
is accessible (such as correct installation directories). This also adds a
@@ -2279,7 +2325,7 @@ in order to avoid unnecessarily lengthening builds.
``qemu.bbclass``
================
-The ``qemu`` class provides functionality for recipes that either need
+The :ref:`qemu <ref-classes-qemu>` class provides functionality for recipes that either need
QEMU or test for the existence of QEMU. Typically, this class is used to
run programs for a target system on the build host using QEMU's
application emulation mode.
@@ -2289,7 +2335,7 @@ application emulation mode.
``recipe_sanity.bbclass``
=========================
-The ``recipe_sanity`` class checks for the presence of any host system
+The :ref:`recipe_sanity <ref-classes-recipe_sanity>` class checks for the presence of any host system
recipe prerequisites that might affect the build (e.g. variables that
are set or software that is present).
@@ -2298,7 +2344,7 @@ are set or software that is present).
``relocatable.bbclass``
=======================
-The ``relocatable`` class enables relocation of binaries when they are
+The :ref:`relocatable <ref-classes-relocatable>` class enables relocation of binaries when they are
installed into the sysroot.
This class makes use of the :ref:`chrpath <ref-classes-chrpath>` class
@@ -2310,7 +2356,7 @@ and is used by both the :ref:`cross <ref-classes-cross>` and
``remove-libtool.bbclass``
==========================
-The ``remove-libtool`` class adds a post function to the
+The :ref:`remove-libtool <ref-classes-remove-libtool>` class adds a post function to the
:ref:`ref-tasks-install` task to remove all ``.la`` files
installed by ``libtool``. Removing these files results in them being
absent from both the sysroot and target packages.
@@ -2322,14 +2368,14 @@ override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows::
.. note::
- The ``remove-libtool`` class is not enabled by default.
+ The :ref:`remove-libtool <ref-classes-remove-libtool>` class is not enabled by default.
.. _ref-classes-report-error:
``report-error.bbclass``
========================
-The ``report-error`` class supports enabling the :ref:`error reporting
+The :ref:`report-error <ref-classes-report-error>` class supports enabling the :ref:`error reporting
tool <dev-manual/common-tasks:using the error reporting tool>`",
which allows you to submit build error information to a central database.
@@ -2344,7 +2390,7 @@ are created and stored in
``rm_work.bbclass``
===================
-The ``rm_work`` class supports deletion of temporary workspace, which
+The :ref:`rm_work <ref-classes-rm-work>` class supports deletion of temporary workspace, which
can ease your hard drive demands during builds.
The OpenEmbedded build system can use a substantial amount of disk space
@@ -2354,17 +2400,16 @@ system generates the packages for a recipe, the work files for that
recipe are no longer needed. However, by default, the build system
preserves these files for inspection and possible debugging purposes. If
you would rather have these files deleted to save disk space as the
-build progresses, you can enable ``rm_work`` by adding the following to
-your ``local.conf`` file, which is found in the :term:`Build Directory`.
-::
+build progresses, you can enable :ref:`rm_work <ref-classes-rm-work>` by adding the following to
+your ``local.conf`` file, which is found in the :term:`Build Directory`::
INHERIT += "rm_work"
If you are
modifying and building source code out of the work directory for a
-recipe, enabling ``rm_work`` will potentially result in your changes to
+recipe, enabling :ref:`rm_work <ref-classes-rm-work>` will potentially result in your changes to
the source being lost. To exclude some recipes from having their work
-directories deleted by ``rm_work``, you can add the names of the recipe
+directories deleted by :ref:`rm_work <ref-classes-rm-work>`, you can add the names of the recipe
or recipes you are working on to the :term:`RM_WORK_EXCLUDE` variable, which
can also be set in your ``local.conf`` file. Here is an example::
@@ -2375,26 +2420,26 @@ can also be set in your ``local.conf`` file. Here is an example::
``rootfs*.bbclass``
===================
-The ``rootfs*`` classes support creating the root filesystem for an
+The :ref:`rootfs* <ref-classes-rootfs*>` classes support creating the root filesystem for an
image and consist of the following classes:
-- The ``rootfs-postcommands`` class, which defines filesystem
+- The :ref:`rootfs-postcommands <ref-classes-rootfs*>` class, which defines filesystem
post-processing functions for image recipes.
-- The ``rootfs_deb`` class, which supports creation of root filesystems
+- The :ref:`rootfs_deb <ref-classes-rootfs*>` class, which supports creation of root filesystems
for images built using ``.deb`` packages.
-- The ``rootfs_rpm`` class, which supports creation of root filesystems
+- The :ref:`rootfs_rpm <ref-classes-rootfs*>` class, which supports creation of root filesystems
for images built using ``.rpm`` packages.
-- The ``rootfs_ipk`` class, which supports creation of root filesystems
+- The :ref:`rootfs_ipk <ref-classes-rootfs*>` class, which supports creation of root filesystems
for images built using ``.ipk`` packages.
-- The ``rootfsdebugfiles`` class, which installs additional files found
+- The :ref:`rootfsdebugfiles <ref-classes-rootfs*>` class, which installs additional files found
on the build host directly into the root filesystem.
The root filesystem is created from packages using one of the
-``rootfs*.bbclass`` files as determined by the
+:ref:`rootfs*.bbclass <ref-classes-rootfs*>` files as determined by the
:term:`PACKAGE_CLASSES` variable.
For information on how root filesystem images are created, see the
@@ -2406,7 +2451,7 @@ section in the Yocto Project Overview and Concepts Manual.
``sanity.bbclass``
==================
-The ``sanity`` class checks to see if prerequisite software is present
+The :ref:`sanity <ref-classes-sanity>` class checks to see if prerequisite software is present
on the host system so that users can be notified of potential problems
that might affect their build. The class also performs basic user
configuration checks from the ``local.conf`` configuration file to
@@ -2418,7 +2463,7 @@ usually determines whether to include this class.
``scons.bbclass``
=================
-The ``scons`` class supports recipes that need to build software that
+The :ref:`scons <ref-classes-scons>` class supports recipes that need to build software that
uses the SCons build system. You can use the
:term:`EXTRA_OESCONS` variable to specify
additional configuration options you want to pass SCons command line.
@@ -2428,7 +2473,7 @@ additional configuration options you want to pass SCons command line.
``sdl.bbclass``
===============
-The ``sdl`` class supports recipes that need to build software that uses
+The :ref:`sdl <ref-classes-sdl>` class supports recipes that need to build software that uses
the Simple DirectMedia Layer (SDL) library.
.. _ref-classes-python_setuptools_build_meta:
@@ -2436,7 +2481,7 @@ the Simple DirectMedia Layer (SDL) library.
``python_setuptools_build_meta.bbclass``
========================================
-The ``python_setuptools_build_meta`` class enables building Python modules which
+The :ref:`python_setuptools_build_meta <ref-classes-python_setuptools_build_meta>` class enables building Python modules which
declare the
`PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant
``setuptools.build_meta`` ``build-backend`` in the ``[build-system]``
@@ -2452,14 +2497,14 @@ Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class.
``setuptools3.bbclass``
=======================
-The ``setuptools3`` class supports Python version 3.x extensions that
+The :ref:`setuptools3 <ref-classes-setuptools3>` class supports Python version 3.x extensions that
use build systems based on ``setuptools`` (e.g. only have a ``setup.py`` and
have not migrated to the official ``pyproject.toml`` format). If your recipe
-uses these build systems, the recipe needs to inherit the ``setuptools3`` class.
+uses these build systems, the recipe needs to inherit the :ref:`setuptools3 <ref-classes-setuptools3>` class.
.. note::
- The ``setuptools3`` class :ref:`ref-tasks-compile` task now calls
+ The :ref:`setuptools3 <ref-classes-setuptools3>` class :ref:`ref-tasks-compile` task now calls
``setup.py bdist_wheel`` to build the ``wheel`` binary archive format
(See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__).
@@ -2470,7 +2515,7 @@ uses these build systems, the recipe needs to inherit the ``setuptools3`` class.
.. note::
- The ``setuptools3`` class :ref:`ref-tasks-install` task now installs the ``wheel``
+ The :ref:`setuptools3 <ref-classes-setuptools3>` class :ref:`ref-tasks-install` task now installs the ``wheel``
binary archive. In current versions of ``setuptools`` the legacy ``setup.py
install`` method is deprecated. If the ``setup.py`` cannot be used with
wheels, for example it creates files outside of the Python module or
@@ -2482,12 +2527,12 @@ uses these build systems, the recipe needs to inherit the ``setuptools3`` class.
``setuptools3_legacy.bbclass``
==============================
-The ``setuptools3_legacy`` class supports Python version 3.x extensions that use
+The :ref:`setuptools3_legacy <ref-classes-setuptools3_legacy>` class supports Python version 3.x extensions that use
build systems based on ``setuptools`` (e.g. only have a ``setup.py`` and have
not migrated to the official ``pyproject.toml`` format). Unlike
``setuptools3.bbclass``, this uses the traditional ``setup.py`` ``build`` and
``install`` commands and not wheels. This use of ``setuptools`` like this is
-`deprecated <https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5830>`_
+`deprecated <https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5830>`__
but still relatively common.
.. _ref-classes-setuptools3-base:
@@ -2495,7 +2540,7 @@ but still relatively common.
``setuptools3-base.bbclass``
============================
-The ``setuptools3-base`` class provides a reusable base for other classes
+The :ref:`setuptools3-base <ref-classes-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
@@ -2506,14 +2551,14 @@ in the :ref:`setuptools3 <ref-classes-setuptools3>` class and inherit this class
``sign_rpm.bbclass``
====================
-The ``sign_rpm`` class supports generating signed RPM packages.
+The :ref:`sign_rpm <ref-classes-sign_rpm>` class supports generating signed RPM packages.
.. _ref-classes-sip:
``sip.bbclass``
===============
-The ``sip`` class supports recipes that build or package SIP-based
+The :ref:`sip <ref-classes-sip>` class supports recipes that build or package SIP-based
Python bindings.
.. _ref-classes-siteconfig:
@@ -2521,7 +2566,7 @@ Python bindings.
``siteconfig.bbclass``
======================
-The ``siteconfig`` class provides functionality for handling site
+The :ref:`siteconfig <ref-classes-siteconfig>` class provides functionality for handling site
configuration. The class is used by the
:ref:`autotools <ref-classes-autotools>` class to accelerate the
:ref:`ref-tasks-configure` task.
@@ -2531,7 +2576,7 @@ configuration. The class is used by the
``siteinfo.bbclass``
====================
-The ``siteinfo`` class provides information about the targets that might
+The :ref:`siteinfo <ref-classes-siteinfo>` class provides information about the targets that might
be needed by other classes or recipes.
As an example, consider Autotools, which can require tests that must
@@ -2552,7 +2597,7 @@ The class also provides variables like :term:`SITEINFO_ENDIANNESS` and
``sstate.bbclass``
==================
-The ``sstate`` class provides support for Shared State (sstate). By
+The :ref:`sstate <ref-classes-sstate>` class provides support for Shared State (sstate). By
default, the class is enabled through the
:term:`INHERIT_DISTRO` variable's default value.
@@ -2565,7 +2610,7 @@ section in the Yocto Project Overview and Concepts Manual.
``staging.bbclass``
===================
-The ``staging`` class installs files into individual recipe work
+The :ref:`staging <ref-classes-staging>` class installs files into individual recipe work
directories for sysroots. The class contains the following key tasks:
- The :ref:`ref-tasks-populate_sysroot` task,
@@ -2578,7 +2623,7 @@ directories for sysroots. The class contains the following key tasks:
installs the files into the individual recipe work directories (i.e.
:term:`WORKDIR`).
-The code in the ``staging`` class is complex and basically works in two
+The code in the :ref:`staging <ref-classes-staging>` class is complex and basically works in two
stages:
- *Stage One:* The first stage addresses recipes that have files they
@@ -2665,7 +2710,7 @@ stages:
``syslinux.bbclass``
====================
-The ``syslinux`` class provides syslinux-specific functions for building
+The :ref:`syslinux <ref-classes-syslinux>` class provides syslinux-specific functions for building
bootable images.
The class supports the following variables:
@@ -2708,7 +2753,7 @@ The class supports the following variables:
``systemd.bbclass``
===================
-The ``systemd`` class provides support for recipes that install systemd
+The :ref:`systemd <ref-classes-systemd>` class provides support for recipes that install systemd
unit files.
The functionality for this class is disabled unless you have "systemd"
@@ -2734,7 +2779,7 @@ Services are set up to start on boot automatically
unless you have set
:term:`SYSTEMD_AUTO_ENABLE` to "disable".
-For more information on ``systemd``, see the
+For more information on :ref:`systemd <ref-classes-systemd>`, see the
":ref:`dev-manual/common-tasks:selecting an initialization manager`"
section in the Yocto Project Development Tasks Manual.
@@ -2743,17 +2788,17 @@ section in the Yocto Project Development Tasks Manual.
``systemd-boot.bbclass``
========================
-The ``systemd-boot`` class provides functions specific to the
+The :ref:`systemd-boot <ref-classes-systemd-boot>` class provides functions specific to the
systemd-boot bootloader for building bootable images. This is an
internal class and is not intended to be used directly.
.. note::
- The ``systemd-boot`` class is a result from merging the ``gummiboot`` class
+ The :ref:`systemd-boot <ref-classes-systemd-boot>` class is a result from merging the ``gummiboot`` class
used in previous Yocto Project releases with the ``systemd`` project.
Set the :term:`EFI_PROVIDER` variable to
-"systemd-boot" to use this class. Doing so creates a standalone EFI
+":ref:`systemd-boot <ref-classes-systemd-boot>`" to use this class. Doing so creates a standalone EFI
bootloader that is not dependent on systemd.
For information on more variables used and supported in this class, see
@@ -2770,16 +2815,16 @@ for more information.
``terminal.bbclass``
====================
-The ``terminal`` class provides support for starting a terminal session.
+The :ref:`terminal <ref-classes-terminal>` class provides support for starting a terminal session.
The :term:`OE_TERMINAL` variable controls which
terminal emulator is used for the session.
-Other classes use the ``terminal`` class anywhere a separate terminal
+Other classes use the :ref:`terminal <ref-classes-terminal>` class anywhere a separate terminal
session needs to be started. For example, the
:ref:`patch <ref-classes-patch>` class assuming
:term:`PATCHRESOLVE` is set to "user", the
:ref:`cml1 <ref-classes-cml1>` class, and the
-:ref:`devshell <ref-classes-devshell>` class all use the ``terminal``
+:ref:`devshell <ref-classes-devshell>` class all use the :ref:`terminal <ref-classes-terminal>`
class.
.. _ref-classes-testimage:
@@ -2787,7 +2832,7 @@ class.
``testimage.bbclass``
=====================
-The ``testimage`` class supports running automated tests against
+The :ref:`testimage <ref-classes-testimage>` class supports running automated tests against
images using QEMU and on actual hardware. The classes handle loading the
tests and starting the image. To use the classes, you need to perform
steps to set up the environment.
@@ -2799,7 +2844,7 @@ To enable this class, add the following to your configuration::
The tests are commands that run on the target system over ``ssh``. Each
test is written in Python and makes use of the ``unittest`` module.
-The ``testimage`` class runs tests on an image when called using the
+The :ref:`testimage <ref-classes-testimage>` class runs tests on an image when called using the
following::
$ bitbake -c testimage image
@@ -2819,7 +2864,7 @@ section in the Yocto Project Development Tasks Manual.
===================
This class supports running automated tests against software development
-kits (SDKs). The ``testsdk`` class runs tests on an SDK when called
+kits (SDKs). The :ref:`testsdk <ref-classes-testsdk>` class runs tests on an SDK when called
using the following::
$ bitbake -c testsdk image
@@ -2827,7 +2872,7 @@ using the following::
.. note::
Best practices include using :term:`IMAGE_CLASSES` rather than
- :term:`INHERIT` to inherit the ``testsdk`` class for automated SDK
+ :term:`INHERIT` to inherit the :ref:`testsdk <ref-classes-testsdk>` class for automated SDK
testing.
.. _ref-classes-texinfo:
@@ -2853,7 +2898,7 @@ host system.
``toaster.bbclass``
===================
-The ``toaster`` class collects information about packages and images and
+The :ref:`toaster <ref-classes-toaster>` class collects information about packages and images and
sends them as events that the BitBake user interface can receive. The
class is enabled when the Toaster user interface is running.
@@ -2864,7 +2909,7 @@ This class is not intended to be used directly.
``toolchain-scripts.bbclass``
=============================
-The ``toolchain-scripts`` class provides the scripts used for setting up
+The :ref:`toolchain-scripts <ref-classes-toolchain-scripts>` class provides the scripts used for setting up
the environment for installed SDKs.
.. _ref-classes-typecheck:
@@ -2872,7 +2917,7 @@ the environment for installed SDKs.
``typecheck.bbclass``
=====================
-The ``typecheck`` class provides support for validating the values of
+The :ref:`typecheck <ref-classes-typecheck>` class provides support for validating the values of
variables set at the configuration level against their defined types.
The OpenEmbedded build system allows you to define the type of a
variable using the "type" varflag. Here is an example::
@@ -2884,7 +2929,7 @@ variable using the "type" varflag. Here is an example::
``uboot-config.bbclass``
========================
-The ``uboot-config`` class provides support for U-Boot configuration for
+The :ref:`uboot-config <ref-classes-uboot-config>` class provides support for U-Boot configuration for
a machine. Specify the machine in your recipe as follows::
UBOOT_CONFIG ??= <default>
@@ -2915,7 +2960,7 @@ yourself, publish the resulting tarball (e.g. via HTTP) and set
``UNINATIVE_URL`` and ``UNINATIVE_CHECKSUM`` appropriately. For an
example, see the ``meta/conf/distro/include/yocto-uninative.inc``.
-The ``uninative`` class is also used unconditionally by the extensible
+The :ref:`uninative <ref-classes-uninative>` class is also used unconditionally by the extensible
SDK. When building the extensible SDK, ``uninative-tarball`` is built
and the resulting tarball is included within the SDK.
@@ -2924,12 +2969,12 @@ and the resulting tarball is included within the SDK.
``update-alternatives.bbclass``
===============================
-The ``update-alternatives`` class helps the alternatives system when
+The :ref:`update-alternatives <ref-classes-update-alternatives>` class helps the alternatives system when
multiple sources provide the same command. This situation occurs when
several programs that have the same or similar function are installed
with the same name. For example, the ``ar`` command is available from
the ``busybox``, ``binutils`` and ``elfutils`` packages. The
-``update-alternatives`` class handles renaming the binaries so that
+:ref:`update-alternatives <ref-classes-update-alternatives>` class handles renaming the binaries so that
multiple packages can be installed without conflicts. The ``ar`` command
still works regardless of which packages are installed or subsequently
removed. The class renames the conflicting binary in each package and
@@ -2962,7 +3007,7 @@ file.
``update-rc.d.bbclass``
=======================
-The ``update-rc.d`` class uses ``update-rc.d`` to safely install an
+The :ref:`update-rc.d <ref-classes-update-rc.d>` class uses ``update-rc.d`` to safely install an
initialization script on behalf of the package. The OpenEmbedded build
system takes care of details such as making sure the script is stopped
before a package is removed and started when the package is installed.
@@ -2976,7 +3021,7 @@ for details.
``useradd*.bbclass``
====================
-The ``useradd*`` classes support the addition of users or groups for
+The :ref:`useradd* <ref-classes-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
@@ -2985,16 +3030,16 @@ group. The :oe_git:`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.
-The ``useradd_base`` class provides basic functionality for user or
+The :ref:`useradd_base <ref-classes-useradd>` class provides basic functionality for user or
groups settings.
-The ``useradd*`` classes support the
+The :ref:`useradd* <ref-classes-useradd>` classes support the
:term:`USERADD_PACKAGES`,
:term:`USERADD_PARAM`,
:term:`GROUPADD_PARAM`, and
:term:`GROUPMEMS_PARAM` variables.
-The ``useradd-staticids`` class supports the addition of users or groups
+The :ref:`useradd-staticids <ref-classes-useradd>` class supports the addition of users or groups
that have static user identification (``uid``) and group identification
(``gid``) values.
@@ -3020,7 +3065,7 @@ additional information.
.. note::
- You do not use the ``useradd-staticids`` class directly. You either enable
+ You do not use the :ref:`useradd-staticids <ref-classes-useradd>` class directly. You either enable
or disable the class by setting the :term:`USERADDEXTENSION` variable. If you
enable or disable the class in a configured system, :term:`TMPDIR` might
contain incorrect ``uid`` and ``gid`` values. Deleting the :term:`TMPDIR`
@@ -3031,7 +3076,7 @@ additional information.
``utility-tasks.bbclass``
=========================
-The ``utility-tasks`` class provides support for various "utility" type
+The :ref:`utility-tasks <ref-classes-utility-tasks>` class provides support for various "utility" type
tasks that are applicable to all recipes, such as
:ref:`ref-tasks-clean` and
:ref:`ref-tasks-listtasks`.
@@ -3044,7 +3089,7 @@ This class is enabled by default because it is inherited by the
``utils.bbclass``
=================
-The ``utils`` class provides some useful Python functions that are
+The :ref:`utils <ref-classes-utils>` class provides some useful Python functions that are
typically used in inline Python expressions (e.g. ``${@...}``). One
example use is for ``bb.utils.contains()``.
@@ -3056,7 +3101,7 @@ This class is enabled by default because it is inherited by the
``vala.bbclass``
================
-The ``vala`` class supports recipes that need to build software written
+The :ref:`vala <ref-classes-vala>` class supports recipes that need to build software written
using the Vala programming language.
.. _ref-classes-waf:
@@ -3064,7 +3109,7 @@ using the Vala programming language.
``waf.bbclass``
===============
-The ``waf`` class supports recipes that need to build software that uses
+The :ref:`waf <ref-classes-waf>` class supports recipes that need to build software that uses
the Waf build system. You can use the
:term:`EXTRA_OECONF` or
:term:`PACKAGECONFIG_CONFARGS` variables
diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst
index a570c40e7d..d35ab78bff 100644
--- a/poky/documentation/ref-manual/faq.rst
+++ b/poky/documentation/ref-manual/faq.rst
@@ -270,7 +270,7 @@ the build environment setup script (i.e. :ref:`structure-core-script`).
By default, this :term:`Build Directory` is named ``build`` but can be named
anything you want.
-Within the Build Directory, is the ``tmp`` directory. To remove all the
+Within the :term:`Build Directory`, is the ``tmp`` directory. To remove all the
build output yet preserve any source code or downloaded files from
previous builds, simply remove the ``tmp`` directory.
@@ -381,14 +381,13 @@ system of that image. Thus, the build system provides a value of
forth.
Meanwhile, ``DESTDIR`` is a path within the :term:`Build Directory`.
-However, when the recipe builds a
-native program (i.e. one that is intended to run on the build machine),
-that program is never installed directly to the build machine's root
-file system. Consequently, the build system uses paths within the Build
-Directory for ``DESTDIR``, ``bindir`` and related variables. To better
-understand this, consider the following two paths (artificially broken
-across lines for readability) where the first is relatively normal and
-the second is not::
+However, when the recipe builds a native program (i.e. one that is
+intended to run on the build machine), that program is never installed
+directly to the build machine's root file system. Consequently, the build
+system uses paths within the Build Directory for ``DESTDIR``, ``bindir``
+and related variables. To better understand this, consider the following
+two paths (artificially broken across lines for readability) where the
+first is relatively normal and the second is not::
/home/maxtothemax/poky-bootchart2/build/tmp/work/i586-poky-linux/zlib/
1.2.8-r0/sysroot-destdir/usr/bin
diff --git a/poky/documentation/ref-manual/kickstart.rst b/poky/documentation/ref-manual/kickstart.rst
index d82da0ee75..48bba58995 100644
--- a/poky/documentation/ref-manual/kickstart.rst
+++ b/poky/documentation/ref-manual/kickstart.rst
@@ -211,15 +211,10 @@ supports the following options:
.. note::
Bootloader functionality and boot partitions are implemented by the
- various
- --source
- plugins that implement bootloader functionality. The bootloader
+ various source plugins that implement bootloader functionality. The bootloader
command essentially provides a means of modifying bootloader
configuration.
-- ``--timeout``: Specifies the number of seconds before the
- bootloader times out and boots the default option.
-
- ``--append``: Specifies kernel parameters. These parameters will be
added to the syslinux :term:`APPEND` or ``grub`` kernel command line.
@@ -227,3 +222,13 @@ supports the following options:
the bootloader. You can provide a full pathname for the file or a
file located in the ``canned-wks`` folder. This option overrides
all other bootloader options.
+
+- ``--ptable``: Specifies the partition table format. Valid values are:
+
+ - ``msdos``
+
+ - ``gpt``
+
+- ``--timeout``: Specifies the number of seconds before the
+ bootloader times out and boots the default option.
+
diff --git a/poky/documentation/ref-manual/structure.rst b/poky/documentation/ref-manual/structure.rst
index fe27d17caa..8b08f88969 100644
--- a/poky/documentation/ref-manual/structure.rst
+++ b/poky/documentation/ref-manual/structure.rst
@@ -57,9 +57,8 @@ For more information on BitBake, see the :doc:`BitBake User Manual
This directory contains user configuration files and the output
generated by the OpenEmbedded build system in its standard configuration
where the source tree is combined with the output. The :term:`Build Directory`
-is created initially when you ``source``
-the OpenEmbedded build environment setup script (i.e.
-:ref:`structure-core-script`).
+is created initially when you ``source`` the OpenEmbedded build environment
+setup script (i.e. :ref:`structure-core-script`).
It is also possible to place output and configuration files in a
directory separate from the :term:`Source Directory` by
@@ -153,10 +152,10 @@ BitBake commands. The script uses other scripts within the ``scripts``
directory to do the bulk of the work.
When you run this script, your Yocto Project environment is set up, a
-:term:`Build Directory` is created, your working
-directory becomes the Build Directory, and you are presented with some
-simple suggestions as to what to do next, including a list of some
-possible targets to build. Here is an example::
+:term:`Build Directory` is created, your working directory becomes the
+:term:`Build Directory`, and you are presented with some simple
+suggestions as to what to do next, including a list of some possible
+targets to build. Here is an example::
$ source oe-init-build-env
@@ -182,12 +181,13 @@ See the
section in the Yocto Project Development Tasks Manual for more
information.
-By default, running this script without a Build Directory argument
+By default, running this script without a :term:`Build Directory` argument
creates the ``build/`` directory in your current working directory. If
-you provide a Build Directory argument when you ``source`` the script,
-you direct the OpenEmbedded build system to create a Build Directory of
-your choice. For example, the following command creates a Build
-Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`::
+you provide a :term:`Build Directory` argument when you ``source`` the script,
+you direct the OpenEmbedded build system to create a :term:`Build Directory` of
+your choice. For example, the following command creates a
+:term:`Build Directory` named ``mybuilds/`` that is outside of the
+:term:`Source Directory`::
$ source oe-init-build-env ~/mybuilds
@@ -219,11 +219,10 @@ These files are standard top-level files.
The Build Directory --- ``build/``
==================================
-The OpenEmbedded build system creates the :term:`Build Directory`
-when you run the build environment setup
-script :ref:`structure-core-script`. If you do not give the Build
-Directory a specific name when you run the setup script, the name
-defaults to ``build/``.
+The OpenEmbedded build system creates the :term:`Build Directory` when you run
+the build environment setup script :ref:`structure-core-script`. If you do not
+give the :term:`Build Directory` a specific name when you run the setup script,
+the name defaults to ``build/``.
For subsequent parsing and processing, the name of the Build directory
is available via the :term:`TOPDIR` variable.
diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst
index acc97c9d08..1502633816 100644
--- a/poky/documentation/ref-manual/system-requirements.rst
+++ b/poky/documentation/ref-manual/system-requirements.rst
@@ -74,12 +74,12 @@ distributions:
the supported platforms listed below.
- You may use Windows Subsystem For Linux v2 to set up a build host
- using Windows 10, but validation is not performed against build
- hosts using WSLv2.
+ using Windows 10 or later, or Windows Server 2019 or later, but validation
+ is not performed against build hosts using WSL 2.
- - The Yocto Project is not compatible with WSLv1, it is
- compatible but not officially supported nor validated with
- WSLv2, if you still decide to use WSL please upgrade to WSLv2.
+ See the
+ :ref:`dev-manual/start:setting up to use windows subsystem for linux (wsl 2)`
+ section in the Yocto Project Development Tasks Manual for more information.
- If you encounter problems, please go to :yocto_bugs:`Yocto Project
Bugzilla <>` and submit a bug. We are
@@ -220,8 +220,13 @@ resolve this by installing a ``buildtools-extended`` tarball that
contains additional tools, the equivalent of the Debian/Ubuntu ``build-essential``
package.
+For systems with a broken make version (e.g. make 4.2.1 without patches) but
+where the rest of the host tools are usable, you can use the ``buildtools-make``
+tarball instead.
+
In the sections that follow, three different methods will be described for
-installing the ``buildtools`` or ``buildtools-extended`` toolset.
+installing the ``buildtools``, ``buildtools-extended`` or ``buildtools-make``
+toolset.
Installing a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script
--------------------------------------------------------------------------------
@@ -256,6 +261,13 @@ installer and automatically installs the tools for you:
$ cd poky
$ scripts/install-buildtools
+ Alternatively if your host development system has a broken ``make``
+ version such that you only need a known good version of ``make``,
+ you can use the ``--make-only`` option:
+
+ $ cd poky
+ $ scripts/install-buildtools --make-only
+
2. Source the tools environment setup script by using a command like the
following::
@@ -290,6 +302,10 @@ steps:
$ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
+ An example for the make-only installer::
+
+ $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
+
During execution, a prompt appears that allows you to choose the
installation directory. For example, you could choose the following:
``/home/your-username/buildtools``
@@ -335,6 +351,10 @@ installer:
$ bitbake buildtools-extended-tarball
+ or to build the make-only tarball::
+
+ $ bitbake buildtools-make-tarball
+
.. note::
The :term:`SDKMACHINE` variable in your ``local.conf`` file determines
@@ -358,6 +378,10 @@ installer:
$ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
+ or for the make-only installer::
+
+ $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
+
During execution, a prompt appears that allows you to choose the
installation directory. For example, you could choose the following:
``/home/your_username/buildtools``
diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst
index 1e3f718a8f..40209528ba 100644
--- a/poky/documentation/ref-manual/terms.rst
+++ b/poky/documentation/ref-manual/terms.rst
@@ -64,31 +64,31 @@ universal, the list includes them just in case:
builds. The area is created when you ``source`` the setup environment
script that is found in the Source Directory
(i.e. :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``). The
- :term:`TOPDIR` variable points to the Build Directory.
+ :term:`TOPDIR` variable points to the :term:`Build Directory`.
- You have a lot of flexibility when creating the Build Directory.
+ You have a lot of flexibility when creating the :term:`Build Directory`.
Following are some examples that show how to create the directory. The
examples assume your :term:`Source Directory` is named ``poky``:
- - Create the Build Directory inside your Source Directory and let
- the name of the Build Directory default to ``build``:
+ - Create the :term:`Build Directory` inside your Source Directory and let
+ the name of the :term:`Build Directory` default to ``build``:
.. code-block:: shell
$ cd poky
$ source oe-init-build-env
- - Create the Build Directory inside your home directory and
+ - Create the :term:`Build Directory` inside your home directory and
specifically name it ``test-builds``:
.. code-block:: shell
$ source poky/oe-init-build-env test-builds
- - Provide a directory path and specifically name the Build
- Directory. Any intermediate folders in the pathname must exist.
- This next example creates a Build Directory named
- ``YP-&DISTRO;`` within the existing directory ``mybuilds``:
+ - Provide a directory path and specifically name the
+ :term:`Build Directory`. Any intermediate folders in the pathname
+ must exist. This next example creates a :term:`Build Directory`
+ named ``YP-&DISTRO;`` within the existing directory ``mybuilds``:
.. code-block:: shell
@@ -96,13 +96,13 @@ universal, the list includes them just in case:
.. note::
- By default, the Build Directory contains :term:`TMPDIR`, which is a
+ By default, the :term:`Build Directory` contains :term:`TMPDIR`, which is a
temporary directory the build system uses for its work. :term:`TMPDIR` cannot
- be under NFS. Thus, by default, the Build Directory cannot be under
- NFS. However, if you need the Build Directory to be under NFS, you can
+ be under NFS. Thus, by default, the :term:`Build Directory` cannot be under
+ NFS. However, if you need the :term:`Build Directory` to be under NFS, you can
set this up by setting :term:`TMPDIR` in your ``local.conf`` file to use a local
drive. Doing so effectively separates :term:`TMPDIR` from :term:`TOPDIR`, which is the
- Build Directory.
+ :term:`Build Directory`.
:term:`Build Host`
The system used to build images in a Yocto Project Development
@@ -138,14 +138,12 @@ universal, the list includes them just in case:
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>`_
+ In some cases, such as with OpenEmbedded's :oe_git:`meta-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.
+ :oe_git:`meta-oe </meta-openembedded/tree/meta-oe>`, :oe_git:`meta-python
+ </meta-openembedded/tree/meta-python>` and so on.
On the other hand, some container layers (such as
:yocto_git:`meta-security </meta-security>`)
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index 71e8c272a7..dc6eccb314 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -260,9 +260,9 @@ system and gives an overview of their function and contents.
https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview
:term:`B`
- The directory within the :term:`Build Directory` in
- which the OpenEmbedded build system places generated objects during a
- recipe's build process. By default, this directory is the same as the
+ The directory within the :term:`Build Directory` in which the
+ OpenEmbedded build system places generated objects during a recipe's
+ build process. By default, this directory is the same as the
:term:`S` directory, which is defined as::
S = "${WORKDIR}/${BP}"
@@ -615,7 +615,7 @@ system and gives an overview of their function and contents.
software.
When specifying recipe files, you can pattern match using Python's
- `glob <https://docs.python.org/3/library/glob.html>`_ syntax.
+ `glob <https://docs.python.org/3/library/glob.html>`__ syntax.
For details on the syntax, see the documentation by following the
previous link.
@@ -903,12 +903,11 @@ system and gives an overview of their function and contents.
The default value is an empty string ("").
:term:`BUILDDIR`
- Points to the location of the :term:`Build Directory`.
- You can define this directory indirectly through the
- :ref:`structure-core-script` script by passing in a Build
- Directory path when you run the script. If you run the script and do
- not provide a Build Directory path, the :term:`BUILDDIR` defaults to
- ``build`` in the current directory.
+ Points to the location of the :term:`Build Directory`. You can define
+ this directory indirectly through the :ref:`structure-core-script` script
+ by passing in a :term:`Build Directory` path when you run the script. If
+ you run the script and do not provide a :term:`Build Directory` path, the
+ :term:`BUILDDIR` defaults to ``build`` in the current directory.
:term:`BUILDHISTORY_COMMIT`
When inheriting the :ref:`buildhistory <ref-classes-buildhistory>`
@@ -1508,6 +1507,18 @@ system and gives an overview of their function and contents.
CVE_PRODUCT = "vendor:package"
+ :term:`CVE_VERSION`
+ In a recipe, defines the version used to match the recipe version
+ against the version in the `NIST CVE database <https://nvd.nist.gov/>`__
+ when usign :ref:`cve-check <ref-classes-cve-check>`.
+
+ The default is ${:term:`PV`} but if recipes use custom version numbers
+ which do not map to upstream software component release versions and the versions
+ used in the CVE database, then this variable can be used to set the
+ version number for :ref:`cve-check <ref-classes-cve-check>`. Example::
+
+ CVE_VERSION = "2.39"
+
:term:`CVSDIR`
The directory in which files checked out under the CVS system are
stored.
@@ -1700,8 +1711,7 @@ system and gives an overview of their function and contents.
Points to the general area that the OpenEmbedded build system uses to
place images, packages, SDKs, and other output files that are ready
to be used outside of the build system. By default, this directory
- resides within the :term:`Build Directory` as
- ``${TMPDIR}/deploy``.
+ resides within the :term:`Build Directory` as ``${TMPDIR}/deploy``.
For more information on the structure of the Build Directory, see
":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
@@ -1747,7 +1757,7 @@ system and gives an overview of their function and contents.
with the contents of :term:`IMGDEPLOYDIR` by the :ref:`image
<ref-classes-image>` class.
- For more information on the structure of the Build Directory, see
+ For more information on the structure of the :term:`Build Directory`, see
":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
For more detail on the contents of the ``deploy`` directory, see the
":ref:`overview-manual/concepts:images`" and
@@ -2030,8 +2040,7 @@ system and gives an overview of their function and contents.
You can set this directory by defining the :term:`DL_DIR` variable in the
``conf/local.conf`` file. This directory is self-maintaining and you
should not have to touch it. By default, the directory is
- ``downloads`` in the :term:`Build Directory`.
- ::
+ ``downloads`` in the :term:`Build Directory`::
#DL_DIR ?= "${TOPDIR}/downloads"
@@ -2252,8 +2261,8 @@ system and gives an overview of their function and contents.
class, this variable points to the directory in which the recipe's
source code is built, which is outside of the OpenEmbedded build
system. When set, this variable sets the :term:`B` variable,
- which is what the OpenEmbedded build system uses to locate the Build
- Directory.
+ which is what the OpenEmbedded build system uses to locate the
+ :term:`Build Directory`.
See the ":ref:`ref-classes-externalsrc`" section for details. You
can also find information on how to use this variable in the
@@ -2273,9 +2282,8 @@ system and gives an overview of their function and contents.
more than one feature, separate them with a space.
Typically, you configure this variable in your ``local.conf`` file,
- which is found in the :term:`Build Directory`.
- Although you can use this variable from within a recipe, best
- practices dictate that you do not.
+ which is found in the :term:`Build Directory`. Although you can use this
+ variable from within a recipe, best practices dictate that you do not.
.. note::
@@ -2481,7 +2489,7 @@ system and gives an overview of their function and contents.
- When specifying files or paths, you can pattern match using
Python's
- `glob <https://docs.python.org/3/library/glob.html>`_
+ `glob <https://docs.python.org/3/library/glob.html>`__
syntax. For details on the syntax, see the documentation by
following the previous link.
@@ -2672,10 +2680,9 @@ system and gives an overview of their function and contents.
You define the :term:`FILESYSTEM_PERMS_TABLES` variable in the
``conf/local.conf`` file, which is found in the :term:`Build Directory`,
- to point to your custom
- ``fs-perms.txt``. You can specify more than a single file permissions
- setting table. The paths you specify to these files must be defined
- within the :term:`BBPATH` variable.
+ to point to your custom ``fs-perms.txt``. You can specify more than a
+ single file permissions setting table. The paths you specify to these
+ files must be defined within the :term:`BBPATH` variable.
For guidance on how to create your own file permissions settings
table file, examine the existing ``fs-perms.txt``.
@@ -4943,7 +4950,7 @@ system and gives an overview of their function and contents.
See the :term:`KERNEL_MODULE_AUTOLOAD` variable for more information.
:term:`module_conf`
- Specifies `modprobe.d <https://linux.die.net/man/5/modprobe.d>`_
+ Specifies `modprobe.d <https://linux.die.net/man/5/modprobe.d>`__
syntax lines for inclusion in the ``/etc/modprobe.d/modname.conf``
file.
@@ -6735,7 +6742,7 @@ system and gives an overview of their function and contents.
to find the unpacked source.
As an example, assume a :term:`Source Directory`
- top-level folder named ``poky`` and a default Build Directory at
+ top-level folder named ``poky`` and a default :term:`Build Directory` at
``poky/build``. In this case, the work directory the build system
uses to keep the unpacked recipe for ``db`` is the following::
@@ -6780,7 +6787,7 @@ system and gives an overview of their function and contents.
:term:`SDK_CUSTOM_TEMPLATECONF`
When building the extensible SDK, if :term:`SDK_CUSTOM_TEMPLATECONF` is set to
- "1" and a ``conf/templateconf.cfg`` file exists in the build directory
+ "1" and a ``conf/templateconf.cfg`` file exists in the :term:`Build Directory`
(:term:`TOPDIR`) then this will be copied into the SDK.
:term:`SDK_DEPLOY`
@@ -7183,8 +7190,7 @@ system and gives an overview of their function and contents.
To enable file removal, set the variable to "1" in your
``conf/local.conf`` configuration file in your:
- :term:`Build Directory`.
- ::
+ :term:`Build Directory`::
SKIP_FILEDEPS = "1"
@@ -7896,9 +7902,8 @@ system and gives an overview of their function and contents.
<https://www.freedesktop.org/software/systemd/man/systemd.special.html>`__
for details.
- For example, this variable is used in the
- `core-image-minimal-xfce.bb
- <https://git.openembedded.org/meta-openembedded/tree/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb>`__
+ For example, this variable is used in the :oe_git:`core-image-minimal-xfce.bb
+ </meta-openembedded/tree/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb>`
recipe::
SYSTEMD_DEFAULT_TARGET = "graphical.target"
@@ -8115,12 +8120,11 @@ system and gives an overview of their function and contents.
You can select "glibc", "musl", "newlib", or "baremetal".
:term:`TCLIBCAPPEND`
- Specifies a suffix to be appended onto the
- :term:`TMPDIR` value. The suffix identifies the
- ``libc`` variant for building. When you are building for multiple
- variants with the same :term:`Build Directory`, this
- mechanism ensures that output for different ``libc`` variants is kept
- separate to avoid potential conflicts.
+ Specifies a suffix to be appended onto the :term:`TMPDIR` value. The
+ suffix identifies the ``libc`` variant for building. When you are
+ building for multiple variants with the same :term:`Build Directory`,
+ this mechanism ensures that output for different ``libc`` variants is
+ kept separate to avoid potential conflicts.
In the ``defaultsetup.conf`` file, the default value of
:term:`TCLIBCAPPEND` is "-${TCLIBC}". However, distros such as poky,
@@ -8408,7 +8412,7 @@ system and gives an overview of their function and contents.
#TMPDIR = "${TOPDIR}/tmp"
An example use for this scenario is to set :term:`TMPDIR` to a local disk,
- which does not use NFS, while having the Build Directory use NFS.
+ which does not use NFS, while having the :term:`Build Directory` use NFS.
The filesystem used by :term:`TMPDIR` must have standard filesystem
semantics (i.e. mixed-case files are unique, POSIX file locking, and
@@ -9094,7 +9098,7 @@ system and gives an overview of their function and contents.
- :term:`PR`: The recipe revision
As an example, assume a Source Directory top-level folder name
- ``poky``, a default Build Directory at ``poky/build``, and a
+ ``poky``, a default :term:`Build Directory` at ``poky/build``, and a
``qemux86-poky-linux`` machine target system. Furthermore, suppose
your recipe is named ``foo_1.3.0-r0.bb``. In this case, the work
directory the build system uses to build the package would be as
diff --git a/poky/documentation/sdk-manual/appendix-customizing.rst b/poky/documentation/sdk-manual/appendix-customizing.rst
index 23a437eb9d..d6bca44947 100644
--- a/poky/documentation/sdk-manual/appendix-customizing.rst
+++ b/poky/documentation/sdk-manual/appendix-customizing.rst
@@ -286,9 +286,8 @@ source, you need to do a number of things:
ESDK_LOCALCONF_ALLOW = "SSTATE_MIRRORS"
- Alternatively, if you just want to set the :term:`SSTATE_MIRRORS`
- variable's value for the SDK alone, create a
- ``conf/sdk-extra.conf`` file either in your
- :term:`Build Directory` or within any
+ variable's value for the SDK alone, create a ``conf/sdk-extra.conf``
+ file either in your :term:`Build Directory` or within any
layer and put your :term:`SSTATE_MIRRORS` setting within that file.
.. note::
diff --git a/poky/documentation/sdk-manual/appendix-obtain.rst b/poky/documentation/sdk-manual/appendix-obtain.rst
index 7a09a83af8..b90247d2e0 100644
--- a/poky/documentation/sdk-manual/appendix-obtain.rst
+++ b/poky/documentation/sdk-manual/appendix-obtain.rst
@@ -116,38 +116,34 @@ build the SDK installer. Follow these steps:
$ source oe-init-build-env
- Among other things, the script
- creates the :term:`Build Directory`,
- which is
- ``build`` in this case and is located in the Source Directory. After
- the script runs, your current working directory is set to the
- ``build`` directory.
+ Among other things, the script creates the :term:`Build Directory`, which
+ is ``build`` in this case and is located in the Source Directory. After
+ the script runs, your current working directory is set to the ``build``
+ directory.
4. *Make Sure You Are Building an Installer for the Correct Machine:*
- Check to be sure that your
- :term:`MACHINE` variable in the
- ``local.conf`` file in your Build Directory matches the architecture
+ Check to be sure that your :term:`MACHINE` variable in the ``local.conf``
+ file in your :term:`Build Directory` matches the architecture
for which you are building.
5. *Make Sure Your SDK Machine is Correctly Set:* If you are building a
toolchain designed to run on an architecture that differs from your
current development host machine (i.e. the build host), be sure that
- the :term:`SDKMACHINE` variable
- in the ``local.conf`` file in your Build Directory is correctly set.
+ the :term:`SDKMACHINE` variable in the ``local.conf`` file in your
+ :term:`Build Directory` is correctly set.
.. note::
If you are building an SDK installer for the Extensible SDK, the
- SDKMACHINE
- value must be set for the architecture of the machine you are
- using to build the installer. If
- SDKMACHINE
+ :term:`SDKMACHINE` value must be set for the architecture of the
+ machine you are using to build the installer. If :term:`SDKMACHINE`
is not set appropriately, the build fails and provides an error
message similar to the following::
- The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is
- set to i686 (likely via setting SDKMACHINE) which is different from the architecture of the build machine (x86_64).
- Unable to continue.
+ The extensible SDK can currently only be built for the same
+ architecture as the machine being built on --- :term:`SDK_ARCH`
+ is set to ``i686`` (likely via setting :term:`SDKMACHINE`) which is
+ different from the architecture of the build machine (``x86_64``).
6. *Build the SDK Installer:* To build the SDK installer for a standard
@@ -164,7 +160,7 @@ build the SDK installer. Follow these steps:
that matches your target root filesystem.
When the ``bitbake`` command completes, the SDK installer will be in
- ``tmp/deploy/sdk`` in the Build Directory.
+ ``tmp/deploy/sdk`` in the :term:`Build Directory`.
.. note::
@@ -181,7 +177,7 @@ build the SDK installer. Follow these steps:
libc-staticdev"
7. *Run the Installer:* You can now run the SDK installer from
- ``tmp/deploy/sdk`` in the Build Directory. Following is an example::
+ ``tmp/deploy/sdk`` in the :term:`Build Directory`. Following is an example::
$ cd poky/build/tmp/deploy/sdk
$ ./poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh
diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst
index 3e3fa6c05a..ed38ac3f3f 100644
--- a/poky/documentation/sdk-manual/extensible.rst
+++ b/poky/documentation/sdk-manual/extensible.rst
@@ -64,7 +64,7 @@ binary artefact cache over the network for developers with underpowered laptops.
Setting up the Extensible SDK environment directly in a Yocto build
-------------------------------------------------------------------
-1. Set up all the needed layers and a Yocto build directory, e.g. a regular Yocto
+1. Set up all the needed layers and a Yocto :term:`Build Directory`, e.g. a regular Yocto
build where ``bitbake`` can be executed.
2. Run:
@@ -175,7 +175,7 @@ Once you have the SDK installed, you must run the SDK environment setup
script before you can actually use the SDK.
When using a SDK directly in a Yocto build, you will find the script in
-``tmp/deploy/images/qemux86-64/`` in your build directory.
+``tmp/deploy/images/qemux86-64/`` in your :term:`Build Directory`.
When using a standalone SDK installer, this setup script resides in
the directory you chose when you installed the SDK, which is either the
diff --git a/poky/documentation/set_versions.py b/poky/documentation/set_versions.py
index ddf70851cb..efaebe43b5 100755
--- a/poky/documentation/set_versions.py
+++ b/poky/documentation/set_versions.py
@@ -26,8 +26,8 @@ ourversion = None
if len(sys.argv) == 2:
ourversion = sys.argv[1]
-activereleases = ["kirkstone", "dunfell"]
-devbranch = "langdale"
+activereleases = ["langdale", "kirkstone", "dunfell"]
+devbranch = "mickledore"
ltsseries = ["kirkstone", "dunfell"]
# used by run-docs-builds to get the default page
@@ -36,6 +36,7 @@ if ourversion == "getlatest":
sys.exit(0)
release_series = collections.OrderedDict()
+release_series["mickledore"] = "4.2"
release_series["langdale"] = "4.1"
release_series["kirkstone"] = "4.0"
release_series["honister"] = "3.4"
@@ -65,6 +66,7 @@ release_series["laverne"] = "0.9"
bitbake_mapping = {
+ "mickledore" : "2.4",
"langdale" : "2.2",
"kirkstone" : "2.0",
"honister" : "1.52",
diff --git a/poky/documentation/test-manual/reproducible-builds.rst b/poky/documentation/test-manual/reproducible-builds.rst
index 5977366c9e..61127de23c 100644
--- a/poky/documentation/test-manual/reproducible-builds.rst
+++ b/poky/documentation/test-manual/reproducible-builds.rst
@@ -19,7 +19,7 @@ Why it matters
==============
The project aligns with the `Reproducible Builds project
-<https://reproducible-builds.org/>`_, which shares information about why
+<https://reproducible-builds.org/>`__, which shares information about why
reproducibility matters. The primary focus of the project is the ability to
detect security issues being introduced. However, from a Yocto Project
perspective, it is also hugely important that our builds are deterministic. When
diff --git a/poky/documentation/test-manual/understand-autobuilder.rst b/poky/documentation/test-manual/understand-autobuilder.rst
index c5e32cfe09..66471972de 100644
--- a/poky/documentation/test-manual/understand-autobuilder.rst
+++ b/poky/documentation/test-manual/understand-autobuilder.rst
@@ -56,7 +56,7 @@ the "templates" section, which looks like::
Combining these two entries you can see that "qemux86-64" is a three step build where the
``bitbake BBTARGETS`` would be run, then ``bitbake SANITYTARGETS`` for each step; all for
-``MACHINE="qemux86-64"`` but with differing SDKMACHINE settings. In step
+``MACHINE="qemux86-64"`` but with differing :term:`SDKMACHINE` settings. In step
1 an extra variable is added to the ``auto.conf`` file to enable wic
image generation.
@@ -242,7 +242,7 @@ of post-build steps, including:
#. Call ``scripts/upload-error-reports`` to send any error reports
generated to the remote server.
-#. Cleanup the build directory using
+#. Cleanup the :term:`Build Directory` using
:ref:`test-manual/understand-autobuilder:clobberdir` if the build was successful,
else rename it to "build-renamed" for potential future debugging.
diff --git a/poky/documentation/toaster-manual/reference.rst b/poky/documentation/toaster-manual/reference.rst
index 1bb9f98cca..b181d12d86 100644
--- a/poky/documentation/toaster-manual/reference.rst
+++ b/poky/documentation/toaster-manual/reference.rst
@@ -522,14 +522,13 @@ tasks. You can locate these commands in the
- When using ``manage.py`` commands given a default configuration,
you must be sure that your working directory is set to the
- :term:`Build Directory`. Using
- ``manage.py`` commands from the Build Directory allows Toaster to
- find the ``toaster.sqlite`` file, which is located in the Build
- Directory.
+ :term:`Build Directory`. Using ``manage.py`` commands from the
+ :term:`Build Directory` allows Toaster to find the ``toaster.sqlite``
+ file, which is located in the :term:`Build Directory`.
- For non-default database configurations, it is possible that you
can use ``manage.py`` commands from a directory other than the
- Build Directory. To do so, the ``toastermain/settings.py`` file
+ :term:`Build Directory`. To do so, the ``toastermain/settings.py`` file
must be configured to point to the correct database backend.
``buildslist``
@@ -549,7 +548,7 @@ database.
You need to run the ``buildslist`` command first to identify existing
builds in the database before using the
:ref:`toaster-manual/reference:\`\`builddelete\`\`` command. Here is an
-example that assumes default repository and build directory names:
+example that assumes default repository and :term:`Build Directory` names:
.. code-block:: shell
diff --git a/poky/documentation/toaster-manual/setup-and-use.rst b/poky/documentation/toaster-manual/setup-and-use.rst
index 72a15b5f2d..c5521edda1 100644
--- a/poky/documentation/toaster-manual/setup-and-use.rst
+++ b/poky/documentation/toaster-manual/setup-and-use.rst
@@ -23,8 +23,8 @@ Once in that directory, source the build environment script::
$ source oe-init-build-env
-Next, from the build directory (e.g.
-``poky/build``), start Toaster using this command::
+Next, from the :term:`Build Directory` (e.g. ``poky/build``), start Toaster
+using this command::
$ source toaster start
@@ -124,14 +124,14 @@ causes Toaster to create and use ``$TOASTER_DIR./_toaster_clones``.
The Build Directory
===================
-Toaster creates a build directory within your Source Directory (e.g.
+Toaster creates a :term:`Build Directory` within your Source Directory (e.g.
``poky``) to execute the builds.
Alternatively, if you would like all of your Toaster related files and
directories to be in a particular location, you can set the
``TOASTER_DIR`` environment variable, which takes precedence over your
current working directory. Setting this environment variable causes
-Toaster to use ``$TOASTER_DIR/build`` as the build directory.
+Toaster to use ``$TOASTER_DIR/build`` as the :term:`Build Directory`.
Creating a Django Superuser
===========================
@@ -152,8 +152,8 @@ superuser by following these steps:
$ export PATH=$PATH:$HOME/.local/bin
#. From the directory containing the Toaster database, which by default
- is the :term:`Build Directory`,
- invoke the ``createsuperuser`` command from ``manage.py``::
+ is the :term:`Build Directory`, invoke the ``createsuperuser`` command from
+ ``manage.py``::
$ cd poky/build
$ ../bitbake/lib/toaster/manage.py createsuperuser
@@ -179,7 +179,7 @@ example, if you are running Toaster locally, use the following URL::
http://127.0.0.1:8000/admin
You can use the Django administration interface to set Toaster configuration
-parameters such as the build directory, layer sources, default variable
+parameters such as the :term:`Build Directory`, layer sources, default variable
values, and BitBake versions.
Setting Up a Production Instance of Toaster
@@ -317,8 +317,7 @@ Perform the following steps to install Toaster:
the ":ref:`toaster-manual/reference:Configuring Toaster`" section.
This line also runs the ``checksettings`` command, which configures
- the location of the Toaster :term:`Build Directory`.
- The Toaster
+ the location of the Toaster :term:`Build Directory`. The Toaster
root directory ``TOASTER_DIR`` determines where the Toaster build
directory is created on the file system. In the example above,
``TOASTER_DIR`` is set as follows::
@@ -326,7 +325,7 @@ Perform the following steps to install Toaster:
/var/www/toaster/poky
- This setting causes the Toaster build directory to be::
+ This setting causes the Toaster :term:`Build Directory` to be::
/var/www/toaster/poky/build