Michael> First, on a literal level, leaving out a "then" keyword is
Michael> not a "little irrelevant change".
Michael> Documentation/kbuild/config-language.txt is the specification
Michael> for Config Language. Based on legacy "bash" syntax, the
Michael> Config Language syntax specifies that an "if" statement must
Michael> have a "then" keyword.
I don't actually disagree that this specific case is a bug in the
Config.in file, however it annoys me to see over and over again how
the Config.in files are changed to get around stupidities in the menu
based config tools.
Michael> So I think the real question is "how come Menuconfig doesn't
Michael> print out informative syntax errors?" Because if it did,
Michael> then the people who write Config.in scripts with syntax
Michael> errors would get error reports before submitting their
Michael> patches to Alan or Linus.
Except that it requires that the people who write the patches actually
use these tools. There is no way I am going to waste time running
menuconfig/xconfig before shipping something.
Michael> After that, William Roadcap (not from Microsoft) wrote
Michael> Menuconfig, which is a super kludge of a language
Michael> interpreter, but wow does it have a nice curses interfaces.
Michael> Mr. Roadcap disappeared, I took responsibility, I fixed a lot
Michael> of bugs in Menuconfig, and then I semi-disappeared too.
This is of course oppinion based, I happen to like `make config' and
dislike the menu based ones.
Michael> These ad hoc script interpreters simply do not scale up to
Michael> the size of the development community. Some poor guy trying
Michael> to add something to the network drivers omits a required
Michael> keyword and instead of a nice syntax error, dozens of people
Michael> get a mysterious message. As you noticed, this happens
Michael> several times a year.
I am not arguing against the fact that a required keyword was missing,
that _is_ a bug. What I am pointing out is that it always seem to be
the menu based config tools that break things.
Michael> I believe the right fix is a real grammar, written in bison,
Michael> with real syntax checking and real error messages. I have
Michael> one in progress with a generic back-end and a curses
Michael> front-end. I've actually configured and built kernels with
Michael> it. Jim Bray is working on a gtk front-end for it.
If it is going to break the readability of the current Config.in,
.config and defconfig files then no thanks. Anything that requires
more than a standard bash shell to run should be optional.
Michael> Then I am going to try to put Menuconfig out of business.
Michael> Also Configure and Xconfig, too. Not by taking them away
Michael> from people -- but by offering something that they prefer to
Michael> run so that the old ones die from lack of users.
Note that killing things like 'make oldconfig' and 'make config' is
not going to get you a lot of friends. Menuconfig and xconfig have
always been options, not the default, I hope it stays like that.
Jes
-
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/