Re: linux-kernel-digest V1 #3100

Michael Elizabeth Chastain (mec@shout.net)
Mon, 4 Jan 1999 19:05:30 -0600


Hi Andi,

> Why is it incoherent? If the user did not choose some feature, but it
> is turned on anyways because of some dependency noone is hurt. I can
> see no negative effects.

I get negative effects of the configuration system every day in my
mailbox and I'm trying to clean them up.

One problem is that when CONFIG_IP_ADVANCED_ROUTER is turned on,
CONFIG_NETLINK_DEV is left in an uninitialized state.

Another problem is that if the user tries to turn off CONFIG_RTNETLINK
in Menuconfig or xconfig, it stays off for one round of refreshing,
and then comes back on. You can see the same effect in Configure by
simply running Configure again.

There are other paths through the configuration choices that give builds
with dangling references. Arjan van de ven has the config files for those.

Config Language is not a sequential programming language. It is a
random-access language and the end user chooses the order of execution.
Because of this, options need to belong either to the user or the
system, but not both.

> That sounds error prone. Real users don't real manuals. They want some
> feature (e.g. policy routing) and for them that rtnetlink is needed to
> configure it is just some implemention detail that they shouldn't have to
> (and needn't) care about.

Then the visible option presented needs to change its name, and the code
needs to change so that it does rtnetlinking if either CONFIG_RTNETLINK_USER
or CONFIG_RTNETLINK_AUTO is defined. That is a significantly bigger patch.
But what do you think of that?

> Will you answer all the questions about it on l-k and the newsgroups?

I will write the documentation for it.

Would you like to start maintaining xconfig? It has no maintainer.

I'm sick of the way this configuration system is evolving. Config
Language has no coherent semantic model. Hell, there isn't even a
coherent *syntax*. People just pile their favorite features into it
until it becomes an unstable mess. Then users come along and it tips
over at the drop of a hat.

How many linux hackers have fallen into this mode of operation:

for ( ; ; )
{
configure system
build system
if ( build reports errors )
{
make clean
continue
}
else
break
}

After 2.2, I am writing an alternative for the whole nasty mess in the
scripts/ directory, with a written language description and a static
parser that enforces it. For 2.2, I am fixing as much as I can.
CONFIG_RTNETLINK is one of the problems. One way or another, I am
writing and submitting a patch for it.

Michael Elizabeth Chastain
<mailto:mec@shout.net>
"love without fear"

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/