[PATCH] meson: Propagate gnutls dependency to migration

Jessica Clarke posted 1 patch 3 years ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210320164730.33285-1-jrtc27@jrtc27.com
Maintainers: Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
There is a newer version of this series
migration/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] meson: Propagate gnutls dependency to migration
Posted by Jessica Clarke 3 years ago
Commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2 neglected to fix this
for softmmu configs, which pull in migration's use of gnutls.

Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
---
 migration/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/migration/meson.build b/migration/meson.build
index 9645f44005..6fa2f8745d 100644
--- a/migration/meson.build
+++ b/migration/meson.build
@@ -24,7 +24,7 @@ softmmu_ss.add(files(
   'savevm.c',
   'socket.c',
   'tls.c',
-))
+), gnutls)
 
 softmmu_ss.add(when: ['CONFIG_RDMA', rdma], if_true: files('rdma.c'))
 softmmu_ss.add(when: 'CONFIG_LIVE_BLOCK_MIGRATION', if_true: files('block.c'))
-- 
2.31.0


Re: [PATCH] meson: Propagate gnutls dependency to migration
Posted by Paolo Bonzini 3 years ago
On 20/03/21 17:47, Jessica Clarke wrote:
> Commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2 neglected to fix this
> for softmmu configs, which pull in migration's use of gnutls.
> 
> Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
> ---
>   migration/meson.build | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/migration/meson.build b/migration/meson.build
> index 9645f44005..6fa2f8745d 100644
> --- a/migration/meson.build
> +++ b/migration/meson.build
> @@ -24,7 +24,7 @@ softmmu_ss.add(files(
>     'savevm.c',
>     'socket.c',
>     'tls.c',
> -))
> +), gnutls)
>   
>   softmmu_ss.add(when: ['CONFIG_RDMA', rdma], if_true: files('rdma.c'))
>   softmmu_ss.add(when: 'CONFIG_LIVE_BLOCK_MIGRATION', if_true: files('block.c'))
> 

Hi, can you explain in the commit message the compilation failure that 
is being fixed here?

Paolo


Re: [PATCH] meson: Propagate gnutls dependency to migration
Posted by Paolo Bonzini 3 years ago
On 20/03/21 18:06, Paolo Bonzini wrote:
> On 20/03/21 17:47, Jessica Clarke wrote:
>> Commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2 neglected to fix this
>> for softmmu configs, which pull in migration's use of gnutls.
>>
>> Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
>> ---
>>   migration/meson.build | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/migration/meson.build b/migration/meson.build
>> index 9645f44005..6fa2f8745d 100644
>> --- a/migration/meson.build
>> +++ b/migration/meson.build
>> @@ -24,7 +24,7 @@ softmmu_ss.add(files(
>>     'savevm.c',
>>     'socket.c',
>>     'tls.c',
>> -))
>> +), gnutls)
>>   softmmu_ss.add(when: ['CONFIG_RDMA', rdma], if_true: files('rdma.c'))
>>   softmmu_ss.add(when: 'CONFIG_LIVE_BLOCK_MIGRATION', if_true: 
>> files('block.c'))
>>
> 
> Hi, can you explain in the commit message the compilation failure that 
> is being fixed here?

I suppose it's migration/tls.c?

Paolo

[PATCH v2] meson: Propagate gnutls dependency to migration
Posted by Jessica Clarke 3 years ago
Commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2 neglected to fix this
for softmmu configs, which pull in migration's use of gnutls.

This fixes the following compilation failure on Arm-based Macs:

  In file included from migration/multifd.c:23:
  In file included from migration/tls.h:25:
  In file included from include/io/channel-tls.h:26:
  In file included from include/crypto/tlssession.h:24:
  include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not found
  #include <gnutls/gnutls.h>
           ^~~~~~~~~~~~~~~~~
  1 error generated.

(as well as for channel.c and tls.c)

Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
---
Changes in v2:
 * Added error to commit message

 migration/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/migration/meson.build b/migration/meson.build
index 9645f44005..6fa2f8745d 100644
--- a/migration/meson.build
+++ b/migration/meson.build
@@ -24,7 +24,7 @@ softmmu_ss.add(files(
   'savevm.c',
   'socket.c',
   'tls.c',
-))
+), gnutls)
 
 softmmu_ss.add(when: ['CONFIG_RDMA', rdma], if_true: files('rdma.c'))
 softmmu_ss.add(when: 'CONFIG_LIVE_BLOCK_MIGRATION', if_true: files('block.c'))
