diff mbox series

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

Message ID 20241219145225.3367912-1-tgamblin@baylibre.com
State Under Review
Headers show
Series [v2] reproducible-builds.rst: show how to build a single package | expand

Commit Message

Trevor Gamblin Dec. 19, 2024, 2:52 p.m. UTC
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]

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
---
v2 adds the Bugzilla ID to the commit message, since this is logged in the
system already.

 .../test-manual/reproducible-builds.rst       | 22 +++++++++++++------
 1 file changed, 15 insertions(+), 7 deletions(-)

Comments

Antonin Godard Dec. 20, 2024, 11:08 a.m. UTC | #1
Hi Trevor,

On Thu Dec 19, 2024 at 3:52 PM CET, Trevor Gamblin wrote:
> 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]
>
> Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
> ---
> v2 adds the Bugzilla ID to the commit message, since this is logged in the
> system already.
>
>  .../test-manual/reproducible-builds.rst       | 22 +++++++++++++------
>  1 file changed, 15 insertions(+), 7 deletions(-)
>
> diff --git a/documentation/test-manual/reproducible-builds.rst b/documentation/test-manual/reproducible-builds.rst
> index 91f94a5c7..d581155eb 100644
> --- a/documentation/test-manual/reproducible-builds.rst
> +++ b/documentation/test-manual/reproducible-builds.rst
> @@ -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.

Not for this patch but I think there should be a :term: for the Autobuilder, for
the people not aware of what it is.

I'll take a note of this.

Otherwise:

Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>

Thank you!
Antonin
diff mbox series

Patch

diff --git a/documentation/test-manual/reproducible-builds.rst b/documentation/test-manual/reproducible-builds.rst
index 91f94a5c7..d581155eb 100644
--- a/documentation/test-manual/reproducible-builds.rst
+++ b/documentation/test-manual/reproducible-builds.rst
@@ -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.