1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# SPDX-License-Identifier: LGPL-2.1-or-later
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')
endif
if conf.get('HAVE_LIBFIDO2') == 1
systemd_homework_sources += files('homework-fido2.c')
endif
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',
input : 'homed-gperf.gperf',
output : 'homed-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
systemd_homed_sources += [homed_gperf_c]
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',
)
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',
install_dir : dbuspolicydir)
install_data('org.freedesktop.home1.service',
install_dir : dbussystemservicedir)
install_data('org.freedesktop.home1.policy',
install_dir : polkitpolicydir)
if install_sysconfdir_samples
install_data('homed.conf',
install_dir : pkgconfigfiledir)
endif
meson.add_install_script(sh, '-c',
ln_s.format(bindir / 'homectl',
bindir / 'systemd-home-fallback-shell'))
endif
|