All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] qga: Allow building of the guest agent without system emulators or tools
@ 2022-11-09 17:37 Thomas Huth
  2022-11-09 17:50 ` Konstantin Kostiuk
  2022-11-09 21:56 ` Philippe Mathieu-Daudé
  0 siblings, 2 replies; 9+ messages in thread
From: Thomas Huth @ 2022-11-09 17:37 UTC (permalink / raw)
  To: qemu-devel, Konstantin Kostiuk
  Cc: qemu-trivial, Markus Armbruster, Michael Roth, Paolo Bonzini

If configuring with "--disable-system --disable-user --enable-guest-agent"
the linking currently fails with:

qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
build/../../home/thuth/devel/qemu/qga/commands.c:70: undefined reference to `qmp_command_name'
build/../../home/thuth/devel/qemu/qga/commands.c:71: undefined reference to `qmp_command_is_enabled'
build/../../home/thuth/devel/qemu/qga/commands.c:72: undefined reference to `qmp_has_success_response'
qga/qemu-ga.p/commands.c.o: In function `qmp_guest_info':
build/../../home/thuth/devel/qemu/qga/commands.c:82: undefined reference to `qmp_for_each_command'
qga/qemu-ga.p/commands.c.o: In function `qmp_guest_exec':
build/../../home/thuth/devel/qemu/qga/commands.c:410: undefined reference to `qbase64_decode'
qga/qemu-ga.p/channel-posix.c.o: In function `ga_channel_open':
build/../../home/thuth/devel/qemu/qga/channel-posix.c:214: undefined reference to `unix_listen'
build/../../home/thuth/devel/qemu/qga/channel-posix.c:228: undefined reference to `socket_parse'
build/../../home/thuth/devel/qemu/qga/channel-posix.c:234: undefined reference to `socket_listen'
qga/qemu-ga.p/commands-posix.c.o: In function `qmp_guest_file_write':
build/../../home/thuth/devel/qemu/qga/commands-posix.c:527: undefined reference to `qbase64_decode'

Let's make sure that we also compile and link the required files if
the system emulators have not been enabled.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 qapi/meson.build  | 2 +-
 stubs/meson.build | 2 +-
 util/meson.build  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/qapi/meson.build b/qapi/meson.build
index 9a36c15c04..fbdb442fdf 100644
--- a/qapi/meson.build
+++ b/qapi/meson.build
@@ -13,7 +13,7 @@ util_ss.add(files(
 if have_system
   util_ss.add(files('qapi-type-helpers.c'))
 endif
-if have_system or have_tools
+if have_system or have_tools or have_ga
   util_ss.add(files(
     'qmp-dispatch.c',
     'qmp-event.c',
diff --git a/stubs/meson.build b/stubs/meson.build
index 4314161f5f..c96a74f095 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -49,7 +49,7 @@ stub_ss.add(files('vmstate.c'))
 stub_ss.add(files('vm-stop.c'))
 stub_ss.add(files('win32-kbd-hook.c'))
 stub_ss.add(files('cpu-synchronize-state.c'))
-if have_block
+if have_block or have_ga
   stub_ss.add(files('replay-tools.c'))
 endif
 if have_system
diff --git a/util/meson.build b/util/meson.build
index 59c1f467bb..b260539bd5 100644
--- a/util/meson.build
+++ b/util/meson.build
@@ -68,7 +68,7 @@ if have_system
   util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c'))
 endif
 
-if have_block
+if have_block or have_ga
   util_ss.add(files('aiocb.c', 'async.c', 'aio-wait.c'))
   util_ss.add(files('base64.c'))
   util_ss.add(files('buffer.c'))
-- 
2.31.1



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

* Re: [PATCH] qga: Allow building of the guest agent without system emulators or tools
  2022-11-09 17:37 [PATCH] qga: Allow building of the guest agent without system emulators or tools Thomas Huth
@ 2022-11-09 17:50 ` Konstantin Kostiuk
  2022-11-09 21:56 ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 9+ messages in thread
From: Konstantin Kostiuk @ 2022-11-09 17:50 UTC (permalink / raw)
  To: Thomas Huth
  Cc: qemu-devel, qemu-trivial, Markus Armbruster, Michael Roth, Paolo Bonzini

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

Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>

On Wed, Nov 9, 2022 at 7:37 PM Thomas Huth <thuth@redhat.com> wrote:

> If configuring with "--disable-system --disable-user --enable-guest-agent"
> the linking currently fails with:
>
> qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
> build/../../home/thuth/devel/qemu/qga/commands.c:70: undefined reference
> to `qmp_command_name'
> build/../../home/thuth/devel/qemu/qga/commands.c:71: undefined reference
> to `qmp_command_is_enabled'
> build/../../home/thuth/devel/qemu/qga/commands.c:72: undefined reference
> to `qmp_has_success_response'
> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_info':
> build/../../home/thuth/devel/qemu/qga/commands.c:82: undefined reference
> to `qmp_for_each_command'
> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_exec':
> build/../../home/thuth/devel/qemu/qga/commands.c:410: undefined reference
> to `qbase64_decode'
> qga/qemu-ga.p/channel-posix.c.o: In function `ga_channel_open':
> build/../../home/thuth/devel/qemu/qga/channel-posix.c:214: undefined
> reference to `unix_listen'
> build/../../home/thuth/devel/qemu/qga/channel-posix.c:228: undefined
> reference to `socket_parse'
> build/../../home/thuth/devel/qemu/qga/channel-posix.c:234: undefined
> reference to `socket_listen'
> qga/qemu-ga.p/commands-posix.c.o: In function `qmp_guest_file_write':
> build/../../home/thuth/devel/qemu/qga/commands-posix.c:527: undefined
> reference to `qbase64_decode'
>
> Let's make sure that we also compile and link the required files if
> the system emulators have not been enabled.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  qapi/meson.build  | 2 +-
>  stubs/meson.build | 2 +-
>  util/meson.build  | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/qapi/meson.build b/qapi/meson.build
> index 9a36c15c04..fbdb442fdf 100644
> --- a/qapi/meson.build
> +++ b/qapi/meson.build
> @@ -13,7 +13,7 @@ util_ss.add(files(
>  if have_system
>    util_ss.add(files('qapi-type-helpers.c'))
>  endif
> -if have_system or have_tools
> +if have_system or have_tools or have_ga
>    util_ss.add(files(
>      'qmp-dispatch.c',
>      'qmp-event.c',
> diff --git a/stubs/meson.build b/stubs/meson.build
> index 4314161f5f..c96a74f095 100644
> --- a/stubs/meson.build
> +++ b/stubs/meson.build
> @@ -49,7 +49,7 @@ stub_ss.add(files('vmstate.c'))
>  stub_ss.add(files('vm-stop.c'))
>  stub_ss.add(files('win32-kbd-hook.c'))
>  stub_ss.add(files('cpu-synchronize-state.c'))
> -if have_block
> +if have_block or have_ga
>    stub_ss.add(files('replay-tools.c'))
>  endif
>  if have_system
> diff --git a/util/meson.build b/util/meson.build
> index 59c1f467bb..b260539bd5 100644
> --- a/util/meson.build
> +++ b/util/meson.build
> @@ -68,7 +68,7 @@ if have_system
>    util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c'))
>  endif
>
> -if have_block
> +if have_block or have_ga
>    util_ss.add(files('aiocb.c', 'async.c', 'aio-wait.c'))
>    util_ss.add(files('base64.c'))
>    util_ss.add(files('buffer.c'))
> --
> 2.31.1
>
>

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

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

* Re: [PATCH] qga: Allow building of the guest agent without system emulators or tools
  2022-11-09 17:37 [PATCH] qga: Allow building of the guest agent without system emulators or tools Thomas Huth
  2022-11-09 17:50 ` Konstantin Kostiuk
