]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/home/meson.build
strv: replace always-true condition with assertion
[thirdparty/systemd.git] / src / home / meson.build
index 8a879cc5d5d8bf79d2395dfeb8a34deed11faae2..f573c5fb15af69ac57f25f45373293a75d768750 100644 (file)
@@ -1,27 +1,18 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 
-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')
@@ -30,33 +21,21 @@ if conf.get('HAVE_LIBFIDO2') == 1
         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',
@@ -66,30 +45,91 @@ homed_gperf_c = custom_target(
 
 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_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())
+pam_systemd_home_sources = files(
+        'home-util.c',
+        'pam_systemd_home.c',
+        'user-record-util.c',
+)
+
+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',
@@ -99,8 +139,12 @@ if conf.get('ENABLE_HOMED') == 1
         install_data('org.freedesktop.home1.policy',
                      install_dir : polkitpolicydir)
 
-        if install_sysconfdir
+        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