* [Buildroot] [PATCH RFC] package/wireshark: fix kconfig depndencies
@ 2016-10-20 16:28 Yann E. MORIN
2016-10-20 17:55 ` Baruch Siach
2016-10-20 19:40 ` Thomas Petazzoni
0 siblings, 2 replies; 4+ messages in thread
From: Yann E. MORIN @ 2016-10-20 16:28 UTC (permalink / raw)
To: buildroot
Commit fa6feff (wireshark: needs the qt5tools lrelease utility)
introduced a circular dependency chain in Kconfig:
package/qt5/qt5base/Config.in:118:error: recursive dependency detected!
package/qt5/qt5base/Config.in:118: symbol BR2_PACKAGE_QT5BASE_GUI is selected by BR2_PACKAGE_QT5TOOLS_PIXELTOOL
package/qt5/qt5tools/Config.in:19: symbol BR2_PACKAGE_QT5TOOLS_PIXELTOOL depends on BR2_PACKAGE_QT5TOOLS
package/qt5/qt5tools/Config.in:1: symbol BR2_PACKAGE_QT5TOOLS is selected by BR2_PACKAGE_QT5BASE_WIDGETS
package/qt5/qt5base/Config.in:131: symbol BR2_PACKAGE_QT5BASE_WIDGETS is selected by BR2_PACKAGE_QT5X11EXTRAS
package/qt5/qt5x11extras/Config.in:1: symbol BR2_PACKAGE_QT5X11EXTRAS depends on BR2_PACKAGE_QT5BASE_XCB
package/qt5/qt5base/Config.in:186: symbol BR2_PACKAGE_QT5BASE_XCB depends on BR2_PACKAGE_QT5BASE_GUI
Fix that by dropping the select on the Qt5Tools, and introduce an
intermediate kconfig-level variable to represent the new condition, to
simplify the .mk file.
That would make the condition for enabling/disabling the GUI to be a
little bit more complex by adding yet another (long-ish) variable.
So we also introduce an intermediate kconfig-level variable that
represent the condition to enable the GUI.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
---
Note: UNTESTED. It does fix the Kconfig issue, but it is otherwise not
even build-tested. Baruch? ;-)
---
package/wireshark/Config.in | 15 +++++++++++++--
package/wireshark/wireshark.mk | 4 ++--
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/package/wireshark/Config.in b/package/wireshark/Config.in
index 959fb5b..b5a874b 100644
--- a/package/wireshark/Config.in
+++ b/package/wireshark/Config.in
@@ -2,8 +2,6 @@ config BR2_PACKAGE_WIRESHARK
bool "wireshark"
select BR2_PACKAGE_LIBPCAP
select BR2_PACKAGE_LIBGLIB2
- select BR2_PACKAGE_QT5TOOLS if BR2_PACKAGE_QT5BASE_WIDGETS
- select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS if BR2_PACKAGE_QT5BASE_WIDGETS
depends on BR2_USE_MMU # fork(), glib2
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
@@ -12,6 +10,19 @@ config BR2_PACKAGE_WIRESHARK
https://www.wireshark.org
+config BR2_PACKAGE_WIRESHARK_QT
+ bool
+ default y
+ depends on BR2_PACKAGE_QT5BASE_WIDGETS
+ depends on BR2_PACKAGE_QT5TOOLS
+ select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
+
+config BR2_PACKAGE_WIRESHARK_GUI
+ bool
+ default y if BR2_PACKAGE_LIBGTK2
+ default y if BR2_PACKAGE_LIBGTK3
+ default y if BR2_PACKAGE_WIRESHARK_QT
+
comment "wireshark needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk
index f7cc8f8..5b5abf2 100644
--- a/package/wireshark/wireshark.mk
+++ b/package/wireshark/wireshark.mk
@@ -38,7 +38,7 @@ WIRESHARK_CONF_OPTS += --with-gtk=no
endif
# Qt4 needs accessibility, we don't support it
-ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
+ifeq ($(BR2_PACKAGE_WIRESHARK_QT),y)
WIRESHARK_CONF_OPTS += --with-qt=5
WIRESHARK_DEPENDENCIES += qt5base qt5tools
WIRESHARK_CONF_ENV += ac_cv_path_QTCHOOSER=""
@@ -52,7 +52,7 @@ WIRESHARK_CONF_OPTS += --with-qt=no
endif
# No GUI at all
-ifeq ($(BR2_PACKAGE_LIBGTK2)$(BR2_PACKAGE_LIBGTK3)$(BR2_PACKAGE_QT5BASE_WIDGETS),)
+ifeq ($(BR2_PACKAGE_WIRESHARK_GUI),)
WIRESHARK_CONF_OPTS += --disable-wireshark
endif
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread* [Buildroot] [PATCH RFC] package/wireshark: fix kconfig depndencies
2016-10-20 16:28 [Buildroot] [PATCH RFC] package/wireshark: fix kconfig depndencies Yann E. MORIN
@ 2016-10-20 17:55 ` Baruch Siach
2016-10-20 18:28 ` Yann E. MORIN
2016-10-20 19:40 ` Thomas Petazzoni
1 sibling, 1 reply; 4+ messages in thread
From: Baruch Siach @ 2016-10-20 17:55 UTC (permalink / raw)
To: buildroot
Hi Yann,
On Thu, Oct 20, 2016 at 06:28:25PM +0200, Yann E. MORIN wrote:
> Commit fa6feff (wireshark: needs the qt5tools lrelease utility)
> introduced a circular dependency chain in Kconfig:
>
> package/qt5/qt5base/Config.in:118:error: recursive dependency detected!
> package/qt5/qt5base/Config.in:118: symbol BR2_PACKAGE_QT5BASE_GUI is selected by BR2_PACKAGE_QT5TOOLS_PIXELTOOL
> package/qt5/qt5tools/Config.in:19: symbol BR2_PACKAGE_QT5TOOLS_PIXELTOOL depends on BR2_PACKAGE_QT5TOOLS
> package/qt5/qt5tools/Config.in:1: symbol BR2_PACKAGE_QT5TOOLS is selected by BR2_PACKAGE_QT5BASE_WIDGETS
> package/qt5/qt5base/Config.in:131: symbol BR2_PACKAGE_QT5BASE_WIDGETS is selected by BR2_PACKAGE_QT5X11EXTRAS
> package/qt5/qt5x11extras/Config.in:1: symbol BR2_PACKAGE_QT5X11EXTRAS depends on BR2_PACKAGE_QT5BASE_XCB
> package/qt5/qt5base/Config.in:186: symbol BR2_PACKAGE_QT5BASE_XCB depends on BR2_PACKAGE_QT5BASE_GUI
>
> Fix that by dropping the select on the Qt5Tools, and introduce an
> intermediate kconfig-level variable to represent the new condition, to
> simplify the .mk file.
>
> That would make the condition for enabling/disabling the GUI to be a
> little bit more complex by adding yet another (long-ish) variable.
>
> So we also introduce an intermediate kconfig-level variable that
> represent the condition to enable the GUI.
>
> Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Baruch Siach <baruch@tkos.co.il>
>
> ---
> Note: UNTESTED. It does fix the Kconfig issue, but it is otherwise not
> even build-tested. Baruch? ;-)
Thanks for your analysis and patch.
I build tested one of the defconfigs that commit fa6feffa0def mentions. Then
selected BR2_PACKAGE_QT5TOOLS manually, and built wireshark again. In both
cases build succeeds after applying another (unrelated) patch[1]. So:
Tested-by: Baruch Siach <baruch@tkos.co.il>
[1] http://patchwork.ozlabs.org/patch/684715/
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 4+ messages in thread* [Buildroot] [PATCH RFC] package/wireshark: fix kconfig depndencies
2016-10-20 17:55 ` Baruch Siach
@ 2016-10-20 18:28 ` Yann E. MORIN
0 siblings, 0 replies; 4+ messages in thread
From: Yann E. MORIN @ 2016-10-20 18:28 UTC (permalink / raw)
To: buildroot
Baruch, All,
On 2016-10-20 20:55 +0300, Baruch Siach spake thusly:
> On Thu, Oct 20, 2016 at 06:28:25PM +0200, Yann E. MORIN wrote:
> > Commit fa6feff (wireshark: needs the qt5tools lrelease utility)
> > introduced a circular dependency chain in Kconfig:
> >
> > package/qt5/qt5base/Config.in:118:error: recursive dependency detected!
> > package/qt5/qt5base/Config.in:118: symbol BR2_PACKAGE_QT5BASE_GUI is selected by BR2_PACKAGE_QT5TOOLS_PIXELTOOL
> > package/qt5/qt5tools/Config.in:19: symbol BR2_PACKAGE_QT5TOOLS_PIXELTOOL depends on BR2_PACKAGE_QT5TOOLS
> > package/qt5/qt5tools/Config.in:1: symbol BR2_PACKAGE_QT5TOOLS is selected by BR2_PACKAGE_QT5BASE_WIDGETS
> > package/qt5/qt5base/Config.in:131: symbol BR2_PACKAGE_QT5BASE_WIDGETS is selected by BR2_PACKAGE_QT5X11EXTRAS
> > package/qt5/qt5x11extras/Config.in:1: symbol BR2_PACKAGE_QT5X11EXTRAS depends on BR2_PACKAGE_QT5BASE_XCB
> > package/qt5/qt5base/Config.in:186: symbol BR2_PACKAGE_QT5BASE_XCB depends on BR2_PACKAGE_QT5BASE_GUI
> >
> > Fix that by dropping the select on the Qt5Tools, and introduce an
> > intermediate kconfig-level variable to represent the new condition, to
> > simplify the .mk file.
> >
> > That would make the condition for enabling/disabling the GUI to be a
> > little bit more complex by adding yet another (long-ish) variable.
> >
> > So we also introduce an intermediate kconfig-level variable that
> > represent the condition to enable the GUI.
> >
> > Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > Cc: Baruch Siach <baruch@tkos.co.il>
> >
> > ---
> > Note: UNTESTED. It does fix the Kconfig issue, but it is otherwise not
> > even build-tested. Baruch? ;-)
>
> Thanks for your analysis and patch.
>
> I build tested one of the defconfigs that commit fa6feffa0def mentions. Then
> selected BR2_PACKAGE_QT5TOOLS manually, and built wireshark again. In both
> cases build succeeds after applying another (unrelated) patch[1]. So:
>
> Tested-by: Baruch Siach <baruch@tkos.co.il>
Thanks for testing! :-)
My build eventually finished successfully here too, with just the
strictly minimum to enable wireshark and GUI stuff:
BR2_arm=y
BR2_cortex_a7=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
BR2_PACKAGE_QT5BASE_GUI=y
BR2_PACKAGE_QT5BASE_WIDGETS=y
BR2_PACKAGE_QT5TOOLS=y
BR2_PACKAGE_WIRESHARK=y
Then wiresharkd reports:
The Wireshark package has been configured with the following options:
GLib version : v2.50.1
Build wireshark : yes (with Qt5 v5.6.2)
Build wireshark-gtk : no
Build tshark : yes
Build tfshark : no
Build capinfos : yes
Build captype : yes
Build editcap : yes
Build dumpcap : yes
Build mergecap : yes
Build reordercap : yes
Build text2pcap : yes
Build randpkt : yes
Build dftest : yes
Build rawshark : yes
Build androiddump : yes
Build sshdump : no
Build ciscodump : no
Build randpktdump : yes
Build echld : no
Save files as pcap-ng by default : yes
Install dumpcap with capabilities : no
Install dumpcap setuid : no
Use dumpcap group : (none)
Use plugins : yes
Use external capture sources : yes
Use Lua library : no
Build Qt RTP player : no
Build GTK+ RTP player : no
Build profile binaries : no
Use pcap library : yes
Use zlib library : yes
Use kerberos library : no
Use c-ares library : no (name resolution will be disabled)
Use SMI MIB library : no
Use GNU gcrypt library : no
Use SSL crypto library : no
Use GnuTLS library : no
Use POSIX capabilities library : no
Use GeoIP library : no
Use libssh library : no
Have ssh_userauth_agent : no
Use nl library : no
Use SBC codec library : no
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH RFC] package/wireshark: fix kconfig depndencies
2016-10-20 16:28 [Buildroot] [PATCH RFC] package/wireshark: fix kconfig depndencies Yann E. MORIN
2016-10-20 17:55 ` Baruch Siach
@ 2016-10-20 19:40 ` Thomas Petazzoni
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2016-10-20 19:40 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 20 Oct 2016 18:28:25 +0200, Yann E. MORIN wrote:
> Commit fa6feff (wireshark: needs the qt5tools lrelease utility)
> introduced a circular dependency chain in Kconfig:
>
> package/qt5/qt5base/Config.in:118:error: recursive dependency detected!
> package/qt5/qt5base/Config.in:118: symbol BR2_PACKAGE_QT5BASE_GUI is selected by BR2_PACKAGE_QT5TOOLS_PIXELTOOL
> package/qt5/qt5tools/Config.in:19: symbol BR2_PACKAGE_QT5TOOLS_PIXELTOOL depends on BR2_PACKAGE_QT5TOOLS
> package/qt5/qt5tools/Config.in:1: symbol BR2_PACKAGE_QT5TOOLS is selected by BR2_PACKAGE_QT5BASE_WIDGETS
> package/qt5/qt5base/Config.in:131: symbol BR2_PACKAGE_QT5BASE_WIDGETS is selected by BR2_PACKAGE_QT5X11EXTRAS
> package/qt5/qt5x11extras/Config.in:1: symbol BR2_PACKAGE_QT5X11EXTRAS depends on BR2_PACKAGE_QT5BASE_XCB
> package/qt5/qt5base/Config.in:186: symbol BR2_PACKAGE_QT5BASE_XCB depends on BR2_PACKAGE_QT5BASE_GUI
>
> Fix that by dropping the select on the Qt5Tools, and introduce an
> intermediate kconfig-level variable to represent the new condition, to
> simplify the .mk file.
>
> That would make the condition for enabling/disabling the GUI to be a
> little bit more complex by adding yet another (long-ish) variable.
>
> So we also introduce an intermediate kconfig-level variable that
> represent the condition to enable the GUI.
>
> Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Baruch Siach <baruch@tkos.co.il>
>
> ---
> Note: UNTESTED. It does fix the Kconfig issue, but it is otherwise not
> even build-tested. Baruch? ;-)
> ---
> package/wireshark/Config.in | 15 +++++++++++++--
> package/wireshark/wireshark.mk | 4 ++--
> 2 files changed, 15 insertions(+), 4 deletions(-)
Applied to master, after fixing the typo in the commit title. Thanks a
lot for looking into this issue!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-10-20 19:40 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-20 16:28 [Buildroot] [PATCH RFC] package/wireshark: fix kconfig depndencies Yann E. MORIN
2016-10-20 17:55 ` Baruch Siach
2016-10-20 18:28 ` Yann E. MORIN
2016-10-20 19:40 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox