qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Helge Deller <deller@gmx.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Michael Roth <michael.roth@amd.com>,
	Michael Tokarev <mjt@tls.msk.ru>,
	qemu-devel@nongnu.org
Subject: Re: [PATCH] meson: Clean up some dependencies regarding qemu-system
Date: Mon, 19 Dec 2022 13:22:21 +0000	[thread overview]
Message-ID: <87fsdble4v.fsf@linaro.org> (raw)
In-Reply-To: <75b841f6-1eab-9d5f-2ad7-89440931ac18@gmx.de>


Helge Deller <deller@gmx.de> writes:

> Hi Paolo,
>
> On 12/17/22 14:28, Paolo Bonzini wrote:
>> On 12/16/22 20:07, Helge Deller wrote:
>>> @@ -3581,7 +3581,7 @@ subdir('qga')
>>>
>>>   # Don't build qemu-keymap if xkbcommon is not explicitly enabled
>>>   # when we don't build tools or system
>>> -if xkbcommon.found()
>>> +if xkbcommon.found() and have_system
>>>     # used for the update-keymaps target, so include rules even if !have_tools
>>>     qemu_keymap = executable('qemu-keymap', files('qemu-keymap.c', 'ui/input-keymap.c') + genh,
>>>                              dependencies: [qemuutil, xkbcommon], install: have_tools)
>>> @@ -3596,7 +3596,9 @@ if have_tools
>>>                  dependencies: [blockdev, qemuutil, gnutls, selinux],
>>>                  install: true)
>>>
>>> -  subdir('storage-daemon')
>>> +  if have_system
>>> +    subdir('storage-daemon')
>>> +  endif
>>>     subdir('contrib/rdmacm-mux')
>>>     subdir('contrib/elf2dmp')
>>>
>>> @@ -3611,7 +3613,7 @@ if have_tools
>>>       subdir('contrib/vhost-user-scsi')
>>>     endif
>>>
>>> -  if targetos == 'linux'
>>> +  if targetos == 'linux' and have_system
>>>       executable('qemu-bridge-helper', files('qemu-bridge-helper.c'),
>>>                  dependencies: [qemuutil, libcap_ng],
>>>                  install: true,
>>> diff --git a/tools/meson.build b/tools/meson.build
>>> index 10eb3a043f..740d572a94 100644
>>> --- a/tools/meson.build
>>> +++ b/tools/meson.build
>>> @@ -5,7 +5,7 @@ have_virtiofsd = get_option('virtiofsd') \
>>>                error_message: 'virtiofsd requires libcap-ng-devel and seccomp-devel') \
>>>       .require(have_vhost_user,
>>>                error_message: 'virtiofsd needs vhost-user-support') \
>>> -    .disable_auto_if(not have_tools and not have_system) \
>>> +    .disable_auto_if(not have_system) \
>>>       .allowed()
>>>
>>>   if have_virtiofsd
>>>
>>
>> These are wrong.  qemu-bridge-helper, virtiofsd, qemu-storage-daemon
>> and qemu-keymap *are* tools; if they fail to build due to any
>> dependencies, or due to other compilation issues, you need to add
>> tests to meson.build and check for the cause of the issues.
>
> No doubt, those are *tools*.
> But aren't those only required when you run system- and/or user-emulation?
>
> Looking at the packaging of qemu in debian:
>
> qemu-system-common debian package consists of thse *tools*:
>   qemu-bridge-helper, vhost-user-gpu, virtfs-proxy-helper, virtiofsd

Well technically vhost-user-gpu and virtiofsd are usable (or should be)
without QEMU as they are vhost-user backends and could be used with
other VMMs that support vhost-user (kvm-tool, crosvm,
xen-vhost-frontend).

Not withstanding that virtiofsd is now a legacy binary as the production
backend for vhost-user virtio-fs is the rust rewrite:

  https://gitlab.com/virtio-fs/virtiofsd

>
> qemu-utils debian package consists of the *utilities*:
>   qemu-img, qemu-io, qemu-nbd
>
> IMHO this categorization makes sense.
> My patch was targetting at making "qemu-utils" possible to build
> and that's why I think the tools you mention should depend on "have_system".
>
>> The rest is okay.
>
> Ok, thanks!
>
> Helge


-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


  parent reply	other threads:[~2022-12-19 13:25 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-16 19:07 [PATCH] meson: Clean up some dependencies regarding qemu-system Helge Deller
2022-12-17 13:28 ` Paolo Bonzini
2022-12-19 11:21   ` Helge Deller
2022-12-19 11:31     ` Peter Maydell
2022-12-19 11:40       ` Philippe Mathieu-Daudé
2022-12-19 11:52         ` Peter Maydell
2022-12-20 20:56           ` Helge Deller
2022-12-21  7:49             ` Michael Tokarev
2022-12-22  5:27               ` Helge Deller
2022-12-19 13:22     ` Alex Bennée [this message]
2022-12-19 11:35 ` Philippe Mathieu-Daudé
2022-12-19 12:13   ` Helge Deller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fsdble4v.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=deller@gmx.de \
    --cc=michael.roth@amd.com \
    --cc=mjt@tls.msk.ru \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).