All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl
@ 2019-03-09 22:29 Fabrice Fontaine
  2019-03-12 22:29 ` Thomas Petazzoni
  0 siblings, 1 reply; 8+ messages in thread
From: Fabrice Fontaine @ 2019-03-09 22:29 UTC (permalink / raw)
  To: buildroot

Remove select on BR2_PACKAGE_QT5BASE and BR2_PACKAGE_OPENSSL to avoid a
circular dependency

Fixes:
 - http://autobuild.buildroot.org/results/60678cab68ec9aa17184b8417b64b3b79adf428a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/qt5/qt5enginio/Config.in | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in
index 102058e7c5..cce0f2a1cb 100644
--- a/package/qt5/qt5enginio/Config.in
+++ b/package/qt5/qt5enginio/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_QT5ENGINIO
 	bool "qt5enginio"
-	select BR2_PACKAGE_OPENSSL
-	select BR2_PACKAGE_QT5BASE
+	depends on BR2_PACKAGE_QT5BASE_OPENSSL
 	select BR2_PACKAGE_QT5BASE_GUI
 	select BR2_PACKAGE_QT5BASE_NETWORK
 	help
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl
  2019-03-09 22:29 [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl Fabrice Fontaine
@ 2019-03-12 22:29 ` Thomas Petazzoni
  2019-03-12 23:06   ` Fabrice Fontaine
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2019-03-12 22:29 UTC (permalink / raw)
  To: buildroot

Hello Fabrice,

On Sat,  9 Mar 2019 23:29:53 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> Remove select on BR2_PACKAGE_QT5BASE and BR2_PACKAGE_OPENSSL to avoid a
> circular dependency

I don't really understand where the "circular dependency" is.

To me it seems like the problem is rather:

"""
Qt 5.6 SSL support is no longer available with OpenSSL since the bump
of OpenSSL to 1.1.x. Therefore selecting Qt5 and OpenSSL does not
guarantee that qt5base will be built with SSL support. Due to this, the
build of qt5enginio currently fails on Qt 5.6.
"""

> diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in
> index 102058e7c5..cce0f2a1cb 100644
> --- a/package/qt5/qt5enginio/Config.in
> +++ b/package/qt5/qt5enginio/Config.in
> @@ -1,7 +1,6 @@
>  config BR2_PACKAGE_QT5ENGINIO
>  	bool "qt5enginio"
> -	select BR2_PACKAGE_OPENSSL
> -	select BR2_PACKAGE_QT5BASE
> +	depends on BR2_PACKAGE_QT5BASE_OPENSSL

Either we do this, or:

	select BR2_PACKAGE_OPENSSL if BR2_PACKAGE_QT5_VERSION_LATEST
	select BR2_PACKAGE_LIBRESSL if BR2_PACKAGE_QT5_VERSION_5_6

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl
  2019-03-12 22:29 ` Thomas Petazzoni
@ 2019-03-12 23:06   ` Fabrice Fontaine
  2019-03-26 22:52     ` Arnout Vandecappelle
  0 siblings, 1 reply; 8+ messages in thread
From: Fabrice Fontaine @ 2019-03-12 23:06 UTC (permalink / raw)
  To: buildroot

Hello Thomas,
Le mar. 12 mars 2019 ? 23:29, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> a ?crit :
>
> Hello Fabrice,
>
> On Sat,  9 Mar 2019 23:29:53 +0100
> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
>
> > Remove select on BR2_PACKAGE_QT5BASE and BR2_PACKAGE_OPENSSL to avoid a
> > circular dependency
>
> I don't really understand where the "circular dependency" is.
>
> To me it seems like the problem is rather:
>
> """
> Qt 5.6 SSL support is no longer available with OpenSSL since the bump
> of OpenSSL to 1.1.x. Therefore selecting Qt5 and OpenSSL does not
> guarantee that qt5base will be built with SSL support. Due to this, the
> build of qt5enginio currently fails on Qt 5.6.
> """
>
> > diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in
> > index 102058e7c5..cce0f2a1cb 100644
> > --- a/package/qt5/qt5enginio/Config.in
> > +++ b/package/qt5/qt5enginio/Config.in
> > @@ -1,7 +1,6 @@
> >  config BR2_PACKAGE_QT5ENGINIO
> >       bool "qt5enginio"
> > -     select BR2_PACKAGE_OPENSSL
> > -     select BR2_PACKAGE_QT5BASE
> > +     depends on BR2_PACKAGE_QT5BASE_OPENSSL
>
> Either we do this, or:
>
>         select BR2_PACKAGE_OPENSSL if BR2_PACKAGE_QT5_VERSION_LATEST
>         select BR2_PACKAGE_LIBRESSL if BR2_PACKAGE_QT5_VERSION_5_6
I tried this, but I assume that I must add the dependencies of
libressl if QT 5.6 is true, for example like this:

