From: Yoann Congal <[email protected]>
Since [0], the reproducibility test tries to save logs of failed builds.
Using the memory persistent bitbake prevent this by concatenating logs in the
single persistent instance (See [YOCTO #15641]).
So, force a BitBake server restart for each build to ensure a new log
file is created.
This fixes this error (seen on AB [1]):
2024-11-02 08:16:00,816 - oe-selftest - ERROR - reproducibleA build failed.
Trying to compute built packages differences but the test will fail.
2024-11-02 08:16:00,819 - oe-selftest - INFO - ... ERROR
2024-11-02 08:16:00,819 - oe-selftest - INFO - Traceback (most recent call
last):
File
"/srv/pokybuild/yocto-worker/reproducible-meta-oe/build/meta/lib/oeqa/selftest/cases/reproducible.py",
line 321, in test_reproducible_builds
self.copy_file(variables["BB_CONSOLELOG"], os.path.join(save_dir,
"bitbake-%s.log" % name))
File
"/srv/pokybuild/yocto-worker/reproducible-meta-oe/build/meta/lib/oeqa/selftest/cases/reproducible.py",
line 216, in copy_file
shutil.copyfile(source, dest)
File "/usr/lib/python3.11/shutil.py", line 256, in copyfile
with open(src, 'rb') as fsrc:
^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory:
'/srv/pokybuild/yocto-worker/reproducible-meta-oe/build/build/build-st-meta-python/build-st/tmp/log/cooker/qemux86-64/20241102071141.log'
[0]:
https://git.openembedded.org/openembedded-core/commit/?id=c78cc753843d4199443052e8deb0c9c3b7e4b580
[1]:
https://valkyrie.yoctoproject.org/#/builders/87/builds/17/steps/40/logs/stdio
Signed-off-by: Yoann Congal <[email protected]>
---
meta/lib/oeqa/selftest/cases/reproducible.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py
b/meta/lib/oeqa/selftest/cases/reproducible.py
index a68f72ff23..415a1ef577 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -239,6 +239,10 @@ class ReproducibleTests(OESelftestTestCase):
capture_vars.append("BB_CONSOLELOG")
config += 'BB_CONSOLELOG =
"${LOG_DIR}/cooker/${MACHINE}/console.log"\n'
+ # We want different log files for each build, but a persistent bitbake
+ # may reuse the previous log file so restart the bitbake server.
+ bitbake("--kill-server")
+
bitbake_failure_count = 0
if not use_sstate:
if self.sstate_targets:
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#206759):
https://lists.openembedded.org/g/openembedded-core/message/206759
Mute This Topic: https://lists.openembedded.org/mt/109415741/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-