summaryrefslogtreecommitdiff
path: root/poky/documentation/ref-manual/classes.rst
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2022-10-21 22:42:47 +0300
committerPatrick Williams <patrick@stwcx.xyz>2022-10-21 22:44:01 +0300
commit975a06f9a4c471adefa88ac82a1559b6463dba1d (patch)
tree4c0901586d4567cac89ca770b42251b88a1aec75 /poky/documentation/ref-manual/classes.rst
parent0999122bfe6f28863066012c0466fd7f3139b658 (diff)
downloadopenbmc-975a06f9a4c471adefa88ac82a1559b6463dba1d.tar.xz
subtree updates
poky: 3e5faccfaf..95c802b0be: Alexander Kanavin (1): sdk-manual: correct the bitbake target for a unified sysroot build Michael Opdenacker (6): ref-manual/variables.rst: clarify sentence test-manual: fix typo in machine name ref-manual: faq.rst: reorganize into subsections, contents at top migration-guides: use contributor real name manuals: fix misc typos migration-guides: use contributor real name Paul Eggleton (31): migration-general: add section on using buildhistory ref-manual: add DISABLE_STATIC ref-manual: expand documentation on image-buildinfo class ref-manual: add WATCHDOG_TIMEOUT to variable glossary ref-manual: correct default for BUILDHISTORY_COMMIT ref-manual: document new github-releases class ref-manual: add a note to ssh-server-dropbear feature ref-manual: update buildpaths QA check documentation ref-manual: add UBOOT_MKIMAGE_KERNEL_TYPE ref-manual: add DEV_PKG_DEPENDENCY ref-manual: add SDK_TOOLCHAIN_LANGS ref-manual: add pypi class ref-manual: update pypi documentation for CVE_PRODUCT default in 4.1 ref-manual: add CVE_CHECK_SHOW_WARNINGS ref-manual: add FIT_PAD_ALG ref-manual: add CVE_DB_UPDATE_INTERVAL ref-manual: add KERNEL_DEPLOY_DEPEND ref-manual: add MOUNT_BASE variable ref-manual: remove reference to testimage-auto class Update documentation for classes split ref-manual: complementary package installation recommends ref-manual: remove reference to largefile in DISTRO_FEATURES ref-manual: add missing features ref-manual: add serial-autologin-root to IMAGE_FEATURES documentation ref-manual: add previous overlayfs-etc variables ref-manual: add OVERLAYFS_ETC_EXPOSE_LOWER ref-manual: add WIRELESS_DAEMON ref-manual: add section for create-spdx class ref-manual: add overlayfs class variables ref-manual: add OVERLAYFS_QA_SKIP Add 4.1 migration guide & release notes Ross Burton (2): migration-guides: add known issues for 4.1 migration-guides/release-notes-4.1.rst: add more known issues Takayasu Ito (1): release-notes-4.1.rst remove bitbake-layers subcommand argument meta-arm: 13199c55c0..14c7e5b336: Jon Mason (1): CI: track langdale branch Mohamed Omar Asaker (1): arm-bsp/u-boot: corstone1000: support 32bit ffa direct messaging Ross Burton (3): arm-bsp: remove TC0 arm-bsp/scp-firmware: remove TC0 patches arm/fvp-tc0: remove Total Compute 2020 FVP Rui Miguel Silva (2): arm-bsp/optee: add log handler arm-bsp/trusted-services: support for libmetal and openamp Vishnu Banavath (1): arm-bsp/linux: add kernel file search path for N1SDP meta-openembedded: 6529e5f963..8073ec2275: Alex Kiernan (4): conntrack-tools: Upgrade 1.4.6 -> 1.4.7 conntrack-tools: Add PACKAGECONFIGs for build options conntrack-tools: Use canonical shell spacing uriparser: Upgrade 0.9.6 -> 0.9.7 Andreas Müller (1): onboard: remove Changqing Li (1): redis: upgrade 7.0.4 to 7.0.5 Fabio Estevam (2): remmina: Update to 1.4.27 crucible: Add recipe Khem Raj (1): grpc: Update to 1.50.x release Leon Anavi (2): python3-imageio: Upgrade 2.22.1 -> 2.22.2 python3-distro: Upgrade 1.7.0 -> 1.8.0 Markus Volk (2): pipewire: upgrade 0.3.57 -> 0.3.59 wireplumber: upgrade 0.4.11 -> 0.4.12 Peter Kjellerstedt (1): v4l-utils: Support building without NLS Sebastian Suesens (2): md4c: added md4c lib double-conversion: added double-conversion lib Sui Chen (1): Add recipe for Perfetto Thomas Perrot (1): xfce4-settings: upgrade 4.16.2 -> 4.16.3 Ulysse Manceron (1): abseil-cpp: Upgrade to head on 2022-10-14 Wang Mingyu (19): broadcom-bt-firmware: upgrade cppzmq: upgrade 4.8.1 -> 4.9.0 ctags: upgrade 5.9.20221002.0 -> 5.9.20221009.0 debootstrap: upgrade 1.0.127 -> 1.0.128 freerdp: upgrade 2.8.0 -> 2.8.1 gst-editing-services: upgrade 1.20.3 -> 1.20.4 libwacom: upgrade 2.4.0 -> 2.5.0 nbdkit: upgrade 1.33.1 -> 1.33.2 xfstests: upgrade 2022.09.25 -> 2022.10.09 blueman: upgrade 2.3.2 -> 2.3.4 cli11: upgrade 2.2.0 -> 2.3.0 tesseract: upgrade 4.1.3 -> 5.2.0 python3-absl: upgrade 1.2.0 -> 1.3.0 python3-gevent: upgrade 22.8.0 -> 22.10.1 python3-google-api-core: upgrade 2.10.1 -> 2.10.2 python3-google-api-python-client: upgrade 2.62.0 -> 2.64.0 python3-google-auth: upgrade 2.11.1 -> 2.12.0 python3-pymodbus: upgrade 2.5.3 -> 3.0.0 python3-pywbem: upgrade 1.4.1 -> 1.5.0 homalozoa (1): Add condition for libusbgx-examples zhengrq.fnst (5): python3-stevedore: upgrade 4.0.0 -> 4.0.1 yelp: upgrade 42.1 -> 42.2 tio: upgrade 2.0 -> 2.1 python3-zopeinterface: upgrade 5.4.0 -> 5.5.0 unbound: upgrade 1.16.3 -> 1.17.0 meta-raspberrypi: fc5f80a47e..722c51647c: Oliver Lang (1): rpi-base.inc: handle empty/undefined KERNEL_DEVICETREE Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I555ec2b7aca80e0511bf112acd0a045de17fe91b
Diffstat (limited to 'poky/documentation/ref-manual/classes.rst')
-rw-r--r--poky/documentation/ref-manual/classes.rst99
1 files changed, 78 insertions, 21 deletions
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index 5e49613b2f..cd5a51695b 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -13,8 +13,14 @@ some default behavior.
Any :term:`Metadata` usually found in a recipe can also be
placed in a class file. Class files are identified by the extension
-``.bbclass`` and are usually placed in a ``classes/`` directory beneath
-the ``meta*/`` directory found in the :term:`Source Directory`.
+``.bbclass`` and are usually placed in one of a set of subdirectories
+beneath the ``meta*/`` directory found in the :term:`Source Directory`:
+
+ - ``classes-recipe/`` - classes intended to be inherited by recipes
+ individually
+ - ``classes-global/`` - classes intended to be inherited globally
+ - ``classes/`` - classes whose usage context is not clearly defined
+
Class files can also be pointed to by
:term:`BUILDDIR` (e.g. ``build/``) in the same way as
``.conf`` files in the ``conf`` directory. Class files are searched for
@@ -22,7 +28,7 @@ in :term:`BBPATH` using the same method by which ``.conf``
files are searched.
This chapter discusses only the most useful and important classes. Other
-classes do exist within the ``meta/classes`` directory in the Source
+classes do exist within the ``meta/classes*`` directories in the Source
Directory. You can reference the ``.bbclass`` files directly for more
information.
@@ -362,6 +368,14 @@ authors used.
Both build methods inherit the ``cpan-base`` class for basic Perl
support.
+.. _ref-classes-create-spdx:
+
+``create-spdx.bbclass``
+=======================
+
+The ``create-spdx`` class provides support for automatically creating
+SPDX SBoM documents based upon image and SDK contents.
+
.. _ref-classes-cross:
``cross.bbclass``
@@ -659,6 +673,20 @@ the GNU ``gettext`` internationalization and localization system. All
recipes building software that use ``gettext`` should inherit this
class.
+.. _ref-classes-github-releases:
+
+``github-releases``
+===================
+
+For recipes that fetch release tarballs from github, the ``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,
+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.
+
.. _ref-classes-gnomebase:
``gnomebase.bbclass``
@@ -881,8 +909,22 @@ Yocto Project Overview and Concepts Manual.
``image-buildinfo.bbclass``
===========================
-The ``image-buildinfo`` class writes information to the target
-filesystem on ``/etc/build``.
+The ``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
+image. It writes out two sections:
+
+1. `Build Configuration`: a list of variables and their values (specified
+ by :term:`IMAGE_BUILDINFO_VARS`, which defaults to :term:`DISTRO` and
+ :term:`DISTRO_VERSION`)
+
+2. `Layer Revisions`: the revisions of all of the layers used in the
+ build.
+
+Additionally, when building an SDK it will write the same contents
+to ``/buildinfo`` by default (as specified by
+:term:`SDK_BUILDINFO_FILE`).
.. _ref-classes-image_types:
@@ -980,8 +1022,8 @@ Here are the tests you can list with the :term:`WARN_QA` and
software, like bootloaders, might need to bypass this check.
- ``buildpaths:`` Checks for paths to locations on the build host
- inside the output files. Currently, this test triggers too many false
- positives and thus is not normally enabled.
+ inside the output files. Not only can these leak information about
+ the build environment, they also hinder binary reproducibility.
- ``build-deps:`` Determines if a build-time dependency that is
specified through :term:`DEPENDS`, explicit
@@ -1293,7 +1335,7 @@ 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
-limited usescases: just one kernel image, an optional U-boot script,
+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.
@@ -1977,6 +2019,22 @@ When inherited by a recipe, the ``perlnative`` class supports using the
native version of Perl built by the build system rather than using the
version provided by the build host.
+.. _ref-classes-pypi:
+
+``pypi.bbclass``
+================
+
+The ``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`,
+:term:`HOMEPAGE`, :term:`UPSTREAM_CHECK_URI`, :term:`UPSTREAM_CHECK_REGEX`
+and :term:`CVE_PRODUCT`.
+
.. _ref-classes-python_flit_core:
``python_flit_core.bbclass``
@@ -2724,33 +2782,32 @@ session needs to be started. For example, the
:ref:`devshell <ref-classes-devshell>` class all use the ``terminal``
class.
-.. _ref-classes-testimage*:
+.. _ref-classes-testimage:
-``testimage*.bbclass``
-======================
+``testimage.bbclass``
+=====================
-The ``testimage*`` classes support running automated tests against
+The ``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.
-.. note::
+To enable this class, add the following to your configuration::
- Best practices include using :term:`IMAGE_CLASSES` rather than
- :term:`INHERIT` to inherit the ``testimage`` class for automated image
- testing.
+ IMAGE_CLASSES += "testimage"
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.bbclass`` runs tests on an image when called using the
+The ``testimage`` class runs tests on an image when called using the
following::
$ bitbake -c testimage image
-The ``testimage-auto`` class
-runs tests on an image after the image is constructed (i.e.
-:term:`TESTIMAGE_AUTO` must be set to "1").
+Alternatively, if you wish to have tests automatically run for each image
+after it is built, you can set :term:`TESTIMAGE_AUTO`::
+
+ TESTIMAGE_AUTO = "1"
For information on how to enable, run, and create new tests, see the
":ref:`dev-manual/common-tasks:performing automated runtime testing`"
@@ -2892,7 +2949,7 @@ To use this class, you need to define a number of variables:
These variables list alternative commands needed by a package, provide
pathnames for links, default links for targets, and so forth. For
details on how to use this class, see the comments in the
-:yocto_git:`update-alternatives.bbclass </poky/tree/meta/classes/update-alternatives.bbclass>`
+:yocto_git:`update-alternatives.bbclass </poky/tree/meta/classes-recipe/update-alternatives.bbclass>`
file.
.. note::