]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
waf.bbclass: Print waf output on unparsable version
authorYoann Congal <yoann.congal@smile.fr>
Thu, 15 Feb 2024 17:36:24 +0000 (18:36 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 16 Feb 2024 15:13:16 +0000 (15:13 +0000)
commit4a82c7ca74075b4c22be94891eecc24238bd0e65
tree9349ca8d465de95a0e4ed1ab25d23954bfa5cbd4
parente50827d23fd3789e7a13df6918a06b198bbf4f95
waf.bbclass: Print waf output on unparsable version

On AB runs of reproducible-meta-oe/Repro meta-oe/meta-oe,
"waf --version" does not seem to contain the version but an error
message with "RuntimeWarning: <something>" [0].

Since the actual output is not saved anywhere, it is quite hard to
debug.

This patch detects the problematic case and send it to the log where it
will be seen and fixed. As a side-effect, this error will now only be a
warning.

Here is a partial backtrace for this (full back trace visible in [0]):
  NOTE: recipe mpv-0.35.1-r0: task do_configure: Started
  ERROR: mpv-0.35.1-r0 do_configure: Error executing a python function in exec_func_python() autogenerated:

  The stack trace of python calls that resulted in this exception/failure was:
  File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
   *** 0002:waf_preconfigure(d)
  File: '$TOP/meta/classes-recipe/waf.bbclass', lineno: 58, function: waf_preconfigure
       0056:        result = subprocess.check_output([python, wafbin, '--version'], cwd=subsrcdir, stderr=subprocess.STDOUT)
       0057:        version = result.decode('utf-8').split()[1]
   *** 0058:        if bb.utils.vercmp_string_op(version, "1.8.7", ">="):
  [...]
  File: '$TOP/bitbake/lib/bb/utils.py', lineno: 91, function: split_version
   *** 0091:        e = int(s.split(":")[0])
  Exception: ValueError: invalid literal for int() with base 10: 'RuntimeWarning'

[0]: https://autobuilder.yoctoproject.org/typhoon/#/builders/155/builds/11/steps/32/logs/stdio line 31883

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/waf.bbclass