depends on !BR2_PACKAGE_QT5_VERSION_5_6 || \
                (BR2_PACKAGE_QT5_VERSION_5_6 && \
                (!BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL && \
                !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)))

But then, this creates the following circular dependency:

package/sqlcipher/Config.in:1:error: recursive dependency detected!
package/sqlcipher/Config.in:1: symbol BR2_PACKAGE_SQLCIPHER depends on
BR2_PACKAGE_SQLITE
package/sqlite/Config.in:1: symbol BR2_PACKAGE_SQLITE is selected by
BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM
package/qt5/qt5base/Config.in:104: symbol
BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM is part of choice <choice>
package/qt5/qt5base/Config.in:88: choice <choice> contains symbol <choice>
package/qt5/qt5base/Config.in:88: choice <choice> contains symbol
BR2_PACKAGE_QT5BASE
package/qt5/qt5base/Config.in:1: symbol BR2_PACKAGE_QT5BASE is
selected by BR2_PACKAGE_QT5ENGINIO
package/qt5/qt5enginio/Config.in:1: symbol BR2_PACKAGE_QT5ENGINIO
depends on BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
package/openssl/Config.in:1: symbol
BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL is selected by
BR2_PACKAGE_SQLCIPHER

Did I made a mistake? Shouldn't we add the libressl dependencies?
>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Best Regards,