@ 2022-11-09 21:56 ` Philippe Mathieu-Daudé
  2022-11-10  5:49   ` Markus Armbruster
  2022-11-10  8:31   ` Thomas Huth
  1 sibling, 2 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2022-11-09 21:56 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel, Konstantin Kostiuk
  Cc: qemu-trivial, Markus Armbruster, Michael Roth, Paolo Bonzini

On 9/11/22 18:37, Thomas Huth wrote:
> If configuring with "--disable-system --disable-user --enable-guest-agent"
> the linking currently fails with:
> 
> qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
> build/../../home/thuth/devel/qemu/qga/commands.c:70: undefined reference to `qmp_command_name'
> build/../../home/thuth/devel/qemu/qga/commands.c:71: undefined reference to `qmp_command_is_enabled'
> build/../../home/thuth/devel/qemu/qga/commands.c:72: undefined reference to `qmp_has_success_response'
> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_info':
> build/../../home/thuth/devel/qemu/qga/commands.c:82: undefined reference to `qmp_for_each_command'
> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_exec':
> build/../../home/thuth/devel/qemu/qga/commands.c:410: undefined reference to `qbase64_decode'
> qga/qemu-ga.p/channel-posix.c.o: In function `ga_channel_open':
> build/../../home/thuth/devel/qemu/qga/channel-posix.c:214: undefined reference to `unix_listen'
> build/../../home/thuth/devel/qemu/qga/channel-posix.c:228: undefined reference to `socket_parse'
> build/../../home/thuth/devel/qemu/qga/channel-posix.c:234: undefined reference to `socket_listen'
> qga/qemu-ga.p/commands-posix.c.o: In function `qmp_guest_file_write':
> build/../../home/thuth/devel/qemu/qga/commands-posix.c:527: undefined reference to `qbase64_decode'
> 
> Let's make sure that we also compile and link the required files if
> the system emulators have not been enabled.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   qapi/meson.build  | 2 +-
>   stubs/meson.build | 2 +-
>   util/meson.build  | 2 +-
>   3 files changed, 3 insertions(+), 3 deletions(-)

> diff --git a/util/meson.build b/util/meson.build
> index 59c1f467bb..b260539bd5 100644
> --- a/util/meson.build
> +++ b/util/meson.build
> @@ -68,7 +68,7 @@ if have_system
>     util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c'))
>   endif
>   
> -if have_block
> +if have_block or have_ga
>     util_ss.add(files('aiocb.c', 'async.c', 'aio-wait.c'))
>     util_ss.add(files('base64.c'))
>     util_ss.add(files('buffer.c'))

This can be eventually reduced for 'have_ga':

-- 8< --
diff --git a/util/meson.build b/util/meson.build
index 59c1f467bbe..690e8be903e 100644
--- a/util/meson.build
+++ b/util/meson.build
@@ -68,28 +68,30 @@
    util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c'))
  endif

-if have_block
+if have_block or have_ga
    util_ss.add(files('aiocb.c', 'async.c', 'aio-wait.c'))
    util_ss.add(files('base64.c'))
+ 
util_ss.add(files('coroutine-@0@.c'.format(config_host['CONFIG_COROUTINE_BACKEND'])))
+  util_ss.add(files('lockcnt.c'))
+  util_ss.add(files('main-loop.c'))
+  util_ss.add(files('qemu-coroutine.c', 'qemu-coroutine-lock.c', 
'qemu-coroutine-io.c'))
+  util_ss.add(files('qemu-coroutine-sleep.c'))
+  util_ss.add(files('qemu-co-shared-resource.c'))
+  util_ss.add(files('qemu-co-timeout.c'))
+  util_ss.add(files('iov.c', 'qemu-sockets.c', 'uri.c'))
+  util_ss.add(files('thread-pool.c', 'qemu-timer.c'))
+endif
+if have_block
    util_ss.add(files('buffer.c'))
    util_ss.add(files('bufferiszero.c'))
- 
util_ss.add(files('coroutine-@0@.c'.format(config_host['CONFIG_COROUTINE_BACKEND'])))
    util_ss.add(files('hbitmap.c'))
    util_ss.add(files('hexdump.c'))
    util_ss.add(files('iova-tree.c'))
