qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] test: Fix test-crypto-secret when compiling without keyring


From: Juan Quintela
Subject: Re: [PATCH] test: Fix test-crypto-secret when compiling without keyring support
Date: Fri, 03 Mar 2023 20:40:56 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Fri, Mar 03, 2023 at 01:47:40PM +0100, Thomas Huth wrote:
>> On 01/03/2023 12.00, Juan Quintela wrote:
>> > Linux keyring support is protected by CONFIG_KEYUTILS.
>> > Use CONFIG_SECRET_KEYRING.
>> > 
>> > Signed-off-by: Juan Quintela <quintela@redhat.com>
>> > 
>> > ---
>> > 
>> > Previous version of this patch changed the meson build rules.
>> > Daniel told me that the proper fix was to change the #ifdef test.
>> > ---
>> >   tests/unit/test-crypto-secret.c | 10 +++++-----
>> >   1 file changed, 5 insertions(+), 5 deletions(-)
>> 
>> This seems to cause failures in the CI:
>> 
>> https://gitlab.com/thuth/qemu/-/jobs/3870672310#L1443
>> https://gitlab.com/thuth/qemu/-/jobs/3870672331#L2353
>> 
>> ../tests/unit/test-crypto-secret.c:29:10: fatal error: keyutils.h: No such 
>> file or directory
>>    29 | #include <keyutils.h>
>>       |          ^~~~~~~~~~~~
>> compilation terminated.
>
> Hmm, so we actually have to test for both #ifdefs then

Yeap.

I was trying to do something "clever":

diff --git a/meson.build b/meson.build
index 77d2ae87e4..01f3227d62 100644
--- a/meson.build
+++ b/meson.build
@@ -2309,6 +2309,7 @@ config_host_data.set('CONFIG_USBFS', have_linux_user and 
cc.compiles('''
   int main(void) { return 0; }'''))
 
 have_keyring = get_option('keyring') \
+  .require(keyutils.found(), error_message: 'keyring requires keyutils 
libraries') \
   .require(targetos == 'linux', error_message: 'keyring is only available on 
Linux') \
   .require(cc.compiles('''
     #include <errno.h>
(test-secret *)$ 

But it is only the test what requires CONFIG_KEYUTILS,
crypto/secret_keyring.c don't needs it, so we need to do both ifdefs.

> With regards,
> Daniel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]