[Buildroot] [PATCH] package/qt5: relax openssl constraint to allow compatible implementations
Alexis Lothoré via buildroot <[email protected]>
| Newsgroups | net.busybox.buildroot |
|---|---|
| Message-ID | <20260821-qt5_allow_other_openssl_implementations-v1-1-be1438707393@bootlin.com> |
Qt5 can be built with or without openssl support. Following some build
failures, commit a94d39d693d8 ("package/qt5: fix build failure due to
libressl use") enforced libopenssl as the only valid implementation for
Qt5 openssl support.
While this solution is fine to filter between the two openssl variants
officially supported by Buildroot, it prevents users bringing their own
OpenSSL implementations (through the "provides" mechanism) from building
Qt5, even if the custom implementation matches the OpenSSL API.
Allow compatible external implementations to be provided for Qt5 openssl
support. Relax the constraint by partially reverting a94d39d693d8 and
checking that the selected openssl implementation isn't libressl. It
then becomes up to users to ensure that the implementation they are
providing is fully compatible with the libopenssl one. Some qt5
sub-packages enforce BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL, they don't
need update as it does not really strictly select libopenssl, it rather
prevents libressl, so it still allows custom providers.
Signed-off-by: Alexis Lothoré <[email protected]>
---
The issue affects 2025.02.x, 2026.05.x, 2026.08.x and master
---
package/qt5/qt5base/qt5base.mk | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 159d411de85b..58917f6d6a15 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -230,8 +230,12 @@ else
QT5BASE_CONFIGURE_OPTS += -no-eglfs
endif
-QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBOPENSSL),-openssl,-no-openssl)
-QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBOPENSSL),openssl)
+# Qt5 officially only supports OpenSSL. Users can also provide their own
+# OpenSSL variant through the "provides" mechanism, but it is then up to
+# them to ensure that the provided API is exactly compatible with the
+# libopenssl one
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),$(if $(BR2_PACKAGE_LIBRESSL),-no-openssl,-openssl),-no-openssl)
+QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_OPENSSL),$(if $(BR2_PACKAGE_LIBRESSL),,openssl))
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),-fontconfig,-no-fontconfig)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),fontconfig)
---
base-commit: 5245c41441bacca292d129d4339e79e5179af79c
change-id: 20260820-qt5_allow_other_openssl_implementations-623cf35cf3a9
Best regards,
--
Alexis Lothoré <[email protected]>
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot