Yocto Project Discussions
 help / color / mirror / Atom feed
From: Fabien Thomas <fabien.thomas@smile.fr>
To: yocto@lists.yoctoproject.org
Cc: Fabien Thomas <fabien.thomas@smile.fr>,
	Yoann Congal <yoann.congal@smile.fr>
Subject: [yocto-autobuilder-helper][PATCH v2] config.json: add reproducible-openembedded build
Date: Mon,  2 Oct 2023 16:54:46 +0200	[thread overview]
Message-ID: <20231002145446.3166108-1-fabien.thomas@smile.fr> (raw)

The purpose of this new builder is to report the reproducibility status
of all meta-openembedded recipes layer by layer. It use the same
reproducible selftest than OE-Core but setting only world as target,
and excluding all oecore and other openembedded layer recipes.
Also, the report output directory is split by layers.

Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
---

Changes v1->v2 :
* Split builder into multiple steps, one for each openembedded layers.
* Split reports output in the same way, one for each layers.
* For each step, only to be tested layer and its dependancies are added.
* Every other layers than the one that is tested is excluded from world.

 config.json | 133 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 133 insertions(+)

diff --git a/config.json b/config.json
index 05c6794..90762f9 100644
--- a/config.json
+++ b/config.json
@@ -264,6 +264,136 @@
 
             }
         },
+        "reproducible-meta-openembedded" : {
+            "MACHINE" : "qemux86-64",
+            "SDKMACHINE" : "x86_64",
+            "DISTRO" : "None",
+            "NEEDREPOS" : ["oecore", "bitbake", "meta-openembedded"],
+            "ADDLAYER" : [
+                "${BUILDDIR}/../meta-selftest"
+            ],
+            "extravars" : [
+                "EXCLUDE_FROM_WORLD:layer-core = '1'",
+                "EXCLUDE_FROM_WORLD:layer-selftest = '1'",
+                "OEQA_REPRODUCIBLE_TEST_TARGET = 'world'"
+            ],
+            "step1" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-filesystems layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-filesystems/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-filesystems",
+                    "${BUILDDIR}/../meta-openembedded/meta-oe"
+                ],
+                "extravars" : [
+                    "EXCLUDE_FROM_WORLD:layer-openembedded-layer = '1'"
+                ]
+            },
+            "step2" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-gnome layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-gnome/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-gnome",
+                    "${BUILDDIR}/../meta-openembedded/meta-oe",
+                    "${BUILDDIR}/../meta-openembedded/meta-networking",
+                    "${BUILDDIR}/../meta-openembedded/meta-python"
+                ],
+                "extravars" : [
+                    "EXCLUDE_FROM_WORLD:layer-openembedded-layer = '1'",
+                    "EXCLUDE_FROM_WORLD:layer-networking-layer = '1'",
+                    "EXCLUDE_FROM_WORLD:layer-meta-python = '1'"
+                ]
+            },
+            "step3" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-initramfs layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-initramfs/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-initramfs"
+                ]
+            },
+            "step4" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-multimedia layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-multimedia/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-multimedia",
+                    "${BUILDDIR}/../meta-openembedded/meta-oe",
+                    "${BUILDDIR}/../meta-openembedded/meta-python"
+                ],
+                "extravars" : [
+                    "EXCLUDE_FROM_WORLD:layer-openembedded-layer = '1'",
+                    "EXCLUDE_FROM_WORLD:layer-meta-python = '1'"
+                ]
+            },
+            "step5" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-networking layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-networking/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-networking",
+                    "${BUILDDIR}/../meta-openembedded/meta-oe"
+                ],
+                "extravars" : [
+                    "EXCLUDE_FROM_WORLD:layer-openembedded-layer = '1'"
+                ]
+            },
+            "step6" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-oe layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-oe/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-oe"
+                ]
+            },
+            "step7" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-perl layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-perl/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-perl",
+                    "${BUILDDIR}/../meta-openembedded/meta-oe"
+                ],
+                "extravars" : [
+                    "EXCLUDE_FROM_WORLD:layer-openembedded-layer = '1'"
+                ]
+            },
+            "step8" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-python layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-python/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-python",
+                    "${BUILDDIR}/../meta-openembedded/meta-oe"
+                ],
+                "extravars" : [
+                    "EXCLUDE_FROM_WORLD:layer-openembedded-layer = '1'"
+                ]
+            },
+            "step9" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-webserver layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-webserver/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-webserver",
+                    "${BUILDDIR}/../meta-openembedded/meta-oe"
+                ],
+                "extravars" : [
+                    "EXCLUDE_FROM_WORLD:layer-openembedded-layer = '1'"
+                ]
+            },
+            "step10" : {
+                "shortname" : "Reproducible Selftest for openembedded meta-xfce layer",
+                "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail-openembedded-meta-xfce/ DISPLAY=:1 oe-selftest -r reproducible"],
+                "ADDLAYER" : [
+                    "${BUILDDIR}/../meta-openembedded/meta-xfce",
+                    "${BUILDDIR}/../meta-openembedded/meta-oe",
+                    "${BUILDDIR}/../meta-openembedded/meta-gnome",
+                    "${BUILDDIR}/../meta-openembedded/meta-multimedia",
+                    "${BUILDDIR}/../meta-openembedded/meta-python",
+                    "${BUILDDIR}/../meta-openembedded/meta-networking"
+                ],
+                "extravars" : [
+                    "EXCLUDE_FROM_WORLD:layer-openembedded-layer = '1'",
+                    "EXCLUDE_FROM_WORLD:layer-gnome-layer = '1'",
+                    "EXCLUDE_FROM_WORLD:layer-multimedia-layer = '1'",
+                    "EXCLUDE_FROM_WORLD:layer-meta-python = '1'",
+                    "EXCLUDE_FROM_WORLD:layer-networking-layer = '1'"
+                ]
+            }
+        },
         "trigger-build" : {
             "SDKMACHINE" : "x86_64",
             "MACHINE" : "qemux86-64",
@@ -955,6 +1085,9 @@
         "reproducible" : {
             "TEMPLATE" : "reproducible"
         },
+        "reproducible-meta-openembedded" : {
+            "TEMPLATE" : "reproducible-meta-openembedded"
+        },
         "reproducible-ubuntu" : {
             "TEMPLATE" : "reproducible"
         },
-- 
2.34.1



             reply	other threads:[~2023-10-02 14:55 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-02 14:54 Fabien Thomas [this message]
2023-10-02 17:16 ` [yocto] [yocto-autobuilder-helper][PATCH v2] config.json: add reproducible-openembedded build Khem Raj
2023-10-05 16:42 ` Richard Purdie
     [not found] ` <178B43BD6DF66AF4.3256@lists.yoctoproject.org>
2023-10-05 19:46   ` Richard Purdie
     [not found]   ` <178B4DC19A31CF35.3256@lists.yoctoproject.org>
2023-10-05 21:51     ` Richard Purdie
2023-10-06 14:27       ` Fabien THOMAS
2023-10-11  8:38         ` Alexander Kanavin
2023-10-11  9:26           ` Jose Quaresma
2023-10-13 14:41             ` Fabien Thomas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231002145446.3166108-1-fabien.thomas@smile.fr \
    --to=fabien.thomas@smile.fr \
    --cc=yoann.congal@smile.fr \
    --cc=yocto@lists.yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox