[libvirt PATCH] nss: Use shared_library() for nss_libvirt_lib

Michal Prívozník mprivozn at redhat.com
Mon Dec 13 11:07:36 UTC 2021


On 12/11/21 01:27, Andrea Bolognani wrote:
> shared_module() is intended for shared objects that are
> loaded at runtime using dlopen() whereas NSS plugins need to
> be full-fledged shared libraries with, among other things, a
> proper SONAME.
> 
> Meson seems to have become more strict about this recently,
> because libnss_libvirt.so.2 gets a SONAME when I build it with
> Meson 0.59.4 on Fedora 34 but doesn't when I use Meson 0.60.2
> on Debian testing instead.
> 
> Either way, shared_library() was always the right function
> to use for NSS plugins.
> 
> Fixes: 36780c931900555706fd6db9fc2ce2b4cabf9045
> Signed-off-by: Andrea Bolognani <abologna at redhat.com>
> ---
>  tools/nss/meson.build | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/nss/meson.build b/tools/nss/meson.build
> index 198936f3d4..f77309ebca 100644
> --- a/tools/nss/meson.build
> +++ b/tools/nss/meson.build
> @@ -59,7 +59,7 @@ nss_libvirt_guest_syms = '@0@@1@'.format(
>    meson.current_source_dir() / nss_guest_sym_file,
>  )
>  
> -nss_libvirt_lib = shared_module(
> +nss_libvirt_lib = shared_library(
>    'nss_libvirt',
>    name_prefix: nss_prefix,
>    name_suffix: 'so. at 0@'.format(nss_so_ver),

I'm unable to see any difference on rawhide with
meson-0.60.2-1.fc36.noarch but libvirt_guest is built with
shared_library() so I guess it works.

Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

Michal




More information about the libvir-list mailing list