Re: maturity levels: a first pass
From: Stefan Richter
Date: Sat Apr 28 2007 - 20:38:40 EST
Robert P. J. Day wrote:
> + This feature gives you the ability to de-select entire sets of
> + kernel features based on how they've been tagged with the
> + "maturity" directive.
Why expose the end-user to implementation details like "been tagged with
the 'maturity' directive"?
> +config MATURITY_DEPRECATED
> + bool "Display DEPRECATED features."
Maybe you rather want
bool "Allow to select DEPRECATED features."
because MATURITY_DEPRECATED=N probably means "Do not allow to select
DEPRECATED features" which implies that deprecated features will be
deselected. In your wording, MATURITY_DEPRECATED=N would be just "Do
not display DEPRECATED features" which is probably less than what you
want it to be.
That said, I don't know if the approach is going into the right
direction. For example, the way you are starting it requires updates to
all Kconfig UIs/scripts, to work correctly. Otherwise, users could
select ACTIVATE_MATURITY but the tags would still be ignored.
Another approach could be to
- continue to use "config EXPERIMENTAL" and "depends on EXPERIMENTAL"
and extend it for OBSOLETE, and if you cannot resist, for
- extend interactive UIs like xconfig and menuconfig and oldconfig to
display an EXPERIMENTAL sign alongside the title of an option
which depends on EXPERIMENTAL,
- delete occurrences of the string EXPERIMENTAL from titles of options
and help texts,
- vice versa for OBSOLETE, and if you cannot resist, for
This does what you want while it keeps contents separate from
presentation and avoids to extend the Kconfig language. A simple
Kconfig language without presentational ballast allows for creation of a
multitude of fine-tuned configurator UIs/scripts, which can be extended
by all sorts of features, e.g. better support in dealing with obsolete
-=====-=-=== -=-- ===-=
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/