package/wireshark: fix kconfig depndencies
RFC PATCH 1/1 package/wireshark: fix kconfig depndencies
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.
---
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(-)
package/wireshark/Config.in +13 -2
@@ -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
package/wireshark/wireshark.mk +2 -2
@@ -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
Signature · 1 line
2.7.4
RFC PATCH 1/1 package/wireshark: fix kconfig depndencies
Hi Yann,
Quoted 21 lines · Yann E. MORIN
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: symbolBR2_PACKAGE_QT5BASE_GUIis selected byBR2_PACKAGE_QT5TOOLS_PIXELTOOL
package/qt5/qt5tools/Config.in:19: symbolBR2_PACKAGE_QT5TOOLS_PIXELTOOLdepends onBR2_PACKAGE_QT5TOOLS
package/qt5/qt5tools/Config.in:1: symbolBR2_PACKAGE_QT5TOOLSis selected byBR2_PACKAGE_QT5BASE_WIDGETS
package/qt5/qt5base/Config.in:131: symbolBR2_PACKAGE_QT5BASE_WIDGETSis selected byBR2_PACKAGE_QT5X11EXTRAS
package/qt5/qt5x11extras/Config.in:1: symbolBR2_PACKAGE_QT5X11EXTRASdepends onBR2_PACKAGE_QT5BASE_XCB
package/qt5/qt5base/Config.in:186: symbolBR2_PACKAGE_QT5BASE_XCBdepends onBR2_PACKAGE_QT5BASE_GUIFix 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.
Quoted 8 lines
Reported-by Thomas Petazzoni <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Baruch Siach <[email protected]>---
Note: UNTESTED. It does fix theKconfigissue, 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:
[1] http://patchwork.ozlabs.org/patch/684715/
baruch
Signature · 3 lines
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 -RFC PATCH 1/1 package/wireshark: fix kconfig depndencies
Baruch, All,
On 2016-10-20 20:55 +0300, Baruch Siach spake thusly:
Quoted 31 lines · Yann E. MORIN
Quoted 21 lines
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: symbolBR2_PACKAGE_QT5BASE_GUIis selected byBR2_PACKAGE_QT5TOOLS_PIXELTOOL
package/qt5/qt5tools/Config.in:19: symbolBR2_PACKAGE_QT5TOOLS_PIXELTOOLdepends onBR2_PACKAGE_QT5TOOLS
package/qt5/qt5tools/Config.in:1: symbolBR2_PACKAGE_QT5TOOLSis selected byBR2_PACKAGE_QT5BASE_WIDGETS
package/qt5/qt5base/Config.in:131: symbolBR2_PACKAGE_QT5BASE_WIDGETSis selected byBR2_PACKAGE_QT5X11EXTRAS
package/qt5/qt5x11extras/Config.in:1: symbolBR2_PACKAGE_QT5X11EXTRASdepends onBR2_PACKAGE_QT5BASE_XCB
package/qt5/qt5base/Config.in:186: symbolBR2_PACKAGE_QT5BASE_XCBdepends onBR2_PACKAGE_QT5BASE_GUIFix 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.
Quoted 8 lines
Reported-by Thomas Petazzoni <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Baruch Siach <[email protected]>---
Note: UNTESTED. It does fix theKconfigissue, but it is otherwise not even build-tested. Baruch? ;-)
Quoted 7 lines
Thanks for your analysis and patch.
I build tested one of the defconfigs that commit
fa6feffa0defmentions. Then selectedBR2_PACKAGE_QT5TOOLSmanually, and built wireshark again. In both cases build succeeds after applying another (unrelated) patch[1]. So:Tested-by Baruch Siach <[email protected]>
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=yThen 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.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
Thomas Petazzoni
AppliedRFC PATCH 1/1 package/wireshark: fix kconfig depndencies
In reply to Yann E. MORINHello,
Quoted 26 lines · Yann E. MORIN
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: symbolBR2_PACKAGE_QT5BASE_GUIis selected byBR2_PACKAGE_QT5TOOLS_PIXELTOOL
package/qt5/qt5tools/Config.in:19: symbolBR2_PACKAGE_QT5TOOLS_PIXELTOOLdepends onBR2_PACKAGE_QT5TOOLS
package/qt5/qt5tools/Config.in:1: symbolBR2_PACKAGE_QT5TOOLSis selected byBR2_PACKAGE_QT5BASE_WIDGETS
package/qt5/qt5base/Config.in:131: symbolBR2_PACKAGE_QT5BASE_WIDGETSis selected byBR2_PACKAGE_QT5X11EXTRAS
package/qt5/qt5x11extras/Config.in:1: symbolBR2_PACKAGE_QT5X11EXTRASdepends onBR2_PACKAGE_QT5BASE_XCB
package/qt5/qt5base/Config.in:186: symbolBR2_PACKAGE_QT5BASE_XCBdepends onBR2_PACKAGE_QT5BASE_GUIFix 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 <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Baruch Siach <[email protected]>
Quoted 7 lines
---
Note: UNTESTED. It does fix theKconfigissue, 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
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com