diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2022-10-21 22:42:47 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2022-10-21 22:44:01 +0300 |
commit | 975a06f9a4c471adefa88ac82a1559b6463dba1d (patch) | |
tree | 4c0901586d4567cac89ca770b42251b88a1aec75 /poky/documentation/ref-manual/classes.rst | |
parent | 0999122bfe6f28863066012c0466fd7f3139b658 (diff) | |
download | openbmc-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.rst | 99 |
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:: |