diff options
| author | Andrej Kozemcak <andrej.kozemcak@siemens.com> | 2026-03-12 15:04:59 +0100 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2026-03-17 22:02:52 -0700 |
| commit | fc1549090f980c620259cd8e81c9b0a0b258c7e2 (patch) | |
| tree | b10db8f9c68f29b18c29094000ead9277ae1f583 | |
| parent | 1e52242e561d260f2d32546b551c729a26aa7f18 (diff) | |
| download | meta-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.patch | 69 | ||||
| -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 @@ | |||
| 1 | From 49cc7ebaf3ed86b693ac80c76a28ba0db7406374 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andrej Kozemcak <andrej.kozemcak@siemens.com> | ||
| 3 | Date: Mon, 9 Mar 2026 15:50:26 +0100 | ||
| 4 | Subject: [PATCH] meson: fix cross-compilation issues | ||
| 5 | |||
| 6 | Strip newline from GI_TYPELIB_PATH and LD_LIBRARY_PATH | ||
| 7 | run_command().stdout() returns the raw shell output including a trailing | ||
| 8 | newline. When the value is used to build a colon-separated path, the newline | ||
| 9 | gets embedded at the end of the last path component, making the directory | ||
| 10 | invalid and causing GObject Introspection to fail with: | ||
| 11 | |||
| 12 | ImportError: Typelib file for namespace 'Gio', version '2.0' not found | ||
| 13 | |||
| 14 | Use .strip() to remove leading/trailing whitespace from both env variable | ||
| 15 | reads. | ||
| 16 | |||
| 17 | Fix jansson SONAME detection for cross-compilation | ||
| 18 | When cross-compiling, jansson's pkg-config 'libdir' variable returns a | ||
| 19 | path relative to the sysroot (e.g., /usr/lib) without the actual sysroot | ||
| 20 | prefix. The host readelf binary cannot find the library at that path. | ||
| 21 | |||
| 22 | Fix this by using meson.get_external_property('sys_root', '') to obtain | ||
| 23 | the sysroot path set by the cross-compilation environment and prepend it | ||
| 24 | to the library path before calling readelf. | ||
| 25 | |||
| 26 | Upstream-Status: Submitted [https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2380] | ||
| 27 | Signed-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 | |||
| 33 | diff --git a/meson.build b/meson.build | ||
| 34 | index 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') | ||
| 47 | diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build | ||
| 48 | index 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 | -- | ||
| 68 | 2.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" | |||
| 38 | inherit meson gettext update-rc.d systemd gobject-introspection update-alternatives upstream-version-is-even pkgconfig | 38 | inherit meson gettext update-rc.d systemd gobject-introspection update-alternatives upstream-version-is-even pkgconfig |
| 39 | 39 | ||
| 40 | SRC_URI = " \ | 40 | SRC_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 | " |
| 46 | SRC_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 | SRC_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 | ||
| 48 | SRCREV = "57a409441bef013f636ac8e72836c19ecb27c1b9" | 49 | SRCREV = "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 | ||
| 84 | CFLAGS:append:toolchain-clang = " -Wno-error=incompatible-function-pointer-types" | 86 | CFLAGS:append:toolchain-clang = " -Wno-error=incompatible-function-pointer-types" |
| 85 | 87 | ||
| 86 | PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \ | 88 | PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \ |
| @@ -111,13 +113,13 @@ PACKAGECONFIG[crypto-null] = "-Dcrypto=null" | |||
| 111 | PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false" | 113 | PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false" |
| 112 | PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false" | 114 | PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false" |
| 113 | PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" | 115 | PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" |
| 114 | PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false" | 116 | PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false,jansson" |
| 115 | PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" | 117 | PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" |
| 116 | PACKAGECONFIG[nmtui] = "-Dnmtui=true,-Dnmtui=false,libnewt" | 118 | PACKAGECONFIG[nmtui] = "-Dnmtui=true,-Dnmtui=false,libnewt" |
| 117 | PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" | 119 | PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" |
| 118 | PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" | 120 | PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" |
| 119 | PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" | 121 | PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" |
| 120 | PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no" | 122 | PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no,audit" |
| 121 | PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux" | 123 | PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux" |
| 122 | PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" | 124 | PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" |
| 123 | PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=${base_sbindir}/dhcpcd,-Ddhcpcd=no,,dhcpcd" | 125 | PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=${base_sbindir}/dhcpcd,-Ddhcpcd=no,,dhcpcd" |
| @@ -127,6 +129,7 @@ PACKAGECONFIG[adsl] = ",," | |||
| 127 | PACKAGECONFIG[wwan] = ",," | 129 | PACKAGECONFIG[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 |
| 129 | PACKAGECONFIG[man-resolv-conf] = ",," | 131 | PACKAGECONFIG[man-resolv-conf] = ",," |
| 132 | PACKAGECONFIG[nbft] = "-Dnbft=true,-Dnbft=false" | ||
| 130 | 133 | ||
| 131 | 134 | ||
| 132 | PACKAGES =+ " \ | 135 | PACKAGES =+ " \ |
