summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrej Kozemcak <andrej.kozemcak@siemens.com>2026-03-12 15:04:59 +0100
committerKhem Raj <raj.khem@gmail.com>2026-03-17 22:02:52 -0700
commitfc1549090f980c620259cd8e81c9b0a0b258c7e2 (patch)
treeb10db8f9c68f29b18c29094000ead9277ae1f583
parent1e52242e561d260f2d32546b551c729a26aa7f18 (diff)
downloadmeta-openembedded-fc1549090f980c620259cd8e81c9b0a0b258c7e2.tar.gz
networkmanager: upgrade 1.52.2 -> 1.56.0
Create path to fix `meson` build errors Add missing dependencies. Disables man page generation. The build was using xsltproc to try downloading http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl from the network, which fails in embedded build environments. Changelog: v1.56.0 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/1.56.0/NEWS?ref_type=tags Changed: - Unify the versioning to use everywhere the scheme with the -rcX or -dev suffixes when appropriate. This affects, for example, the URL and filename of the release tarball and the version reported by nmcli and the daemon. As an exception, the C API will continue to use the 90+ scheme for RC versions. - nmcli now supports viewing and managing WireGuard peers. - Support reapplying the "sriov.vfs" property as long as "sriov.total-vfs" is not changed. - Support reapplying "bond-port.vlans". - Accept hostnames longer than 64 characters from DNS lookup. - Make that global-dns configuration overwrites DNS searches and options from connections, instead of merging all together. - Add support for a new rd.net.dhcp.client-id option in nm-initrd-generator. - Add gsm device-uid setting to restrict the devices the connection applies to. - Support configuring the HSR protocol version via the "hsr.protocol-version" property. - Fix a bug that makes broadband connections auto-connect getting blocked if the connection tries to reconnect when modem status is "disconnecting" / "disconnected". - Treat modem connection not having an operator code available as a recoverable error. - Add support for configuring systemd-resolved's DNSSEC option per-connection via the "connection.dnssec" connection property. - Support configuring the HSR interlink port via the "hsr.interlink" property. - Fix some connection properties not being applied to vpn connections (connection.mdns, connection.llmnr, connection.dns-over-tls, connection.mptcp-flags, ipv6.ip6-privacy) - Update n-acd to always compile with eBPF enabled, as support for eBPF is now detected at run time. - Add new MPTCP 'laminar' endpoint type, and set it by default alongside the 'subflow' one. - For private connections (the ones that specify a user in the "connection.permissions" property), verify that the user can access the 802.1X certificates and keys set in the connection. - Introduce a libnm function that can be used by VPN plugins to check user permissions on certificate and keys. v1.54.0 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/1.54.0/NEWS?ref_type=tags Changed: - Add support for configuring per-device IPv4 forwarding via the "ipv4.forwarding" connection property. - Add a new "prefix-delegation" setting containing a "subnet-id" property that specifies the subnet to choose on the downstream interface when using IPv6 prefix delegation. - Support OCI baremetal in nm-cloud-setup - When activating a WireGuard connection to an IPv6 endpoint, now NetworkManager creates firewall rules to ensure that the incoming packets are not dropped by kernel reverse path filtering. - Add support for configuring the loopback interface in nmtui. - Most of the properties of ovs-bridge and ovs-port connections can now be reapplied at runtime without bringing the connection down. - Add a new "sriov.preserve-on-down" property that controls whether NetworkManager preserves the SR-IOV parameters set on the device when the connection is deactivated, or whether it resets them to their default value. - Introduce a new "ovs-dpdk.lsc-interrupt" property to configure the Link State Change (LSC) detection mode for OVS DPDK interfaces. - The initrd-generator now can parse the NVMe Boot Firmware Table (NBFT) to configure networking during early boot. - Add systemd services to provide networking in the initrd. Signed-off-by: Andrej Kozemcak <andrej.kozemcak@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-meson-fix-cross-compilation-issues.patch69
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb (renamed from meta-networking/recipes-connectivity/networkmanager/networkmanager_1.52.2.bb)13
2 files changed, 77 insertions, 5 deletions
diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-meson-fix-cross-compilation-issues.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-meson-fix-cross-compilation-issues.patch
new file mode 100644
index 0000000000..617c614958
--- /dev/null
+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-meson-fix-cross-compilation-issues.patch
@@ -0,0 +1,69 @@
1From 49cc7ebaf3ed86b693ac80c76a28ba0db7406374 Mon Sep 17 00:00:00 2001
2From: Andrej Kozemcak <andrej.kozemcak@siemens.com>
3Date: Mon, 9 Mar 2026 15:50:26 +0100
4Subject: [PATCH] meson: fix cross-compilation issues
5
6Strip newline from GI_TYPELIB_PATH and LD_LIBRARY_PATH
7run_command().stdout() returns the raw shell output including a trailing
8newline. When the value is used to build a colon-separated path, the newline
9gets embedded at the end of the last path component, making the directory
10invalid and causing GObject Introspection to fail with:
11
12 ImportError: Typelib file for namespace 'Gio', version '2.0' not found
13
14Use .strip() to remove leading/trailing whitespace from both env variable
15reads.
16
17Fix jansson SONAME detection for cross-compilation
18When cross-compiling, jansson's pkg-config 'libdir' variable returns a
19path relative to the sysroot (e.g., /usr/lib) without the actual sysroot
20prefix. The host readelf binary cannot find the library at that path.
21
22Fix this by using meson.get_external_property('sys_root', '') to obtain
23the sysroot path set by the cross-compilation environment and prepend it
24to the library path before calling readelf.
25
26Upstream-Status: Submitted [https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2380]
27Signed-off-by: Andrej Kozemcak <andrej.kozemcak@siemens.com>
28---
29 meson.build | 3 ++-
30 src/libnm-client-impl/meson.build | 4 ++--
31 2 files changed, 4 insertions(+), 3 deletions(-)
32
33diff --git a/meson.build b/meson.build
34index 8b0334240d..75f6871dd2 100644
35--- a/meson.build
36+++ b/meson.build
37@@ -296,7 +296,8 @@ config_h.set10('WITH_JANSSON', jansson_dep.found())
38 jansson_msg = 'no'
39 if jansson_dep.found()
40 jansson_libdir = jansson_dep.get_variable(pkgconfig: 'libdir')
41- res = run_command(find_program('eu-readelf', 'readelf'), '-d', join_paths(jansson_libdir, 'libjansson.so'), check: false)
42+ jansson_sysroot = meson.is_cross_build() ? meson.get_external_property('sys_root', '') : ''
43+ res = run_command(find_program('eu-readelf', 'readelf'), '-d', jansson_sysroot + join_paths(jansson_libdir, 'libjansson.so'), check: false)
44 jansson_soname = ''
45 foreach line: res.stdout().split('\n')
46 if line.strip().contains('SONAME')
47diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build
48index 3352ebfee0..329078ab46 100644
49--- a/src/libnm-client-impl/meson.build
50+++ b/src/libnm-client-impl/meson.build
51@@ -167,13 +167,13 @@ if enable_introspection
52 install: true,
53 )
54
55- gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH', check: false).stdout()
56+ gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH', check: false).stdout().strip()
57 if gi_typelib_path != ''
58 gi_typelib_path = ':' + gi_typelib_path
59 endif
60 gi_typelib_path = meson.current_build_dir() + gi_typelib_path
61
62- ld_library_path = run_command('printenv', 'LD_LIBRARY_PATH', check: false).stdout()
63+ ld_library_path = run_command('printenv', 'LD_LIBRARY_PATH', check: false).stdout().strip()
64 if ld_library_path != ''
65 ld_library_path = ':' + ld_library_path
66 endif
67--
682.47.3
69
diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.52.2.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb
index cafc6ce3f2..de163fe00e 100644
--- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.52.2.bb
+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb
@@ -38,14 +38,15 @@ DEPENDS:append:class-target = " bash-completion"
38inherit meson gettext update-rc.d systemd gobject-introspection update-alternatives upstream-version-is-even pkgconfig 38inherit meson gettext update-rc.d systemd gobject-introspection update-alternatives upstream-version-is-even pkgconfig
39 39
40SRC_URI = " \ 40SRC_URI = " \
41 git://github.com/NetworkManager/NetworkManager.git;protocol=https;branch=nm-1-52;tag=${PV} \ 41 git://github.com/NetworkManager/NetworkManager.git;protocol=https;branch=nm-1-56;tag=${PV} \
42 file://${BPN}.initd \ 42 file://${BPN}.initd \
43 file://enable-dhcpcd.conf \ 43 file://enable-dhcpcd.conf \
44 file://enable-iwd.conf \ 44 file://enable-iwd.conf \
45 file://0002-meson-fix-cross-compilation-issues.patch \
45" 46"
46SRC_URI:append:libc-musl = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch', '', d)}" 47SRC_URI:append:libc-musl = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch', '', d)}"
47 48
48SRCREV = "57a409441bef013f636ac8e72836c19ecb27c1b9" 49SRCREV = "56b51b98fbb8627c4c09a483702e18fd8aee7ce1"
49 50
50 51
51# ['auto', 'symlink', 'file', 'netconfig', 'resolvconf'] 52# ['auto', 'symlink', 'file', 'netconfig', 'resolvconf']
@@ -68,6 +69,7 @@ EXTRA_OEMESON = "\
68 -Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \ 69 -Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \
69 -Diptables=${sbindir}/iptables \ 70 -Diptables=${sbindir}/iptables \
70 -Dnft=${sbindir}/nft \ 71 -Dnft=${sbindir}/nft \
72 -Dman=false \
71" 73"
72 74
73# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template 75# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
@@ -80,7 +82,7 @@ CFLAGS:append:libc-musl = " \
80# networkmanager-1.52.0/src/nmcli/agent.c:88:29: error: incompatible function pointer types assigning to 'rl_hook_func_t *' (aka 'int (*)(void)') from 'int (const char *, int)' [-Wincompatible-function-pointer-types] 82# networkmanager-1.52.0/src/nmcli/agent.c:88:29: error: incompatible function pointer types assigning to 'rl_hook_func_t *' (aka 'int (*)(void)') from 'int (const char *, int)' [-Wincompatible-function-pointer-types]
81# 88 | rl_startup_hook = set_deftext; 83# 88 | rl_startup_hook = set_deftext;
82# | ^ ~~~~~~~~~~~ 84# | ^ ~~~~~~~~~~~
83 85
84CFLAGS:append:toolchain-clang = " -Wno-error=incompatible-function-pointer-types" 86CFLAGS:append:toolchain-clang = " -Wno-error=incompatible-function-pointer-types"
85 87
86PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \ 88PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \
@@ -111,13 +113,13 @@ PACKAGECONFIG[crypto-null] = "-Dcrypto=null"
111PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false" 113PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false"
112PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false" 114PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false"
113PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" 115PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false"
114PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false" 116PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false,jansson"
115PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" 117PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false"
116PACKAGECONFIG[nmtui] = "-Dnmtui=true,-Dnmtui=false,libnewt" 118PACKAGECONFIG[nmtui] = "-Dnmtui=true,-Dnmtui=false,libnewt"
117PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" 119PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline"
118PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" 120PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit"
119PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" 121PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson"
120PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no" 122PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no,audit"
121PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux" 123PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux"
122PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" 124PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
123PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=${base_sbindir}/dhcpcd,-Ddhcpcd=no,,dhcpcd" 125PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=${base_sbindir}/dhcpcd,-Ddhcpcd=no,,dhcpcd"
@@ -127,6 +129,7 @@ PACKAGECONFIG[adsl] = ",,"
127PACKAGECONFIG[wwan] = ",," 129PACKAGECONFIG[wwan] = ",,"
128# The following PACKAGECONFIG is used to determine whether NM is managing /etc/resolv.conf itself or not 130# The following PACKAGECONFIG is used to determine whether NM is managing /etc/resolv.conf itself or not
129PACKAGECONFIG[man-resolv-conf] = ",," 131PACKAGECONFIG[man-resolv-conf] = ",,"
132PACKAGECONFIG[nbft] = "-Dnbft=true,-Dnbft=false"
130 133
131 134
132PACKAGES =+ " \ 135PACKAGES =+ " \