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