nss: Use shared_library() for nss_libvirt_lib

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: 36780c9319
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Andrea Bolognani 2021-12-11 01:10:40 +01:00
parent adeec11ba7
commit 00c4dd794a

View File

@ -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.@0@'.format(nss_so_ver),