]>
Commit | Line | Data |
---|---|---|
3a726fcd | 1 | # SPDX-License-Identifier: LGPL-2.1+ |
3a726fcd | 2 | |
6589a569 NL |
3 | with_runlevels = conf.get('HAVE_SYSV_COMPAT') == 1 |
4 | ||
5c23128d | 5 | units = [ |
37efbbd8 | 6 | ['basic.target', ''], |
a7e88558 | 7 | ['blockdev@.target', ''], |
37efbbd8 | 8 | ['bluetooth.target', ''], |
329d20db | 9 | ['boot-complete.target', ''], |
37efbbd8 ZJS |
10 | ['cryptsetup-pre.target', 'HAVE_LIBCRYPTSETUP'], |
11 | ['cryptsetup.target', 'HAVE_LIBCRYPTSETUP', | |
12 | 'sysinit.target.wants/'], | |
13 | ['dev-hugepages.mount', '', | |
14 | 'sysinit.target.wants/'], | |
15 | ['dev-mqueue.mount', '', | |
16 | 'sysinit.target.wants/'], | |
17 | ['emergency.target', ''], | |
18 | ['exit.target', ''], | |
19 | ['final.target', ''], | |
20 | ['getty.target', '', | |
21 | 'multi-user.target.wants/'], | |
17590254 | 22 | ['getty-pre.target', ''], |
37efbbd8 | 23 | ['graphical.target', '', |
6589a569 | 24 | (with_runlevels ? 'runlevel5.target default.target' : 'default.target')], |
37efbbd8 ZJS |
25 | ['halt.target', ''], |
26 | ['hibernate.target', 'ENABLE_HIBERNATE'], | |
27 | ['hybrid-sleep.target', 'ENABLE_HIBERNATE'], | |
709b423f | 28 | ['suspend-then-hibernate.target', 'ENABLE_HIBERNATE'], |
cdf7ad38 NL |
29 | ['initrd-cleanup.service', 'ENABLE_INITRD'], |
30 | ['initrd-fs.target', 'ENABLE_INITRD'], | |
31 | ['initrd-parse-etc.service', 'ENABLE_INITRD'], | |
32 | ['initrd-root-device.target', 'ENABLE_INITRD'], | |
33 | ['initrd-root-fs.target', 'ENABLE_INITRD'], | |
34 | ['initrd-switch-root.service', 'ENABLE_INITRD'], | |
35 | ['initrd-switch-root.target', 'ENABLE_INITRD'], | |
36 | ['initrd-udevadm-cleanup-db.service', 'ENABLE_INITRD'], | |
37 | ['initrd.target', 'ENABLE_INITRD'], | |
37efbbd8 ZJS |
38 | ['kexec.target', ''], |
39 | ['ldconfig.service', 'ENABLE_LDCONFIG', | |
40 | 'sysinit.target.wants/'], | |
41 | ['local-fs-pre.target', ''], | |
42 | ['local-fs.target', ''], | |
43 | ['machine.slice', 'ENABLE_MACHINED'], | |
01d2041e | 44 | ['machines.target', 'ENABLE_MACHINED'], |
62507726 | 45 | ['modprobe@.service', ''], |
37efbbd8 | 46 | ['multi-user.target', '', |
6589a569 | 47 | (with_runlevels ? 'runlevel2.target runlevel3.target runlevel4.target' : '')], |
37efbbd8 ZJS |
48 | ['network-online.target', ''], |
49 | ['network-pre.target', ''], | |
50 | ['network.target', ''], | |
51 | ['nss-lookup.target', ''], | |
52 | ['nss-user-lookup.target', ''], | |
53 | ['paths.target', ''], | |
54 | ['poweroff.target', '', | |
6589a569 | 55 | (with_runlevels ? 'runlevel0.target' : '')], |
37efbbd8 ZJS |
56 | ['printer.target', ''], |
57 | ['proc-sys-fs-binfmt_misc.automount', 'ENABLE_BINFMT', | |
58 | 'sysinit.target.wants/'], | |
59 | ['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'], | |
60 | ['reboot.target', '', | |
6589a569 | 61 | (with_runlevels ? 'runlevel6.target ctrl-alt-del.target' : 'ctrl-alt-del.target')], |
01d2041e | 62 | ['remote-cryptsetup.target', 'HAVE_LIBCRYPTSETUP'], |
37efbbd8 | 63 | ['remote-fs-pre.target', ''], |
01d2041e | 64 | ['remote-fs.target', ''], |
37efbbd8 | 65 | ['rescue.target', '', |
6589a569 | 66 | (with_runlevels ? 'runlevel1.target' : '')], |
37efbbd8 ZJS |
67 | ['rpcbind.target', ''], |
68 | ['shutdown.target', ''], | |
69 | ['sigpwr.target', ''], | |
70 | ['sleep.target', ''], | |
71 | ['slices.target', ''], | |
72 | ['smartcard.target', ''], | |
73 | ['sockets.target', ''], | |
74 | ['sound.target', ''], | |
75 | ['suspend.target', ''], | |
76 | ['swap.target', ''], | |
77 | ['sys-fs-fuse-connections.mount', '', | |
78 | 'sysinit.target.wants/'], | |
79 | ['sys-kernel-config.mount', '', | |
80 | 'sysinit.target.wants/'], | |
81 | ['sys-kernel-debug.mount', '', | |
82 | 'sysinit.target.wants/'], | |
aaaf42cb NL |
83 | ['sys-kernel-tracing.mount', '', |
84 | 'sysinit.target.wants/'], | |
37efbbd8 ZJS |
85 | ['sysinit.target', ''], |
86 | ['syslog.socket', ''], | |
1dc85eff | 87 | ['system-systemd\\x2dcryptsetup.slice', 'HAVE_LIBCRYPTSETUP'], |
37efbbd8 | 88 | ['system-update.target', ''], |
520741d0 | 89 | ['system-update-pre.target', ''], |
edac2c47 | 90 | ['system-update-cleanup.service', ''], |
37efbbd8 ZJS |
91 | ['systemd-ask-password-console.path', '', |
92 | 'sysinit.target.wants/'], | |
cdc6804b | 93 | ['systemd-ask-password-console.service', ''], |
37efbbd8 ZJS |
94 | ['systemd-ask-password-wall.path', '', |
95 | 'multi-user.target.wants/'], | |
cdc6804b ZJS |
96 | ['systemd-ask-password-wall.service', ''], |
97 | ['systemd-boot-system-token.service', 'ENABLE_EFI', | |
98 | 'sysinit.target.wants/'], | |
37efbbd8 ZJS |
99 | ['systemd-coredump.socket', 'ENABLE_COREDUMP', |
100 | 'sockets.target.wants/'], | |
cdc6804b ZJS |
101 | ['systemd-exit.service', ''], |
102 | ['systemd-firstboot.service', 'ENABLE_FIRSTBOOT', | |
103 | 'sysinit.target.wants/'], | |
104 | ['systemd-halt.service', ''], | |
d1f6e01e | 105 | ['systemd-homed-activate.service', 'ENABLE_HOMED'], |
6589a569 | 106 | ['systemd-initctl.socket', 'HAVE_SYSV_COMPAT', |
37efbbd8 | 107 | 'sockets.target.wants/'], |
cdc6804b ZJS |
108 | ['systemd-journal-catalog-update.service', '', |
109 | 'sysinit.target.wants/'], | |
110 | ['systemd-journal-flush.service', '', | |
111 | 'sysinit.target.wants/'], | |
1c9f1314 | 112 | ['systemd-journal-gatewayd.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'], |
113 | ['systemd-journal-remote.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'], | |
37efbbd8 ZJS |
114 | ['systemd-journald-audit.socket', '', |
115 | 'sockets.target.wants/'], | |
116 | ['systemd-journald-dev-log.socket', '', | |
117 | 'sockets.target.wants/'], | |
118 | ['systemd-journald.socket', '', | |
119 | 'sockets.target.wants/'], | |
cdc6804b ZJS |
120 | ['systemd-kexec.service', ''], |
121 | ['systemd-machine-id-commit.service', '', | |
122 | 'sysinit.target.wants/'], | |
1ee51fbd | 123 | ['systemd-journald@.socket', ''], |
dc5437c7 | 124 | ['systemd-journald-varlink@.socket', ''], |
01d2041e | 125 | ['systemd-networkd.socket', 'ENABLE_NETWORKD'], |
cdc6804b ZJS |
126 | ['systemd-poweroff.service', ''], |
127 | ['systemd-reboot.service', ''], | |
37efbbd8 | 128 | ['systemd-rfkill.socket', 'ENABLE_RFKILL'], |
cdc6804b ZJS |
129 | ['systemd-sysusers.service', 'ENABLE_SYSUSERS', |
130 | 'sysinit.target.wants/'], | |
131 | ['systemd-tmpfiles-clean.service', 'ENABLE_TMPFILES'], | |
b4e2236a | 132 | ['systemd-tmpfiles-clean.timer', 'ENABLE_TMPFILES', |
37efbbd8 | 133 | 'timers.target.wants/'], |
cdc6804b ZJS |
134 | ['systemd-tmpfiles-setup-dev.service', 'ENABLE_TMPFILES', |
135 | 'sysinit.target.wants/'], | |
136 | ['systemd-tmpfiles-setup.service', 'ENABLE_TMPFILES', | |
137 | 'sysinit.target.wants/'], | |
37efbbd8 ZJS |
138 | ['systemd-udevd-control.socket', '', |
139 | 'sockets.target.wants/'], | |
cdc6804b ZJS |
140 | ['systemd-udev-settle.service', ''], |
141 | ['systemd-udev-trigger.service', '', | |
142 | 'sysinit.target.wants/'], | |
37efbbd8 ZJS |
143 | ['systemd-udevd-kernel.socket', '', |
144 | 'sockets.target.wants/'], | |
ead7af30 | 145 | ['systemd-userdbd.socket', 'ENABLE_USERDB'], |
4ea0f675 | 146 | ['time-set.target', ''], |
37efbbd8 ZJS |
147 | ['time-sync.target', ''], |
148 | ['timers.target', ''], | |
4429c69f YW |
149 | ['tmp.mount', '', |
150 | 'local-fs.target.wants/'], | |
37efbbd8 | 151 | ['umount.target', ''], |
dd050420 | 152 | ['usb-gadget.target', ''], |
37efbbd8 | 153 | ['user.slice', ''], |
78d1039d FS |
154 | ['var-lib-machines.mount', 'ENABLE_MACHINED', |
155 | 'remote-fs.target.wants/ machines.target.wants/'], | |
082ef2ad | 156 | ] |
5c23128d ZJS |
157 | |
158 | in_units = [ | |
37efbbd8 ZJS |
159 | ['debug-shell.service', ''], |
160 | ['emergency.service', ''], | |
37efbbd8 ZJS |
161 | ['kmod-static-nodes.service', 'HAVE_KMOD ENABLE_TMPFILES', |
162 | 'sysinit.target.wants/'], | |
163 | ['quotaon.service', 'ENABLE_QUOTACHECK'], | |
164 | ['rc-local.service', 'HAVE_SYSV_COMPAT'], | |
165 | ['rescue.service', ''], | |
37efbbd8 ZJS |
166 | ['systemd-backlight@.service', 'ENABLE_BACKLIGHT'], |
167 | ['systemd-binfmt.service', 'ENABLE_BINFMT', | |
168 | 'sysinit.target.wants/'], | |
36695e88 | 169 | ['systemd-bless-boot.service', 'ENABLE_EFI HAVE_BLKID'], |
f876f537 | 170 | ['systemd-boot-check-no-failures.service', ''], |
37efbbd8 | 171 | ['systemd-coredump@.service', 'ENABLE_COREDUMP'], |
9b4abc69 | 172 | ['systemd-pstore.service', 'ENABLE_PSTORE'], |
37efbbd8 ZJS |
173 | ['systemd-fsck-root.service', ''], |
174 | ['systemd-fsck@.service', ''], | |
37efbbd8 ZJS |
175 | ['systemd-hibernate-resume@.service', 'ENABLE_HIBERNATE'], |
176 | ['systemd-hibernate.service', 'ENABLE_HIBERNATE'], | |
177 | ['systemd-hybrid-sleep.service', 'ENABLE_HIBERNATE'], | |
e68c79db | 178 | ['systemd-suspend-then-hibernate.service', 'ENABLE_HIBERNATE'], |
37efbbd8 ZJS |
179 | ['systemd-hostnamed.service', 'ENABLE_HOSTNAMED', |
180 | 'dbus-org.freedesktop.hostname1.service'], | |
181 | ['systemd-hwdb-update.service', 'ENABLE_HWDB', | |
182 | 'sysinit.target.wants/'], | |
183 | ['systemd-importd.service', 'ENABLE_IMPORTD', | |
184 | 'dbus-org.freedesktop.import1.service'], | |
55678b9e | 185 | ['systemd-initctl.service', 'HAVE_SYSV_COMPAT'], |
37efbbd8 ZJS |
186 | ['systemd-journal-gatewayd.service', 'ENABLE_REMOTE HAVE_MICROHTTPD'], |
187 | ['systemd-journal-remote.service', 'ENABLE_REMOTE HAVE_MICROHTTPD'], | |
188 | ['systemd-journal-upload.service', 'ENABLE_REMOTE HAVE_LIBCURL'], | |
189 | ['systemd-journald.service', '', | |
190 | 'sysinit.target.wants/'], | |
1ee51fbd | 191 | ['systemd-journald@.service', ''], |
37efbbd8 ZJS |
192 | ['systemd-localed.service', 'ENABLE_LOCALED', |
193 | 'dbus-org.freedesktop.locale1.service'], | |
194 | ['systemd-logind.service', 'ENABLE_LOGIND', | |
195 | 'multi-user.target.wants/ dbus-org.freedesktop.login1.service'], | |
37efbbd8 ZJS |
196 | ['systemd-machined.service', 'ENABLE_MACHINED', |
197 | 'dbus-org.freedesktop.machine1.service'], | |
198 | ['systemd-modules-load.service', 'HAVE_KMOD', | |
199 | 'sysinit.target.wants/'], | |
e2e05a0e | 200 | ['systemd-network-generator.service', 'ENABLE_NETWORKD'], |
01d2041e ZJS |
201 | ['systemd-networkd.service', 'ENABLE_NETWORKD'], |
202 | ['systemd-networkd-wait-online.service', 'ENABLE_NETWORKD'], | |
37efbbd8 | 203 | ['systemd-nspawn@.service', ''], |
61d0578b LP |
204 | ['systemd-portabled.service', 'ENABLE_PORTABLED', |
205 | 'dbus-org.freedesktop.portable1.service'], | |
d093b62c | 206 | ['systemd-userdbd.service', 'ENABLE_USERDB'], |
5ef9eda1 | 207 | ['systemd-homed.service', 'ENABLE_HOMED'], |
37efbbd8 ZJS |
208 | ['systemd-quotacheck.service', 'ENABLE_QUOTACHECK'], |
209 | ['systemd-random-seed.service', 'ENABLE_RANDOMSEED', | |
210 | 'sysinit.target.wants/'], | |
9b69569d | 211 | ['systemd-remount-fs.service', ''], |
01d2041e | 212 | ['systemd-resolved.service', 'ENABLE_RESOLVE'], |
37efbbd8 ZJS |
213 | ['systemd-rfkill.service', 'ENABLE_RFKILL'], |
214 | ['systemd-suspend.service', ''], | |
215 | ['systemd-sysctl.service', '', | |
216 | 'sysinit.target.wants/'], | |
37efbbd8 ZJS |
217 | ['systemd-timedated.service', 'ENABLE_TIMEDATED', |
218 | 'dbus-org.freedesktop.timedate1.service'], | |
01d2041e | 219 | ['systemd-timesyncd.service', 'ENABLE_TIMESYNCD'], |
006ffa64 | 220 | ['systemd-time-wait-sync.service', 'ENABLE_TIMESYNCD'], |
37efbbd8 ZJS |
221 | ['systemd-udevd.service', '', |
222 | 'sysinit.target.wants/'], | |
223 | ['systemd-update-done.service', '', | |
224 | 'sysinit.target.wants/'], | |
3211da4b | 225 | ['systemd-update-utmp-runlevel.service', 'ENABLE_UTMP HAVE_SYSV_COMPAT', |
37efbbd8 | 226 | 'multi-user.target.wants/ graphical.target.wants/ rescue.target.wants/'], |
3211da4b | 227 | ['systemd-update-utmp.service', 'ENABLE_UTMP', |
37efbbd8 | 228 | 'sysinit.target.wants/'], |
3bd46954 | 229 | ['systemd-user-sessions.service', 'HAVE_PAM', |
37efbbd8 ZJS |
230 | 'multi-user.target.wants/'], |
231 | ['systemd-vconsole-setup.service', 'ENABLE_VCONSOLE'], | |
cdf7ad38 | 232 | ['systemd-volatile-root.service', 'ENABLE_INITRD'], |
aade0c3b LP |
233 | ['systemd-repart.service', 'ENABLE_REPART', |
234 | 'sysinit.target.wants/ initrd-root-fs.target.wants/'], | |
a9f0f5e5 | 235 | ['user-runtime-dir@.service', ''], |
4429c69f | 236 | ['user@.service', ''], |
082ef2ad ZJS |
237 | ] |
238 | ||
239 | m4_units = [ | |
edac2c47 YW |
240 | ['console-getty.service', ''], |
241 | ['container-getty@.service', ''], | |
37efbbd8 | 242 | ['getty@.service', '', |
01d2041e | 243 | 'autovt@.service '], |
37efbbd8 | 244 | ['serial-getty@.service', ''], |
082ef2ad ZJS |
245 | ] |
246 | ||
2d9f0c68 | 247 | foreach tuple : in_units |
37efbbd8 | 248 | file = tuple[0] |
082ef2ad | 249 | |
37efbbd8 ZJS |
250 | # we do this here because install_data does not accept custom_target output |
251 | conds = tuple[1].split(' ') | |
349cc4a5 ZJS |
252 | install = ((conds.get(0, '') == '' or conf.get(conds[0]) == 1) and |
253 | (conds.get(1, '') == '' or conf.get(conds[1]) == 1)) | |
5c23128d | 254 | |
37efbbd8 ZJS |
255 | gen1 = configure_file( |
256 | input : file + '.in', | |
257 | output : file + '.tmp', | |
258 | configuration : substs) | |
259 | gen2 = custom_target( | |
260 | file, | |
261 | input : gen1, | |
262 | output : file, | |
263 | command : [sed, '/^## /d', '@INPUT@'], | |
264 | capture : true, | |
265 | install : install, | |
266 | install_dir : systemunitdir) | |
2d9f0c68 | 267 | |
37efbbd8 ZJS |
268 | if install and tuple.length() > 2 |
269 | foreach target : tuple[2].split() | |
270 | meson.add_install_script('meson-add-wants.sh', systemunitdir, target, file) | |
271 | endforeach | |
272 | endif | |
5c23128d ZJS |
273 | endforeach |
274 | ||
2d9f0c68 | 275 | foreach tuple : m4_units |
37efbbd8 ZJS |
276 | file = tuple[0] |
277 | input = tuple.get(3, file + '.m4') | |
082ef2ad | 278 | |
37efbbd8 ZJS |
279 | # we do this here because install_data does not accept custom_target output |
280 | conds = tuple[1].split(' ') | |
349cc4a5 ZJS |
281 | install = ((conds.get(0, '') == '' or conf.get(conds[0]) == 1) and |
282 | (conds.get(1, '') == '' or conf.get(conds[1]) == 1)) | |
5c23128d | 283 | |
37efbbd8 ZJS |
284 | custom_target( |
285 | file, | |
286 | input : input, | |
287 | output: file, | |
348b4437 | 288 | command : [meson_apply_m4, config_h, '@INPUT@'], |
37efbbd8 ZJS |
289 | capture : true, |
290 | install : install, | |
291 | install_dir : systemunitdir) | |
2d9f0c68 | 292 | |
37efbbd8 ZJS |
293 | if tuple.length() > 2 and install |
294 | foreach target : tuple[2].split() | |
295 | meson.add_install_script('meson-add-wants.sh', systemunitdir, target, file) | |
296 | endforeach | |
297 | endif | |
5c23128d ZJS |
298 | endforeach |
299 | ||
082ef2ad | 300 | foreach tuple : units |
37efbbd8 ZJS |
301 | file = tuple[0] |
302 | input = tuple.get(3, file) | |
5c23128d | 303 | |
37efbbd8 | 304 | conds = tuple[1].split(' ') |
349cc4a5 ZJS |
305 | install = ((conds.get(0, '') == '' or conf.get(conds[0]) == 1) and |
306 | (conds.get(1, '') == '' or conf.get(conds[1]) == 1)) | |
5c23128d | 307 | |
37efbbd8 ZJS |
308 | if install |
309 | install_data(input, | |
310 | install_dir : systemunitdir) | |
2d9f0c68 | 311 | |
37efbbd8 ZJS |
312 | if tuple.length() > 2 |
313 | foreach target : tuple[2].split() | |
314 | meson.add_install_script( | |
315 | 'meson-add-wants.sh', systemunitdir, target, file) | |
316 | endforeach | |
317 | endif | |
318 | endif | |
5c23128d ZJS |
319 | endforeach |
320 | ||
28414939 ZJS |
321 | install_data('user-.slice.d/10-defaults.conf', |
322 | install_dir : systemunitdir + '/user-.slice.d') | |
323 | ||
082ef2ad ZJS |
324 | ############################################################ |
325 | ||
7b76fce1 | 326 | meson.add_install_script(meson_make_symlink, |
e17e5ba9 MB |
327 | join_paths(pkgsysconfdir, 'user'), |
328 | join_paths(sysconfdir, 'xdg/systemd/user')) | |
b895fa08 LP |
329 | meson.add_install_script(meson_make_symlink, |
330 | join_paths(dbussystemservicedir, 'org.freedesktop.systemd1.service'), | |
331 | join_paths(dbussessionservicedir, 'org.freedesktop.systemd1.service')) | |
349cc4a5 | 332 | if conf.get('HAVE_SYSV_COMPAT') == 1 |
37efbbd8 ZJS |
333 | foreach i : [1, 2, 3, 4, 5] |
334 | meson.add_install_script( | |
335 | 'sh', '-c', | |
336 | mkdir_p | |
337 | .format(join_paths(systemunitdir, 'runlevel@0@.target.wants'.format(i)))) | |
338 | endforeach | |
94e75a54 ZJS |
339 | endif |
340 | ||
5c23128d | 341 | subdir('user') |