Re: second thoughts about DEPRECATED and OBSOLETE maturity levels

From: Robert P. J. Day
Date: Thu Mar 01 2007 - 07:40:41 EST


On Mon, 26 Feb 2007, Sam Ravnborg wrote:

> On Sun, Feb 25, 2007 at 05:07:24PM -0500, Robert P. J. Day wrote:
> >
> > having championed the cause of adding those two code maturity levels
> > to init/Kconfig, i just realized that implementing them as simple
> > dependencies has a *really* annoying shortcoming.
> >
> > in order to display that a kernel config feature is experimental,
> > developers have not only made that feature depend on EXPERIMENTAL, but
> > they've also had to *explicitly* add the trailer "(EXPERIMENTAL)" to
> > the prompt line in the Kconfig file, to make it visually obvious.
> >
> > obviously, it would be *way* nicer if that trailer were produced on
> > the fly for any "EXPERIMENTAL" feature, just as it would be for
> > OBSOLETE or DEPRECATED (or any other maturity levels people can dream
> > up).
>
> I have envisioned that this tag could be added by Kconfig automatically for
> all symbols that are dependent on EXPERIMENTAL.
> To do so the new option syntax could be extended.
> So we had something like:
> config EXPERIMENTAL
> bool "Bla bla"
> option adddisplay=(EXPERIMENTAL)
>
> This would cause all symbols selected by EXPERIMENTAL to have
> the string "(EXPERIMENTAL)" added to the prompt when displayed.
>
> Same could be used for DEPRECATED and OBSOLETE.

i'll make one more observation on this, then i'll shut the heck up
about it.

i'm wondering if there's any advantage in defining a code maturity
level as something *beyond* just a regular dependency, as you're doing
above. what you have above will definitely work, but i'm wondering if
there's some benefit to actually defining a new keyword, such as:

config FUBAR
depends on ....
maturity EXPERIMENTAL

while the "maturity" level could still be processed *internally* as a
dependency, if you think about it, it's not *really* a dependency,
it's more like an *attribute* or *status* or something like that, and
it may be that there's some value to distinguishing it from a normal
dependency that's not immediately obvious at the moment.

just thinking out loud.

rday

--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://fsdev.net/wiki/index.php?title=Main_Page
========================================================================
-
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/