reproducible-builds.rst: show how to build a single package

Add a bit to the "Can we prove the project is reproducible?" section to
show how OEQA_REPRODUCIBLE_TEST_TARGET can be used to test a single
package (rather than the world build), as this may be useful for
maintainers.

[YOCTO #15619]

(From yocto-docs rev: 6430ed0572ca5a6e10629aa27a05d4b262e87548)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit c4bc09f61621938086be377653121d6b4e62b570)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Trevor Gamblin
2024-12-19 09:52:25 -05:00
committed by Steve Sakoman
parent 11ebb86111
commit 08b9ccdba3

View File

@@ -91,13 +91,21 @@ run::
oe-selftest -r reproducible.ReproducibleTests.test_reproducible_builds
This defaults to including a ``world`` build so, if other layers are added, it would
also run the tests for recipes in the additional layers. Different build targets
can be defined using the :term:`OEQA_REPRODUCIBLE_TEST_TARGET` variable in ``local.conf``.
The first build will be run using :ref:`Shared State <overview-manual/concepts:Shared State>` if
available, the second build explicitly disables
:ref:`Shared State <overview-manual/concepts:Shared State>` except for recipes defined in
the :term:`OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS` variable, and builds on the
This defaults to including a ``world`` build so, if other layers are added, it
would also run the tests for recipes in the additional layers. Different build
targets can be defined using the :term:`OEQA_REPRODUCIBLE_TEST_TARGET` variable
in ``local.conf``. For example, running reproducibility tests for only the
``python3-numpy`` recipe can be done by setting::
OEQA_REPRODUCIBLE_TEST_TARGET = "python3-numpy"
in local.conf before running the ``oe-selftest`` command shown above.
Reproducibility builds the target list twice. The first build will be run using
:ref:`Shared State <overview-manual/concepts:Shared State>` if available, the
second build explicitly disables :ref:`Shared State
<overview-manual/concepts:Shared State>` except for recipes defined in the
:term:`OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS` variable, and builds on the
specific host the build is running on. This means we can test reproducibility
builds between different host distributions over time on the Autobuilder.