From 7aa2c23f42d4a4ce5086a12f28f54c99aaa5701a Mon Sep 17 00:00:00 2001 From: Florian Larysch Date: Sat, 31 May 2025 16:39:22 +0200 Subject: [PATCH] package/network-manager: make crypto library optional The network-manager package currently pulls in either gnutls or libnss, neither of which are very common and it might be the only reason why they are present on a system. However, most of NetworkManager works just fine without any cryptography support, it only seems to be used in test cases and 802.1X support code. Remove the dependency but use a library if it is present. Note that this changes the default behavior. If network-manager was the only package pulling in gnutls, it won't do this anymore and use the "null" backend. Add a note about this to the manual. Signed-off-by: Florian Larysch Tested-by: Marcus Hoffmann Reviewed-by: Marcus Hoffmann [Marcus: Change buildroot version to 2026.02 in migrating.adoc] Signed-off-by: Marcus Hoffmann --- docs/manual/migrating.adoc | 5 +++++ package/network-manager/Config.in | 1 - package/network-manager/network-manager.mk | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/manual/migrating.adoc b/docs/manual/migrating.adoc index eabaaa80a7..d8d86d8945 100644 --- a/docs/manual/migrating.adoc +++ b/docs/manual/migrating.adoc @@ -242,3 +242,8 @@ If you want to provide such libraries either: - Serve it by adding the library to your overlay. - Install the libraries from your project with NPM and bundle with a JavaScript bundler. + +In 2026.02, the network-manager package stopped selecting the gnutls package as +a cryptography backend automatically. Manually enable the gnutls or libnss +package if you require features that depend on a cryptography backend, such as +certificate-based authentication. diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in index b388c573fe..c3d9f7b655 100644 --- a/package/network-manager/Config.in +++ b/package/network-manager/Config.in @@ -10,7 +10,6 @@ config BR2_PACKAGE_NETWORK_MANAGER depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libglib2 select BR2_PACKAGE_DBUS - select BR2_PACKAGE_GNUTLS if !BR2_PACKAGE_LIBNSS select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBNDP select BR2_PACKAGE_UTIL_LINUX diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index 1bec053c54..faf162f6f3 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -80,9 +80,11 @@ endif ifeq ($(BR2_PACKAGE_LIBNSS),y) NETWORK_MANAGER_DEPENDENCIES += libnss NETWORK_MANAGER_CONF_OPTS += -Dcrypto=nss -else +else ifeq ($(BR2_PACKAGE_GNUTLS),y) NETWORK_MANAGER_DEPENDENCIES += gnutls NETWORK_MANAGER_CONF_OPTS += -Dcrypto=gnutls +else +NETWORK_MANAGER_CONF_OPTS += -Dcrypto=null endif ifeq ($(BR2_PACKAGE_LIBPSL),y)