-- 
2.31.0


Re: [PATCH v2] meson: Propagate gnutls dependency to migration
Posted by Juan Quintela 3 years ago
Jessica Clarke <jrtc27@jrtc27.com> wrote:
> Commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2 neglected to fix this
> for softmmu configs, which pull in migration's use of gnutls.
>
> This fixes the following compilation failure on Arm-based Macs:
>
>   In file included from migration/multifd.c:23:
>   In file included from migration/tls.h:25:
>   In file included from include/io/channel-tls.h:26:
>   In file included from include/crypto/tlssession.h:24:
>   include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not found
>   #include <gnutls/gnutls.h>
>            ^~~~~~~~~~~~~~~~~
>   1 error generated.
>
> (as well as for channel.c and tls.c)
>
> Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>

I would preffer to be the other way around, i.e. modularize tls out of
migration, but a fast look at it shows it as a big job.  As said on the
commint message, channel.c & tls.c both use tls not conditionally.
Once there, multifd.c also requires tls compiled in.
Can we realistically build qemu without tls nowadays?

Later, Juan.


Re: [PATCH v2] meson: Propagate gnutls dependency to migration
Posted by Daniel P. Berrangé 3 years ago
On Tue, Mar 23, 2021 at 04:04:48PM +0100, Juan Quintela wrote:
> Jessica Clarke <jrtc27@jrtc27.com> wrote:
> > Commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2 neglected to fix this
> > for softmmu configs, which pull in migration's use of gnutls.
> >
> > This fixes the following compilation failure on Arm-based Macs:
> >
> >   In file included from migration/multifd.c:23:
> >   In file included from migration/tls.h:25:
> >   In file included from include/io/channel-tls.h:26:
> >   In file included from include/crypto/tlssession.h:24:
> >   include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not found
> >   #include <gnutls/gnutls.h>
> >            ^~~~~~~~~~~~~~~~~
> >   1 error generated.
> >
> > (as well as for channel.c and tls.c)
> >
> > Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
> 
> Reviewed-by: Juan Quintela <quintela@redhat.com>
> 
> I would preffer to be the other way around, i.e. modularize tls out of
> migration, but a fast look at it shows it as a big job.  As said on the
> commint message, channel.c & tls.c both use tls not conditionally.
> Once there, multifd.c also requires tls compiled in.
> Can we realistically build qemu without tls nowadays?

The intention is that use of TLS is conditionalized *only* in the
crypto/tls*.c and include/crypto/tls*.h files.

The rest of QEMU is supposed to use TLS unconditionally, and will
simply get an error message at runtime if it was unavailable. This
is precisely to avoid littering the whole codebase in QEMU with
conditionals on GNUTLS.


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 :|


Re: [PATCH v2] meson: Propagate gnutls dependency to migration
Posted by Paolo Bonzini 3 years ago
On 20/03/21 18:12, Jessica Clarke wrote:
> Commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2 neglected to fix this
> for softmmu configs, which pull in migration's use of gnutls.
> 
> This fixes the following compilation failure on Arm-based Macs:
> 
>    In file included from migration/multifd.c:23:
>    In file included from migration/tls.h:25:
>    In file included from include/io/channel-tls.h:26:
>    In file included from include/crypto/tlssession.h:24:
>    include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not found
>    #include <gnutls/gnutls.h>
>             ^~~~~~~~~~~~~~~~~
>    1 error generated.
> 
> (as well as for channel.c and tls.c)
> 
> Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
> ---
> Changes in v2:
>   * Added error to commit message
> 
>   migration/meson.build | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/migration/meson.build b/migration/meson.build
> index 9645f44005..6fa2f8745d 100644
> --- a/migration/meson.build
> +++ b/migration/meson.build
> @@ -24,7 +24,7 @@ softmmu_ss.add(files(
>     'savevm.c',
>     'socket.c',
>     'tls.c',
> -))
> +), gnutls)
>   
>   softmmu_ss.add(when: ['CONFIG_RDMA', rdma], if_true: files('rdma.c'))
>   softmmu_ss.add(when: 'CONFIG_LIVE_BLOCK_MIGRATION', if_true: files('block.c'))
> 

Queued, thanks.

Paolo