-  util_ss.add(files('iov.c', 'qemu-sockets.c', 'uri.c'))
-  util_ss.add(files('lockcnt.c'))
-  util_ss.add(files('main-loop.c'))
    util_ss.add(files('nvdimm-utils.c'))
-  util_ss.add(files('qemu-coroutine.c', 'qemu-coroutine-lock.c', 
'qemu-coroutine-io.c'))
    util_ss.add(when: 'CONFIG_LINUX', if_true: [
      files('vhost-user-server.c'), vhost_user
    ])
    util_ss.add(files('block-helpers.c'))
-  util_ss.add(files('qemu-coroutine-sleep.c'))
-  util_ss.add(files('qemu-co-shared-resource.c'))
-  util_ss.add(files('qemu-co-timeout.c'))
-  util_ss.add(files('thread-pool.c', 'qemu-timer.c'))
    util_ss.add(files('readline.c'))
    util_ss.add(files('throttle.c'))
    util_ss.add(files('timed-average.c'))
---

Regardless:

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



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

* Re: [PATCH] qga: Allow building of the guest agent without system emulators or tools
  2022-11-09 21:56 ` Philippe Mathieu-Daudé
@ 2022-11-10  5:49   ` Markus Armbruster
  2022-11-10  8:35     ` Thomas Huth
  2022-11-10  8:31   ` Thomas Huth
  1 sibling, 1 reply; 9+ messages in thread
From: Markus Armbruster @ 2022-11-10  5:49 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Thomas Huth, qemu-devel, Konstantin Kostiuk, qemu-trivial,
	Michael Roth, Paolo Bonzini

Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> On 9/11/22 18:37, Thomas Huth wrote:
>> If configuring with "--disable-system --disable-user --enable-guest-agent"
>> the linking currently fails with:
>> 
>> qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
>> build/../../home/thuth/devel/qemu/qga/commands.c:70: undefined reference to `qmp_command_name'
>> build/../../home/thuth/devel/qemu/qga/commands.c:71: undefined reference to `qmp_command_is_enabled'
>> build/../../home/thuth/devel/qemu/qga/commands.c:72: undefined reference to `qmp_has_success_response'
>> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_info':
>> build/../../home/thuth/devel/qemu/qga/commands.c:82: undefined reference to `qmp_for_each_command'
>> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_exec':
>> build/../../home/thuth/devel/qemu/qga/commands.c:410: undefined reference to `qbase64_decode'
>> qga/qemu-ga.p/channel-posix.c.o: In function `ga_channel_open':
>> build/../../home/thuth/devel/qemu/qga/channel-posix.c:214: undefined reference to `unix_listen'
>> build/../../home/thuth/devel/qemu/qga/channel-posix.c:228: undefined reference to `socket_parse'
>> build/../../home/thuth/devel/qemu/qga/channel-posix.c:234: undefined reference to `socket_listen'
>> qga/qemu-ga.p/commands-posix.c.o: In function `qmp_guest_file_write':
>> build/../../home/thuth/devel/qemu/qga/commands-posix.c:527: undefined reference to `qbase64_decode'
>> 
>> Let's make sure that we also compile and link the required files if
>> the system emulators have not been enabled.
>> 
>> Signed-off-by: Thomas Huth <thuth@redhat.com>

I wonder for how long this has been broken.

Should we add such a configuration to CI?

>> ---
>>   qapi/meson.build  | 2 +-
>>   stubs/meson.build | 2 +-
>>   util/meson.build  | 2 +-
>>   3 files changed, 3 insertions(+), 3 deletions(-)
>
>> diff --git a/util/meson.build b/util/meson.build
>> index 59c1f467bb..b260539bd5 100644
>> --- a/util/meson.build
>> +++ b/util/meson.build
>> @@ -68,7 +68,7 @@ if have_system
>>     util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c'))
>>   endif
>>   
>> -if have_block
>> +if have_block or have_ga
>>     util_ss.add(files('aiocb.c', 'async.c', 'aio-wait.c'))
>>     util_ss.add(files('base64.c'))
>>     util_ss.add(files('buffer.c'))
>
> This can be eventually reduced for 'have_ga':
>
> -- 8< --
> diff --git a/util/meson.build b/util/meson.build
> index 59c1f467bbe..690e8be903e 100644
> --- a/util/meson.build
> +++ b/util/meson.build
> @@ -68,28 +68,30 @@
>    util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c'))
>  endif
>
> -if have_block
> +if have_block or have_ga
>    util_ss.add(files('aiocb.c', 'async.c', 'aio-wait.c'))
>    util_ss.add(files('base64.c'))
> + 
> util_ss.add(files('coroutine-@0@.c'.format(config_host['CONFIG_COROUTINE_BACKEND'])))
> +  util_ss.add(files('lockcnt.c'))
> +  util_ss.add(files('main-loop.c'))
> +  util_ss.add(files('qemu-coroutine.c', 'qemu-coroutine-lock.c', 
> 'qemu-coroutine-io.c'))
> +  util_ss.add(files('qemu-coroutine-sleep.c'))
> +  util_ss.add(files('qemu-co-shared-resource.c'))
> +  util_ss.add(files('qemu-co-timeout.c'))
> +  util_ss.add(files('iov.c', 'qemu-sockets.c', 'uri.c'))
> +  util_ss.add(files('thread-pool.c', 'qemu-timer.c'))
> +endif
> +if have_block
>    util_ss.add(files('buffer.c'))
>    util_ss.add(files('bufferiszero.c'))
> - 
> util_ss.add(files('coroutine-@0@.c'.format(config_host['CONFIG_COROUTINE_BACKEND'])))
>    util_ss.add(files('hbitmap.c'))
>    util_ss.add(files('hexdump.c'))
>    util_ss.add(files('iova-tree.c'))
> -  util_ss.add(files('iov.c', 'qemu-sockets.c', 'uri.c'))
> -  util_ss.add(files('lockcnt.c'))
> -  util_ss.add(files('main-loop.c'))
>    util_ss.add(files('nvdimm-utils.c'))
> -  util_ss.add(files('qemu-coroutine.c', 'qemu-coroutine-lock.c', 
> 'qemu-coroutine-io.c'))
>    util_ss.add(when: 'CONFIG_LINUX', if_true: [
>      files('vhost-user-server.c'), vhost_user
>    ])
>    util_ss.add(files('block-helpers.c'))
> -  util_ss.add(files('qemu-coroutine-sleep.c'))
> -  util_ss.add(files('qemu-co-shared-resource.c'))
> -  util_ss.add(files('qemu-co-timeout.c'))
> -  util_ss.add(files('thread-pool.c', 'qemu-timer.c'))
>    util_ss.add(files('readline.c'))
>    util_ss.add(files('throttle.c'))
>    util_ss.add(files('timed-average.c'))

Better!

> ---
>
> Regardless:
>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



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

* Re: [PATCH] qga: Allow building of the guest agent without system emulators or tools
  2022-11-09 21:56 ` Philippe Mathieu-Daudé
  2022-11-10  5:49   ` Markus Armbruster
@ 2022-11-10  8:31   ` Thomas Huth
  1 sibling, 0 replies; 9+ messages in thread
From: Thomas Huth @ 2022-11-10  8:31 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel, Konstantin Kostiuk
  Cc: qemu-trivial, Markus Armbruster, Michael Roth, Paolo Bonzini

On 09/11/2022 22.56, Philippe Mathieu-Daudé wrote:
> On 9/11/22 18:37, Thomas Huth wrote:
>> If configuring with "--disable-system --disable-user --enable-guest-agent"
>> the linking currently fails with:
>>
>> qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
>> build/../../home/thuth/devel/qemu/qga/commands.c:70: undefined reference 
>> to `qmp_command_name'
>> build/../../home/thuth/devel/qemu/qga/commands.c:71: undefined reference 
>> to `qmp_command_is_enabled'
>> build/../../home/thuth/devel/qemu/qga/commands.c:72: undefined reference 
>> to `qmp_has_success_response'
>> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_info':
>> build/../../home/thuth/devel/qemu/qga/commands.c:82: undefined reference 
>> to `qmp_for_each_command'
>> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_exec':
>> build/../../home/thuth/devel/qemu/qga/commands.c:410: undefined reference 
>> to `qbase64_decode'
>> qga/qemu-ga.p/channel-posix.c.o: In function `ga_channel_open':
>> build/../../home/thuth/devel/qemu/qga/channel-posix.c:214: undefined 
>> reference to `unix_listen'
>> build/../../home/thuth/devel/qemu/qga/channel-posix.c:228: undefined 
>> reference to `socket_parse'
>> build/../../home/thuth/devel/qemu/qga/channel-posix.c:234: undefined 
>> reference to `socket_listen'
>> qga/qemu-ga.p/commands-posix.c.o: In function `qmp_guest_file_write':
>> build/../../home/thuth/devel/qemu/qga/commands-posix.c:527: undefined 
>> reference to `qbase64_decode'
>>
>> Let's make sure that we also compile and link the required files if
>> the system emulators have not been enabled.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   qapi/meson.build  | 2 +-
>>   stubs/meson.build | 2 +-
>>   util/meson.build  | 2 +-
>>   3 files changed, 3 insertions(+), 3 deletions(-)
> 
>> diff --git a/util/meson.build b/util/meson.build
>> index 59c1f467bb..b260539bd5 100644
>> --- a/util/meson.build
>> +++ b/util/meson.build
>> @@ -68,7 +68,7 @@ if have_system
>>     util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c'))
>>   endif
>> -if have_block
>> +if have_block or have_ga
>>     util_ss.add(files('aiocb.c', 'async.c', 'aio-wait.c'))
>>     util_ss.add(files('base64.c'))
>>     util_ss.add(files('buffer.c'))
> 
> This can be eventually reduced for 'have_ga':
> 
> -- 8< --
> diff --git a/util/meson.build b/util/meson.build
> index 59c1f467bbe..690e8be903e 100644
> --- a/util/meson.build
> +++ b/util/meson.build
> @@ -68,28 +68,30 @@
>     util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c'))
>   endif
> 
> -if have_block
> +if have_block or have_ga
>     util_ss.add(files('aiocb.c', 'async.c', 'aio-wait.c'))

Thanks for the idea! By breaking up the lines that contain multiple files, 
it seems that it can even be refined further.
I'll send a v2.

  Thomas



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

* Re: [PATCH] qga: Allow building of the guest agent without system emulators or tools
  2022-11-10  5:49   ` Markus Armbruster
@ 2022-11-10  8:35     ` Thomas Huth
  2022-11-10  9:49       ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Huth @ 2022-11-10  8:35 UTC (permalink / raw)
  To: Markus Armbruster, Philippe Mathieu-Daudé
  Cc: qemu-devel, Konstantin Kostiuk, qemu-trivial, Michael Roth,
	Paolo Bonzini

On 10/11/2022 06.49, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> 
>> On 9/11/22 18:37, Thomas Huth wrote:
>>> If configuring with "--disable-system --disable-user --enable-guest-agent"
>>> the linking currently fails with:
>>>
>>> qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
>>> build/../../home/thuth/devel/qemu/qga/commands.c:70: undefined reference to `qmp_command_name'
>>> build/../../home/thuth/devel/qemu/qga/commands.c:71: undefined reference to `qmp_command_is_enabled'
>>> build/../../home/thuth/devel/qemu/qga/commands.c:72: undefined reference to `qmp_has_success_response'
>>> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_info':
>>> build/../../home/thuth/devel/qemu/qga/commands.c:82: undefined reference to `qmp_for_each_command'
>>> qga/qemu-ga.p/commands.c.o: In function `qmp_guest_exec':
>>> build/../../home/thuth/devel/qemu/qga/commands.c:410: undefined reference to `qbase64_decode'
>>> qga/qemu-ga.p/channel-posix.c.o: In function `ga_channel_open':
>>> build/../../home/thuth/devel/qemu/qga/channel-posix.c:214: undefined reference to `unix_listen'
>>> build/../../home/thuth/devel/qemu/qga/channel-posix.c:228: undefined reference to `socket_parse'
>>> build/../../home/thuth/devel/qemu/qga/channel-posix.c:234: undefined reference to `socket_listen'
>>> qga/qemu-ga.p/commands-posix.c.o: In function `qmp_guest_file_write':
>>> build/../../home/thuth/devel/qemu/qga/commands-posix.c:527: undefined reference to `qbase64_decode'
>>>
>>> Let's make sure that we also compile and link the required files if
>>> the system emulators have not been enabled.
>>>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
> 
> I wonder for how long this has been broken.
> 
> Should we add such a configuration to CI?

Some month ago, I'd say: Sure! ... but considering that gitlab now limits 
the available CI minutes and that apparently nobody really cares about this 
configuration (otherwise someone would have complained about this earlier), 
I think it's not that important to have a separate CI test for this 
configuration.

  Thomas



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

* Re: [PATCH] qga: Allow building of the guest agent without system emulators or tools
  2022-11-10  8:35     ` Thomas Huth
@ 2022-11-10  9:49       ` Philippe Mathieu-Daudé
  2022-11-10  9:57         ` Thomas Huth
  0 siblings, 1 reply; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2022-11-10  9:49 UTC (permalink / raw)
  To: Thomas Huth, Markus Armbruster
  Cc: qemu-devel, Konstantin Kostiuk, qemu-trivial, Michael Roth,
	Paolo Bonzini

On 10/11/22 09:35, Thomas Huth wrote:
> On 10/11/2022 06.49, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé <philmd@linaro.org> writes:
>>
>>> On 9/11/22 18:37, Thomas Huth wrote:
>>>> If configuring with "--disable-system --disable-user 
>>>> --enable-guest-agent"
>>>> the linking currently fails with:
>>>>
>>>> qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
>>>> build/../../home/thuth/devel/qemu/qga/commands.c:70: undefined 
>>>> reference to `qmp_command_name'

>>>> Let's make sure that we also compile and link the required files if
>>>> the system emulators have not been enabled.
>>>>
>>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>
>> I wonder for how long this has been broken.
>>
>> Should we add such a configuration to CI?
> 
> Some month ago, I'd say: Sure! ... but considering that gitlab now 
> limits the available CI minutes and that apparently nobody really cares 
> about this configuration (otherwise someone would have complained about 
> this earlier), I think it's not that important to have a separate CI 
> test for this configuration.

We could eventually add a job restricted to qemu-project CI (not in
forks).


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

* Re: [PATCH] qga: Allow building of the guest agent without system emulators or tools
  2022-11-10  9:49       ` Philippe Mathieu-Daudé
@ 2022-11-10  9:57         ` Thomas Huth
  2022-11-10 10:05           ` Daniel P. Berrangé
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Huth @ 2022-11-10  9:57 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, Markus Armbruster
  Cc: qemu-devel, Konstantin Kostiuk, qemu-trivial, Michael Roth,
	Paolo Bonzini

On 10/11/2022 10.49, Philippe Mathieu-Daudé wrote:
> On 10/11/22 09:35, Thomas Huth wrote:
>> On 10/11/2022 06.49, Markus Armbruster wrote:
>>> Philippe Mathieu-Daudé <philmd@linaro.org> writes:
>>>
>>>> On 9/11/22 18:37, Thomas Huth wrote:
>>>>> If configuring with "--disable-system --disable-user --enable-guest-agent"
>>>>> the linking currently fails with:
>>>>>
>>>>> qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
>>>>> build/../../home/thuth/devel/qemu/qga/commands.c:70: undefined 
>>>>> reference to `qmp_command_name'
> 
>>>>> Let's make sure that we also compile and link the required files if
>>>>> the system emulators have not been enabled.
>>>>>
>>>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>>
>>> I wonder for how long this has been broken.
>>>
>>> Should we add such a configuration to CI?
>>
>> Some month ago, I'd say: Sure! ... but considering that gitlab now limits 
>> the available CI minutes and that apparently nobody really cares about 
>> this configuration (otherwise someone would have complained about this 
>> earlier), I think it's not that important to have a separate CI test for 
>> this configuration.
> 
> We could eventually add a job restricted to qemu-project CI (not in
> forks).

The problem is: Who's going to create such jobs? Someone needs to write the 
yaml stuff and test it first. And at least I pretty much lost motivation to 
work on new yaml stuff, since this burns my private CI minutes (which I 
rather need for my maintainer duties instead).

  Thomas



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

* Re: [PATCH] qga: Allow building of the guest agent without system emulators or tools
  2022-11-10  9:57         ` Thomas Huth
@ 2022-11-10 10:05           ` Daniel P. Berrangé
  0 siblings, 0 replies; 9+ messages in thread
From: Daniel P. Berrangé @ 2022-11-10 10:05 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Philippe Mathieu-Daudé,
	Markus Armbruster, qemu-devel, Konstantin Kostiuk, qemu-trivial,
	Michael Roth, Paolo Bonzini

On Thu, Nov 10, 2022 at 10:57:27AM +0100, Thomas Huth wrote:
> On 10/11/2022 10.49, Philippe Mathieu-Daudé wrote:
> > On 10/11/22 09:35, Thomas Huth wrote:
> > > On 10/11/2022 06.49, Markus Armbruster wrote:
> > > > Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> > > > 
> > > > > On 9/11/22 18:37, Thomas Huth wrote:
> > > > > > If configuring with "--disable-system --disable-user --enable-guest-agent"
> > > > > > the linking currently fails with:
> > > > > > 
> > > > > > qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
> > > > > > build/../../home/thuth/devel/qemu/qga/commands.c:70:
> > > > > > undefined reference to `qmp_command_name'
> > 
> > > > > > Let's make sure that we also compile and link the required files if
> > > > > > the system emulators have not been enabled.
> > > > > > 
> > > > > > Signed-off-by: Thomas Huth <thuth@redhat.com>
> > > > 
> > > > I wonder for how long this has been broken.
> > > > 
> > > > Should we add such a configuration to CI?
> > > 
> > > Some month ago, I'd say: Sure! ... but considering that gitlab now
> > > limits the available CI minutes and that apparently nobody really
> > > cares about this configuration (otherwise someone would have
> > > complained about this earlier), I think it's not that important to
> > > have a separate CI test for this configuration.
> > 
> > We could eventually add a job restricted to qemu-project CI (not in
> > forks).
> 
> The problem is: Who's going to create such jobs? Someone needs to write the
> yaml stuff and test it first. And at least I pretty much lost motivation to
> work on new yaml stuff, since this burns my private CI minutes (which I
> rather need for my maintainer duties instead).

Top tip: if you're working on GitLab CI changes, create a separate
QEMU fork in a different namespace for your adhoc testing, separate
from your normal maintainer work.

CI minutes are limited per namespace, ie group or user account, and
AFAIK, there is no limit on the number of groups you can create.

eg, create a group called /thuth-ci, and fork QEMU into that and
you've doubled the number of CI minutes available, so you can afford
to mess around with CI changes and not risk ability to do your other
normal work.

Now of course this ability to create many groups can be abused and
I expect GitLab would take a dim view of such abuse. So I would only
use this creation of extra groups for this very specific use case of
needing to battle test CI YAML changes.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



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

end of thread, other threads:[~2022-11-10 10:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-09 17:37 [PATCH] qga: Allow building of the guest agent without system emulators or tools Thomas Huth
2022-11-09 17:50 ` Konstantin Kostiuk
2022-11-09 21:56 ` Philippe Mathieu-Daudé
2022-11-10  5:49   ` Markus Armbruster
2022-11-10  8:35     ` Thomas Huth
2022-11-10  9:49       ` Philippe Mathieu-Daudé
2022-11-10  9:57         ` Thomas Huth
2022-11-10 10:05           ` Daniel P. Berrangé
2022-11-10  8:31   ` Thomas Huth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.