qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2] meson: fix dependency on qemu-keymap
@ 2023-02-06 18:34 Steve Sistare
  2023-02-06 20:37 ` Marc-André Lureau
  2023-02-20 18:35 ` Thomas Huth
  0 siblings, 2 replies; 4+ messages in thread
From: Steve Sistare @ 2023-02-06 18:34 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Daniel P. Berrange,
	Thomas Huth, Philippe Mathieu-Daudé, Steve Sistare

When qemu-keymap is not available on the host, and enable-xkbcommon
is specified, parallel make fails with:

  % make clean
  ...
  % make -j 32
  ...
  FAILED: pc-bios/keymaps/is
  ./qemu-keymap -f pc-bios/keymaps/is -l is
  /bin/sh: ./qemu-keymap: No such file or directory
  ... many similar messages ...

The code always runs find_program, rather than waiting to build
qemu-keymap, because it looks for CONFIG_XKBCOMMON in config_host
rather than config_host_data.  Making serially succeeds, by soft
linking files from pc-bios/keymaps, but that is not the desired
result for enable-xkbcommon.

Examining all occurrences of 'in config_host' for similar bugs shows one
instance in the docs, which is also fixed here.

Fixes: 4113f4cfee ("meson: move xkbcommon to meson")

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
---
 docs/devel/kconfig.rst      | 2 +-
 pc-bios/keymaps/meson.build | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/devel/kconfig.rst b/docs/devel/kconfig.rst
index 69674d0..cc1a456 100644
--- a/docs/devel/kconfig.rst
+++ b/docs/devel/kconfig.rst
@@ -306,6 +306,6 @@ variable::
 
     host_kconfig = \
       (have_tpm ? ['CONFIG_TPM=y'] : []) + \
