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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.