2002-11-05 16:44:51

by Jens Axboe

[permalink] [raw]
Subject: 2.5 vi .config ; make oldconfig not working

Hi,

Can it really be that one cannot edit a config file and run make
oldconfig anymore? I'm used to editing an entry in .config and running
oldconfig to fix things up, now it just reenables the option. That's
clearly a major regression.

--
Jens Axboe


2002-11-05 17:01:59

by Jeff Garzik

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

Jens Axboe wrote:

>Hi,
>
>Can it really be that one cannot edit a config file and run make
>oldconfig anymore? I'm used to editing an entry in .config and running
>oldconfig to fix things up, now it just reenables the option. That's
>clearly a major regression.
>
>


It works fine for me :)

I don't think I could survive without the tried and true "vi .config ;
make oldconfig" kernel configurator :)


2002-11-05 17:20:05

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05 2002, Arjan van de Ven wrote:
> On Tue, 2002-11-05 at 18:14, Jens Axboe wrote:
>
> > axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> > 641:CONFIG_NFSD_V4=y
> > axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
> > axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> > 641:CONFIG_NFSD_V4=n
>
> =n never worked...

You're wrong, it's always worked. I've never used anything but that.

> # CONFIG_NFSD_V4 is not set

Come on, you really expect me to type the whole damn thing? That's
silly.

--
Jens Axboe

2002-11-05 17:14:38

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05 2002, Jeff Garzik wrote:
> Jens Axboe wrote:
>
> >
> >
> >Hmmm:
> >
> >axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> >641:CONFIG_NFSD_V4=y
> >axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
> >axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> >641:CONFIG_NFSD_V4=n
> >
>
> '=n' is wrong, that should be "# CONFIG_NFSD_V4 is not set" still...

Why is that wrong? It worked before.

> or, just delete it. that's what I do :) the configurator will
> re-prompt for it, and I hit 'n'

I don't want a prompt for y/n, I just set it to no!

> yeah, nfsd build is still broken here too :)

:-)

--
Jens Axboe

2002-11-05 17:13:14

by Jeff Garzik

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

Jens Axboe wrote:

>
>
>Hmmm:
>
>axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
>641:CONFIG_NFSD_V4=y
>axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
>axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
>641:CONFIG_NFSD_V4=n
>

'=n' is wrong, that should be "# CONFIG_NFSD_V4 is not set" still...

or, just delete it. that's what I do :) the configurator will
re-prompt for it, and I hit 'n'

yeah, nfsd build is still broken here too :)


2002-11-05 17:10:18

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05 2002, Dave Jones wrote:
> On Tue, Nov 05, 2002 at 12:08:33PM -0500, Jeff Garzik wrote:
>
> > >Can it really be that one cannot edit a config file and run make
> > >oldconfig anymore? I'm used to editing an entry in .config and running
> > >oldconfig to fix things up, now it just reenables the option. That's
> > >clearly a major regression.
> > >
> > It works fine for me :)
> > I don't think I could survive without the tried and true "vi .config ;
> > make oldconfig" kernel configurator :)
>
> Here it seems to work fine if I delete a line completely, but
> if I change
> CONFIG_FOO=y
> to
> #CONFIG_FOO=y

Yeah that works. It will ask me about CONFIG_FOO when I run make
oldconfig, though.

I still think it's a regression, and a very annoying one too.

--
Jens Axboe

2002-11-05 17:21:20

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05 2002, Jens Axboe wrote:
> On Tue, Nov 05 2002, Arjan van de Ven wrote:
> > On Tue, 2002-11-05 at 18:14, Jens Axboe wrote:
> >
> > > axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> > > 641:CONFIG_NFSD_V4=y
> > > axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
> > > axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> > > 641:CONFIG_NFSD_V4=n
> >
> > =n never worked...
>
> You're wrong, it's always worked. I've never used anything but that.

2.5.44:

