Re: [Buildroot] [PATCH] package/qt5: relax openssl constraint to allow compatible implementations
Alexis Lothoré via buildroot <[email protected]>
| Newsgroups | net.busybox.buildroot |
|---|---|
| Message-ID | <[email protected]> |
Hi Thomas, thanks for the prompt review,
On Fri Aug 21, 2026 at 11:37 AM CEST, Thomas Petazzoni wrote:
> Hello,
>
> On Fri, Aug 21, 2026 at 10:58:59AM +0200, Alexis Lothoré wrote:
>> 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]>
>
> Thanks for the good commit message.
>
>> -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
>
> The mechanism is not really "provides", but rather "virtual package"
> (probably to be fixed in your commit message as well)
ACK.
>> +# 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))
>
> I don't really like how it's written because my brain has to put all
> CPUs at max frequency to process how this works.
>
> What about:
>
> # Qt5 officially only supports OpenSSL, and doesn't build/work with
> # LibreSSL. We want to allow any OpenSSL provider (which can be
> # libopenssl or another provider), except libressl.
> ifeq ($(BR2_PACKAGE_OPENSSL):$(BR2_PACKAGE_LIBRESSL),y:)
> QT5BASE_CONFIGURE_OPTS += -openssl
> QT5BASE_DEPENDENCIES += openssl
> else
> QT5BASE_CONFIGURE_OPTS += -no-openssl
> endif
Indeed, looks better, I'll update accordingly.
Alexis
--
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot