summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2019-07-04 18:35:39 +0200
committerLennart Poettering <lennart@poettering.net>2020-01-28 22:36:07 +0100
commit70a5db5822c8056b53d9a4a9273ad12cb5f87a92 (patch)
tree809814f6ff623eec673b1ef4efbc4252a635a84f /meson.build
parente53db1405c5db608665ebfac4508823f215a312a (diff)
downloadsystemd-70a5db5822c8056b53d9a4a9273ad12cb5f87a92.tar.gz
home: add new systemd-homed service that can manage LUKS homes
Fixes more or less: https://bugs.freedesktop.org/show_bug.cgi?id=67474
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build60
1 files changed, 60 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index 54820d3f6a..f0f9bdb0ce 100644
--- a/meson.build
+++ b/meson.build
@@ -243,6 +243,7 @@ conf.set_quoted('SYSTEMD_EXPORT_PATH', join_paths(rootlib
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_HOMEWORK_PATH', join_paths(rootlibexecdir, 'systemd-homework'))
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')
@@ -884,6 +885,16 @@ else
endif
conf.set10('HAVE_LIBFDISK', have)
+want_pwquality = get_option('pwquality')
+if want_pwquality != 'false' and not skip_deps
+ libpwquality = dependency('pwquality', required : want_pwquality == 'true')
+ have = libpwquality.found()
+else
+ have = false
+ libpwquality = []
+endif
+conf.set10('HAVE_PWQUALITY', have)
+
want_seccomp = get_option('seccomp')
if want_seccomp != 'false' and not skip_deps
libseccomp = dependency('libseccomp',
@@ -1011,6 +1022,9 @@ if want_libcryptsetup != 'false' and not skip_deps
version : '>= 2.0.1',
required : want_libcryptsetup == 'true')
have = libcryptsetup.found()
+
+ conf.set10('HAVE_CRYPT_SET_METADATA_SIZE',
+ have and cc.has_function('crypt_set_metadata_size', dependencies : libcryptsetup))
else
have = false
libcryptsetup = []
@@ -1316,6 +1330,19 @@ else
endif
conf.set10('ENABLE_IMPORTD', have)
+want_homed = get_option('homed')
+if want_homed != 'false'
+ have = (conf.get('HAVE_OPENSSL') == 1 and
+ conf.get('HAVE_LIBFDISK') == 1 and
+ conf.get('HAVE_LIBCRYPTSETUP') == 1)
+ if want_homed == 'true' and not have
+ error('homed support was requested, but dependencies are not available')
+ endif
+else
+ have = false
+endif
+conf.set10('ENABLE_HOMED', have)
+
want_remote = get_option('remote')
if want_remote != 'false'
have_deps = [conf.get('HAVE_MICROHTTPD') == 1,
@@ -1564,6 +1591,7 @@ subdir('src/locale')
subdir('src/machine')
subdir('src/portable')
subdir('src/userdb')
+subdir('src/home')
subdir('src/nspawn')
subdir('src/resolve')
subdir('src/timedate')
@@ -2034,6 +2062,35 @@ if conf.get('ENABLE_USERDB') == 1
install_dir : rootbindir)
endif
+if conf.get('ENABLE_HOMED') == 1
+ executable('systemd-homework',
+ systemd_homework_sources,
+ include_directories : includes,
+ link_with : [libshared],
+ dependencies : [threads,
+ libcryptsetup,
+ libblkid,
+ libcrypt,
+ libopenssl,
+ libfdisk,
+ libp11kit],
+ install_rpath : rootlibexecdir,
+ install : true,
+ install_dir : rootlibexecdir)
+
+ executable('systemd-homed',
+ systemd_homed_sources,
+ include_directories : includes,
+ link_with : [libshared],
+ dependencies : [threads,
+ libcrypt,
+ libopenssl,
+ libpwquality],
+ install_rpath : rootlibexecdir,
+ install : true,
+ install_dir : rootlibexecdir)
+endif
+
foreach alias : ['halt', 'poweroff', 'reboot', 'runlevel', 'shutdown', 'telinit']
meson.add_install_script(meson_make_symlink,
join_paths(rootbindir, 'systemctl'),
@@ -3291,6 +3348,8 @@ missing = []
foreach tuple : [
['libcryptsetup'],
['PAM'],
+ ['pwquality'],
+ ['fdisk'],
['p11kit'],
['AUDIT'],
['IMA'],
@@ -3329,6 +3388,7 @@ foreach tuple : [
['machined'],
['portabled'],
['userdb'],
+ ['homed'],
['importd'],
['hostnamed'],
['timedated'],