axboe@burns:[.]/kernel/iosched/linux-2.5 $ grep NFSD_V4 < .config
750:CONFIG_NFSD_V4=y
axboe@burns:[.]/kernel/iosched/linux-2.5 $ vi .config
axboe@burns:[.]/kernel/iosched/linux-2.5 $ grep NFSD_V4 < .config
750:CONFIG_NFSD_V4=n
axboe@burns:[.]/kernel/iosched/linux-2.5 $ grep NFSD_V4 < .config
750:# CONFIG_NFSD_V4 is not set

Bingo, perfect.

--
Jens Axboe

2002-11-05 17:18:41

by Arjan van de Ven

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, 2002-11-05 at 18:14, Jens Axboe wrote:

> axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> 641:CONFIG_NFSD_V4=y
> axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
> axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> 641:CONFIG_NFSD_V4=n

=n never worked...

# CONFIG_NFSD_V4 is not set


Attachments:
signature.asc (189.00 B)
This is a digitally signed message part

2002-11-05 17:15:09

by Jeff Garzik

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

Dave Jones wrote:

>On Tue, Nov 05, 2002 at 12:08:33PM -0500, Jeff Garzik wrote:
>
> > >Can it really be that one cannot edit a config file and run make
> > >oldconfig anymore? I'm used to editing an entry in .config and running
> > >oldconfig to fix things up, now it just reenables the option. That's
> > >clearly a major regression.
> > >
> > It works fine for me :)
> > I don't think I could survive without the tried and true "vi .config ;
> > make oldconfig" kernel configurator :)
>
>Here it seems to work fine if I delete a line completely, but
>if I change
>CONFIG_FOO=y
>to
>#CONFIG_FOO=y
>
>it regenerates .config without the #
>This used to work fine. I guess the new parser
>is a little more strict..
>
>


well, consider too that '# blah blah' was never really a
completely-free-to-use namespace, it was considered special due to the
shell-based parsing that needed to occur. '# CONFIG_FOO is not set' is
the classic example of using the '#' space...

Jeff




2002-11-05 17:09:32

by Dave Jones

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05, 2002 at 12:08:33PM -0500, Jeff Garzik wrote:

> >Can it really be that one cannot edit a config file and run make
> >oldconfig anymore? I'm used to editing an entry in .config and running
> >oldconfig to fix things up, now it just reenables the option. That's
> >clearly a major regression.
> >
> It works fine for me :)
> I don't think I could survive without the tried and true "vi .config ;
> make oldconfig" kernel configurator :)

Here it seems to work fine if I delete a line completely, but
if I change
CONFIG_FOO=y
to
#CONFIG_FOO=y

it regenerates .config without the #
This used to work fine. I guess the new parser
is a little more strict..


Dave

--
| Dave Jones. http://www.codemonkey.org.uk

2002-11-05 17:07:49

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05 2002, Jeff Garzik wrote:
> Jens Axboe wrote:
>
> >Hi,
> >
> >Can it really be that one cannot edit a config file and run make
> >oldconfig anymore? I'm used to editing an entry in .config and running
> >oldconfig to fix things up, now it just reenables the option. That's
> >clearly a major regression.
> >
> >
>
>
> It works fine for me :)
>
> I don't think I could survive without the tried and true "vi .config ;

Well me neither!

> make oldconfig" kernel configurator :)

Hmmm:

axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
641:CONFIG_NFSD_V4=y
axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
641:CONFIG_NFSD_V4=n
axboe@burns:[.]linux-2.5-deadline-rbtree $ make oldconfig
axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
641:CONFIG_NFSD_V4=y

--
Jens Axboe

2002-11-05 17:23:48

by Randy.Dunlap

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, 5 Nov 2002, Jens Axboe wrote:

| > make oldconfig" kernel configurator :)
|
| Hmmm:
|
| axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
| 641:CONFIG_NFSD_V4=y
| axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
| axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
| 641:CONFIG_NFSD_V4=n
| axboe@burns:[.]linux-2.5-deadline-rbtree $ make oldconfig
| axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
| 641:CONFIG_NFSD_V4=y