-      ('CONFIG_SPICE' in config_host ? ['CONFIG_SPICE=y'] : []) + \
+      ('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
       (have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \
       ...
diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
index 06c75e6..158a3b4 100644
--- a/pc-bios/keymaps/meson.build
+++ b/pc-bios/keymaps/meson.build
@@ -33,7 +33,7 @@ keymaps = {
   'tr': '-l tr',
 }
 
-if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
+if meson.is_cross_build() or not xkbcommon.found()
   native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
 else
   native_qemu_keymap = qemu_keymap
-- 
1.8.3.1



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

* Re: [PATCH V2] meson: fix dependency on qemu-keymap
  2023-02-06 18:34 [PATCH V2] meson: fix dependency on qemu-keymap Steve Sistare
@ 2023-02-06 20:37 ` Marc-André Lureau
  2023-02-20 18:35 ` Thomas Huth
  1 sibling, 0 replies; 4+ messages in thread
From: Marc-André Lureau @ 2023-02-06 20:37 UTC (permalink / raw)
  To: Steve Sistare
  Cc: qemu-devel, Paolo Bonzini, Daniel P. Berrange, Thomas Huth,
	Philippe Mathieu-Daudé

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

On Mon, Feb 6, 2023 at 10:34 PM Steve Sistare <steven.sistare@oracle.com>
wrote:

> When qemu-keymap is not available on the host, and enable-xkbcommon
> is specified, parallel make fails with:
>
>   % make clean
>   ...
>   % make -j 32
>   ...
>   FAILED: pc-bios/keymaps/is
>   ./qemu-keymap -f pc-bios/keymaps/is -l is
>   /bin/sh: ./qemu-keymap: No such file or directory
>   ... many similar messages ...
>
> The code always runs find_program, rather than waiting to build
> qemu-keymap, because it looks for CONFIG_XKBCOMMON in config_host
> rather than config_host_data.  Making serially succeeds, by soft
> linking files from pc-bios/keymaps, but that is not the desired
> result for enable-xkbcommon.
>
> Examining all occurrences of 'in config_host' for similar bugs shows one
> instance in the docs, which is also fixed here.
>
> Fixes: 4113f4cfee ("meson: move xkbcommon to meson")
>
> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
>  docs/devel/kconfig.rst      | 2 +-
>  pc-bios/keymaps/meson.build | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/docs/devel/kconfig.rst b/docs/devel/kconfig.rst
> index 69674d0..cc1a456 100644
> --- a/docs/devel/kconfig.rst
> +++ b/docs/devel/kconfig.rst
> @@ -306,6 +306,6 @@ variable::
>
>      host_kconfig = \
>        (have_tpm ? ['CONFIG_TPM=y'] : []) + \
> -      ('CONFIG_SPICE' in config_host ? ['CONFIG_SPICE=y'] : []) + \
> +      ('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
>        (have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \
>        ...
> diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
> index 06c75e6..158a3b4 100644
> --- a/pc-bios/keymaps/meson.build
> +++ b/pc-bios/keymaps/meson.build
> @@ -33,7 +33,7 @@ keymaps = {
>    'tr': '-l tr',
>  }
>
> -if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
> +if meson.is_cross_build() or not xkbcommon.found()
>    native_qemu_keymap = find_program('qemu-keymap', required: false,
> disabler: true)
>  else
>    native_qemu_keymap = qemu_keymap
> --
> 1.8.3.1
>
>

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

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

* Re: [PATCH V2] meson: fix dependency on qemu-keymap
  2023-02-06 18:34 [PATCH V2] meson: fix dependency on qemu-keymap Steve Sistare
  2023-02-06 20:37 ` Marc-André Lureau
@ 2023-02-20 18:35 ` Thomas Huth
  2023-02-21 12:49   ` Steven Sistare
  1 sibling, 1 reply; 4+ messages in thread
From: Thomas Huth @ 2023-02-20 18:35 UTC (permalink / raw)
  To: Steve Sistare, qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Daniel P. Berrange,
	Philippe Mathieu-Daudé

On 06/02/2023 19.34, Steve Sistare wrote:
> When qemu-keymap is not available on the host, and enable-xkbcommon
> is specified, parallel make fails with:
> 
>    % make clean
>    ...
>    % make -j 32
>    ...
>    FAILED: pc-bios/keymaps/is
>    ./qemu-keymap -f pc-bios/keymaps/is -l is
>    /bin/sh: ./qemu-keymap: No such file or directory
>    ... many similar messages ...
> 
> The code always runs find_program, rather than waiting to build
> qemu-keymap, because it looks for CONFIG_XKBCOMMON in config_host
> rather than config_host_data.  Making serially succeeds, by soft
> linking files from pc-bios/keymaps, but that is not the desired
> result for enable-xkbcommon.
> 
> Examining all occurrences of 'in config_host' for similar bugs shows one
> instance in the docs, which is also fixed here.
> 
> Fixes: 4113f4cfee ("meson: move xkbcommon to meson")
> 
> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
> ---
...
> diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
> index 06c75e6..158a3b4 100644
> --- a/pc-bios/keymaps/meson.build
> +++ b/pc-bios/keymaps/meson.build
> @@ -33,7 +33,7 @@ keymaps = {
>     'tr': '-l tr',
>   }
>   
> -if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
> +if meson.is_cross_build() or not xkbcommon.found()
>     native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
>   else
>     native_qemu_keymap = qemu_keymap

Seems like this is breaking in the CI:

  https://gitlab.com/thuth/qemu/-/jobs/3802437551#L2356

Not sure why it's only happening now, and not before...
maybe the build was picking up a locally instlled qemu-keymap before your 
change?

  Thomas




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

* Re: [PATCH V2] meson: fix dependency on qemu-keymap
  2023-02-20 18:35 ` Thomas Huth
@ 2023-02-21 12:49   ` Steven Sistare
  0 siblings, 0 replies; 4+ messages in thread
From: Steven Sistare @ 2023-02-21 12:49 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Daniel P. Berrange,
	Philippe Mathieu-Daudé

On 2/20/2023 1:35 PM, Thomas Huth wrote:
> On 06/02/2023 19.34, Steve Sistare wrote:
>> When qemu-keymap is not available on the host, and enable-xkbcommon
>> is specified, parallel make fails with:
>>
>>    % make clean
>>    ...
>>    % make -j 32
>>    ...
>>    FAILED: pc-bios/keymaps/is
>>    ./qemu-keymap -f pc-bios/keymaps/is -l is
>>    /bin/sh: ./qemu-keymap: No such file or directory
>>    ... many similar messages ...
>>
>> The code always runs find_program, rather than waiting to build
>> qemu-keymap, because it looks for CONFIG_XKBCOMMON in config_host
>> rather than config_host_data.  Making serially succeeds, by soft
>> linking files from pc-bios/keymaps, but that is not the desired
>> result for enable-xkbcommon.
>>
>> Examining all occurrences of 'in config_host' for similar bugs shows one
>> instance in the docs, which is also fixed here.
>>
>> Fixes: 4113f4cfee ("meson: move xkbcommon to meson")
>>
>> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
>> ---
> ...
>> diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
>> index 06c75e6..158a3b4 100644
>> --- a/pc-bios/keymaps/meson.build
>> +++ b/pc-bios/keymaps/meson.build
>> @@ -33,7 +33,7 @@ keymaps = {
>>     'tr': '-l tr',
>>   }
>>   -if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
>> +if meson.is_cross_build() or not xkbcommon.found()
>>     native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
>>   else
>>     native_qemu_keymap = qemu_keymap
> 
> Seems like this is breaking in the CI:
> 
>  https://gitlab.com/thuth/qemu/-/jobs/3802437551#L2356
> 
> Not sure why it's only happening now, and not before...
> maybe the build was picking up a locally instlled qemu-keymap before your change?

Probably so.  I see you have already submitted a fix, thanks.

- Steve



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

end of thread, other threads:[~2023-02-21 12:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-06 18:34 [PATCH V2] meson: fix dependency on qemu-keymap Steve Sistare
2023-02-06 20:37 ` Marc-André Lureau
2023-02-20 18:35 ` Thomas Huth
2023-02-21 12:49   ` Steven Sistare

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).