NetworkManager/src/nm-cloud-setup/meson.build
Wen Liang f04a9eb098 cloud-setup: add pre-up event to prevent reaching network-online.target
network-online.target should not be reached before nm-cloud-setup
completes configuring the network, which may make user service get
started before the network is fully configured.

Setting nm-cloud-setup.service as "Before=network-online.target" would
maybe have already achieved that. However, also use a pre-up dispatcher
script, so that the device activation in NetworkManager is also waiting
for nm-cloud-setup to complete.

https://bugzilla.redhat.com/show_bug.cgi?id=2151040
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1653
2023-06-09 09:18:20 -04:00

67 lines
1.3 KiB
Meson

# SPDX-License-Identifier: LGPL-2.1-or-later
if install_systemdunitdir
nm_cloud_setup_service = configure_file(
input: 'nm-cloud-setup.service.in',
output: '@BASENAME@',
install_dir: systemd_systemdsystemunitdir,
configuration: data_conf,
)
install_data(
'nm-cloud-setup.timer',
install_dir: systemd_systemdsystemunitdir,
)
install_data(
'90-nm-cloud-setup.sh',
install_dir: join_paths(nm_pkglibdir, 'dispatcher.d', 'pre-up.d'),
)
endif
libnm_cloud_setup_core = static_library(
'nm-cloud-setup-core',
sources: files(
'nm-cloud-setup-utils.c',
'nm-http-client.c',
'nmcs-provider-ec2.c',
'nmcs-provider-gcp.c',
'nmcs-provider-azure.c',
'nmcs-provider-aliyun.c',
'nmcs-provider.c',
),
dependencies: [
libnm_dep,
glib_dep,
libcurl_dep,
],
)
executable(
'nm-cloud-setup',
files(
'main.c',
),
dependencies: [
libnm_dep,
glib_dep,
libcurl_dep,
],
link_with: [
libnm_cloud_setup_core,
libnmc_base,
libnm_client_aux_extern,
libnm_core_aux_extern,
libnm_core_aux_intern,
libnm_log_null,
libnm_glib_aux,
libnm_std_aux,
libc_siphash,
],
link_args: ldflags_linker_script_binary,
link_depends: linker_script_binary,
install: true,
install_dir: nm_libexecdir,
)