mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* maturity levels:  a first pass
@ 2007-04-28 21:37 Robert P. J. Day
  2007-04-29  0:38 ` Stefan Richter
  0 siblings, 1 reply; 2+ messages in thread
From: Robert P. J. Day @ 2007-04-28 21:37 UTC (permalink / raw)
  To: Linux Kernel Mailing List


off the top of my head, this is what the interface might look like.

diff --git a/init/Kconfig b/init/Kconfig
index b170aa1..5c8529c 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -40,6 +40,26 @@ config EXPERIMENTAL
 	  you say Y here, you will be offered the choice of using features or
 	  drivers that are currently considered to be in the alpha-test phase.

+config ACTIVATE_MATURITY
+	bool "Activate maturity attribute selection"
+	---help---
+	  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.
+
+	  If you choose not to activate this feature, then the Kconfig
+	  "maturity" directives have no effect on the configuration.
+
+config MATURITY_DEPRECATED
+	bool "Display DEPRECATED features."
+	depends on ACTIVATE_MATURITY
+	default y
+
+config MATURITY_OBSOLETE
+	bool "Display OBSOLETE features."
+	depends on ACTIVATE_MATURITY
+	default y
+
 config BROKEN
 	bool


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

http://fsdev.net/wiki/index.php?title=Main_Page
========================================================================

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: maturity levels:  a first pass
  2007-04-28 21:37 maturity levels: a first pass Robert P. J. Day
@ 2007-04-29  0:38 ` Stefan Richter
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Richter @ 2007-04-29  0:38 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: Linux Kernel Mailing List

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
    DEPRECATED,
  - 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
    DEPRECATED.
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
configuration options.
-- 
Stefan Richter
-=====-=-=== -=-- ===-=
http://arcgraph.de/sr/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-04-29  0:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-04-28 21:37 maturity levels: a first pass Robert P. J. Day
2007-04-29  0:38 ` Stefan Richter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®