Yes, I saw this behavior last night also (on different options).

--
~Randy

2002-11-05 18:08:11

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05 2002, Alan Cox wrote:
> On Tue, 2002-11-05 at 17:26, Jens Axboe wrote:
> > You're wrong, it's always worked. I've never used anything but that.
> >
> > > # CONFIG_NFSD_V4 is not set
> >
> > Come on, you really expect me to type the whole damn thing? That's
> > silly.
>
> So write a sed script to turn n into "is not set" or submit a change to
> cover it. Its luck =n ever did what you expected though.

5 years of luck isn't bad, I ought to start gambling.

I'll write the script, just a damn shame that this feature is gone now.
.config editing is less powerful now.

--
Jens Axboe

2002-11-05 17:51:59

by Alan

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, 2002-11-05 at 17:26, Jens Axboe wrote:
> You're wrong, it's always worked. I've never used anything but that.
>
> > # CONFIG_NFSD_V4 is not set
>
> Come on, you really expect me to type the whole damn thing? That's
> silly.

So write a sed script to turn n into "is not set" or submit a change to
cover it. Its luck =n ever did what you expected though.

2002-11-05 18:07:54

by Joel Becker

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05, 2002 at 06:21:10PM +0100, Jens Axboe wrote:
> > '=n' is wrong, that should be "# CONFIG_NFSD_V4 is not set" still...
>
> Why is that wrong? It worked before.

I've run into kernels where '=n' didn't work. The old-skool
canonical answer was "# CONFIG_FOO is not set", and that worked reliably
in <2.5

Joel

--

print STDOUT q
Just another Perl hacker,
unless $spring
- Larry Wall

Joel Becker
Senior Member of Technical Staff
Oracle Corporation
E-mail: [email protected]
Phone: (650) 506-8127

2002-11-05 18:10:04

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05 2002, Joel Becker wrote:
> On Tue, Nov 05, 2002 at 06:21:10PM +0100, Jens Axboe wrote:
> > > '=n' is wrong, that should be "# CONFIG_NFSD_V4 is not set" still...
> >
> > Why is that wrong? It worked before.
>
> I've run into kernels where '=n' didn't work. The old-skool

Never ever had a problem with it, and I've compiled pretty much every
single kernel in the last handful of kernel cycles.

> canonical answer was "# CONFIG_FOO is not set", and that worked reliably
> in <2.5

Less handy, though.

--
Jens Axboe

2002-11-05 18:53:17

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] Allow 'n' as a symbol value in the .config file.

On Tue, Nov 05 2002, Petr Baudis wrote:
> Hello,
>
> this patch (against 2.5.46) enabled recognition of 'n' tristate/boolean
> symbol value in the .config file. This allows more convenient manual
> editing of the .config file. Please apply.

Indeed, thank you very much! Confirmed to work here. Roman, can you pass
on this change?

--
Jens Axboe

2002-11-05 19:35:55

by Petr Baudis

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

Dear diary, on Tue, Nov 05, 2002 at 08:30:04PM CET, I got a letter,
where Sam Ravnborg <[email protected]> told me, that...
> On Tue, Nov 05, 2002 at 07:14:31PM +0100, Jens Axboe wrote:
> > I'll write the script, just a damn shame that this feature is gone now.
> > .config editing is less powerful now.
> The following patch should make most garbage, such as =n, result in
> # CONFIG_FOO is not set
> without any user confirmation.

I don't think this is actually a good idea. We break forward compatibility with
this (possibly, in future we will want to add something like "yes" or you don't
know what..), and then you will still get "no" for no obvious reason - asking
is much saner approach here, IMHO. If we didn't understand it, assuming 'no' is
not a safe way, I believe.

--

Petr "Pasky" Baudis
.
This host is a black hole at HTTP wavelengths. GETs go in, and nothing
comes out, not even Hawking radiation.
-- Graaagh the Mighty on rec.games.roguelike.angband
.
Public PGP key && geekcode && homepage: http://pasky.ji.cz/~pasky/

