]> git.ipfire.org Git - thirdparty/systemd.git/blame - units/meson.build
units: introduce systemd-udev-load-credentials.service
[thirdparty/systemd.git] / units / meson.build
CommitLineData
db9ecf05 1# SPDX-License-Identifier: LGPL-2.1-or-later
3a726fcd 2
6589a569
NL
3with_runlevels = conf.get('HAVE_SYSV_COMPAT') == 1
4
5c23128d 5units = [
742aebc5
YW
6 { 'file' : 'basic.target' },
7 { 'file' : 'blockdev@.target' },
8 { 'file' : 'bluetooth.target' },
9 { 'file' : 'boot-complete.target' },
20ce9fec
MY
10 { 'file' : 'capsule@.service.in' },
11 { 'file' : 'capsule.slice' },
742aebc5
YW
12 { 'file' : 'console-getty.service.in' },
13 { 'file' : 'container-getty@.service.in' },
14 {
15 'file' : 'cryptsetup-pre.target',
16 'conditions' : ['HAVE_LIBCRYPTSETUP'],
17 },
18 {
19 'file' : 'cryptsetup.target',
20 'conditions' : ['HAVE_LIBCRYPTSETUP'],
21 'symlinks' : ['sysinit.target.wants/'],
22 },
23 { 'file' : 'debug-shell.service.in' },
24 {
25 'file' : 'dev-hugepages.mount',
26 'symlinks' : ['sysinit.target.wants/'],
27 },
28 {
29 'file' : 'dev-mqueue.mount',
30 'symlinks' : ['sysinit.target.wants/'],
31 },
32 { 'file' : 'emergency.service.in' },
33 { 'file' : 'emergency.target' },
34 { 'file' : 'exit.target' },
35 { 'file' : 'factory-reset.target' },
36 { 'file' : 'final.target' },
37 { 'file' : 'first-boot-complete.target' },
38 { 'file' : 'getty-pre.target' },
39 {
40 'file' : 'getty.target',
41 'symlinks' : ['multi-user.target.wants/'],
42 },
43 {
44 'file' : 'getty@.service.in',
45 'symlinks' : ['autovt@.service'],
46 },
47 {
48 'file' : 'graphical.target',
49 'symlinks' : ['default.target'] + (with_runlevels ? ['runlevel5.target'] : []),
50 },
51 { 'file' : 'halt.target' },
52 {
53 'file' : 'hibernate.target',
54 'conditions' : ['ENABLE_HIBERNATE'],
55 },
56 {
57 'file' : 'hybrid-sleep.target',
58 'conditions' : ['ENABLE_HIBERNATE'],
59 },
e3d4148d 60 {
95dafd30 61 'file' : 'systemd-battery-check.service.in',
e3d4148d 62 'conditions' : ['ENABLE_INITRD'],
95dafd30 63 'symlinks' : ['initrd.target.wants/'],
e3d4148d 64 },
77d0917e
OJ
65 {
66 'file' : 'systemd-bsod.service.in',
c3c885a7 67 'conditions' : ['HAVE_QRENCODE', 'ENABLE_INITRD'],
77d0917e
OJ
68 'symlinks' : ['initrd.target.wants/'],
69 },
742aebc5
YW
70 {
71 'file' : 'initrd-cleanup.service',
72 'conditions' : ['ENABLE_INITRD'],
73 },
74 {
75 'file' : 'initrd-fs.target',
76 'conditions' : ['ENABLE_INITRD'],
77 },
78 {
79 'file' : 'initrd-parse-etc.service.in',
80 'conditions' : ['ENABLE_INITRD'],
81 },
82 {
83 'file' : 'initrd-root-device.target',
84 'conditions' : ['ENABLE_INITRD'],
85 },
86 {
87 'file' : 'initrd-root-fs.target',
88 'conditions' : ['ENABLE_INITRD'],
89 },
90 {
91 'file' : 'initrd-switch-root.service',
92 'conditions' : ['ENABLE_INITRD'],
93 },
94 {
95 'file' : 'initrd-switch-root.target',
96 'conditions' : ['ENABLE_INITRD'],
97 },
98 {
99 'file' : 'initrd-udevadm-cleanup-db.service',
100 'conditions' : ['ENABLE_INITRD'],
101 },
102 {
103 'file' : 'initrd-usr-fs.target',
104 'conditions' : ['ENABLE_INITRD'],
105 },
106 {
107 'file' : 'initrd.target',
108 'conditions' : ['ENABLE_INITRD'],
109 },
110 {
111 'file' : 'integritysetup-pre.target',
112 'conditions' : ['HAVE_LIBCRYPTSETUP'],
113 },
114 {
115 'file' : 'integritysetup.target',
116 'conditions' : ['HAVE_LIBCRYPTSETUP'],
117 'symlinks' : ['sysinit.target.wants/'],
118 },
119 { 'file' : 'kexec.target' },
120 {
121 'file' : 'kmod-static-nodes.service.in',
122 'conditions' : ['HAVE_KMOD', 'ENABLE_TMPFILES'],
123 'symlinks' : ['sysinit.target.wants/'],
124 },
125 {
126 'file' : 'ldconfig.service',
127 'conditions' : ['ENABLE_LDCONFIG'],
128 'symlinks' : ['sysinit.target.wants/'],
129 },
130 { 'file' : 'local-fs-pre.target' },
131 { 'file' : 'local-fs.target' },
132 {
133 'file' : 'machine.slice',
134 'conditions' : ['ENABLE_MACHINED'],
135 },
136 {
137 'file' : 'machines.target',
138 'conditions' : ['ENABLE_MACHINED'],
139 },
140 { 'file' : 'modprobe@.service' },
141 {
142 'file' : 'multi-user.target',
143 'symlinks' : with_runlevels ? ['runlevel2.target', 'runlevel3.target', 'runlevel4.target'] : [],
144 },
145 { 'file' : 'network-online.target' },
146 { 'file' : 'network-pre.target' },
147 { 'file' : 'network.target' },
148 { 'file' : 'nss-lookup.target' },
149 { 'file' : 'nss-user-lookup.target' },
150 { 'file' : 'paths.target' },
151 {
152 'file' : 'poweroff.target',
153 'symlinks' : with_runlevels ? ['runlevel0.target'] : [],
154 },
155 { 'file' : 'printer.target' },
156 {
157 'file' : 'proc-sys-fs-binfmt_misc.automount',
158 'conditions' : ['ENABLE_BINFMT'],
159 'symlinks' : ['sysinit.target.wants/'],
160 },
161 {
162 'file' : 'proc-sys-fs-binfmt_misc.mount',
163 'conditions' : ['ENABLE_BINFMT'],
164 },
165 {
fc5c6ecc
TB
166 'file' : 'quotaon@.service.in',
167 'conditions' : ['ENABLE_QUOTACHECK'],
168 },
169 {
170 'file' : 'quotaon-root.service.in',
742aebc5
YW
171 'conditions' : ['ENABLE_QUOTACHECK'],
172 },
173 {
174 'file' : 'rc-local.service.in',
175 'conditions' : ['HAVE_SYSV_COMPAT'],
176 },
177 {
178 'file' : 'reboot.target',
179 'symlinks' : ['ctrl-alt-del.target'] + (with_runlevels ? ['runlevel6.target'] : []),
180 },
181 {
182 'file' : 'remote-cryptsetup.target',
183 'conditions' : ['HAVE_LIBCRYPTSETUP'],
184 'symlinks' : ['initrd-root-device.target.wants/'],
185 },
186 { 'file' : 'remote-fs-pre.target' },
187 { 'file' : 'remote-fs.target' },
188 {
189 'file' : 'remote-veritysetup.target',
190 'conditions' : ['HAVE_LIBCRYPTSETUP'],
191 'symlinks' : ['initrd-root-device.target.wants/'],
192 },
193 { 'file' : 'rescue.service.in' },
194 {
195 'file' : 'rescue.target',
196 'symlinks' : with_runlevels ? ['runlevel1.target'] : [],
197 },
198 { 'file' : 'rpcbind.target' },
199 { 'file' : 'serial-getty@.service.in' },
200 { 'file' : 'shutdown.target' },
201 { 'file' : 'sigpwr.target' },
202 { 'file' : 'sleep.target' },
203 { 'file' : 'slices.target' },
204 { 'file' : 'smartcard.target' },
205 { 'file' : 'sockets.target' },
206 { 'file' : 'soft-reboot.target' },
207 { 'file' : 'sound.target' },
95be59f9 208 { 'file' : 'ssh-access.target' },
742aebc5
YW
209 {
210 'file' : 'suspend-then-hibernate.target',
211 'conditions' : ['ENABLE_HIBERNATE'],
212 },
213 { 'file' : 'suspend.target' },
214 { 'file' : 'swap.target' },
215 {
216 'file' : 'sys-fs-fuse-connections.mount',
217 'symlinks' : ['sysinit.target.wants/'],
218 },
219 {
220 'file' : 'sys-kernel-config.mount',
221 'symlinks' : ['sysinit.target.wants/'],
222 },
223 {
224 'file' : 'sys-kernel-debug.mount',
225 'symlinks' : ['sysinit.target.wants/'],
226 },
227 {
228 'file' : 'sys-kernel-tracing.mount',
229 'symlinks' : ['sysinit.target.wants/'],
230 },
231 { 'file' : 'sysinit.target' },
232 { 'file' : 'syslog.socket' },
233 {
234 'file' : 'system-systemd\\x2dcryptsetup.slice',
235 'conditions' : ['HAVE_LIBCRYPTSETUP'],
236 },
237 {
238 'file' : 'system-systemd\\x2dveritysetup.slice',
239 'conditions' : ['HAVE_LIBCRYPTSETUP'],
240 },
241 { 'file' : 'system-update-cleanup.service' },
242 { 'file' : 'system-update-pre.target' },
243 { 'file' : 'system-update.target' },
244 {
245 'file' : 'systemd-ask-password-console.path',
246 'symlinks' : ['sysinit.target.wants/'],
247 },
248 { 'file' : 'systemd-ask-password-console.service' },
249 {
250 'file' : 'systemd-ask-password-wall.path',
251 'symlinks' : ['multi-user.target.wants/'],
252 },
253 { 'file' : 'systemd-ask-password-wall.service' },
254 {
255 'file' : 'systemd-backlight@.service.in',
256 'conditions' : ['ENABLE_BACKLIGHT'],
257 },
258 {
259 'file' : 'systemd-binfmt.service.in',
260 'conditions' : ['ENABLE_BINFMT'],
261 'symlinks' : ['sysinit.target.wants/'],
262 },
263 {
264 'file' : 'systemd-bless-boot.service.in',
265 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_BLKID'],
266 },
267 { 'file' : 'systemd-boot-check-no-failures.service.in' },
268 {
269 'file' : 'systemd-boot-random-seed.service',
270 'conditions' : ['ENABLE_BOOTLOADER'],
271 'symlinks' : ['sysinit.target.wants/'],
272 },
273 {
274 'file' : 'systemd-boot-update.service',
275 'conditions' : ['ENABLE_BOOTLOADER'],
276 },
79ec3995 277 {
7b799b87 278 'file' : 'systemd-bootctl@.service',
79ec3995
LP
279 'conditions' : ['ENABLE_BOOTLOADER'],
280 },
281 {
282 'file' : 'systemd-bootctl.socket',
283 'conditions' : ['ENABLE_BOOTLOADER'],
284 'symlinks' : ['sockets.target.wants/'],
285 },
742aebc5
YW
286 {
287 'file' : 'systemd-confext.service',
288 'conditions' : ['ENABLE_SYSEXT'],
289 },
290 {
291 'file' : 'systemd-coredump.socket',
292 'conditions' : ['ENABLE_COREDUMP'],
293 'symlinks' : ['sockets.target.wants/'],
294 },
295 {
296 'file' : 'systemd-coredump@.service.in',
297 'conditions' : ['ENABLE_COREDUMP'],
298 },
644f19c7
LP
299 {
300 'file' : 'systemd-creds.socket',
301 'symlinks' : ['sockets.target.wants/'],
302 },
303 { 'file' : 'systemd-creds@.service' },
742aebc5
YW
304 { 'file' : 'systemd-exit.service' },
305 {
306 'file' : 'systemd-firstboot.service',
307 'conditions' : ['ENABLE_FIRSTBOOT'],
308 'symlinks' : ['sysinit.target.wants/'],
309 },
310 { 'file' : 'systemd-fsck-root.service.in' },
311 { 'file' : 'systemd-fsck@.service.in' },
312 { 'file' : 'systemd-growfs-root.service.in' },
313 { 'file' : 'systemd-growfs@.service.in' },
314 { 'file' : 'systemd-halt.service' },
dfad86b8
MY
315 {
316 'file' : 'systemd-hibernate-clear.service.in',
317 'conditions' : ['ENABLE_HIBERNATE', 'ENABLE_EFI'],
318 'symlinks' : ['sysinit.target.wants/'],
319 },
a628d933
MY
320 {
321 'file' : 'systemd-hibernate-resume.service.in',
322 'conditions' : ['ENABLE_HIBERNATE'],
323 },
742aebc5
YW
324 {
325 'file' : 'systemd-hibernate.service.in',
326 'conditions' : ['ENABLE_HIBERNATE'],
327 },
328 {
329 'file' : 'systemd-homed-activate.service',
330 'conditions' : ['ENABLE_HOMED'],
331 },
3ccadbce
LP
332 {
333 'file' : 'systemd-homed-firstboot.service',
334 'conditions' : ['ENABLE_HOMED'],
335 },
742aebc5
YW
336 {
337 'file' : 'systemd-homed.service.in',
338 'conditions' : ['ENABLE_HOMED'],
339 },
340 {
341 'file' : 'systemd-hostnamed.service.in',
342 'conditions' : ['ENABLE_HOSTNAMED'],
343 'symlinks' : ['dbus-org.freedesktop.hostname1.service'],
344 },
0a6598bb
LP
345 {
346 'file' : 'systemd-hostnamed.socket',
347 'conditions' : ['ENABLE_HOSTNAMED'],
348 'symlinks' : ['sockets.target.wants/'],
349 },
742aebc5
YW
350 {
351 'file' : 'systemd-hwdb-update.service.in',
352 'conditions' : ['ENABLE_HWDB'],
353 'symlinks' : ['sysinit.target.wants/'],
354 },
355 {
356 'file' : 'systemd-hybrid-sleep.service.in',
357 'conditions' : ['ENABLE_HIBERNATE'],
358 },
359 {
360 'file' : 'systemd-importd.service.in',
361 'conditions' : ['ENABLE_IMPORTD'],
362 'symlinks' : ['dbus-org.freedesktop.import1.service'],
363 },
364 {
365 'file' : 'systemd-initctl.service.in',
366 'conditions' : ['HAVE_SYSV_COMPAT'],
367 },
368 {
369 'file' : 'systemd-initctl.socket',
370 'conditions' : ['HAVE_SYSV_COMPAT'],
371 'symlinks' : ['sockets.target.wants/'],
372 },
373 {
374 'file' : 'systemd-journal-catalog-update.service',
375 'symlinks' : ['sysinit.target.wants/'],
376 },
377 {
378 'file' : 'systemd-journal-flush.service',
379 'symlinks' : ['sysinit.target.wants/'],
380 },
381 {
382 'file' : 'systemd-journal-gatewayd.service.in',
383 'conditions' : ['ENABLE_REMOTE', 'HAVE_MICROHTTPD'],
384 },
385 {
386 'file' : 'systemd-journal-gatewayd.socket',
387 'conditions' : ['ENABLE_REMOTE', 'HAVE_MICROHTTPD'],
388 },
389 {
390 'file' : 'systemd-journal-remote.service.in',
391 'conditions' : ['ENABLE_REMOTE', 'HAVE_MICROHTTPD'],
392 },
393 {
394 'file' : 'systemd-journal-remote.socket',
395 'conditions' : ['ENABLE_REMOTE', 'HAVE_MICROHTTPD'],
396 },
397 {
398 'file' : 'systemd-journal-upload.service.in',
399 'conditions' : ['ENABLE_REMOTE', 'HAVE_LIBCURL'],
400 },
401 { 'file' : 'systemd-journald-audit.socket' },
402 {
403 'file' : 'systemd-journald-dev-log.socket',
404 'symlinks' : ['sockets.target.wants/'],
405 },
406 { 'file' : 'systemd-journald-varlink@.socket' },
407 {
408 'file' : 'systemd-journald.service.in',
409 'symlinks' : ['sysinit.target.wants/'],
410 },
411 {
412 'file' : 'systemd-journald.socket',
413 'symlinks' : ['sockets.target.wants/'],
414 },
415 { 'file' : 'systemd-journald@.service.in' },
416 { 'file' : 'systemd-journald@.socket' },
417 { 'file' : 'systemd-kexec.service' },
418 {
419 'file' : 'systemd-localed.service.in',
420 'conditions' : ['ENABLE_LOCALED'],
421 'symlinks' : ['dbus-org.freedesktop.locale1.service'],
422 },
423 {
424 'file' : 'systemd-logind.service.in',
425 'conditions' : ['ENABLE_LOGIND'],
426 'symlinks' : ['multi-user.target.wants/', 'dbus-org.freedesktop.login1.service'],
427 },
428 {
429 'file' : 'systemd-machine-id-commit.service',
430 'symlinks' : ['sysinit.target.wants/'],
431 },
432 {
433 'file' : 'systemd-machined.service.in',
434 'conditions' : ['ENABLE_MACHINED'],
435 'symlinks' : ['dbus-org.freedesktop.machine1.service'],
436 },
437 {
438 'file' : 'systemd-modules-load.service.in',
439 'conditions' : ['HAVE_KMOD'],
440 'symlinks' : ['sysinit.target.wants/'],
441 },
442 { 'file' : 'systemd-network-generator.service.in' },
91676b64
YW
443 {
444 'file' : 'systemd-networkd-persistent-storage.service',
445 'conditions' : ['ENABLE_NETWORKD'],
446 },
742aebc5
YW
447 {
448 'file' : 'systemd-networkd-wait-online.service.in',
449 'conditions' : ['ENABLE_NETWORKD'],
450 },
451 {
452 'file' : 'systemd-networkd-wait-online@.service.in',
453 'conditions' : ['ENABLE_NETWORKD'],
454 },
455 {
456 'file' : 'systemd-networkd.service.in',
457 'conditions' : ['ENABLE_NETWORKD'],
458 },
459 {
460 'file' : 'systemd-networkd.socket',
461 'conditions' : ['ENABLE_NETWORKD'],
462 },
463 { 'file' : 'systemd-nspawn@.service.in' },
38624568
SL
464 {
465 'file' : 'systemd-vmspawn@.service.in',
466 'conditions' : ['ENABLE_VMSPAWN'],
467 },
742aebc5
YW
468 {
469 'file' : 'systemd-oomd.service.in',
470 'conditions' : ['ENABLE_OOMD'],
471 },
472 {
473 'file' : 'systemd-oomd.socket',
474 'conditions' : ['ENABLE_OOMD'],
475 },
4e16d5c6
LP
476 {
477 'file' : 'systemd-pcrextend@.service.in',
478 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
479 },
480 {
481 'file' : 'systemd-pcrextend.socket',
482 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
483 'symlinks' : ['sockets.target.wants/'],
484 },
742aebc5
YW
485 {
486 'file' : 'systemd-pcrfs-root.service.in',
487 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
488 },
489 {
490 'file' : 'systemd-pcrfs@.service.in',
491 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
492 },
493 {
494 'file' : 'systemd-pcrmachine.service.in',
495 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
496 'symlinks' : ['sysinit.target.wants/'],
497 },
498 {
499 'file' : 'systemd-pcrphase-initrd.service.in',
500 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2', 'ENABLE_INITRD'],
501 'symlinks' : ['initrd.target.wants/'],
502 },
503 {
504 'file' : 'systemd-pcrphase-sysinit.service.in',
505 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
506 'symlinks' : ['sysinit.target.wants/'],
507 },
508 {
509 'file' : 'systemd-pcrphase.service.in',
510 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
511 'symlinks' : ['sysinit.target.wants/'],
512 },
2e64cb71
LP
513 {
514 'file' : 'systemd-tpm2-setup.service.in',
515 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
516 'symlinks' : ['sysinit.target.wants/'],
517 },
518 {
519 'file' : 'systemd-tpm2-setup-early.service.in',
520 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
521 'symlinks' : ['sysinit.target.wants/'],
522 },
809def19
LP
523 {
524 'file' : 'systemd-pcrlock-make-policy.service.in',
525 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
526 },
527 {
528 'file' : 'systemd-pcrlock-secureboot-policy.service.in',
529 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
530 },
531 {
532 'file' : 'systemd-pcrlock-secureboot-authority.service.in',
533 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
534 },
535 {
536 'file' : 'systemd-pcrlock-file-system.service.in',
537 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
538 },
539 {
540 'file' : 'systemd-pcrlock-machine-id.service.in',
541 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
542 },
543 {
544 'file' : 'systemd-pcrlock-firmware-code.service.in',
545 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
546 },
547 {
548 'file' : 'systemd-pcrlock-firmware-config.service.in',
549 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
550 },
15138e79
LP
551 {
552 'file' : 'systemd-pcrlock@.service.in',
553 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
554 },
555 {
556 'file' : 'systemd-pcrlock.socket',
557 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
558 'symlinks' : ['sockets.target.wants/'],
559 },
742aebc5
YW
560 {
561 'file' : 'systemd-portabled.service.in',
562 'conditions' : ['ENABLE_PORTABLED'],
563 'symlinks' : ['dbus-org.freedesktop.portable1.service'],
564 },
565 { 'file' : 'systemd-poweroff.service' },
566 {
567 'file' : 'systemd-pstore.service.in',
568 'conditions' : ['ENABLE_PSTORE'],
569 },
570 {
fc5c6ecc
TB
571 'file' : 'systemd-quotacheck@.service.in',
572 'conditions' : ['ENABLE_QUOTACHECK'],
573 },
574 {
575 'file' : 'systemd-quotacheck-root.service.in',
742aebc5
YW
576 'conditions' : ['ENABLE_QUOTACHECK'],
577 },
578 {
579 'file' : 'systemd-random-seed.service.in',
580 'conditions' : ['ENABLE_RANDOMSEED'],
581 'symlinks' : ['sysinit.target.wants/'],
582 },
583 { 'file' : 'systemd-reboot.service' },
584 { 'file' : 'systemd-remount-fs.service.in' },
585 {
7b799b87 586 'file' : 'systemd-repart.service',
742aebc5
YW
587 'conditions' : ['ENABLE_REPART'],
588 'symlinks' : ['sysinit.target.wants/', 'initrd-root-fs.target.wants/'],
589 },
590 {
591 'file' : 'systemd-resolved.service.in',
592 'conditions' : ['ENABLE_RESOLVE'],
593 },
594 {
595 'file' : 'systemd-rfkill.service.in',
596 'conditions' : ['ENABLE_RFKILL'],
597 },
598 {
599 'file' : 'systemd-rfkill.socket',
600 'conditions' : ['ENABLE_RFKILL'],
601 },
602 { 'file' : 'systemd-soft-reboot.service' },
603 {
604 'file' : 'systemd-suspend-then-hibernate.service.in',
605 'conditions' : ['ENABLE_HIBERNATE'],
606 },
607 { 'file' : 'systemd-suspend.service.in' },
608 {
609 'file' : 'systemd-sysctl.service.in',
610 'symlinks' : ['sysinit.target.wants/'],
611 },
612 {
613 'file' : 'systemd-sysext.service',
614 'conditions' : ['ENABLE_SYSEXT'],
615 },
f5151fb4
LP
616 {
617 'file' : 'systemd-sysext.socket',
618 'conditions' : ['ENABLE_SYSEXT'],
619 'symlinks' : ['sockets.target.wants/'],
620 },
621 {
622 'file' : 'systemd-sysext@.service',
623 'conditions' : ['ENABLE_SYSEXT'],
624 },
742aebc5
YW
625 {
626 'file' : 'systemd-sysupdate-reboot.service.in',
627 'conditions' : ['ENABLE_SYSUPDATE'],
628 },
629 {
630 'file' : 'systemd-sysupdate-reboot.timer',
631 'conditions' : ['ENABLE_SYSUPDATE'],
632 },
633 {
634 'file' : 'systemd-sysupdate.service.in',
635 'conditions' : ['ENABLE_SYSUPDATE'],
636 },
637 {
638 'file' : 'systemd-sysupdate.timer',
639 'conditions' : ['ENABLE_SYSUPDATE'],
640 },
641 {
642 'file' : 'systemd-sysusers.service',
643 'conditions' : ['ENABLE_SYSUSERS'],
644 'symlinks' : ['sysinit.target.wants/'],
645 },
1761066b
LP
646 {
647 'file' : 'systemd-storagetm.service.in',
648 'conditions' : ['ENABLE_STORAGETM'],
649 },
650 {
651 'file' : 'storage-target-mode.target',
652 'conditions' : ['ENABLE_STORAGETM'],
653 },
742aebc5
YW
654 {
655 'file' : 'systemd-time-wait-sync.service.in',
656 'conditions' : ['ENABLE_TIMESYNCD'],
657 },
658 {
659 'file' : 'systemd-timedated.service.in',
660 'conditions' : ['ENABLE_TIMEDATED'],
661 'symlinks' : ['dbus-org.freedesktop.timedate1.service'],
662 },
663 {
664 'file' : 'systemd-timesyncd.service.in',
665 'conditions' : ['ENABLE_TIMESYNCD'],
666 },
667 {
668 'file' : 'systemd-tmpfiles-clean.service',
669 'conditions' : ['ENABLE_TMPFILES'],
670 },
671 {
672 'file' : 'systemd-tmpfiles-clean.timer',
673 'conditions' : ['ENABLE_TMPFILES'],
674 'symlinks' : ['timers.target.wants/'],
675 },
bb7f485f
YW
676 {
677 'file' : 'systemd-tmpfiles-setup-dev-early.service',
678 'conditions' : ['ENABLE_TMPFILES'],
679 'symlinks' : ['sysinit.target.wants/'],
680 },
742aebc5
YW
681 {
682 'file' : 'systemd-tmpfiles-setup-dev.service',
683 'conditions' : ['ENABLE_TMPFILES'],
684 'symlinks' : ['sysinit.target.wants/'],
685 },
686 {
687 'file' : 'systemd-tmpfiles-setup.service',
688 'conditions' : ['ENABLE_TMPFILES'],
689 'symlinks' : ['sysinit.target.wants/'],
690 },
5700e755 691 { 'file' : 'systemd-udev-load-credentials.service' },
742aebc5
YW
692 { 'file' : 'systemd-udev-settle.service' },
693 {
694 'file' : 'systemd-udev-trigger.service',
695 'symlinks' : ['sysinit.target.wants/'],
696 },
697 {
698 'file' : 'systemd-udevd-control.socket',
699 'symlinks' : ['sockets.target.wants/'],
700 },
701 {
702 'file' : 'systemd-udevd-kernel.socket',
703 'symlinks' : ['sockets.target.wants/'],
704 },
705 {
706 'file' : 'systemd-udevd.service.in',
707 'symlinks' : ['sysinit.target.wants/'],
708 },
709 {
710 'file' : 'systemd-update-done.service.in',
711 'symlinks' : ['sysinit.target.wants/'],
712 },
713 {
714 'file' : 'systemd-update-utmp-runlevel.service.in',
715 'conditions' : ['ENABLE_UTMP', 'HAVE_SYSV_COMPAT'],
716 'symlinks' : ['multi-user.target.wants/', 'graphical.target.wants/', 'rescue.target.wants/'],
717 },
718 {
719 'file' : 'systemd-update-utmp.service.in',
720 'conditions' : ['ENABLE_UTMP'],
721 'symlinks' : ['sysinit.target.wants/'],
722 },
723 {
724 'file' : 'systemd-user-sessions.service.in',
725 'conditions' : ['HAVE_PAM'],
726 'symlinks' : ['multi-user.target.wants/'],
727 },
728 {
729 'file' : 'systemd-userdbd.service.in',
730 'conditions' : ['ENABLE_USERDB'],
731 },
732 {
733 'file' : 'systemd-userdbd.socket',
734 'conditions' : ['ENABLE_USERDB'],
735 },
702a52f4
LP
736 {
737 'file' : 'systemd-mountfsd.service.in',
738 'conditions' : ['ENABLE_MOUNTFSD'],
739 },
740 {
741 'file' : 'systemd-mountfsd.socket',
742 'conditions' : ['ENABLE_MOUNTFSD'],
743 },
8aee931e
LP
744 {
745 'file' : 'systemd-nsresourced.service.in',
746 'conditions' : ['ENABLE_NSRESOURCED'],
747 },
748 {
749 'file' : 'systemd-nsresourced.socket',
750 'conditions' : ['ENABLE_NSRESOURCED'],
751 },
742aebc5
YW
752 {
753 'file' : 'systemd-vconsole-setup.service.in',
754 'conditions' : ['ENABLE_VCONSOLE'],
755 },
756 {
757 'file' : 'systemd-volatile-root.service.in',
758 'conditions' : ['ENABLE_INITRD'],
759 },
760 { 'file' : 'time-set.target' },
761 { 'file' : 'time-sync.target' },
762 { 'file' : 'timers.target' },
763 {
764 'file' : 'tmp.mount',
765 'symlinks' : ['local-fs.target.wants/'],
766 },
4e1f0037 767 { 'file' : 'tpm2.target' },
742aebc5
YW
768 { 'file' : 'umount.target' },
769 { 'file' : 'usb-gadget.target' },
770 { 'file' : 'user-runtime-dir@.service.in' },
771 { 'file' : 'user.slice' },
772 { 'file' : 'user@.service.in' },
773 {
774 'file' : 'var-lib-machines.mount',
775 'conditions' : ['ENABLE_MACHINED'],
776 'symlinks' : ['remote-fs.target.wants/', 'machines.target.wants/'],
777 },
778 {
779 'file' : 'veritysetup-pre.target',
780 'conditions' : ['HAVE_LIBCRYPTSETUP'],
781 },
782 {
783 'file' : 'veritysetup.target',
784 'conditions' : ['HAVE_LIBCRYPTSETUP'],
785 'symlinks' : ['sysinit.target.wants/'],
786 },
082ef2ad
ZJS
787]
788
742aebc5
YW
789foreach unit : units
790 source = unit.get('file')
2d9f0c68 791
742aebc5
YW
792 if source.endswith('.in')
793 needs_jinja = true
794 name = source.substring(0, -3)
795 assert(name + '.in' == source)
796 else
797 needs_jinja = false
798 name = source
37efbbd8 799 endif
742aebc5 800 source = files(source)
5c23128d 801
742aebc5
YW
802 install = true
803 foreach cond : unit.get('conditions', [])
804 if conf.get(cond) != 1
805 install = false
806 break
807 endif
808 endforeach
5c23128d 809
742aebc5
YW
810 if needs_jinja
811 custom_target(
812 name,
813 input : source,
814 output : name,
815 command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
816 install : install,
817 install_dir : systemunitdir)
818 elif install
819 install_data(source,
37efbbd8 820 install_dir : systemunitdir)
742aebc5 821 endif
2d9f0c68 822
742aebc5
YW
823 if install
824 foreach target : unit.get('symlinks', [])
9289e093
YW
825 if target.endswith('/')
826 install_emptydir(systemunitdir / target)
827 meson.add_install_script(sh, '-c',
828 ln_s.format(systemunitdir / name,
829 systemunitdir / target / name))
830 else
831 meson.add_install_script(sh, '-c',
832 ln_s.format(systemunitdir / name,
833 systemunitdir / target))
834 endif
742aebc5 835 endforeach
37efbbd8 836 endif
5c23128d
ZJS
837endforeach
838
28414939
ZJS
839install_data('user-.slice.d/10-defaults.conf',
840 install_dir : systemunitdir + '/user-.slice.d')
841
278e815b
FB
842install_data('user@.service.d/10-login-barrier.conf',
843 install_dir : systemunitdir + '/user@.service.d')
844install_data('user@0.service.d/10-login-barrier.conf',
845 install_dir : systemunitdir + '/user@0.service.d')
846
082ef2ad
ZJS
847############################################################
848
9289e093
YW
849install_emptydir(dbussessionservicedir)
850meson.add_install_script(sh, '-c',
851 ln_s.format(dbussystemservicedir / 'org.freedesktop.systemd1.service',
852 dbussessionservicedir / 'org.freedesktop.systemd1.service'))
853
349cc4a5 854if conf.get('HAVE_SYSV_COMPAT') == 1
37efbbd8 855 foreach i : [1, 2, 3, 4, 5]
9289e093 856 install_emptydir(systemunitdir / 'runlevel@0@.target.wants'.format(i))
37efbbd8 857 endforeach
94e75a54
ZJS
858endif
859
5c23128d 860subdir('user')