xref: /openbmc/phosphor-certificate-manager/dist/meson.build (revision d4c5dbc8c5845d43fa098e6f125a469f60f3ceb7)
1d719701dSPatrick Williamssystemd_system_unit_dir = systemd_dep.get_variable('systemdsystemunitdir')
2bb939ea4SPatrick Williamsbusconfig_dir = get_option('datadir') / 'dbus-1' / 'system.d'
3bb939ea4SPatrick Williamscert_manager_dir = get_option('datadir') / 'phosphor-certificate-manager'
4bb939ea4SPatrick Williams
5bb939ea4SPatrick Williamscerts = []
6bb939ea4SPatrick Williamsbusconfig = []
7bb939ea4SPatrick Williamsservice_files = ['phosphor-certificate-manager@.service']
8bb939ea4SPatrick Williamssystemd_alias = []
9bb939ea4SPatrick Williams
10*d4c5dbc8SPatrick Williamsif get_option('ca-cert-extension').allowed()
11bb939ea4SPatrick Williams    busconfig += 'busconfig/bmc-vmi-ca.conf'
12bb939ea4SPatrick Williams    service_files += 'bmc-vmi-ca-manager.service'
13bb939ea4SPatrick Williamsendif
14bb939ea4SPatrick Williams
15*d4c5dbc8SPatrick Williamsif get_option('config-bmcweb').allowed()
16bb939ea4SPatrick Williams    busconfig += 'busconfig/phosphor-bmcweb-cert-config.conf'
17bb939ea4SPatrick Williams    certs += 'env/bmcweb'
18d719701dSPatrick Williams    systemd_alias += [
19d719701dSPatrick Williams        [
20bb939ea4SPatrick Williams            '../phosphor-certificate-manager@.service',
21d719701dSPatrick Williams            'multi-user.target.wants/phosphor-certificate-manager@bmcweb.service',
22d719701dSPatrick Williams        ],
23d719701dSPatrick Williams    ]
24bb939ea4SPatrick Williamsendif
25bb939ea4SPatrick Williams
26*d4c5dbc8SPatrick Williamsif get_option('config-authority').allowed()
272e8fa88eSMichal Orzel    busconfig += 'busconfig/phosphor-authority-cert-config.conf'
28bb939ea4SPatrick Williams    certs += 'env/authority'
29d719701dSPatrick Williams    systemd_alias += [
30d719701dSPatrick Williams        [
31bb939ea4SPatrick Williams            '../phosphor-certificate-manager@.service',
32d719701dSPatrick Williams            'multi-user.target.wants/phosphor-certificate-manager@authority.service',
33d719701dSPatrick Williams        ],
34d719701dSPatrick Williams    ]
35bb939ea4SPatrick Williamsendif
36bb939ea4SPatrick Williams
37d719701dSPatrick Williamsinstall_data(service_files, install_dir: systemd_system_unit_dir)
38bb939ea4SPatrick Williams
39d719701dSPatrick Williamsinstall_data(busconfig, install_dir: busconfig_dir)
40bb939ea4SPatrick Williams
41d719701dSPatrick Williamsinstall_data(certs, install_dir: cert_manager_dir)
42bb939ea4SPatrick Williams
43bb939ea4SPatrick Williamsforeach service : systemd_alias
44bb939ea4SPatrick Williams    # Meson 0.61 will support this:
45bb939ea4SPatrick Williams    #install_symlink(
46bb939ea4SPatrick Williams    #      service,
47bb939ea4SPatrick Williams    #      install_dir: systemd_system_unit_dir,
48bb939ea4SPatrick Williams    #      pointing_to: link,
49bb939ea4SPatrick Williams    #  )
50bb939ea4SPatrick Williams    meson.add_install_script(
51d719701dSPatrick Williams        'sh',
52d719701dSPatrick Williams        '-c',
53d719701dSPatrick Williams        'mkdir -p $(dirname $DESTDIR/@0@/@1@)'.format(
54d719701dSPatrick Williams            systemd_system_unit_dir,
55d719701dSPatrick Williams            service[1],
56d719701dSPatrick Williams        ),
57bb939ea4SPatrick Williams    )
58bb939ea4SPatrick Williams    meson.add_install_script(
59d719701dSPatrick Williams        'sh',
60d719701dSPatrick Williams        '-c',
61d719701dSPatrick Williams        'ln -s @0@ $DESTDIR/@1@/@2@'.format(
62d719701dSPatrick Williams            service[0],
63d719701dSPatrick Williams            systemd_system_unit_dir,
64d719701dSPatrick Williams            service[1],
65d719701dSPatrick Williams        ),
66bb939ea4SPatrick Williams    )
67bb939ea4SPatrick Williamsendforeach
68