diff options
-rw-r--r-- | man/nss-myhostname.xml | 2 | ||||
-rw-r--r-- | man/nss-mymachines.xml | 2 | ||||
-rw-r--r-- | man/nss-resolve.xml | 2 | ||||
-rw-r--r-- | man/rules/meson.build | 6 | ||||
-rw-r--r-- | meson.build | 40 | ||||
-rw-r--r-- | meson_options.txt | 12 | ||||
-rw-r--r-- | src/test/meson.build | 2 | ||||
-rw-r--r-- | src/test/test-nss.c | 6 |
8 files changed, 52 insertions, 20 deletions
diff --git a/man/nss-myhostname.xml b/man/nss-myhostname.xml index e1aabacad2..18a6f5f665 100644 --- a/man/nss-myhostname.xml +++ b/man/nss-myhostname.xml @@ -6,7 +6,7 @@ SPDX-License-Identifier: LGPL-2.1+ --> -<refentry id="nss-myhostname" conditional='ENABLE_MYHOSTNAME'> +<refentry id="nss-myhostname" conditional='ENABLE_NSS_MYHOSTNAME'> <refentryinfo> <title>nss-myhostname</title> diff --git a/man/nss-mymachines.xml b/man/nss-mymachines.xml index 394a905665..d9811b24cc 100644 --- a/man/nss-mymachines.xml +++ b/man/nss-mymachines.xml @@ -6,7 +6,7 @@ SPDX-License-Identifier: LGPL-2.1+ --> -<refentry id="nss-mymachines" conditional='ENABLE_MACHINED'> +<refentry id="nss-mymachines" conditional='ENABLE_NSS_MYMACHINES'> <refentryinfo> <title>nss-mymachines</title> diff --git a/man/nss-resolve.xml b/man/nss-resolve.xml index b5dcbbeaca..d747e0b1e5 100644 --- a/man/nss-resolve.xml +++ b/man/nss-resolve.xml @@ -6,7 +6,7 @@ SPDX-License-Identifier: LGPL-2.1+ --> -<refentry id="nss-resolve" conditional='ENABLE_RESOLVE'> +<refentry id="nss-resolve" conditional='ENABLE_NSS_RESOLVE'> <refentryinfo> <title>nss-resolve</title> diff --git a/man/rules/meson.build b/man/rules/meson.build index 35bc1743d9..305876f72b 100644 --- a/man/rules/meson.build +++ b/man/rules/meson.build @@ -37,9 +37,9 @@ manpages = [ ['modules-load.d', '5', [], 'HAVE_KMOD'], ['networkctl', '1', [], 'ENABLE_NETWORKD'], ['networkd.conf', '5', ['networkd.conf.d'], 'ENABLE_NETWORKD'], - ['nss-myhostname', '8', ['libnss_myhostname.so.2'], 'ENABLE_MYHOSTNAME'], - ['nss-mymachines', '8', ['libnss_mymachines.so.2'], 'ENABLE_MACHINED'], - ['nss-resolve', '8', ['libnss_resolve.so.2'], 'ENABLE_RESOLVE'], + ['nss-myhostname', '8', ['libnss_myhostname.so.2'], 'ENABLE_NSS_MYHOSTNAME'], + ['nss-mymachines', '8', ['libnss_mymachines.so.2'], 'ENABLE_NSS_MYMACHINES'], + ['nss-resolve', '8', ['libnss_resolve.so.2'], 'ENABLE_NSS_RESOLVE'], ['nss-systemd', '8', ['libnss_systemd.so.2'], 'ENABLE_NSS_SYSTEMD'], ['os-release', '5', [], ''], ['pam_systemd', '8', [], 'HAVE_PAM'], diff --git a/meson.build b/meson.build index 910e73406f..e72d8c685a 100644 --- a/meson.build +++ b/meson.build @@ -1216,7 +1216,6 @@ foreach term : ['utmp', 'networkd', 'timedated', 'timesyncd', - 'myhostname', 'firstboot', 'randomseed', 'backlight', @@ -1233,12 +1232,39 @@ foreach term : ['utmp', 'smack', 'gshadow', 'idn', + 'nss-myhostname', 'nss-systemd'] have = get_option(term) name = 'ENABLE_' + term.underscorify().to_upper() conf.set10(name, have) endforeach +foreach tuple : [['nss-mymachines', 'machined'], + ['nss-resolve', 'resolve']] + want = get_option(tuple[0]) + if want != 'false' + have = get_option(tuple[1]) + if want == 'true' and not have + error('@0@ is requested but @1@ is disabled'.format(tuple[0], tuple[1])) + endif + else + have = false + endif + name = 'ENABLE_' + tuple[0].underscorify().to_upper() + conf.set10(name, have) +endforeach + +enable_nss = false +foreach term : ['ENABLE_NSS_MYHOSTNAME', + 'ENABLE_NSS_MYMACHINES', + 'ENABLE_NSS_RESOLVE', + 'ENABLE_NSS_SYSTEMD'] + if conf.get(term) == 1 + enable_nss = true + endif +endforeach +conf.set10('ENABLE_NSS', enable_nss) + conf.set10('ENABLE_TIMEDATECTL', get_option('timedated') or get_option('timesyncd')) want_tests = get_option('tests') @@ -1417,10 +1443,10 @@ test_dlopen = executable( link_with : [libbasic], dependencies : [libdl]) -foreach tuple : [['myhostname', 'ENABLE_MYHOSTNAME'], +foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'], ['systemd', 'ENABLE_NSS_SYSTEMD'], - ['mymachines', 'ENABLE_MACHINED'], - ['resolve', 'ENABLE_RESOLVE']] + ['mymachines', 'ENABLE_NSS_MYMACHINES'], + ['resolve', 'ENABLE_NSS_RESOLVE']] condition = tuple[1] == '' or conf.get(tuple[1]) == 1 if condition @@ -2946,7 +2972,6 @@ foreach tuple : [ ['idn'], ['libidn2'], ['libidn'], - ['nss-systemd'], ['libiptc'], ['elfutils'], ['binfmt'], @@ -2981,7 +3006,10 @@ foreach tuple : [ ['blkid'], ['dbus'], ['glib'], - ['nss-myhostname', conf.get('ENABLE_MYHOSTNAME') == 1], + ['nss-myhostname', conf.get('ENABLE_NSS_MYHOSTNAME') == 1], + ['nss-mymachines', conf.get('ENABLE_NSS_MYMACHINES') == 1], + ['nss-resolve', conf.get('ENABLE_NSS_RESOLVE') == 1], + ['nss-systemd', conf.get('ENABLE_NSS_SYSTEMD') == 1], ['hwdb'], ['tpm'], ['man pages', want_man], diff --git a/meson_options.txt b/meson_options.txt index 0b531d96ca..f6a628c059 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -88,8 +88,14 @@ option('timesyncd', type : 'boolean', description : 'install the systemd-timesyncd daemon') option('remote', type : 'combo', choices : ['auto', 'true', 'false'], description : 'support for "journal over the network"') -option('myhostname', type : 'boolean', - description : 'nss-myhostname support') +option('nss-myhostname', type : 'boolean', + description : 'install nss-myhostname module') +option('nss-mymachines', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'install nss-mymachines module') +option('nss-resolve', type : 'combo', choices : ['auto', 'true', 'false'], + description : 'install nss-resolve module') +option('nss-systemd', type : 'boolean', + description : 'install nss-systemd module') option('firstboot', type : 'boolean', description : 'support for firstboot mechanism') option('randomseed', type : 'boolean', @@ -246,8 +252,6 @@ option('libidn2', type : 'combo', choices : ['auto', 'true', 'false'], description : 'libidn2 support') option('libidn', type : 'combo', choices : ['auto', 'true', 'false'], description : 'libidn support') -option('nss-systemd', type : 'boolean', - description : 'enable nss-systemd') option('libiptc', type : 'combo', choices : ['auto', 'true', 'false'], description : 'libiptc support') option('qrencode', type : 'combo', choices : ['auto', 'true', 'false'], diff --git a/src/test/meson.build b/src/test/meson.build index 7da7e3a22c..18f05b2dc2 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -645,7 +645,7 @@ tests += [ [['src/test/test-nss.c'], [], [libdl], - '', 'manual'], + 'ENABLE_NSS', 'manual'], [['src/test/test-umount.c', 'src/core/mount-setup.c', diff --git a/src/test/test-nss.c b/src/test/test-nss.c index 9e543e7557..e0e7bb300d 100644 --- a/src/test/test-nss.c +++ b/src/test/test-nss.c @@ -431,13 +431,13 @@ static int parse_argv(int argc, char **argv, modules = strv_new(argv[1], NULL); else modules = strv_new( -#if ENABLE_MYHOSTNAME +#if ENABLE_NSS_MYHOSTNAME "myhostname", #endif -#if ENABLE_RESOLVE +#if ENABLE_NSS_RESOLVE "resolve", #endif -#if ENABLE_MACHINED +#if ENABLE_NSS_MYMACHINES "mymachines", #endif "dns", |