[PATCH 03/34] ref-manual: expand documentation on image-buildinfo class

Paul Eggleton
2022-10-10T09:24:44Z

Expand the documentation on the image-buildinfo class, and add variable
glossary entries for IMAGE_BUILDINFO_FILE, IMAGE_BUILDINFO_VARS and
SDK_BUILDINFO_FILE (latter is new in 4.1).

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
---
documentation/ref-manual/classes.rst | 18 ++++++++++++++++--
documentation/ref-manual/variables.rst | 16 ++++++++++++++++
2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index 5e49613..cc0d212 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -881,8 +881,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:

diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 8ea9834..8b0331c 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -3053,6 +3053,17 @@ system and gives an overview of their function and contents.
material for Wic is located in the
":doc:`/ref-manual/kickstart`" chapter.

+ :term:`IMAGE_BUILDINFO_FILE`
+ When using the :ref:`image-buildinfo <ref-classes-image-buildinfo>` class,
+ specifies the file in the image to write the build information into. The
+ default value is "``${sysconfdir}/buildinfo``".
+
+ :term:`IMAGE_BUILDINFO_VARS`
+ When using the :ref:`image-buildinfo <ref-classes-image-buildinfo>` class,
+ specifies the list of variables to include in the `Build Configuration`
+ section of the output file (as a space-separated list). Defaults to
+ ":term:`DISTRO` :term:`DISTRO_VERSION`".
+
:term:`IMAGE_CLASSES`
A list of classes that all images should inherit. You typically use
this variable to specify the list of classes that register the
@@ -6627,6 +6638,11 @@ system and gives an overview of their function and contents.
The target architecture for the SDK. Typically, you do not directly
set this variable. Instead, use :term:`SDKMACHINE`.

+ :term:`SDK_BUILDINFO_FILE`
+ When using the :ref:`image-buildinfo <ref-classes-image-buildinfo>` class,
+ specifies the file in the SDK to write the build information into. The
+ default value is "``/buildinfo``".
+
: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.8.3.1