Adrian, your tone is getting more and more abusive, and while i can
easily ignore your abuse you are not just doing it towards me but
towards other kernel developers as well. You need to stop that.
Yes, the incomplete (and buggy) select came from an x86 Kconfig file but
you missed the real argument. Half a dozen other times similar bugs came
from other portions of the tree so it's a reoccuring pattern of bugs.
And had you read the exchange more carefully you'd notice that the
discussion was about the Kconfig subsystem bug which is causing all
these other bugs - which Kconfig subsystem bug is still unfixed. In the
discussion Dmitry assumed the obvious: that a select on a component will
also select the sub-components. The problem is - select does not do
that.
sure, and that's exactly what i said above: "Roman's patch is obviously
cleaner than my hack". It avoids this problem by creating a single
target to select for.
A wrong/buggy select _somewhere_ (this time the bug indeed was in an x86
subarch Kconfig - but often it was just in a driver that tried to enable
LEDS support) breaks the build - instead of propagating dependencies or
at least warning about the problem. That's a Kconfig subsystem design
bug and it has been known for years.
it's now worked around by Roman's patch by making the LEDS Kconfig
structure simpler so there's just a single select target. But the root
cause was not fixed and similar issues could hit the kernel anytime in
the future. So it's not a real fix - it just prolonges the real fix some
more.
how many times do i have to repeat it that yes it was a hack and that it
was wrong?
great, does this mean we'll see fixes for select's misbehavior, along
the lines of Sam's suggestions?
at minimum a warning needs to be emitted by the kconfig tool if such
incomplete selects are used. I've stopped counting the number of times
such issues have broken the build and have held up kernel development.
All the information is already in the Kconfig files for the kconfig
tool/subsystem to make an intelligent decision. It's just not fully
used, and the burden of fixing these problems is pushed back to the
developers who create the Kconfig files.
Ingo
--