diff mbox series

[1/2] qemu: retain default trace backend if 'ust' is not enabled

Message ID 20230403143730.26123-1-thomas.de_schampheleire@nokia.com
State New
Headers show
Series [1/2] qemu: retain default trace backend if 'ust' is not enabled | expand

Commit Message

Thomas De Schampheleire April 3, 2023, 2:37 p.m. UTC
The qemu build system enables the 'log' trace backend by default, if no
explicit choice was made with '--enable-trace-backend=CHOICE'.

However, the qemu recipe uses the following PACKAGECONFIG line:
    PACKAGECONFIG[ust] = "--enable-trace-backend=ust,--enable-trace-backend=nop,lttng-ust,"

which means that the 'nop' trace backend will be explicitly selected if the
'ust' feature is not enabled. The 'nop' backend removes almost all trace
points at compile time, and thus basically means 'disable tracing'.

To retain the default trace backend if 'ust' is not enabled, the above
PACKAGECONFIG line should either explicitly fall back to the 'log' backend,
or not provide any value for the 'disabled' case. This commit chooses the
latter to not make any assumption about the upstream default.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
---
 meta/recipes-devtools/qemu/qemu.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Purdie April 4, 2023, 10:05 a.m. UTC | #1
On Mon, 2023-04-03 at 16:37 +0200, Thomas De Schampheleire wrote:
> The qemu build system enables the 'log' trace backend by default, if no
> explicit choice was made with '--enable-trace-backend=CHOICE'.
> 
> However, the qemu recipe uses the following PACKAGECONFIG line:
>     PACKAGECONFIG[ust] = "--enable-trace-backend=ust,--enable-trace-backend=nop,lttng-ust,"
> 
> which means that the 'nop' trace backend will be explicitly selected if the
> 'ust' feature is not enabled. The 'nop' backend removes almost all trace
> points at compile time, and thus basically means 'disable tracing'.
> 
> To retain the default trace backend if 'ust' is not enabled, the above
> PACKAGECONFIG line should either explicitly fall back to the 'log' backend,
> or not provide any value for the 'disabled' case. This commit chooses the
> latter to not make any assumption about the upstream default.
> 
> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> ---
>  meta/recipes-devtools/qemu/qemu.inc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
> index b41055fe5d..ae99a9e87b 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -207,7 +207,7 @@ PACKAGECONFIG[libudev] = "--enable-libudev,--disable-libudev,eudev"
>  PACKAGECONFIG[attr] = "--enable-attr,--disable-attr,attr,"
>  PACKAGECONFIG[rbd] = "--enable-rbd,--disable-rbd,ceph,ceph"
>  PACKAGECONFIG[vhost] = "--enable-vhost-net,--disable-vhost-net,,"
> -PACKAGECONFIG[ust] = "--enable-trace-backend=ust,--enable-trace-backend=nop,lttng-ust,"
> +PACKAGECONFIG[ust] = "--enable-trace-backend=ust,,lttng-ust,"
>  PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,,"
>  PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
>  # libnfs is currently provided by meta-kodi

This triggered reproducible build test failures:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2659/steps/12/logs/stdio

which leads to:

http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230403-itxd_s50/packages/diff-html/

i.e. the paths to files is being encoded the target source package
files.

We'll need to resolve that issue before we can turn the default tracing
on.

Cheers,

Richard
Thomas De Schampheleire April 4, 2023, 6:32 p.m. UTC | #2
On Tue, Apr 04, 2023 at 11:05:05AM +0100, Richard Purdie wrote:
> This triggered reproducible build test failures:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2659/steps/12/logs/stdio
> 
> which leads to:
> 
> http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230403-itxd_s50/packages/diff-html/
> 
> i.e. the paths to files is being encoded the target source package
> files.
> 
> We'll need to resolve that issue before we can turn the default tracing
> on.

Thanks for reviewing/testing, v2 coming up where that should be fixed.

/Thomas
diff mbox series

Patch

diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index b41055fe5d..ae99a9e87b 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -207,7 +207,7 @@  PACKAGECONFIG[libudev] = "--enable-libudev,--disable-libudev,eudev"
 PACKAGECONFIG[attr] = "--enable-attr,--disable-attr,attr,"
 PACKAGECONFIG[rbd] = "--enable-rbd,--disable-rbd,ceph,ceph"
 PACKAGECONFIG[vhost] = "--enable-vhost-net,--disable-vhost-net,,"
-PACKAGECONFIG[ust] = "--enable-trace-backend=ust,--enable-trace-backend=nop,lttng-ust,"
+PACKAGECONFIG[ust] = "--enable-trace-backend=ust,,lttng-ust,"
 PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,,"
 PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
 # libnfs is currently provided by meta-kodi