2002-11-05 18:48:38

by Petr Baudis

[permalink] [raw]
Subject: [PATCH] Allow 'n' as a symbol value in the .config file.

Hello,

this patch (against 2.5.46) enabled recognition of 'n' tristate/boolean
symbol value in the .config file. This allows more convenient manual editing of
the .config file. Please apply.

confdata.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)

Kind regards,
Petr Baudis

--- linux/scripts/kconfig/confdata.c Fri Nov 1 22:22:07 2002
+++ linux+pasky/scripts/kconfig/confdata.c Tue Nov 5 19:54:12 2002
@@ -1,6 +1,9 @@
/*
* Copyright (C) 2002 Roman Zippel <[email protected]>
* Released under the terms of the GNU GPL v2.0.
+ *
+ * Allow 'n' as a symbol value.
+ * 2002-11-05 Petr Baudis <[email protected]>
*/

#include <ctype.h>
@@ -146,13 +149,13 @@
break;
}
switch (sym->type) {
- case S_BOOLEAN:
- sym->def = symbol_yes.curr;
- sym->flags &= ~SYMBOL_NEW;
- break;
case S_TRISTATE:
if (p[0] == 'm')
sym->def = symbol_mod.curr;
+ else
+ case S_BOOLEAN:
+ if (p[0] == 'n')
+ sym->def = symbol_no.curr;
else
sym->def = symbol_yes.curr;
sym->flags &= ~SYMBOL_NEW;

2002-11-05 19:24:44

by Sam Ravnborg

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05, 2002 at 07:14:31PM +0100, Jens Axboe wrote:
> I'll write the script, just a damn shame that this feature is gone now.
> .config editing is less powerful now.
The following patch should make most garbage, such as =n, result in
# CONFIG_FOO is not set
without any user confirmation.

Roman - the code uses "//" for comments. Thats not usual kernel style.

Sam

===== confdata.c 1.1 vs edited =====
--- 1.1/scripts/kconfig/confdata.c Wed Oct 30 02:16:44 2002
+++ edited/confdata.c Tue Nov 5 20:25:59 2002
@@ -147,14 +147,28 @@
}
switch (sym->type) {
case S_BOOLEAN:
- sym->def = symbol_yes.curr;
- sym->flags &= ~SYMBOL_NEW;
+ if (p[0] == 'y') {
+ sym->def = symbol_yes.curr;
+ sym->flags &= ~SYMBOL_NEW;
+ }
+ else
+ {
+ sym->def = symbol_no.curr;
+ sym->flags &= ~SYMBOL_NEW;
+ continue;
+ }
break;
case S_TRISTATE:
if (p[0] == 'm')
sym->def = symbol_mod.curr;
- else
+ else if (p[0] == 'y')
sym->def = symbol_yes.curr;
+ else
+ {
+ sym->def = symbol_no.curr;
+ sym->flags &= ~SYMBOL_NEW;
+ continue;
+ }
sym->flags &= ~SYMBOL_NEW;
break;
case S_STRING:

2002-11-05 20:10:14

by Peter H. Ruegg

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

> I'll write the script, just a damn shame that this feature is gone now.
> .config editing is less powerful now.

Well, the script is easy...

cat << DONE >> .vimrc
:map - :s/=y$/ is not set/
:s/^/# /
DONE

Needs even less work than before now...

--8<-------------------------------------------------------------------------
main(){char*s="O_>>^PQAHBbPQAHBbPOOH^^PAAHBJPAAHBbPA_H>BB";int i,j,k=1,l,m,n;
for(j=0;j<7;j++)for(l=0;m=l-6+j,i=m/6,n=j*6+i,k=1<<m%6,l<41-j;l++)
putchar(l<6-j?' ':l==40-j?'\n':k&&s[n]&k?'*':' ');}

2002-11-05 20:44:28

by Sam Ravnborg

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tue, Nov 05, 2002 at 08:42:29PM +0100, Petr Baudis wrote:
> > The following patch should make most garbage, such as =n, result in
> > # CONFIG_FOO is not set
> > without any user confirmation.
>
> I don't think this is actually a good idea. We break forward compatibility with
> this (possibly, in future we will want to add something like "yes" or you don't
> know what..), and then you will still get "no" for no obvious reason - asking
> is much saner approach here, IMHO. If we didn't understand it, assuming 'no' is
> not a safe way, I believe.
What actually happens is that any non-recognized value is assumed to be 'n'.
So if 'yes' is recognised, then fine.

And with the simple parser used today "CONFIG_FOO=yes" would be recognised
as yes, because it checks only the 'y'.
I did not look that close on the patch you sent, but I think they
have the same functionality.

If this wasn't after feature freeze I would have liked to see the
hidden .config file to be replaced by for example Kconfigdata or
similar.
So many times I have seen people being asked to backup there
configuration, which is located in a hidden file.
If people should keep their fingers away from it - then we should note
that in the top of the file. As we do in the rest of the kernel.

And then we could have invented a better syntax, that was not
dictated by bash or similar.
Something to propose in the 2.7 timeframe.

Sam

2002-11-06 14:00:17

by Roman Zippel

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

Hi,

On Tue, 5 Nov 2002, Jens Axboe wrote:

> > >axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> > >641:CONFIG_NFSD_V4=y
> > >axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
> > >axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> > >641:CONFIG_NFSD_V4=n
> > >
> >
> > '=n' is wrong, that should be "# CONFIG_NFSD_V4 is not set" still...
>
> Why is that wrong? It worked before.

It was not documented and I only implemented that was documented. :)
It's of course no problem to change that.

