# SPDX-License-Identifier: LGPL-2.1-or-later
-home_includes = [includes, include_directories('.')]
-
-systemd_homework_sources = files('''
- home-util.c
- home-util.h
- homework-cifs.c
- homework-cifs.h
- homework-directory.c
- homework-directory.h
- homework-fido2.h
- homework-fscrypt.c
- homework-fscrypt.h
- homework-luks.c
- homework-luks.h
- homework-mount.c
- homework-mount.h
- homework-pkcs11.h
- homework-quota.c
- homework-quota.h
- homework.c
- homework.h
- user-record-util.c
- user-record-util.h
-'''.split())
+systemd_homework_sources = files(
+ 'home-util.c',
+ 'homework-blob.c',
+ 'homework-cifs.c',
+ 'homework-directory.c',
+ 'homework-fscrypt.c',
+ 'homework-luks.c',
+ 'homework-mount.c',
+ 'homework-password-cache.c',
+ 'homework-quota.c',
+ 'homework.c',
+ 'user-record-util.c',
+)
if conf.get('HAVE_P11KIT') == 1
systemd_homework_sources += files('homework-pkcs11.c')
systemd_homework_sources += files('homework-fido2.c')
endif
-systemd_homed_sources = files('''
- home-util.c
- home-util.h
- homed-bus.c
- homed-bus.h
- homed-conf.c
- homed-conf.h
- homed-home-bus.c
- homed-home-bus.h
- homed-home.c
- homed-home.h
- homed-manager-bus.c
- homed-manager-bus.h
- homed-manager.c
- homed-manager.h
- homed-operation.c
- homed-operation.h
- homed-varlink.c
- homed-varlink.h
- homed.c
- user-record-pwquality.c
- user-record-pwquality.h
- user-record-sign.c
- user-record-sign.h
- user-record-util.c
- user-record-util.h
-'''.split())
+systemd_homed_sources = files(
+ 'home-util.c',
+ 'homed-bus.c',
+ 'homed-conf.c',
+ 'homed-home-bus.c',
+ 'homed-home.c',
+ 'homed-manager-bus.c',
+ 'homed-manager.c',
+ 'homed-operation.c',
+ 'homed-varlink.c',
+ 'homed.c',
+ 'user-record-password-quality.c',
+ 'user-record-sign.c',
+ 'user-record-util.c',
+)
homed_gperf_c = custom_target(
'homed_gperf.c',
systemd_homed_sources += [homed_gperf_c]
-homectl_sources = files('''
- home-util.c
- home-util.h
- homectl-fido2.c
- homectl-fido2.h
- homectl-pkcs11.c
- homectl-pkcs11.h
- homectl-recovery-key.c
- homectl-recovery-key.h
- homectl.c
- user-record-pwquality.c
- user-record-pwquality.h
- user-record-util.c
- user-record-util.h
-'''.split())
+homectl_sources = files(
+ 'home-util.c',
+ 'homectl-fido2.c',
+ 'homectl-pkcs11.c',
+ 'homectl-recovery-key.c',
+ 'homectl.c',
+ 'user-record-password-quality.c',
+ 'user-record-util.c',
+)
+
+pam_systemd_home_sources = files(
+ 'home-util.c',
+ 'pam_systemd_home.c',
+ 'user-record-util.c',
+)
-pam_systemd_home_sym = 'src/home/pam_systemd_home.sym'
-pam_systemd_home_c = files('''
- home-util.c
- home-util.h
- pam_systemd_home.c
- user-record-util.c
- user-record-util.h
-'''.split())
+executables += [
+ libexec_template + {
+ 'name' : 'systemd-homework',
+ 'conditions' : ['ENABLE_HOMED'],
+ 'sources' : systemd_homework_sources,
+ 'link_with' : [
+ libshared,
+ libshared_fdisk
+ ],
+ 'dependencies' : [
+ libblkid,
+ libcrypt,
+ libfdisk,
+ libopenssl,
+ libp11kit_cflags,
+ threads,
+ ],
+ },
+ libexec_template + {
+ 'name' : 'systemd-homed',
+ 'dbus' : true,
+ 'conditions' : ['ENABLE_HOMED'],
+ 'sources' : systemd_homed_sources,
+ 'include_directories' : includes +
+ include_directories('.'),
+ 'dependencies' : [
+ libcrypt,
+ libm,
+ libopenssl,
+ threads,
+ ],
+ },
+ executable_template + {
+ 'name' : 'homectl',
+ 'public' : true,
+ 'conditions' : ['ENABLE_HOMED'],
+ 'sources' : homectl_sources,
+ 'dependencies' : [
+ libcrypt,
+ libdl,
+ libopenssl,
+ libp11kit_cflags,
+ threads,
+ ],
+ },
+ test_template + {
+ 'sources' : files('test-homed-regression-31896.c'),
+ 'conditions' : ['ENABLE_HOMED'],
+ 'type' : 'manual',
+ },
+]
+
+modules += [
+ pam_template + {
+ 'name' : 'pam_systemd_home',
+ 'conditions' : [
+ 'ENABLE_HOMED',
+ 'HAVE_PAM',
+ ],
+ 'sources' : pam_systemd_home_sources,
+ 'dependencies' : [
+ libcrypt,
+ libpam_misc,
+ libpam,
+ threads,
+ ],
+ 'version-script' : meson.current_source_dir() / 'pam_systemd_home.sym',
+ },
+]
if conf.get('ENABLE_HOMED') == 1
install_data('org.freedesktop.home1.conf',
if install_sysconfdir_samples
install_data('homed.conf',
- install_dir : pkgsysconfdir)
+ install_dir : pkgconfigfiledir)
endif
+
+ meson.add_install_script(sh, '-c',
+ ln_s.format(bindir / 'homectl',
+ bindir / 'systemd-home-fallback-shell'))
endif