[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