bye, Roman

2002-11-06 14:07:38

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Wed, Nov 06 2002, Roman Zippel wrote:
> Hi,
>
> On Tue, 5 Nov 2002, Jens Axboe wrote:
>
> > > >axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> > > >641:CONFIG_NFSD_V4=y
> > > >axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
> > > >axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 < .config
> > > >641:CONFIG_NFSD_V4=n
> > > >
> > >
> > > '=n' is wrong, that should be "# CONFIG_NFSD_V4 is not set" still...
> >
> > Why is that wrong? It worked before.
>
> It was not documented and I only implemented that was documented. :)
> It's of course no problem to change that.

Thanks, patch from Petr is perfect :-)

--
Jens Axboe

2002-11-07 01:30:38

by Rob Landley

[permalink] [raw]
Subject: Re: 2.5 vi .config ; make oldconfig not working

On Tuesday 05 November 2002 17:26, Jens Axboe wrote:
> On Tue, Nov 05 2002, Arjan van de Ven wrote:
> > On Tue, 2002-11-05 at 18:14, Jens Axboe wrote:
> > > axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 <
> > > .config 641:CONFIG_NFSD_V4=y
> > > axboe@burns:[.]linux-2.5-deadline-rbtree $ vi .config
> > > axboe@burns:[.]linux-2.5-deadline-rbtree $ grep CONFIG_NFSD_V4 <
> > > .config 641:CONFIG_NFSD_V4=n
> >
> > =n never worked...
>
> You're wrong, it's always worked. I've never used anything but that.
>
> > # CONFIG_NFSD_V4 is not set
>
> Come on, you really expect me to type the whole damn thing? That's
> silly.

Some of the #ifdef cases simply test whether the config option is defined.
(Lots of #ifdef CONFIG_DEBUG_BLAH type stuff.) Setting them to no counts as
defining them, so it thinks it's a y. (I remember cml2 hit that way back...)

Obviously, CONFIG_NFSD_V4 is not one of them...

Rob

--
http://penguicon.sf.net - Terry Pratchett, Eric Raymond, Pete Abrams, Illiad,
CmdrTaco, liquid nitrogen ice cream, and caffienated jello. Well why not?