
Decouple from a specific initrd generator (dracut) the systemd services that provide networking in the initrd using NM, thus allowing other systemd-based initrd generators to take advantage of it. These new services are: - `NetworkManager-config-initrd.service`: it starts very early at boot, parses the kernel command line using `nm-initrd-generator` and sets the `/run/NetworkManager/initrd/neednet` flag to activate the other initrd services, and also sets the hostname if needed. - `NetworkManager-initrd.service`: it basically does the same job as the `NetworkManager.service`, but in the initrd. - `NetworkManager-wait-online-initrd.service`: ordered before `network-online.target`, it will allow other services that require networking to delay their start until NM has finished.
81 lines
1.8 KiB
Meson
81 lines
1.8 KiB
Meson
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
configure_file(
|
|
input: 'server.conf.in',
|
|
output: '@BASENAME@',
|
|
install_dir: join_paths(nm_datadir, 'doc', nm_name, 'examples'),
|
|
configuration: data_conf,
|
|
)
|
|
|
|
if install_systemdunitdir
|
|
services = [
|
|
'NetworkManager-dispatcher.service',
|
|
'NetworkManager.service',
|
|
'nm-priv-helper.service',
|
|
'NetworkManager-wait-online.service',
|
|
'NetworkManager-config-initrd.service',
|
|
'NetworkManager-initrd.service',
|
|
'NetworkManager-wait-online-initrd.service',
|
|
]
|
|
|
|
foreach service: services
|
|
configure_file(
|
|
input: service + '.in',
|
|
output: service,
|
|
install_dir: systemd_systemdsystemunitdir,
|
|
configuration: data_conf,
|
|
)
|
|
|
|
test(
|
|
'check-' + service,
|
|
find_program(join_paths(source_root, 'src/tests/check-systemd-unit.sh')),
|
|
args: [ join_paths(meson.current_build_dir(), service) ],
|
|
)
|
|
endforeach
|
|
|
|
if enable_ovs
|
|
install_data(
|
|
'NetworkManager-ovs.conf',
|
|
install_dir: join_paths(systemd_systemdsystemunitdir, 'NetworkManager.service.d'),
|
|
)
|
|
endif
|
|
endif
|
|
|
|
if install_udevdir
|
|
data = files(
|
|
'84-nm-drivers.rules',
|
|
'85-nm-unmanaged.rules',
|
|
'90-nm-thunderbolt.rules',
|
|
)
|
|
|
|
install_data(
|
|
data,
|
|
install_dir: join_paths(udev_udevdir, 'rules.d'),
|
|
)
|
|
endif
|
|
|
|
if enable_polkit
|
|
policy = 'org.freedesktop.NetworkManager.policy'
|
|
|
|
policy_in = configure_file(
|
|
input: policy + '.in.in',
|
|
output: '@BASENAME@',
|
|
configuration: data_conf,
|
|
)
|
|
|
|
i18n.merge_file(
|
|
input: policy_in,
|
|
output: '@BASENAME@',
|
|
po_dir: po_dir,
|
|
install: true,
|
|
install_dir: polkit_gobject_policydir,
|
|
)
|
|
endif
|
|
|
|
if enable_firewalld_zone
|
|
install_data(
|
|
'nm-shared.xml',
|
|
install_dir: join_paths(nm_prefix, 'lib', 'firewalld', 'zones')
|
|
)
|
|
endif
|