A different new Linux configuration scheme
[Posted October 9, 2002 by corbet]
One would think that, after Eric Raymond's experience with trying to
overhaul the kernel configuration scheme, nobody else would want to venture
into that area for a long time. One would be wrong, however; Roman Zippel
has been working on his "LinuxKernelConf" package for some time, and has
recently posted
version 0.8, with a
statement that it is ready for inclusion.
LinuxKernelConf, like the ill-fated CML2 effort, defines a new
configuration language (specification) and
creates a single parser that can be used by all
configuration interfaces. The new language is purely declarative, unlike
the old one, which was really an imperative programming language. A
configuration file (there are now many, spread throughout the source tree)
contains declarations for the various configuration options, including all
the relevant information in one place. A typical entry looks something
like this:
config NETFILTER_DEBUG
bool "Network packet filtering debugging"
depends NETFILTER
help
You can say Y here if you want to get additional
messages useful in debugging the netfilter code.
Note that, among other things, this scheme includes the help information
with the rest of the configuration details.
Unlike CML2, Mr. Zippel's scheme avoids fancier scripting languages and
works with basic tools. That will help to avoid one set of flame wars.
LinuxKernelConf may well stumble over a different obstacle, however: the
(quite nice) graphical configuration tool is built on Qt. That is, in
fact, the source
of Linus's biggest concern about this patch:
But the fact that xconfig depends on QT is going to make some
people hate it.... In other words, I really think this needs to
pass the linux-kernel stink test. Will Al Viro rip your throat out?
Will it generate more positive feedback than death threats?
In fact, there have been very few death threats so far, perhaps because not
too many people have looked at the code. Regardless of the level of
promised violence, however, it looks like LinuxKernelConf may be merged
with some evasive action: the graphical interface will simply be omitted.
The kernel will thus ship with the basic configuration language; anybody
who wants to use a graphical tool will need to obtain and install it
separately. One a few other, smaller issues are resolved, it looks like
Linus may go ahead and merge this patch.
(
Log in to post comments)