Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg
Date: Tue, 11 Aug 2020 23:33:28 +0200	[thread overview]
Message-ID: <20200811213328.GG13263@scaer> (raw)
In-Reply-To: <20200811212852.387f7769@windsurf.home>

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@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.  |
'------------------------------^-------^------------------^--------------------'

      parent reply	other threads:[~2020-08-11 21:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-10 20:38 [Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg Peter Seiderer
2020-08-11 18:31 ` Peter Seiderer
2020-08-11 19:28   ` Thomas Petazzoni
2020-08-11 21:26     ` Peter Seiderer
2020-08-11 21:33     ` Yann E. MORIN [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200811213328.GG13263@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox