Messages in this thread | | | Date | Mon, 4 Jan 1999 19:05:30 -0600 | From | Michael Elizabeth Chastain <> | Subject | Re: linux-kernel-digest V1 #3100 |
| |
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/
| |