[Buildroot] [PATCH v2] 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-v2-1-7f3f82c610ca@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 virtual package mechanism) from
building Qt5 with openssl support, even if the custom implementation
matches the expected 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 libopenssl's. Some qt5
sub-packages enforce BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL, they don't
need any 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]>
---
Changes in v2:
- s/provides mechanism/virtual package mechanism/ (Thomas P.)
- use ifeq on pair or kconfig variables to clarify the condition (Thomas P.)
- Link to v1: https://patch.msgid.link/20260821-qt5_allow_other_openssl_implementations-v1-1-be1438707393@bootlin.com
To: [email protected]
Cc: Thomas Petazzoni <[email protected]>
Cc: Giulio Benetti <[email protected]>
---
The issue affects 2025.02.x, 2026.05.x, 2026.08.x and master
---
package/qt5/qt5base/qt5base.mk | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 159d411de85b..3e54465ed789 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -230,8 +230,16 @@ 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 virtual package mechanism, but it is then up
+# to them to ensure that the provided API is exactly compatible with the
+# libopenssl one
+ifeq ($(BR2_PACKAGE_OPENSSL):$(BR2_PACKAGE_LIBRESSL),y:)
+QT5BASE_CONFIGURE_OPTS += -openssl
+QT5BASE_DEPENDENCIES += openssl
+else
+QT5BASE_CONFIGURE_OPTS += -no-openssl
+endif
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