conf.set_quoted('VENDOR_KEYRING_PATH', join_paths(rootlibexecdir, 'import-pubring.gpg'))
conf.set_quoted('USER_KEYRING_PATH', join_paths(pkgsysconfdir, 'import-pubring.gpg'))
conf.set_quoted('DOCUMENT_ROOT', join_paths(pkgdatadir, 'gatewayd'))
+conf.set_quoted('SYSTEMD_USERWORK_PATH', join_paths(rootlibexecdir, 'systemd-userwork'))
conf.set10('MEMORY_ACCOUNTING_DEFAULT', memory_accounting_default)
conf.set_quoted('MEMORY_ACCOUNTING_DEFAULT_YES_NO', memory_accounting_default ? 'yes' : 'no')
conf.set('STATUS_UNIT_FORMAT_DEFAULT', 'STATUS_UNIT_FORMAT_' + status_unit_format_default.to_upper())
endif
conf.set10('HAVE_OPENSSL', have)
+want_p11kit = get_option('p11kit')
+if want_p11kit != 'false' and not skip_deps
+ libp11kit = dependency('p11-kit-1',
+ version : '>= 0.23.3',
+ required : want_p11kit == 'true')
+ have = libp11kit.found()
+else
+ have = false
+ libp11kit = []
+endif
+conf.set10('HAVE_P11KIT', have)
+
want_elfutils = get_option('elfutils')
if want_elfutils != 'false' and not skip_deps
libdw = dependency('libdw',
'localed',
'machined',
'portabled',
+ 'userdb',
'networkd',
'timedated',
'timesyncd',
subdir('src/locale')
subdir('src/machine')
subdir('src/portable')
+subdir('src/userdb')
subdir('src/nspawn')
subdir('src/resolve')
subdir('src/timedate')
build_by_default : want_tests != 'false')
foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'],
- ['systemd', 'ENABLE_NSS_SYSTEMD'],
+ ['systemd', 'ENABLE_NSS_SYSTEMD', 'src/nss-systemd/userdb-glue.c src/nss-systemd/userdb-glue.h'],
['mymachines', 'ENABLE_NSS_MYMACHINES'],
['resolve', 'ENABLE_NSS_RESOLVE']]
sym = 'src/nss-@0@/nss-@0@.sym'.format(module)
version_script_arg = join_paths(project_source_root, sym)
+ sources = ['src/nss-@0@/nss-@0@.c'.format(module)]
+ if tuple.length() > 2
+ sources += tuple[2].split()
+ endif
+
nss = shared_library(
'nss_' + module,
- 'src/nss-@0@/nss-@0@.c'.format(module),
+ sources,
disable_mempool_c,
version : '2',
include_directories : includes,
public_programs += exe
endif
+if conf.get('ENABLE_USERDB') == 1
+ executable('systemd-userwork',
+ systemd_userwork_sources,
+ include_directories : includes,
+ link_with : [libshared],
+ dependencies : [threads],
+ install_rpath : rootlibexecdir,
+ install : true,
+ install_dir : rootlibexecdir)
+
+ executable('systemd-userdbd',
+ systemd_userdbd_sources,
+ include_directories : includes,
+ link_with : [libshared],
+ dependencies : [threads],
+ install_rpath : rootlibexecdir,
+ install : true,
+ install_dir : rootlibexecdir)
+
+ executable('userdbctl',
+ userdbctl_sources,
+ include_directories : includes,
+ link_with : [libshared],
+ dependencies : [threads],
+ install_rpath : rootlibexecdir,
+ install : true,
+ install_dir : rootbindir)
+endif
+
foreach alias : ['halt', 'poweroff', 'reboot', 'runlevel', 'shutdown', 'telinit']
meson.add_install_script(meson_make_symlink,
join_paths(rootbindir, 'systemctl'),
install_dir : systemgeneratordir)
if conf.get('HAVE_LIBCRYPTSETUP') == 1
+ systemd_cryptsetup_sources = files('''
+ src/cryptsetup/cryptsetup.c
+ src/cryptsetup/cryptsetup-pkcs11.h
+'''.split())
+
+ if conf.get('HAVE_P11KIT') == 1
+ systemd_cryptsetup_sources += files('src/cryptsetup/cryptsetup-pkcs11.c')
+ endif
+
executable('systemd-cryptsetup',
- 'src/cryptsetup/cryptsetup.c',
+ systemd_cryptsetup_sources,
include_directories : includes,
link_with : [libshared],
- dependencies : [libcryptsetup],
+ dependencies : [libcryptsetup,
+ libp11kit],
install_rpath : rootlibexecdir,
install : true,
install_dir : rootlibexecdir)
link_with : [libnetworkd_core,
libsystemd_network,
libudev_static,
- libshared],
+ networkd_link_with],
dependencies : [threads],
install_rpath : rootlibexecdir,
install : true,
systemd_networkd_wait_online_sources,
include_directories : includes,
link_with : [libnetworkd_core,
- libshared],
+ networkd_link_with],
install_rpath : rootlibexecdir,
install : true,
install_dir : rootlibexecdir)
networkctl_sources,
include_directories : includes,
link_with : [libsystemd_network,
- libshared],
+ networkd_link_with],
install_rpath : rootlibexecdir,
install : true,
install_dir : rootbindir)
executable('systemd-network-generator',
network_generator_sources,
include_directories : includes,
- link_with : [libshared],
+ link_with : [networkd_link_with],
install_rpath : rootlibexecdir,
install : true,
install_dir : rootlibexecdir)
foreach tuple : [
['libcryptsetup'],
['PAM'],
+ ['p11kit'],
['AUDIT'],
['IMA'],
['AppArmor'],
['logind'],
['machined'],
['portabled'],
+ ['userdb'],
['importd'],
['hostnamed'],
['timedated'],
['trace logging', conf.get('LOG_TRACE') == 1],
['link-udev-shared', get_option('link-udev-shared')],
['link-systemctl-shared', get_option('link-systemctl-shared')],
+ ['link-networkd-shared', get_option('link-networkd-shared')],
]
if tuple.length() >= 2