summaryrefslogtreecommitdiffstats
path: root/tmpfiles.d/meson.build
blob: 52611357c2ba1fdf8809f16b267222321e66a7ff (plain)
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
# SPDX-License-Identifier: LGPL-2.1-or-later

enable_tmpfiles = conf.get('ENABLE_TMPFILES') == 1

files = [['README',               ''],
         ['home.conf',            ''],
         ['journal-nocow.conf',   ''],
         ['portables.conf',       'ENABLE_PORTABLED'],
         ['systemd-network.conf', 'ENABLE_NETWORKD'],
         ['systemd-nologin.conf', 'HAVE_PAM'],
         ['systemd-nspawn.conf',  'ENABLE_MACHINED'],
         ['systemd-pstore.conf',  'ENABLE_PSTORE'],
         ['systemd-resolve.conf', 'ENABLE_RESOLVE'],
         ['systemd-tmp.conf',     ''],
         ['tmp.conf',             ''],
         ['x11.conf',             ''],
         ['provision.conf',       ''],
         ['credstore.conf',       ''],
        ]

foreach pair : files
        if not enable_tmpfiles
                # do nothing
        elif pair[1] == '' or conf.get(pair[1]) == 1
                install_data(pair[0], install_dir : tmpfilesdir)
        else
                message('Not installing tmpfiles.d/@0@ because @1@ is @2@'
                        .format(pair[0], pair[1], conf.get(pair[1], 0)))
        endif
endforeach

in_files = [
        ['20-systemd-shell-extra.conf',   'LINK_SHELL_EXTRA_DROPIN'],
        ['20-systemd-ssh-generator.conf', 'ENABLE_SSH_PROXY_CONFIG'],
        ['20-systemd-stub.conf',          'ENABLE_EFI'],
        ['20-systemd-userdb.conf',        'ENABLE_SSH_USERDB_CONFIG'],
        ['etc.conf',                      ''],
        ['legacy.conf',                   'HAVE_SYSV_COMPAT'],
        ['static-nodes-permissions.conf', ''],
        ['systemd.conf',                  ''],
        ['var.conf',                      ''],
]

foreach pair : in_files
        if not enable_tmpfiles
                # do nothing
        elif pair[1] == '' or conf.get(pair[1]) == 1
                custom_target(
                        pair[0],
                        input : pair[0] + '.in',
                        output: pair[0],
                        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
                        install : enable_tmpfiles,
                        install_dir : tmpfilesdir)
        else
                message('Not installing tmpfiles.d/@0@ because @1@ is @2@'
                        .format(pair[0], pair[1], conf.get(pair[1], 0)))
        endif
endforeach

if enable_tmpfiles and install_sysconfdir
        install_emptydir(sysconfdir / 'tmpfiles.d')
endif