[PATCH] meson: don't build vstorage where mntent.h is not present

Pavel Hrdina phrdina at redhat.com
Tue Jan 19 14:59:16 UTC 2021


On Tue, Jan 19, 2021 at 04:41:35PM +0300, Nikolay Shirokovskiy wrote:
> This should fix CI error:
> 
>     ../dist-unpack/libvirt-7.1.0/src/storage/storage_backend_vstorage.c:10:10: fatal error: 'mntent.h' file not found
>     #include <mntent.h>
>     ^~~~~~~~~~
> 
> on freebsd and mac.
> 
> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
> ---
>  meson.build | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index e3e7ff7..a6b6169 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1957,8 +1957,20 @@ if conf.has('WITH_LIBVIRTD')
>    endif
>  
>    if not get_option('storage_vstorage').disabled()
> -    use_storage = true
> -    conf.set('WITH_STORAGE_VSTORAGE', 1)
> +    vstorage_enable = true
> +
> +    if not cc.has_header('mntent.h')

This makes me question if it makes sense to build vstorage for anything
else then linux? It looks like that on FreeBSD or macOS it will be never
enabled and we already disable libvirtd and all storage drivers for
windows so we might as well make this condition

    if host_machine.system() != 'linux'

and claim that vstorage is supported only on linux.

I see that the check is inspired by FS storage driver but if mntent.h is
not available or difficult to get on FreeBSD or macOS we could make it
easier for users instead of having them trying to get mntent.h.

> +      if get_option('storage_fs').enabled()
> +        error('<mntent.h> is required for the FS storage driver')

This should probably say "Virtuozzo storage driver".

Pavel

> +      else
> +        vstorage_enable = false
> +      endif
> +    endif
> +
> +    if vstorage_enable
> +      use_storage = true
> +      conf.set('WITH_STORAGE_VSTORAGE', 1)
> +    endif
>    endif
>  
>    if not get_option('storage_zfs').disabled()
> -- 
> 1.8.3.1
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20210119/05e8de77/attachment-0001.sig>


More information about the libvir-list mailing list