All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
@ 2025-02-09 23:32 Yoann Congal
  2025-02-09 23:32 ` [PATCH v3 2/4] reproducible-builds: change/add titles in the "How" section Yoann Congal
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Yoann Congal @ 2025-02-09 23:32 UTC (permalink / raw)
  To: docs; +Cc: Yoann Congal

From: Yoann Congal <yoann.congal@smile.fr>

This documents the variable used in the "automate testing a single
recipe's reproducibility" feature [YOCTO #15701]

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
v2->v3: Quentin's review:
* s/target/target(s)/
* Removed Guillaume Reviewed-by (given privately)
---
 documentation/ref-manual/variables.rst | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index adbef69d8..2f1937632 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -5807,6 +5807,11 @@ system and gives an overview of their function and contents.
       For additional information on how this variable is used, see the
       initialization script.
 
+   :term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`
+      Set build target(s) for build reproducibility testing but activate
+      :ref:`shared state <overview-manual/concepts:shared state cache>` build
+      for most dependencies. See :doc:`/test-manual/reproducible-builds`.
+
    :term:`OEQA_REPRODUCIBLE_TEST_PACKAGE`
       Set the package manager(s) for build reproducibility testing.
       See :yocto_git:`reproducible.py </poky/tree/meta/lib/oeqa/selftest/cases/reproducible.py>`


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v3 2/4] reproducible-builds: change/add titles in the "How" section
  2025-02-09 23:32 [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
@ 2025-02-09 23:32 ` Yoann Congal
  2025-02-10  8:55   ` guillaume.swaenepoel
  2025-02-09 23:32 ` [PATCH v3 3/4] reproducible-builds: add a "How to" section with OEQA* variables Yoann Congal
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Yoann Congal @ 2025-02-09 23:32 UTC (permalink / raw)
  To: docs; +Cc: Yoann Congal

From: Yoann Congal <yoann.congal@smile.fr>

This is preparation work for the following commit.

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
v2->v3: Quentin's review:
* Removed Guillaume Reviewed-by (given privately)
---
 documentation/test-manual/reproducible-builds.rst | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/documentation/test-manual/reproducible-builds.rst b/documentation/test-manual/reproducible-builds.rst
index aaf2e4541..b9f671d68 100644
--- a/documentation/test-manual/reproducible-builds.rst
+++ b/documentation/test-manual/reproducible-builds.rst
@@ -122,9 +122,12 @@ The project's current reproducibility status can be seen at
 You can also check the reproducibility status on the Autobuilder:
 :yocto_ab:`/valkyrie/#/builders/reproducible`.
 
-===============================
-Can I test my layer or recipes?
-===============================
+===================================
+How can I test my layer or recipes?
+===================================
+
+With world build
+~~~~~~~~~~~~~~~~
 
 Once again, you can run a ``world`` test using the
 :ref:`oe-selftest <ref-manual/release-process:Testing and Quality Assurance>`
@@ -132,6 +135,9 @@ command provided above. This functionality is implemented
 in :oe_git:`meta/lib/oeqa/selftest/cases/reproducible.py
 </openembedded-core/tree/meta/lib/oeqa/selftest/cases/reproducible.py>`.
 
+Subclassing the test
+~~~~~~~~~~~~~~~~~~~~
+
 You could subclass the test and change ``targets`` to a different target.
 
 You may also change ``sstate_targets`` which would allow you to "pre-cache" some


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v3 3/4] reproducible-builds: add a "How to" section with OEQA* variables
  2025-02-09 23:32 [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
  2025-02-09 23:32 ` [PATCH v3 2/4] reproducible-builds: change/add titles in the "How" section Yoann Congal
@ 2025-02-09 23:32 ` Yoann Congal
  2025-02-10  8:55   ` guillaume.swaenepoel
  2025-02-10 17:41   ` [docs] " Quentin Schulz
  2025-02-09 23:32 ` [PATCH v3 4/4] release-notes-5.2: Add new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 15+ messages in thread
From: Yoann Congal @ 2025-02-09 23:32 UTC (permalink / raw)
  To: docs; +Cc: Yoann Congal

From: Yoann Congal <yoann.congal@smile.fr>

Shows an example of the new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
and still mention OEQA_REPRODUCIBLE_TEST_TARGET/SSTATE_TARGETS that were
shown earlier.

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
v2->v3: Quentin's review
* Double tick quote variable in title
* Removed Guillaume Reviewed-by (given privately)

v1->v2: Quentin's review
* tick-quote variable in title
* a set of recipeS
* 3 spaces to align a code block (not 4)
---
 .../test-manual/reproducible-builds.rst        | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/documentation/test-manual/reproducible-builds.rst b/documentation/test-manual/reproducible-builds.rst
index b9f671d68..95308330e 100644
--- a/documentation/test-manual/reproducible-builds.rst
+++ b/documentation/test-manual/reproducible-builds.rst
@@ -145,3 +145,21 @@ set of recipes before the test, meaning they are excluded from reproducibility
 testing. As a practical example, you could set ``sstate_targets`` to
 ``core-image-sato``, then setting ``targets`` to ``core-image-sato-sdk`` would
 run reproducibility tests only on the targets belonging only to ``core-image-sato-sdk``.
+
+Using ``OEQA_REPRODUCIBLE_TEST_*`` variables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you want to test the reproducibility of a set of recipes, you can define
+:term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`, in your local.conf::
+
+   OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS = "my-recipe"
+
+This will test the reproducibility of ``my-recipe`` but will use the
+:ref:`Shared State <overview-manual/concepts:Shared State>` for most its
+dependencies.
+
+You can have finer control on the test with:
+
+- :term:`OEQA_REPRODUCIBLE_TEST_TARGET`: lists recipes to be built,
+- :term:`OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS`: lists recipes that will
+  be built using :ref:`Shared State <overview-manual/concepts:Shared State>`.


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v3 4/4] release-notes-5.2: Add new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
  2025-02-09 23:32 [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
  2025-02-09 23:32 ` [PATCH v3 2/4] reproducible-builds: change/add titles in the "How" section Yoann Congal
  2025-02-09 23:32 ` [PATCH v3 3/4] reproducible-builds: add a "How to" section with OEQA* variables Yoann Congal
@ 2025-02-09 23:32 ` Yoann Congal
  2025-02-10  8:56   ` guillaume.swaenepoel
  2025-02-10 17:43   ` [docs] " Quentin Schulz
  2025-02-10  8:55 ` [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS guillaume.swaenepoel
  2025-02-10 17:37 ` [docs] " Quentin Schulz
  4 siblings, 2 replies; 15+ messages in thread
From: Yoann Congal @ 2025-02-09 23:32 UTC (permalink / raw)
  To: docs; +Cc: Yoann Congal

From: Yoann Congal <yoann.congal@smile.fr>

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
v2->v3: Antonin's Review:
* Add OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS ot release-notes-5.2
---
 documentation/migration-guides/release-notes-5.2.rst | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/documentation/migration-guides/release-notes-5.2.rst b/documentation/migration-guides/release-notes-5.2.rst
index b0e538700..069e34be5 100644
--- a/documentation/migration-guides/release-notes-5.2.rst
+++ b/documentation/migration-guides/release-notes-5.2.rst
@@ -17,6 +17,9 @@ New Features / Enhancements in |yocto-ver|
    -  ``linux-firmware``: Add the :term:`FIRMWARE_COMPRESSION` variable which
       allows compression the firmwares provided by the ``linux-firmware`` recipe.
       Possible values are ``xz`` and ``zst``.
+   -  reproducibility: Add the :term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`
+      variable which enables a reproducibility test on a single recipe (without
+      the dependencies). See :doc:`/test-manual/reproducible-builds`.
 
 -  Kernel-related changes:
 


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
  2025-02-09 23:32 [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
                   ` (2 preceding siblings ...)
  2025-02-09 23:32 ` [PATCH v3 4/4] release-notes-5.2: Add new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
@ 2025-02-10  8:55 ` guillaume.swaenepoel
  2025-02-10 17:37 ` [docs] " Quentin Schulz
  4 siblings, 0 replies; 15+ messages in thread
From: guillaume.swaenepoel @ 2025-02-10  8:55 UTC (permalink / raw)
  To: docs

[-- Attachment #1: Type: text/plain, Size: 67 bytes --]

Reviewed-by: Guillaume Swaenepoel <guillaume.swaenepoel@smile.fr>

[-- Attachment #2: Type: text/html, Size: 84 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 2/4] reproducible-builds: change/add titles in the "How" section
  2025-02-09 23:32 ` [PATCH v3 2/4] reproducible-builds: change/add titles in the "How" section Yoann Congal
@ 2025-02-10  8:55   ` guillaume.swaenepoel
  0 siblings, 0 replies; 15+ messages in thread
From: guillaume.swaenepoel @ 2025-02-10  8:55 UTC (permalink / raw)
  To: docs

[-- Attachment #1: Type: text/plain, Size: 67 bytes --]

Reviewed-by: Guillaume Swaenepoel <guillaume.swaenepoel@smile.fr>

[-- Attachment #2: Type: text/html, Size: 84 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 3/4] reproducible-builds: add a "How to" section with OEQA* variables
  2025-02-09 23:32 ` [PATCH v3 3/4] reproducible-builds: add a "How to" section with OEQA* variables Yoann Congal
@ 2025-02-10  8:55   ` guillaume.swaenepoel
  2025-02-10 17:41   ` [docs] " Quentin Schulz
  1 sibling, 0 replies; 15+ messages in thread
From: guillaume.swaenepoel @ 2025-02-10  8:55 UTC (permalink / raw)
  To: docs

[-- Attachment #1: Type: text/plain, Size: 67 bytes --]

Reviewed-by: Guillaume Swaenepoel <guillaume.swaenepoel@smile.fr>

[-- Attachment #2: Type: text/html, Size: 84 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 4/4] release-notes-5.2: Add new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
  2025-02-09 23:32 ` [PATCH v3 4/4] release-notes-5.2: Add new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
@ 2025-02-10  8:56   ` guillaume.swaenepoel
  2025-02-10 17:43   ` [docs] " Quentin Schulz
  1 sibling, 0 replies; 15+ messages in thread
From: guillaume.swaenepoel @ 2025-02-10  8:56 UTC (permalink / raw)
  To: docs

[-- Attachment #1: Type: text/plain, Size: 67 bytes --]

Reviewed-by: Guillaume Swaenepoel <guillaume.swaenepoel@smile.fr>

[-- Attachment #2: Type: text/html, Size: 84 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [docs] [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
  2025-02-09 23:32 [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
                   ` (3 preceding siblings ...)
  2025-02-10  8:55 ` [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS guillaume.swaenepoel
@ 2025-02-10 17:37 ` Quentin Schulz
  2025-02-11 10:35   ` Yoann Congal
  4 siblings, 1 reply; 15+ messages in thread
From: Quentin Schulz @ 2025-02-10 17:37 UTC (permalink / raw)
  To: yoann.congal, docs

Hi Yoann,

On 2/10/25 12:32 AM, Yoann Congal via lists.yoctoproject.org wrote:
> From: Yoann Congal <yoann.congal@smile.fr>
> 
> This documents the variable used in the "automate testing a single
> recipe's reproducibility" feature [YOCTO #15701]
> 
> Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> ---
> v2->v3: Quentin's review:
> * s/target/target(s)/
> * Removed Guillaume Reviewed-by (given privately)
> ---
>   documentation/ref-manual/variables.rst | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
> index adbef69d8..2f1937632 100644
> --- a/documentation/ref-manual/variables.rst
> +++ b/documentation/ref-manual/variables.rst
> @@ -5807,6 +5807,11 @@ system and gives an overview of their function and contents.
>         For additional information on how this variable is used, see the
>         initialization script.
>   
> +   :term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`
> +      Set build target(s) for build reproducibility testing but activate
> +      :ref:`shared state <overview-manual/concepts:shared state cache>` build
> +      for most dependencies. See :doc:`/test-manual/reproducible-builds`.
> +

What do you mean by "most dependencies"?

The code I glanced at in OE-Core seems to indicate it adds all DEPENDS 
from each leaf recipe to the list of targets to build with sstate-cache 
(the same way it's done for OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS).

Cheers,
Quentin


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [docs] [PATCH v3 3/4] reproducible-builds: add a "How to" section with OEQA* variables
  2025-02-09 23:32 ` [PATCH v3 3/4] reproducible-builds: add a "How to" section with OEQA* variables Yoann Congal
  2025-02-10  8:55   ` guillaume.swaenepoel
@ 2025-02-10 17:41   ` Quentin Schulz
  1 sibling, 0 replies; 15+ messages in thread
From: Quentin Schulz @ 2025-02-10 17:41 UTC (permalink / raw)
  To: yoann.congal, docs

Hi Yoann,

On 2/10/25 12:32 AM, Yoann Congal via lists.yoctoproject.org wrote:
> From: Yoann Congal <yoann.congal@smile.fr>
> 
> Shows an example of the new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
> and still mention OEQA_REPRODUCIBLE_TEST_TARGET/SSTATE_TARGETS that were
> shown earlier.
> 
> Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> ---
> v2->v3: Quentin's review
> * Double tick quote variable in title
> * Removed Guillaume Reviewed-by (given privately)
> 
> v1->v2: Quentin's review
> * tick-quote variable in title
> * a set of recipeS
> * 3 spaces to align a code block (not 4)
> ---
>   .../test-manual/reproducible-builds.rst        | 18 ++++++++++++++++++
>   1 file changed, 18 insertions(+)
> 
> diff --git a/documentation/test-manual/reproducible-builds.rst b/documentation/test-manual/reproducible-builds.rst
> index b9f671d68..95308330e 100644
> --- a/documentation/test-manual/reproducible-builds.rst
> +++ b/documentation/test-manual/reproducible-builds.rst
> @@ -145,3 +145,21 @@ set of recipes before the test, meaning they are excluded from reproducibility
>   testing. As a practical example, you could set ``sstate_targets`` to
>   ``core-image-sato``, then setting ``targets`` to ``core-image-sato-sdk`` would
>   run reproducibility tests only on the targets belonging only to ``core-image-sato-sdk``.
> +
> +Using ``OEQA_REPRODUCIBLE_TEST_*`` variables
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +If you want to test the reproducibility of a set of recipes, you can define
> +:term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`, in your local.conf::
> +
> +   OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS = "my-recipe"
> +
> +This will test the reproducibility of ``my-recipe`` but will use the
> +:ref:`Shared State <overview-manual/concepts:Shared State>` for most its
> +dependencies.
> +

Same as for Patch 1, what do you mean by "most"?

Cheers,
Quentin


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [docs] [PATCH v3 4/4] release-notes-5.2: Add new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
  2025-02-09 23:32 ` [PATCH v3 4/4] release-notes-5.2: Add new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
  2025-02-10  8:56   ` guillaume.swaenepoel
@ 2025-02-10 17:43   ` Quentin Schulz
  2025-02-11 23:40     ` Yoann Congal
  1 sibling, 1 reply; 15+ messages in thread
From: Quentin Schulz @ 2025-02-10 17:43 UTC (permalink / raw)
  To: yoann.congal, docs

Hi Yoann,

On 2/10/25 12:32 AM, Yoann Congal via lists.yoctoproject.org wrote:
> From: Yoann Congal <yoann.congal@smile.fr>
> 
> Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> ---
> v2->v3: Antonin's Review:
> * Add OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS ot release-notes-5.2
> ---
>   documentation/migration-guides/release-notes-5.2.rst | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/documentation/migration-guides/release-notes-5.2.rst b/documentation/migration-guides/release-notes-5.2.rst
> index b0e538700..069e34be5 100644
> --- a/documentation/migration-guides/release-notes-5.2.rst
> +++ b/documentation/migration-guides/release-notes-5.2.rst
> @@ -17,6 +17,9 @@ New Features / Enhancements in |yocto-ver|
>      -  ``linux-firmware``: Add the :term:`FIRMWARE_COMPRESSION` variable which
>         allows compression the firmwares provided by the ``linux-firmware`` recipe.
>         Possible values are ``xz`` and ``zst``.
> +   -  reproducibility: Add the :term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`
> +      variable which enables a reproducibility test on a single recipe (without
> +      the dependencies). See :doc:`/test-manual/reproducible-builds`.

s/single recipe/recipes/ ? You can have multiple recipes listed there I 
believe?

nitpick: I would say "using sstate-cache for its dependencies" (with a 
link for sstate-cache)

Cheers,
Quentin


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [docs] [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
  2025-02-10 17:37 ` [docs] " Quentin Schulz
@ 2025-02-11 10:35   ` Yoann Congal
  2025-02-11 13:57     ` Quentin Schulz
  0 siblings, 1 reply; 15+ messages in thread
From: Yoann Congal @ 2025-02-11 10:35 UTC (permalink / raw)
  To: Quentin Schulz; +Cc: docs

[-- Attachment #1: Type: text/plain, Size: 2277 bytes --]

Le lun. 10 févr. 2025 à 18:37, Quentin Schulz <quentin.schulz@cherry.de> a
écrit :

> Hi Yoann,
>
> On 2/10/25 12:32 AM, Yoann Congal via lists.yoctoproject.org wrote:
> > From: Yoann Congal <yoann.congal@smile.fr>
> >
> > This documents the variable used in the "automate testing a single
> > recipe's reproducibility" feature [YOCTO #15701]
> >
> > Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> > ---
> > v2->v3: Quentin's review:
> > * s/target/target(s)/
> > * Removed Guillaume Reviewed-by (given privately)
> > ---
> >   documentation/ref-manual/variables.rst | 5 +++++
> >   1 file changed, 5 insertions(+)
> >
> > diff --git a/documentation/ref-manual/variables.rst
> b/documentation/ref-manual/variables.rst
> > index adbef69d8..2f1937632 100644
> > --- a/documentation/ref-manual/variables.rst
> > +++ b/documentation/ref-manual/variables.rst
> > @@ -5807,6 +5807,11 @@ system and gives an overview of their function
> and contents.
> >         For additional information on how this variable is used, see the
> >         initialization script.
> >
> > +   :term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`
> > +      Set build target(s) for build reproducibility testing but activate
> > +      :ref:`shared state <overview-manual/concepts:shared state cache>`
> build
> > +      for most dependencies. See
> :doc:`/test-manual/reproducible-builds`.
> > +
>
> What do you mean by "most dependencies"?
>
> The code I glanced at in OE-Core seems to indicate it adds all DEPENDS
> from each leaf recipe to the list of targets to build with sstate-cache
> (the same way it's done for OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS).
>

Sadly, DEPENDS is not all the dependencies of a recipe. Some dependencies
are added via
do_task[depends] = "recipe:do_task2"
Those don't appear in DEPENDS but are built anyway.

Look at PACKAGE_DEPENDS for example:
https://git.yoctoproject.org/poky/tree/meta/classes-global/package.bbclass#n232
There are other instances.

I plan to improve the reproducibility test to include all of those with a
suggestion from Richard, and then, going back to the doc and removing this
"most" among other changes...



> Cheers,
> Quentin
>


-- 
Yoann Congal
Smile ECS - Tech expert

[-- Attachment #2: Type: text/html, Size: 3985 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [docs] [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
  2025-02-11 10:35   ` Yoann Congal
@ 2025-02-11 13:57     ` Quentin Schulz
  2025-02-11 23:34       ` Yoann Congal
  0 siblings, 1 reply; 15+ messages in thread
From: Quentin Schulz @ 2025-02-11 13:57 UTC (permalink / raw)
  To: Yoann Congal; +Cc: docs

Hi Yoann,

On 2/11/25 11:35 AM, Yoann Congal wrote:
> Le lun. 10 févr. 2025 à 18:37, Quentin Schulz <quentin.schulz@cherry.de> a
> écrit :
> 
>> Hi Yoann,
>>
>> On 2/10/25 12:32 AM, Yoann Congal via lists.yoctoproject.org wrote:
>>> From: Yoann Congal <yoann.congal@smile.fr>
>>>
>>> This documents the variable used in the "automate testing a single
>>> recipe's reproducibility" feature [YOCTO #15701]
>>>
>>> Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
>>> ---
>>> v2->v3: Quentin's review:
>>> * s/target/target(s)/
>>> * Removed Guillaume Reviewed-by (given privately)
>>> ---
>>>    documentation/ref-manual/variables.rst | 5 +++++
>>>    1 file changed, 5 insertions(+)
>>>
>>> diff --git a/documentation/ref-manual/variables.rst
>> b/documentation/ref-manual/variables.rst
>>> index adbef69d8..2f1937632 100644
>>> --- a/documentation/ref-manual/variables.rst
>>> +++ b/documentation/ref-manual/variables.rst
>>> @@ -5807,6 +5807,11 @@ system and gives an overview of their function
>> and contents.
>>>          For additional information on how this variable is used, see the
>>>          initialization script.
>>>
>>> +   :term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`
>>> +      Set build target(s) for build reproducibility testing but activate
>>> +      :ref:`shared state <overview-manual/concepts:shared state cache>`
>> build
>>> +      for most dependencies. See
>> :doc:`/test-manual/reproducible-builds`.
>>> +
>>
>> What do you mean by "most dependencies"?
>>
>> The code I glanced at in OE-Core seems to indicate it adds all DEPENDS
>> from each leaf recipe to the list of targets to build with sstate-cache
>> (the same way it's done for OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS).
>>
> 
> Sadly, DEPENDS is not all the dependencies of a recipe. Some dependencies
> are added via
> do_task[depends] = "recipe:do_task2"
> Those don't appear in DEPENDS but are built anyway.
> 
> Look at PACKAGE_DEPENDS for example:
> https://git.yoctoproject.org/poky/tree/meta/classes-global/package.bbclass#n232
> There are other instances.
> 
> I plan to improve the reproducibility test to include all of those with a
> suggestion from Richard, and then, going back to the doc and removing this
> "most" among other changes...
> 

I can't believe how much I'm learning from reviewing patches for the 
docs. I hope people understand that and we get more people reviewing and 
sending patches to the ML :)

I missed the [depends] thingy and was totally unaware of the other ones. 
Can you then make it explicit which dependencies we're talking about? 
i.e. the ones explicitly listed in DEPENDS (which may not be all 
dependencies, c.f. [depends] varflags, PACKAGE_DEPENDS and other 
implementations).

Thanks for the explanation and pointer, much appreciated!

Cheers,
Quentin


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [docs] [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
  2025-02-11 13:57     ` Quentin Schulz
@ 2025-02-11 23:34       ` Yoann Congal
  0 siblings, 0 replies; 15+ messages in thread
From: Yoann Congal @ 2025-02-11 23:34 UTC (permalink / raw)
  To: Quentin Schulz; +Cc: docs

[-- Attachment #1: Type: text/plain, Size: 3357 bytes --]

Le mar. 11 févr. 2025 à 14:57, Quentin Schulz <quentin.schulz@cherry.de> a
écrit :

> Hi Yoann,
>
> On 2/11/25 11:35 AM, Yoann Congal wrote:
> > Le lun. 10 févr. 2025 à 18:37, Quentin Schulz <quentin.schulz@cherry.de>
> a
> > écrit :
> >
> >> Hi Yoann,
> >>
> >> On 2/10/25 12:32 AM, Yoann Congal via lists.yoctoproject.org wrote:
> >>> From: Yoann Congal <yoann.congal@smile.fr>
> >>>
> >>> This documents the variable used in the "automate testing a single
> >>> recipe's reproducibility" feature [YOCTO #15701]
> >>>
> >>> Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> >>> ---
> >>> v2->v3: Quentin's review:
> >>> * s/target/target(s)/
> >>> * Removed Guillaume Reviewed-by (given privately)
> >>> ---
> >>>    documentation/ref-manual/variables.rst | 5 +++++
> >>>    1 file changed, 5 insertions(+)
> >>>
> >>> diff --git a/documentation/ref-manual/variables.rst
> >> b/documentation/ref-manual/variables.rst
> >>> index adbef69d8..2f1937632 100644
> >>> --- a/documentation/ref-manual/variables.rst
> >>> +++ b/documentation/ref-manual/variables.rst
> >>> @@ -5807,6 +5807,11 @@ system and gives an overview of their function
> >> and contents.
> >>>          For additional information on how this variable is used, see
> the
> >>>          initialization script.
> >>>
> >>> +   :term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`
> >>> +      Set build target(s) for build reproducibility testing but
> activate
> >>> +      :ref:`shared state <overview-manual/concepts:shared state
> cache>`
> >> build
> >>> +      for most dependencies. See
> >> :doc:`/test-manual/reproducible-builds`.
> >>> +
> >>
> >> What do you mean by "most dependencies"?
> >>
> >> The code I glanced at in OE-Core seems to indicate it adds all DEPENDS
> >> from each leaf recipe to the list of targets to build with sstate-cache
> >> (the same way it's done for OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS).
> >>
> >
> > Sadly, DEPENDS is not all the dependencies of a recipe. Some dependencies
> > are added via
> > do_task[depends] = "recipe:do_task2"
> > Those don't appear in DEPENDS but are built anyway.
> >
> > Look at PACKAGE_DEPENDS for example:
> >
> https://git.yoctoproject.org/poky/tree/meta/classes-global/package.bbclass#n232
> > There are other instances.
> >
> > I plan to improve the reproducibility test to include all of those with a
> > suggestion from Richard, and then, going back to the doc and removing
> this
> > "most" among other changes...
> >
>
> I can't believe how much I'm learning from reviewing patches for the
> docs. I hope people understand that and we get more people reviewing and
> sending patches to the ML :)
>
> I missed the [depends] thingy and was totally unaware of the other ones.
> Can you then make it explicit which dependencies we're talking about?
> i.e. the ones explicitly listed in DEPENDS (which may not be all
> dependencies, c.f. [depends] varflags, PACKAGE_DEPENDS and other
> implementations).
>

I can't be too explicit since I don't know all of the dependencies and this
should be a non-issue in the next version.
I took your suggestion (I hope that was one ^^) for v4.

Thanks


> Thanks for the explanation and pointer, much appreciated!
>
> Cheers,
> Quentin
>


-- 
Yoann Congal
Smile ECS - Tech expert

[-- Attachment #2: Type: text/html, Size: 5140 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [docs] [PATCH v3 4/4] release-notes-5.2: Add new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS
  2025-02-10 17:43   ` [docs] " Quentin Schulz
@ 2025-02-11 23:40     ` Yoann Congal
  0 siblings, 0 replies; 15+ messages in thread
From: Yoann Congal @ 2025-02-11 23:40 UTC (permalink / raw)
  To: Quentin Schulz; +Cc: docs

[-- Attachment #1: Type: text/plain, Size: 1720 bytes --]

Le lun. 10 févr. 2025 à 18:43, Quentin Schulz <quentin.schulz@cherry.de> a
écrit :

> Hi Yoann,
>
> On 2/10/25 12:32 AM, Yoann Congal via lists.yoctoproject.org wrote:
> > From: Yoann Congal <yoann.congal@smile.fr>
> >
> > Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> > ---
> > v2->v3: Antonin's Review:
> > * Add OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS ot release-notes-5.2
> > ---
> >   documentation/migration-guides/release-notes-5.2.rst | 3 +++
> >   1 file changed, 3 insertions(+)
> >
> > diff --git a/documentation/migration-guides/release-notes-5.2.rst
> b/documentation/migration-guides/release-notes-5.2.rst
> > index b0e538700..069e34be5 100644
> > --- a/documentation/migration-guides/release-notes-5.2.rst
> > +++ b/documentation/migration-guides/release-notes-5.2.rst
> > @@ -17,6 +17,9 @@ New Features / Enhancements in |yocto-ver|
> >      -  ``linux-firmware``: Add the :term:`FIRMWARE_COMPRESSION`
> variable which
> >         allows compression the firmwares provided by the
> ``linux-firmware`` recipe.
> >         Possible values are ``xz`` and ``zst``.
> > +   -  reproducibility: Add the
> :term:`OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS`
> > +      variable which enables a reproducibility test on a single recipe
> (without
> > +      the dependencies). See :doc:`/test-manual/reproducible-builds`.
>
> s/single recipe/recipes/ ? You can have multiple recipes listed there I
> believe?
>

You're right, I've updated for v4.


> nitpick: I would say "using sstate-cache for its dependencies" (with a
> link for sstate-cache)
>

I like it, I took this suggestion for v4.


> Cheers,
> Quentin
>


-- 
Yoann Congal
Smile ECS - Tech expert

[-- Attachment #2: Type: text/html, Size: 3013 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-02-11 23:40 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-09 23:32 [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
2025-02-09 23:32 ` [PATCH v3 2/4] reproducible-builds: change/add titles in the "How" section Yoann Congal
2025-02-10  8:55   ` guillaume.swaenepoel
2025-02-09 23:32 ` [PATCH v3 3/4] reproducible-builds: add a "How to" section with OEQA* variables Yoann Congal
2025-02-10  8:55   ` guillaume.swaenepoel
2025-02-10 17:41   ` [docs] " Quentin Schulz
2025-02-09 23:32 ` [PATCH v3 4/4] release-notes-5.2: Add new variable OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS Yoann Congal
2025-02-10  8:56   ` guillaume.swaenepoel
2025-02-10 17:43   ` [docs] " Quentin Schulz
2025-02-11 23:40     ` Yoann Congal
2025-02-10  8:55 ` [PATCH v3 1/4] ref-manual/variables: document OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS guillaume.swaenepoel
2025-02-10 17:37 ` [docs] " Quentin Schulz
2025-02-11 10:35   ` Yoann Congal
2025-02-11 13:57     ` Quentin Schulz
2025-02-11 23:34       ` Yoann Congal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.