Re: [RFC PATCH] kconfig: use long options in conf

From: Sam Ravnborg
Date: Thu Jul 29 2010 - 19:04:27 EST


On Thu, Jul 29, 2010 at 03:50:52PM -0400, Aristeu Rozanski wrote:
> On Thu, Jul 29, 2010 at 09:34:55PM +0200, Sam Ravnborg wrote:
> > If you have a simple command that give you a list of new
> > symbols then this is easy to script as Michal also
> > shows with the below example.
> >
> > > > How about
> > > > new=$(make listnewconfig)
> > > > if test -n "$new"; then
> > > > echo "Please set the following options:" >&2
> > > > echo "$new" >&2
> > > > exit 1
> > > > fi
> > > > ? Wouldn't that be the same as nonint_oldconfig before?
> > > what's the other use cases for listnewconfig (other than a incomplete
> > > nonint_oldconfig)?
> >
> > listnewconfig is for everyone that like to see a list of new
> > config options - without touching the current configuration.
> >
> > By limiting listnewconfig to do only one thing you actually
> > create further uses than before.

First off let me correct myself.
nonint_oldconfig does the following:
- print any new options to stderr
- if tere are any new options exit with exit code 2
- it does _not_ touch the current configuration (as I wrongly implied above)

listnewconfig does the following:
- print any new options to stdout
- return with exit code 0 (success)
- it does not touch the current configuration

So the change we discuss is only the exit code.
You indicated you were OK with the name change,
and I assume the change from stderr => stdout is OK too.

> >
> > This is not about how well it applies to the tailored
> > use in redhat's current scripts.
> *sigh* I think we have people able to handle such complex changes.
>
> this is not what it's about. I don't care how it's called or if scripts
> will need to be changed. What I want to know is if either:
> a) we're reducing functionality of something in order to support more *real*
> use cases with the same code, making it more generic;
> or
> b) we're reducing functionality based in theorical use cases.
>
> if it's (a), you get my ACK

I can try to come up with some use cases that I consider real...

a) List the number of new options after I upgraded my kernel.
It can be used to judge the amount of time used to answer
oldconfig manually.
If make tells me that conf had an exit code != success how
do I then know the list is complete?

b) List the number of new options when I bring in an old config.
Same comment as in a) about the exit code.

c) List the options I need to carefully lookup to judge what to do about them.
A variant of a) and b) - the one I expect all distributions uses in some way.
[scripts/diffconfig is one way]

d) We can use listnewconfig in scripts without failing due to
conf exit with an error code when there are new options.
And use of stdout is thus more convinient.
[And I know the counter argument is that with the exit code it is easy
to judge if there is any new options].


I hope this shows enough examples that you consider in the _real_
category that you can give it your ack.

Sam
--
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/