Fabrice

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl
  2019-03-12 23:06   ` Fabrice Fontaine
@ 2019-03-26 22:52     ` Arnout Vandecappelle
  2019-03-27 18:08       ` Fabrice Fontaine
  0 siblings, 1 reply; 8+ messages in thread
From: Arnout Vandecappelle @ 2019-03-26 22:52 UTC (permalink / raw)
  To: buildroot



On 13/03/2019 00:06, Fabrice Fontaine wrote:
> Hello Thomas,
> Le mar. 12 mars 2019 ? 23:29, Thomas Petazzoni
> <thomas.petazzoni@bootlin.com> a ?crit :
>>
>> Hello Fabrice,
>>
>> On Sat,  9 Mar 2019 23:29:53 +0100
>> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
>>
>>> Remove select on BR2_PACKAGE_QT5BASE and BR2_PACKAGE_OPENSSL to avoid a
>>> circular dependency
>>
>> I don't really understand where the "circular dependency" is.
>>
>> To me it seems like the problem is rather:
>>
>> """
>> Qt 5.6 SSL support is no longer available with OpenSSL since the bump
>> of OpenSSL to 1.1.x. Therefore selecting Qt5 and OpenSSL does not
>> guarantee that qt5base will be built with SSL support. Due to this, the
>> build of qt5enginio currently fails on Qt 5.6.
>> """
>>
>>> diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in
>>> index 102058e7c5..cce0f2a1cb 100644
>>> --- a/package/qt5/qt5enginio/Config.in
>>> +++ b/package/qt5/qt5enginio/Config.in
>>> @@ -1,7 +1,6 @@
>>>  config BR2_PACKAGE_QT5ENGINIO
>>>       bool "qt5enginio"
>>> -     select BR2_PACKAGE_OPENSSL
>>> -     select BR2_PACKAGE_QT5BASE
>>> +     depends on BR2_PACKAGE_QT5BASE_OPENSSL
>>
>> Either we do this, or:
>>
>>         select BR2_PACKAGE_OPENSSL if BR2_PACKAGE_QT5_VERSION_LATEST
>>         select BR2_PACKAGE_LIBRESSL if BR2_PACKAGE_QT5_VERSION_5_6
> I tried this, but I assume that I must add the dependencies of
> libressl if QT 5.6 is true, for example like this:
> 
> depends on !BR2_PACKAGE_QT5_VERSION_5_6 || \
>                 (BR2_PACKAGE_QT5_VERSION_5_6 && \
>                 (!BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL && \
>                 !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)))
> 
> But then, this creates the following circular dependency:
> 
> package/sqlcipher/Config.in:1:error: recursive dependency detected!
> package/sqlcipher/Config.in:1: symbol BR2_PACKAGE_SQLCIPHER depends on
> BR2_PACKAGE_SQLITE
> package/sqlite/Config.in:1: symbol BR2_PACKAGE_SQLITE is selected by
> BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM
> package/qt5/qt5base/Config.in:104: symbol
> BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM is part of choice <choice>
> package/qt5/qt5base/Config.in:88: choice <choice> contains symbol <choice>
> package/qt5/qt5base/Config.in:88: choice <choice> contains symbol
> BR2_PACKAGE_QT5BASE
> package/qt5/qt5base/Config.in:1: symbol BR2_PACKAGE_QT5BASE is
> selected by BR2_PACKAGE_QT5ENGINIO
> package/qt5/qt5enginio/Config.in:1: symbol BR2_PACKAGE_QT5ENGINIO
> depends on BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
> package/openssl/Config.in:1: symbol
> BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL is selected by
> BR2_PACKAGE_SQLCIPHER
> 
> Did I made a mistake? Shouldn't we add the libressl dependencies?

 Whaa, kconfig...

 How about just depending on QT5_LATEST || BR2_PACKAGE_QT5BASE_OPENSSL? Or does
that also give a circular dependency?

 Regards,
 Arnout


>>
>> Best regards,
>>
>> Thomas
>> --
>> Thomas Petazzoni, CTO, Bootlin
>> Embedded Linux and Kernel engineering
>> https://bootlin.com
> Best Regards,
> 
> Fabrice
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl
  2019-03-26 22:52     ` Arnout Vandecappelle
@ 2019-03-27 18:08       ` Fabrice Fontaine
  2019-04-27 22:33         ` Arnout Vandecappelle
  0 siblings, 1 reply; 8+ messages in thread
From: Fabrice Fontaine @ 2019-03-27 18:08 UTC (permalink / raw)
  To: buildroot

Dear Arnout,

Le mar. 26 mars 2019 ? 23:52, Arnout Vandecappelle <arnout@mind.be> a ?crit :
>
>
>
> On 13/03/2019 00:06, Fabrice Fontaine wrote:
> > Hello Thomas,
> > Le mar. 12 mars 2019 ? 23:29, Thomas Petazzoni
> > <thomas.petazzoni@bootlin.com> a ?crit :
> >>
> >> Hello Fabrice,
> >>
> >> On Sat,  9 Mar 2019 23:29:53 +0100
> >> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> >>
> >>> Remove select on BR2_PACKAGE_QT5BASE and BR2_PACKAGE_OPENSSL to avoid a
> >>> circular dependency
> >>
> >> I don't really understand where the "circular dependency" is.
> >>
> >> To me it seems like the problem is rather:
> >>
> >> """
> >> Qt 5.6 SSL support is no longer available with OpenSSL since the bump
> >> of OpenSSL to 1.1.x. Therefore selecting Qt5 and OpenSSL does not
> >> guarantee that qt5base will be built with SSL support. Due to this, the
> >> build of qt5enginio currently fails on Qt 5.6.
> >> """
> >>
> >>> diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in
> >>> index 102058e7c5..cce0f2a1cb 100644
> >>> --- a/package/qt5/qt5enginio/Config.in
> >>> +++ b/package/qt5/qt5enginio/Config.in
> >>> @@ -1,7 +1,6 @@
> >>>  config BR2_PACKAGE_QT5ENGINIO
> >>>       bool "qt5enginio"
> >>> -     select BR2_PACKAGE_OPENSSL
> >>> -     select BR2_PACKAGE_QT5BASE
> >>> +     depends on BR2_PACKAGE_QT5BASE_OPENSSL
> >>
> >> Either we do this, or:
> >>
> >>         select BR2_PACKAGE_OPENSSL if BR2_PACKAGE_QT5_VERSION_LATEST
> >>         select BR2_PACKAGE_LIBRESSL if BR2_PACKAGE_QT5_VERSION_5_6
> > I tried this, but I assume that I must add the dependencies of
> > libressl if QT 5.6 is true, for example like this:
> >
> > depends on !BR2_PACKAGE_QT5_VERSION_5_6 || \
> >                 (BR2_PACKAGE_QT5_VERSION_5_6 && \
> >                 (!BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL && \
> >                 !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)))
> >
> > But then, this creates the following circular dependency:
> >
> > package/sqlcipher/Config.in:1:error: recursive dependency detected!
> > package/sqlcipher/Config.in:1: symbol BR2_PACKAGE_SQLCIPHER depends on
> > BR2_PACKAGE_SQLITE
> > package/sqlite/Config.in:1: symbol BR2_PACKAGE_SQLITE is selected by
> > BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM
> > package/qt5/qt5base/Config.in:104: symbol
> > BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM is part of choice <choice>
> > package/qt5/qt5base/Config.in:88: choice <choice> contains symbol <choice>
> > package/qt5/qt5base/Config.in:88: choice <choice> contains symbol
> > BR2_PACKAGE_QT5BASE
> > package/qt5/qt5base/Config.in:1: symbol BR2_PACKAGE_QT5BASE is
> > selected by BR2_PACKAGE_QT5ENGINIO
> > package/qt5/qt5enginio/Config.in:1: symbol BR2_PACKAGE_QT5ENGINIO
> > depends on BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
> > package/openssl/Config.in:1: symbol
> > BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL is selected by
> > BR2_PACKAGE_SQLCIPHER
> >
> > Did I made a mistake? Shouldn't we add the libressl dependencies?
>
>  Whaa, kconfig...
>
>  How about just depending on QT5_LATEST || BR2_PACKAGE_QT5BASE_OPENSSL? Or does
> that also give a circular dependency?
Yes, adding the select suggested by Thomas and the above dependencies
also give a circular dependency.
The issue is that we can't select BR2_PACKAGE_LIBRESSL without adding
a circular dependency because of the
BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL option that can be selected by
any package that can't work with libressl.
Currently, this option is selected by 4 packages: sqlcipher,
wpa_supplicant, tpm2-tss and softether.
So until this option is removed (if the above packages can work with
libressl), I think my current patch is the only solution.
>
>  Regards,
>  Arnout
>
>
> >>
> >> Best regards,
> >>
> >> Thomas
> >> --
> >> Thomas Petazzoni, CTO, Bootlin
> >> Embedded Linux and Kernel engineering
> >> https://bootlin.com
> > Best Regards,
> >
> > Fabrice
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
> >
Best Regards,

Fabrice

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl
  2019-03-27 18:08       ` Fabrice Fontaine
@ 2019-04-27 22:33         ` Arnout Vandecappelle
  2019-04-28  9:21           ` Fabrice Fontaine
  0 siblings, 1 reply; 8+ messages in thread
From: Arnout Vandecappelle @ 2019-04-27 22:33 UTC (permalink / raw)
  To: buildroot



On 27/03/2019 19:08, Fabrice Fontaine wrote:
> Dear Arnout,
> 
> Le mar. 26 mars 2019 ? 23:52, Arnout Vandecappelle <arnout@mind.be> a ?crit :
>>
>>
>>
>> On 13/03/2019 00:06, Fabrice Fontaine wrote:
>>> Hello Thomas,
>>> Le mar. 12 mars 2019 ? 23:29, Thomas Petazzoni
>>> <thomas.petazzoni@bootlin.com> a ?crit :
>>>>
>>>> Hello Fabrice,
>>>>
>>>> On Sat,  9 Mar 2019 23:29:53 +0100
>>>> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
>>>>
>>>>> Remove select on BR2_PACKAGE_QT5BASE and BR2_PACKAGE_OPENSSL to avoid a
>>>>> circular dependency
>>>>
>>>> I don't really understand where the "circular dependency" is.
>>>>
>>>> To me it seems like the problem is rather:
>>>>
>>>> """
>>>> Qt 5.6 SSL support is no longer available with OpenSSL since the bump
>>>> of OpenSSL to 1.1.x. Therefore selecting Qt5 and OpenSSL does not
>>>> guarantee that qt5base will be built with SSL support. Due to this, the
>>>> build of qt5enginio currently fails on Qt 5.6.
>>>> """
>>>>
>>>>> diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in
>>>>> index 102058e7c5..cce0f2a1cb 100644
>>>>> --- a/package/qt5/qt5enginio/Config.in
>>>>> +++ b/package/qt5/qt5enginio/Config.in
>>>>> @@ -1,7 +1,6 @@
>>>>>  config BR2_PACKAGE_QT5ENGINIO
>>>>>       bool "qt5enginio"
>>>>> -     select BR2_PACKAGE_OPENSSL
>>>>> -     select BR2_PACKAGE_QT5BASE
>>>>> +     depends on BR2_PACKAGE_QT5BASE_OPENSSL
>>>>
>>>> Either we do this, or:
>>>>
>>>>         select BR2_PACKAGE_OPENSSL if BR2_PACKAGE_QT5_VERSION_LATEST
>>>>         select BR2_PACKAGE_LIBRESSL if BR2_PACKAGE_QT5_VERSION_5_6
>>> I tried this, but I assume that I must add the dependencies of
>>> libressl if QT 5.6 is true, for example like this:
>>>
>>> depends on !BR2_PACKAGE_QT5_VERSION_5_6 || \
>>>                 (BR2_PACKAGE_QT5_VERSION_5_6 && \
>>>                 (!BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL && \
>>>                 !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)))
>>>
>>> But then, this creates the following circular dependency:
>>>
>>> package/sqlcipher/Config.in:1:error: recursive dependency detected!
>>> package/sqlcipher/Config.in:1: symbol BR2_PACKAGE_SQLCIPHER depends on
>>> BR2_PACKAGE_SQLITE
>>> package/sqlite/Config.in:1: symbol BR2_PACKAGE_SQLITE is selected by
>>> BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM
>>> package/qt5/qt5base/Config.in:104: symbol
>>> BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM is part of choice <choice>
>>> package/qt5/qt5base/Config.in:88: choice <choice> contains symbol <choice>
>>> package/qt5/qt5base/Config.in:88: choice <choice> contains symbol
>>> BR2_PACKAGE_QT5BASE
>>> package/qt5/qt5base/Config.in:1: symbol BR2_PACKAGE_QT5BASE is
>>> selected by BR2_PACKAGE_QT5ENGINIO
>>> package/qt5/qt5enginio/Config.in:1: symbol BR2_PACKAGE_QT5ENGINIO
>>> depends on BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
>>> package/openssl/Config.in:1: symbol
>>> BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL is selected by
>>> BR2_PACKAGE_SQLCIPHER
>>>
>>> Did I made a mistake? Shouldn't we add the libressl dependencies?
>>
>>  Whaa, kconfig...
>>
>>  How about just depending on QT5_LATEST || BR2_PACKAGE_QT5BASE_OPENSSL? Or does
>> that also give a circular dependency?
> Yes, adding the select suggested by Thomas and the above dependencies
> also give a circular dependency.
> The issue is that we can't select BR2_PACKAGE_LIBRESSL without adding
> a circular dependency because of the
> BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL option that can be selected by
> any package that can't work with libressl.
> Currently, this option is selected by 4 packages: sqlcipher,
> wpa_supplicant, tpm2-tss and softether.
> So until this option is removed (if the above packages can work with
> libressl), I think my current patch is the only solution.

 I think I got it to work like this:

# This is a hack to avoid circular dependencies when selecting OPENSSL
config BR2_PACKAGE_QT5ENGINIO_SELECT_OPENSSL
	bool
	default y if BR2_PACKAGE_QT5ENGINIO
	select BR2_PACKAGE_OPENSSL

config BR2_PACKAGE_QT5ENGINIO
	bool "qt5enginio"
	depends on !BR2_PACKAGE_QT5_VERSION_5_6 || \
                (BR2_PACKAGE_QT5_VERSION_5_6 && \
                (!BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL && \
                !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)))
	select BR2_PACKAGE_QT5BASE_GUI
	select BR2_PACKAGE_QT5BASE_NETWORK


 Could you give that a go?

 Regards,
 Arnout

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl
  2019-04-27 22:33         ` Arnout Vandecappelle
@ 2019-04-28  9:21           ` Fabrice Fontaine
  2019-04-29  9:01             ` Arnout Vandecappelle
  0 siblings, 1 reply; 8+ messages in thread
From: Fabrice Fontaine @ 2019-04-28  9:21 UTC (permalink / raw)
  To: buildroot

Hello Arnout,

Le dim. 28 avr. 2019 ? 00:33, Arnout Vandecappelle <arnout@mind.be> a ?crit :
>
>
>
> On 27/03/2019 19:08, Fabrice Fontaine wrote:
> > Dear Arnout,
> >
> > Le mar. 26 mars 2019 ? 23:52, Arnout Vandecappelle <arnout@mind.be> a ?crit :
> >>
> >>
> >>
> >> On 13/03/2019 00:06, Fabrice Fontaine wrote:
> >>> Hello Thomas,
> >>> Le mar. 12 mars 2019 ? 23:29, Thomas Petazzoni
> >>> <thomas.petazzoni@bootlin.com> a ?crit :
> >>>>
> >>>> Hello Fabrice,
> >>>>
> >>>> On Sat,  9 Mar 2019 23:29:53 +0100
> >>>> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> >>>>
> >>>>> Remove select on BR2_PACKAGE_QT5BASE and BR2_PACKAGE_OPENSSL to avoid a
> >>>>> circular dependency
> >>>>
> >>>> I don't really understand where the "circular dependency" is.
> >>>>
> >>>> To me it seems like the problem is rather:
> >>>>
> >>>> """
> >>>> Qt 5.6 SSL support is no longer available with OpenSSL since the bump
> >>>> of OpenSSL to 1.1.x. Therefore selecting Qt5 and OpenSSL does not
> >>>> guarantee that qt5base will be built with SSL support. Due to this, the
> >>>> build of qt5enginio currently fails on Qt 5.6.
> >>>> """
> >>>>
> >>>>> diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in
> >>>>> index 102058e7c5..cce0f2a1cb 100644
> >>>>> --- a/package/qt5/qt5enginio/Config.in
> >>>>> +++ b/package/qt5/qt5enginio/Config.in
> >>>>> @@ -1,7 +1,6 @@
> >>>>>  config BR2_PACKAGE_QT5ENGINIO
> >>>>>       bool "qt5enginio"
> >>>>> -     select BR2_PACKAGE_OPENSSL
> >>>>> -     select BR2_PACKAGE_QT5BASE
> >>>>> +     depends on BR2_PACKAGE_QT5BASE_OPENSSL
> >>>>
> >>>> Either we do this, or:
> >>>>
> >>>>         select BR2_PACKAGE_OPENSSL if BR2_PACKAGE_QT5_VERSION_LATEST
> >>>>         select BR2_PACKAGE_LIBRESSL if BR2_PACKAGE_QT5_VERSION_5_6
> >>> I tried this, but I assume that I must add the dependencies of
> >>> libressl if QT 5.6 is true, for example like this:
> >>>
> >>> depends on !BR2_PACKAGE_QT5_VERSION_5_6 || \
> >>>                 (BR2_PACKAGE_QT5_VERSION_5_6 && \
> >>>                 (!BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL && \
> >>>                 !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)))
> >>>
> >>> But then, this creates the following circular dependency:
> >>>
> >>> package/sqlcipher/Config.in:1:error: recursive dependency detected!
> >>> package/sqlcipher/Config.in:1: symbol BR2_PACKAGE_SQLCIPHER depends on
> >>> BR2_PACKAGE_SQLITE
> >>> package/sqlite/Config.in:1: symbol BR2_PACKAGE_SQLITE is selected by
> >>> BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM
> >>> package/qt5/qt5base/Config.in:104: symbol
> >>> BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM is part of choice <choice>
> >>> package/qt5/qt5base/Config.in:88: choice <choice> contains symbol <choice>
> >>> package/qt5/qt5base/Config.in:88: choice <choice> contains symbol
> >>> BR2_PACKAGE_QT5BASE
> >>> package/qt5/qt5base/Config.in:1: symbol BR2_PACKAGE_QT5BASE is
> >>> selected by BR2_PACKAGE_QT5ENGINIO
> >>> package/qt5/qt5enginio/Config.in:1: symbol BR2_PACKAGE_QT5ENGINIO
> >>> depends on BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
> >>> package/openssl/Config.in:1: symbol
> >>> BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL is selected by
> >>> BR2_PACKAGE_SQLCIPHER
> >>>
> >>> Did I made a mistake? Shouldn't we add the libressl dependencies?
> >>
> >>  Whaa, kconfig...
> >>
> >>  How about just depending on QT5_LATEST || BR2_PACKAGE_QT5BASE_OPENSSL? Or does
> >> that also give a circular dependency?
> > Yes, adding the select suggested by Thomas and the above dependencies
> > also give a circular dependency.
> > The issue is that we can't select BR2_PACKAGE_LIBRESSL without adding
> > a circular dependency because of the
> > BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL option that can be selected by
> > any package that can't work with libressl.
> > Currently, this option is selected by 4 packages: sqlcipher,
> > wpa_supplicant, tpm2-tss and softether.
> > So until this option is removed (if the above packages can work with
> > libressl), I think my current patch is the only solution.
>
>  I think I got it to work like this:
>
> # This is a hack to avoid circular dependencies when selecting OPENSSL
> config BR2_PACKAGE_QT5ENGINIO_SELECT_OPENSSL
>         bool
>         default y if BR2_PACKAGE_QT5ENGINIO
>         select BR2_PACKAGE_OPENSSL
>
> config BR2_PACKAGE_QT5ENGINIO
>         bool "qt5enginio"
>         depends on !BR2_PACKAGE_QT5_VERSION_5_6 || \
>                 (BR2_PACKAGE_QT5_VERSION_5_6 && \
>                 (!BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL && \
>                 !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)))
>         select BR2_PACKAGE_QT5BASE_GUI
>         select BR2_PACKAGE_QT5BASE_NETWORK
>
>
>  Could you give that a go?
It works :-). Should I sent a new version of my patch or do you prefer
to send it as this your solution?
>
>  Regards,
>  Arnout
Best Regards,

Fabrice

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl
  2019-04-28  9:21           ` Fabrice Fontaine
@ 2019-04-29  9:01             ` Arnout Vandecappelle
  0 siblings, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2019-04-29  9:01 UTC (permalink / raw)
  To: buildroot



On 28/04/2019 11:21, Fabrice Fontaine wrote:
> It works :-). Should I sent a new version of my patch or do you prefer
> to send it as this your solution?

 Better if you send it. The comment update is still to do, and that is
complicated as well, so I will not get around to it.

 Regards,
 Arnout

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-04-29  9:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-09 22:29 [Buildroot] [PATCH 1/1] package/qt5enginio: needs ssl Fabrice Fontaine
2019-03-12 22:29 ` Thomas Petazzoni
2019-03-12 23:06   ` Fabrice Fontaine
2019-03-26 22:52     ` Arnout Vandecappelle
2019-03-27 18:08       ` Fabrice Fontaine
2019-04-27 22:33         ` Arnout Vandecappelle
2019-04-28  9:21           ` Fabrice Fontaine
2019-04-29  9:01             ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.