[Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg
Yann E. MORIN
yann.morin.1998 at free.fr
Tue Aug 11 21:33:28 UTC 2020
Thomas, Peter, All,
On 2020-08-11 21:28 +0200, Thomas Petazzoni spake thusly:
> On Tue, 11 Aug 2020 20:31:55 +0200
> Peter Seiderer <ps.report at gmx.net> wrote:
> > package/qt5/qt5base/Config.in:1:error: recursive dependency detected!
> > package/qt5/qt5base/Config.in:1: symbol BR2_PACKAGE_QT5BASE is selected by BR2_PACKAGE_QT5SVG
> Right, this makes sense.
>
> > package/qt5/qt5svg/Config.in:1: symbol BR2_PACKAGE_QT5SVG is selected by BR2_PACKAGE_QT5BASE_EXAMPLES
> This doesn't make any sense to me:
[--SNIP--]
> Or perhaps it is the line added by your patch:
> select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
> which causes this statement ?
AFAICS, yes.
> > package/qt5/qt5base/Config.in:42: symbol BR2_PACKAGE_QT5BASE_EXAMPLES depends on BR2_PACKAGE_QT5BASE
> This obviously makes sense.
The whole problem we have is that the qt5 symbol is dual;
- BR2_PACKAGE_QT5 that enables the whole Qt5 stack
- BR2_PACKAGE_QT5BASE that enables the core component
However, BR2_PACKAGE_QT5 selects BR2_PACKAGE_QT5BASE, and BR2_PACKAGE_QT5BASE
depends on BR2_PACKAGE_QT5.
So both are either enabled or disabled at the same time:
N N: valid
N Y: impossible
Y N: impossible
Y Y: valid
But kcnfig can't see that the recursive dependency is resolved by
construction of the two symbols, as shown in the validity matrix.
I think we should change all qt5 packages to switch their dependency
onto the package, not the stack, and drop explicit select or depends
since this is implied by the top-level:
diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 5c544ecec4..954e257879 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -36,8 +36,9 @@ menuconfig BR2_PACKAGE_QT5
http://qt.io
if BR2_PACKAGE_QT5
-source "package/qt5/qt53d/Config.in"
source "package/qt5/qt5base/Config.in"
+if BR2_PACKAGE_QT5BASE
+source "package/qt5/qt53d/Config.in"
source "package/qt5/qt5charts/Config.in"
source "package/qt5/qt5connectivity/Config.in"
source "package/qt5/qt5declarative/Config.in"
@@ -66,4 +67,5 @@ source "package/qt5/qt5websockets/Config.in"
source "package/qt5/qt5webview/Config.in"
source "package/qt5/qt5x11extras/Config.in"
source "package/qt5/qt5xmlpatterns/Config.in"
-endif
+endif # QT5BASE
+endif # QT5
diff --git a/package/qt5/qt5svg/Config.in b/package/qt5/qt5svg/Config.in
index bc80b62674..1c4e90d1d9 100644
--- a/package/qt5/qt5svg/Config.in
+++ b/package/qt5/qt5svg/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_QT5SVG
bool "qt5svg"
- select BR2_PACKAGE_QT5BASE
select BR2_PACKAGE_QT5BASE_GUI
help
Qt is a cross-platform application and UI framework for
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list