Open ilario opened 3 years ago
The report on OpenWrt side is here: https://bugs.openwrt.org/index.php?do=details&task_id=3441
Additional scenario that makes this issue more annoying:
This means that every time I modify something in the menuconfig, I have to select again the wpad-mesh-wolfssl package.
@aparcar @spiccinini @dangowrt any insight?
Hey Ilario I can confirm this, had the same struggle but didn't look deeper into that. Thanks for addressing this to OpenWRT Team!
I looked into this and is caused by how the conflicting packages lists are defined, incrementally across the Makefile. Here the full comment: https://bugs.openwrt.org/index.php?do=details&task_id=3441#comments
In short what happens is that the definition of two variables is evolving through the Makefile (as implemented in https://github.com/openwrt/openwrt/commit/3838b16943c6021e3ff06d5733df890408ad7158 by @mkresin) and this creates an asymmetry that ends up in the menuconfig misbehaviour.
$HOSTAPD_PROVIDERS
inside wpad-mesh-openssl
is hostapd hostapd-basic hostapd-mini hostapd-openssl hostapd-wolfssl wpad
$HOSTAPD_PROVIDERS
inside wpad-mesh-wolfssl
is hostapd hostapd-basic hostapd-mini hostapd-openssl hostapd-wolfssl wpad wpad-mesh-openssl
$SUPPLICANT_PROVIDERS
inside wpad-mesh-openssl
is wpad
$SUPPLICANT_PROVIDERS
inside wpad-mesh-wolfssl
is wpad wpad-mesh-openssl
@mkresin @nbd168 do you think it's possible to find another way to solve the "conflicts hell"?
Another message revealing this issue: menuconfig says:
tmp/.config-package.in:139918:error: recursive dependency detected!
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
tmp/.config-package.in:139918: symbol PACKAGE_wpad-mesh-wolfssl is selected by PACKAGE_wpad-mesh-wolfssl
ping @mkresin @nbd168
I agree that the current solution is clean but does not work well enough, so an alternative I can think of is defining a list of all the "providers" and then using CONFLICTS:=$(filter-out package_name, $(providers_list))
.
This is similar to the "conflicts hell" situation before @mkresin but I cannot find a different solution.
I am reporting this also on OpenWrt side, as it looks like a menuconfig bug rather than a suboptimal way on how to use it.
Selecting at the same time wpad-basic and wpad-mesh-wolfssl causes a clash of files installation in the compilation process. For this reason the deselection of wpad-basic has been suggested in 6e08d3ef1ac24688d0298d5a76eca0853282a98b
wpad-mesh-wolfssl can be selected in menuconfig and wpad-basic deselected, until here everything ok.
Then when closing and opening again menuconfig, wpad-mesh-wolfssl is not visible .
But when wpad-basic (or something else) is selected, wpad-mesh-wolfssl appears and is actually selected (as it should be).
The wpad-mesh-wolfssl package is categorized as being inside wpad-mesh-openssl, which makes no sense.
And all of this happens even if the definitions of wpad-basic, wpad-mesh-openssl and wpad-mesh-wolfssl are substantially identical (extracted from here):
This looks like a bug in some of the Config.in files used by make menuconfig. Just to support this, I exchanged the order in which wpad-mesh-openssl and wpad-mesh-wolfssl are defined in
tmp/.config-package.in
and now wpad-mesh-wolfssl and wpad-mesh-openssl are at the same hierarchical level. Makes no sense.