]> git.ipfire.org Git - thirdparty/systemd.git/blame - units/meson.build
systemctl-show: make show_memory_available cover memory_available itself
[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 },
61628287 406 { 'file' : 'systemd-journald-sync@.service' },
742aebc5
YW
407 { 'file' : 'systemd-journald-varlink@.socket' },
408 {
409 'file' : 'systemd-journald.service.in',
410 'symlinks' : ['sysinit.target.wants/'],
411 },
412 {
413 'file' : 'systemd-journald.socket',
414 'symlinks' : ['sockets.target.wants/'],
415 },
416 { 'file' : 'systemd-journald@.service.in' },
417 { 'file' : 'systemd-journald@.socket' },
418 { 'file' : 'systemd-kexec.service' },
419 {
420 'file' : 'systemd-localed.service.in',
421 'conditions' : ['ENABLE_LOCALED'],
422 'symlinks' : ['dbus-org.freedesktop.locale1.service'],
423 },
424 {
425 'file' : 'systemd-logind.service.in',
426 'conditions' : ['ENABLE_LOGIND'],
427 'symlinks' : ['multi-user.target.wants/', 'dbus-org.freedesktop.login1.service'],
428 },
429 {
430 'file' : 'systemd-machine-id-commit.service',
431 'symlinks' : ['sysinit.target.wants/'],
432 },
433 {
434 'file' : 'systemd-machined.service.in',
435 'conditions' : ['ENABLE_MACHINED'],
436 'symlinks' : ['dbus-org.freedesktop.machine1.service'],
437 },
438 {
439 'file' : 'systemd-modules-load.service.in',
440 'conditions' : ['HAVE_KMOD'],
441 'symlinks' : ['sysinit.target.wants/'],
442 },
443 { 'file' : 'systemd-network-generator.service.in' },
91676b64
YW
444 {
445 'file' : 'systemd-networkd-persistent-storage.service',
446 'conditions' : ['ENABLE_NETWORKD'],
447 },
742aebc5
YW
448 {
449 'file' : 'systemd-networkd-wait-online.service.in',
450 'conditions' : ['ENABLE_NETWORKD'],
451 },
452 {
453 'file' : 'systemd-networkd-wait-online@.service.in',
454 'conditions' : ['ENABLE_NETWORKD'],
455 },
456 {
457 'file' : 'systemd-networkd.service.in',
458 'conditions' : ['ENABLE_NETWORKD'],
459 },
460 {
461 'file' : 'systemd-networkd.socket',
462 'conditions' : ['ENABLE_NETWORKD'],
463 },
464 { 'file' : 'systemd-nspawn@.service.in' },
38624568
SL
465 {
466 'file' : 'systemd-vmspawn@.service.in',
467 'conditions' : ['ENABLE_VMSPAWN'],
468 },
742aebc5
YW
469 {
470 'file' : 'systemd-oomd.service.in',
471 'conditions' : ['ENABLE_OOMD'],
472 },
473 {
474 'file' : 'systemd-oomd.socket',
475 'conditions' : ['ENABLE_OOMD'],
476 },
4e16d5c6
LP
477 {
478 'file' : 'systemd-pcrextend@.service.in',
479 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
480 },
481 {
482 'file' : 'systemd-pcrextend.socket',
483 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
484 'symlinks' : ['sockets.target.wants/'],
485 },
742aebc5
YW
486 {
487 'file' : 'systemd-pcrfs-root.service.in',
488 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
489 },
490 {
491 'file' : 'systemd-pcrfs@.service.in',
492 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
493 },
494 {
495 'file' : 'systemd-pcrmachine.service.in',
496 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
497 'symlinks' : ['sysinit.target.wants/'],
498 },
499 {
500 'file' : 'systemd-pcrphase-initrd.service.in',
501 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2', 'ENABLE_INITRD'],
502 'symlinks' : ['initrd.target.wants/'],
503 },
504 {
505 'file' : 'systemd-pcrphase-sysinit.service.in',
506 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
507 'symlinks' : ['sysinit.target.wants/'],
508 },
509 {
510 'file' : 'systemd-pcrphase.service.in',
511 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
512 'symlinks' : ['sysinit.target.wants/'],
513 },
2e64cb71
LP
514 {
515 'file' : 'systemd-tpm2-setup.service.in',
516 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
517 'symlinks' : ['sysinit.target.wants/'],
518 },
519 {
520 'file' : 'systemd-tpm2-setup-early.service.in',
521 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
522 'symlinks' : ['sysinit.target.wants/'],
523 },
809def19
LP
524 {
525 'file' : 'systemd-pcrlock-make-policy.service.in',
526 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
527 },
528 {
529 'file' : 'systemd-pcrlock-secureboot-policy.service.in',
530 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
531 },
532 {
533 'file' : 'systemd-pcrlock-secureboot-authority.service.in',
534 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
535 },
536 {
537 'file' : 'systemd-pcrlock-file-system.service.in',
538 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
539 },
540 {
541 'file' : 'systemd-pcrlock-machine-id.service.in',
542 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
543 },
544 {
545 'file' : 'systemd-pcrlock-firmware-code.service.in',
546 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
547 },
548 {
549 'file' : 'systemd-pcrlock-firmware-config.service.in',
550 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
551 },
15138e79
LP
552 {
553 'file' : 'systemd-pcrlock@.service.in',
554 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
555 },
556 {
557 'file' : 'systemd-pcrlock.socket',
558 'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
559 'symlinks' : ['sockets.target.wants/'],
560 },
742aebc5
YW
561 {
562 'file' : 'systemd-portabled.service.in',
563 'conditions' : ['ENABLE_PORTABLED'],
564 'symlinks' : ['dbus-org.freedesktop.portable1.service'],
565 },
566 { 'file' : 'systemd-poweroff.service' },
567 {
568 'file' : 'systemd-pstore.service.in',
569 'conditions' : ['ENABLE_PSTORE'],
570 },
571 {
fc5c6ecc
TB
572 'file' : 'systemd-quotacheck@.service.in',
573 'conditions' : ['ENABLE_QUOTACHECK'],
574 },
575 {
576 'file' : 'systemd-quotacheck-root.service.in',
742aebc5
YW
577 'conditions' : ['ENABLE_QUOTACHECK'],
578 },
579 {
580 'file' : 'systemd-random-seed.service.in',
581 'conditions' : ['ENABLE_RANDOMSEED'],
582 'symlinks' : ['sysinit.target.wants/'],
583 },
584 { 'file' : 'systemd-reboot.service' },
585 { 'file' : 'systemd-remount-fs.service.in' },
586 {
7b799b87 587 'file' : 'systemd-repart.service',
742aebc5
YW
588 'conditions' : ['ENABLE_REPART'],
589 'symlinks' : ['sysinit.target.wants/', 'initrd-root-fs.target.wants/'],
590 },
591 {
592 'file' : 'systemd-resolved.service.in',
593 'conditions' : ['ENABLE_RESOLVE'],
594 },
595 {
596 'file' : 'systemd-rfkill.service.in',
597 'conditions' : ['ENABLE_RFKILL'],
598 },
599 {
600 'file' : 'systemd-rfkill.socket',
601 'conditions' : ['ENABLE_RFKILL'],
602 },
603 { 'file' : 'systemd-soft-reboot.service' },
604 {
605 'file' : 'systemd-suspend-then-hibernate.service.in',
606 'conditions' : ['ENABLE_HIBERNATE'],
607 },
608 { 'file' : 'systemd-suspend.service.in' },
609 {
610 'file' : 'systemd-sysctl.service.in',
611 'symlinks' : ['sysinit.target.wants/'],
612 },
613 {
614 'file' : 'systemd-sysext.service',
615 'conditions' : ['ENABLE_SYSEXT'],
616 },
f5151fb4
LP
617 {
618 'file' : 'systemd-sysext.socket',
619 'conditions' : ['ENABLE_SYSEXT'],
620 'symlinks' : ['sockets.target.wants/'],
621 },
622 {
623 'file' : 'systemd-sysext@.service',
624 'conditions' : ['ENABLE_SYSEXT'],
625 },
742aebc5
YW
626 {
627 'file' : 'systemd-sysupdate-reboot.service.in',
628 'conditions' : ['ENABLE_SYSUPDATE'],
629 },
630 {
631 'file' : 'systemd-sysupdate-reboot.timer',
632 'conditions' : ['ENABLE_SYSUPDATE'],
633 },
634 {
635 'file' : 'systemd-sysupdate.service.in',
636 'conditions' : ['ENABLE_SYSUPDATE'],
637 },
638 {
639 'file' : 'systemd-sysupdate.timer',
640 'conditions' : ['ENABLE_SYSUPDATE'],
641 },
642 {
643 'file' : 'systemd-sysusers.service',
644 'conditions' : ['ENABLE_SYSUSERS'],
645 'symlinks' : ['sysinit.target.wants/'],
646 },
1761066b
LP
647 {
648 'file' : 'systemd-storagetm.service.in',
649 'conditions' : ['ENABLE_STORAGETM'],
650 },
651 {
652 'file' : 'storage-target-mode.target',
653 'conditions' : ['ENABLE_STORAGETM'],
654 },
742aebc5
YW
655 {
656 'file' : 'systemd-time-wait-sync.service.in',
657 'conditions' : ['ENABLE_TIMESYNCD'],
658 },
659 {
660 'file' : 'systemd-timedated.service.in',
661 'conditions' : ['ENABLE_TIMEDATED'],
662 'symlinks' : ['dbus-org.freedesktop.timedate1.service'],
663 },
664 {
665 'file' : 'systemd-timesyncd.service.in',
666 'conditions' : ['ENABLE_TIMESYNCD'],
667 },
668 {
669 'file' : 'systemd-tmpfiles-clean.service',
670 'conditions' : ['ENABLE_TMPFILES'],
671 },
672 {
673 'file' : 'systemd-tmpfiles-clean.timer',
674 'conditions' : ['ENABLE_TMPFILES'],
675 'symlinks' : ['timers.target.wants/'],
676 },
bb7f485f
YW
677 {
678 'file' : 'systemd-tmpfiles-setup-dev-early.service',
679 'conditions' : ['ENABLE_TMPFILES'],
680 'symlinks' : ['sysinit.target.wants/'],
681 },
742aebc5
YW
682 {
683 'file' : 'systemd-tmpfiles-setup-dev.service',
684 'conditions' : ['ENABLE_TMPFILES'],
685 'symlinks' : ['sysinit.target.wants/'],
686 },
687 {
688 'file' : 'systemd-tmpfiles-setup.service',
689 'conditions' : ['ENABLE_TMPFILES'],
690 'symlinks' : ['sysinit.target.wants/'],
691 },
5700e755 692 { 'file' : 'systemd-udev-load-credentials.service' },
742aebc5
YW
693 { 'file' : 'systemd-udev-settle.service' },
694 {
695 'file' : 'systemd-udev-trigger.service',
696 'symlinks' : ['sysinit.target.wants/'],
697 },
698 {
699 'file' : 'systemd-udevd-control.socket',
700 'symlinks' : ['sockets.target.wants/'],
701 },
702 {
703 'file' : 'systemd-udevd-kernel.socket',
704 'symlinks' : ['sockets.target.wants/'],
705 },
706 {
707 'file' : 'systemd-udevd.service.in',
708 'symlinks' : ['sysinit.target.wants/'],
709 },
710 {
711 'file' : 'systemd-update-done.service.in',
712 'symlinks' : ['sysinit.target.wants/'],
713 },
714 {
715 'file' : 'systemd-update-utmp-runlevel.service.in',
716 'conditions' : ['ENABLE_UTMP', 'HAVE_SYSV_COMPAT'],
717 'symlinks' : ['multi-user.target.wants/', 'graphical.target.wants/', 'rescue.target.wants/'],
718 },
719 {
720 'file' : 'systemd-update-utmp.service.in',
721 'conditions' : ['ENABLE_UTMP'],
722 'symlinks' : ['sysinit.target.wants/'],
723 },
724 {
725 'file' : 'systemd-user-sessions.service.in',
726 'conditions' : ['HAVE_PAM'],
727 'symlinks' : ['multi-user.target.wants/'],
728 },
729 {
730 'file' : 'systemd-userdbd.service.in',
731 'conditions' : ['ENABLE_USERDB'],
732 },
733 {
734 'file' : 'systemd-userdbd.socket',
735 'conditions' : ['ENABLE_USERDB'],
736 },
702a52f4
LP
737 {
738 'file' : 'systemd-mountfsd.service.in',
739 'conditions' : ['ENABLE_MOUNTFSD'],
740 },
741 {
742 'file' : 'systemd-mountfsd.socket',
743 'conditions' : ['ENABLE_MOUNTFSD'],
744 },
8aee931e
LP
745 {
746 'file' : 'systemd-nsresourced.service.in',
747 'conditions' : ['ENABLE_NSRESOURCED'],
748 },
749 {
750 'file' : 'systemd-nsresourced.socket',
751 'conditions' : ['ENABLE_NSRESOURCED'],
752 },
742aebc5
YW
753 {
754 'file' : 'systemd-vconsole-setup.service.in',
755 'conditions' : ['ENABLE_VCONSOLE'],
756 },
757 {
758 'file' : 'systemd-volatile-root.service.in',
759 'conditions' : ['ENABLE_INITRD'],
760 },
761 { 'file' : 'time-set.target' },
762 { 'file' : 'time-sync.target' },
763 { 'file' : 'timers.target' },
764 {
765 'file' : 'tmp.mount',
766 'symlinks' : ['local-fs.target.wants/'],
767 },
4e1f0037 768 { 'file' : 'tpm2.target' },
742aebc5
YW
769 { 'file' : 'umount.target' },
770 { 'file' : 'usb-gadget.target' },
771 { 'file' : 'user-runtime-dir@.service.in' },
772 { 'file' : 'user.slice' },
773 { 'file' : 'user@.service.in' },
774 {
775 'file' : 'var-lib-machines.mount',
776 'conditions' : ['ENABLE_MACHINED'],
777 'symlinks' : ['remote-fs.target.wants/', 'machines.target.wants/'],
778 },
779 {
780 'file' : 'veritysetup-pre.target',
781 'conditions' : ['HAVE_LIBCRYPTSETUP'],
782 },
783 {
784 'file' : 'veritysetup.target',
785 'conditions' : ['HAVE_LIBCRYPTSETUP'],
786 'symlinks' : ['sysinit.target.wants/'],
787 },
082ef2ad
ZJS
788]
789
742aebc5
YW
790foreach unit : units
791 source = unit.get('file')
2d9f0c68 792
742aebc5
YW
793 if source.endswith('.in')
794 needs_jinja = true
795 name = source.substring(0, -3)
796 assert(name + '.in' == source)
797 else
798 needs_jinja = false
799 name = source
37efbbd8 800 endif
742aebc5 801 source = files(source)
5c23128d 802
742aebc5
YW
803 install = true
804 foreach cond : unit.get('conditions', [])
805 if conf.get(cond) != 1
806 install = false
807 break
808 endif
809 endforeach
5c23128d 810
742aebc5
YW
811 if needs_jinja
812 custom_target(
813 name,
814 input : source,
815 output : name,
816 command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
817 install : install,
818 install_dir : systemunitdir)
819 elif install
820 install_data(source,
37efbbd8 821 install_dir : systemunitdir)
742aebc5 822 endif
2d9f0c68 823
742aebc5
YW
824 if install
825 foreach target : unit.get('symlinks', [])
9289e093
YW
826 if target.endswith('/')
827 install_emptydir(systemunitdir / target)
828 meson.add_install_script(sh, '-c',
829 ln_s.format(systemunitdir / name,
830 systemunitdir / target / name))
831 else
832 meson.add_install_script(sh, '-c',
833 ln_s.format(systemunitdir / name,
834 systemunitdir / target))
835 endif
742aebc5 836 endforeach
37efbbd8 837 endif
5c23128d
ZJS
838endforeach
839
28414939
ZJS
840install_data('user-.slice.d/10-defaults.conf',
841 install_dir : systemunitdir + '/user-.slice.d')
842
278e815b
FB
843install_data('user@.service.d/10-login-barrier.conf',
844 install_dir : systemunitdir + '/user@.service.d')
845install_data('user@0.service.d/10-login-barrier.conf',
846 install_dir : systemunitdir + '/user@0.service.d')
847
082ef2ad
ZJS
848############################################################
849
9289e093
YW
850install_emptydir(dbussessionservicedir)
851meson.add_install_script(sh, '-c',
852 ln_s.format(dbussystemservicedir / 'org.freedesktop.systemd1.service',
853 dbussessionservicedir / 'org.freedesktop.systemd1.service'))
854
349cc4a5 855if conf.get('HAVE_SYSV_COMPAT') == 1
37efbbd8 856 foreach i : [1, 2, 3, 4, 5]
9289e093 857 install_emptydir(systemunitdir / 'runlevel@0@.target.wants'.format(i))
37efbbd8 858 endforeach
94e75a54
ZJS
859endif
860
5c23128d 861subdir('user')