public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/19] kconfig patches
@ 2006-04-09 15:26 Roman Zippel
  2006-04-10  6:55 ` Andrew Morton
  2006-04-20  3:51 ` Randy.Dunlap
  0 siblings, 2 replies; 13+ messages in thread
From: Roman Zippel @ 2006-04-09 15:26 UTC (permalink / raw)
  To: linux-kernel, Andrew Morton, Sam Ravnborg

Hi,

Here is a batch of kconfig (and also some kbuild related) patches. The 
first four patches I'd like to see to go into 2.6.17 if possible. Although 
I'm quite confident about the remaining patches, a bit more testing can't 
hurt.

Some comments about the most interesting aspects from a user perspective 
for these patches:

Now it's possible to do something like "vi .config; make" and be 
reasonably certain it does the right thing, before especially kbuild 
related config changes were not correctly picked up by make and required 
an explicit "make oldconfig".

Andrew, what might be very interesting for you is that kconfig is not 
rewriting .config anymore all the time by itself and if you set 
KCONFIG_NOSILENTUPDATE you can even omit the silent updates, so unless you 
explicitly call one of the config targets, you can be sure kbuild won't 
touch your .config symlink anymore and as long as the .config is in sync 
with the Kconfig files you shouldn't see a difference. I'm very interested 
how that works for you.

Another interesting feature are the xconfig changes, it supports now a 
search option like menuconfig and the help output links to other symbols, 
so one can basically browse through the kconfig info. The latter is still 
a bit experimental, so it's only visible if the debug info option is 
enabled.

bye, Roman

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

* Re: [PATCH 0/19] kconfig patches
  2006-04-09 15:26 [PATCH 0/19] kconfig patches Roman Zippel
@ 2006-04-10  6:55 ` Andrew Morton
  2006-04-10  8:46   ` Roman Zippel
  2006-04-20  3:51 ` Randy.Dunlap
  1 sibling, 1 reply; 13+ messages in thread
From: Andrew Morton @ 2006-04-10  6:55 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-kernel, sam

Roman Zippel <zippel@linux-m68k.org> wrote:
>
> Andrew, what might be very interesting for you is that kconfig is not 
>  rewriting .config anymore all the time by itself and if you set 
>  KCONFIG_NOSILENTUPDATE you can even omit the silent updates, so unless you 
>  explicitly call one of the config targets, you can be sure kbuild won't 
>  touch your .config symlink anymore and as long as the .config is in sync 
>  with the Kconfig files you shouldn't see a difference. I'm very interested 
>  how that works for you.

Badly, sorry.  `make oldconfig' blows away the .config symlink.



 scripts/kconfig/confdata.c        |   28 ++++++++++++++++++++++++++--
 scripts/kconfig/lxdialog/colors.h |    6 +++---
 2 files changed, 29 insertions(+), 5 deletions(-)

diff -puN scripts/kconfig/lxdialog/colors.h~sane-menuconfig-colours scripts/kconfig/lxdialog/colors.h
--- devel/scripts/kconfig/lxdialog/colors.h~sane-menuconfig-colours	2006-04-09 23:46:02.000000000 -0700
+++ devel-akpm/scripts/kconfig/lxdialog/colors.h	2006-04-09 23:46:02.000000000 -0700
@@ -37,7 +37,7 @@
 #define DIALOG_BG                    COLOR_WHITE
 #define DIALOG_HL                    FALSE
 
-#define TITLE_FG                     COLOR_YELLOW
+#define TITLE_FG                     COLOR_BLUE
 #define TITLE_BG                     COLOR_WHITE
 #define TITLE_HL                     TRUE
 
@@ -109,7 +109,7 @@
 #define ITEM_SELECTED_BG             COLOR_BLUE
 #define ITEM_SELECTED_HL             TRUE
 
-#define TAG_FG                       COLOR_YELLOW
+#define TAG_FG                       COLOR_BLUE
 #define TAG_BG                       COLOR_WHITE
 #define TAG_HL                       TRUE
 
@@ -117,7 +117,7 @@
 #define TAG_SELECTED_BG              COLOR_BLUE
 #define TAG_SELECTED_HL              TRUE
 
-#define TAG_KEY_FG                   COLOR_YELLOW
+#define TAG_KEY_FG                   COLOR_BLUE
 #define TAG_KEY_BG                   COLOR_WHITE
 #define TAG_KEY_HL                   TRUE
 
diff -puN scripts/kconfig/confdata.c~sane-menuconfig-colours scripts/kconfig/confdata.c
--- devel/scripts/kconfig/confdata.c~sane-menuconfig-colours	2006-04-09 23:51:43.000000000 -0700
+++ devel-akpm/scripts/kconfig/confdata.c	2006-04-09 23:55:04.000000000 -0700
@@ -360,6 +360,30 @@ int conf_read(const char *name)
 	return 0;
 }
 
+static int __copy(const char *in_name, const char *out_name)
+{
+	FILE *out;
+	FILE *in;
+	int c;
+
+	out = fopen(out_name, "w");
+	if (!out) {
+		perror("open");
+		return 1;
+	}
+	in = fopen(in_name, "r");
+	if (!in) {
+		perror("open");
+		fclose(out);
+		return 1;
+	}
+	while ((c = fgetc(in)) != EOF)
+		fputc(c, out);
+	fclose(in);
+	fclose(out);
+	return 0;
+}
+
 int conf_write(const char *name)
 {
 	FILE *out;
@@ -502,10 +526,10 @@ int conf_write(const char *name)
 		if (!name)
 			name = conf_def_filename;
 		sprintf(tmpname, "%s.old", name);
-		rename(name, tmpname);
+		__copy(name, tmpname);
 	}
 	sprintf(tmpname, "%s%s", dirname, basename);
-	if (rename(newname, tmpname))
+	if (__copy(newname, tmpname))
 		return 1;
 
 	printf(_("#\n"
_


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

* Re: [PATCH 0/19] kconfig patches
  2006-04-10  8:46   ` Roman Zippel
@ 2006-04-10  7:51     ` Andrew Morton
  2006-04-10  9:35       ` Roman Zippel
  0 siblings, 1 reply; 13+ messages in thread
From: Andrew Morton @ 2006-04-10  7:51 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-kernel, sam

Roman Zippel <zippel@linux-m68k.org> wrote:
>
> Hi,
> 
> On Sun, 9 Apr 2006, Andrew Morton wrote:
> 
> > > Andrew, what might be very interesting for you is that kconfig is not 
> > >  rewriting .config anymore all the time by itself and if you set 
> > >  KCONFIG_NOSILENTUPDATE you can even omit the silent updates, so unless you 
> > >  explicitly call one of the config targets, you can be sure kbuild won't 
> > >  touch your .config symlink anymore and as long as the .config is in sync 
> > >  with the Kconfig files you shouldn't see a difference. I'm very interested 
> > >  how that works for you.
> > 
> > Badly, sorry.  `make oldconfig' blows away the .config symlink.
> 
> I know, that's why I said "unless you explicitly call one of the config 
> targets",

I know that's why you said that ;)

> If you call "make oldconfig", you have to restore the symlink manually.

Why?  What advantage does that have?

I've been using the copy-it-there approach for maybe four years and have
yet to notice any problem with it.


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

* Re: [PATCH 0/19] kconfig patches
  2006-04-10  9:35       ` Roman Zippel
@ 2006-04-10  8:41         ` Andrew Morton
  2006-04-10 11:36           ` Roman Zippel
  0 siblings, 1 reply; 13+ messages in thread
From: Andrew Morton @ 2006-04-10  8:41 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-kernel, sam

Roman Zippel <zippel@linux-m68k.org> wrote:
>
> Hi,
> 
> On Mon, 10 Apr 2006, Andrew Morton wrote:
> 
> > > If you call "make oldconfig", you have to restore the symlink manually.
> > 
> > Why?  What advantage does that have?
> > 
> > I've been using the copy-it-there approach for maybe four years and have
> > yet to notice any problem with it.
> 
> Pretty much every other tool removes the old file before or after creating 
> the new file. This allows it to work with a hardlinked tree, which 
> unfortunately is currently broken for other reasons in kbuild.

OK.  S_ISLNK?  `setenv DONT_BE_IRRITATING 1'?

> Could you send me link or a copy of your build tools, which deals with the 
> symlink?

Not sure what you mean really.  I use the normal in-tree things, plus the
patch in the earlier email.


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

* Re: [PATCH 0/19] kconfig patches
  2006-04-10  6:55 ` Andrew Morton
@ 2006-04-10  8:46   ` Roman Zippel
  2006-04-10  7:51     ` Andrew Morton
  0 siblings, 1 reply; 13+ messages in thread
From: Roman Zippel @ 2006-04-10  8:46 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, sam

Hi,

On Sun, 9 Apr 2006, Andrew Morton wrote:

> > Andrew, what might be very interesting for you is that kconfig is not 
> >  rewriting .config anymore all the time by itself and if you set 
> >  KCONFIG_NOSILENTUPDATE you can even omit the silent updates, so unless you 
> >  explicitly call one of the config targets, you can be sure kbuild won't 
> >  touch your .config symlink anymore and as long as the .config is in sync 
> >  with the Kconfig files you shouldn't see a difference. I'm very interested 
> >  how that works for you.
> 
> Badly, sorry.  `make oldconfig' blows away the .config symlink.

I know, that's why I said "unless you explicitly call one of the config 
targets", "make silentoldconfig" is the only exception, but this one is 
already implicitly called during a kbuild when something changed.
If you call "make oldconfig", you have to restore the symlink manually.

bye, Roman

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

* Re: [PATCH 0/19] kconfig patches
  2006-04-10  7:51     ` Andrew Morton
@ 2006-04-10  9:35       ` Roman Zippel
  2006-04-10  8:41         ` Andrew Morton
  0 siblings, 1 reply; 13+ messages in thread
From: Roman Zippel @ 2006-04-10  9:35 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, sam

Hi,

On Mon, 10 Apr 2006, Andrew Morton wrote:

> > If you call "make oldconfig", you have to restore the symlink manually.
> 
> Why?  What advantage does that have?
> 
> I've been using the copy-it-there approach for maybe four years and have
> yet to notice any problem with it.

Pretty much every other tool removes the old file before or after creating 
the new file. This allows it to work with a hardlinked tree, which 
unfortunately is currently broken for other reasons in kbuild.

Could you send me link or a copy of your build tools, which deals with the 
symlink?

bye, Roman

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

* Re: [PATCH 0/19] kconfig patches
  2006-04-10  8:41         ` Andrew Morton
@ 2006-04-10 11:36           ` Roman Zippel
  2006-04-10 15:22             ` Randy.Dunlap
  2006-04-10 21:24             ` Andrew Morton
  0 siblings, 2 replies; 13+ messages in thread
From: Roman Zippel @ 2006-04-10 11:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, sam

Hi,

On Mon, 10 Apr 2006, Andrew Morton wrote:

> > Pretty much every other tool removes the old file before or after creating 
> > the new file. This allows it to work with a hardlinked tree, which 
> > unfortunately is currently broken for other reasons in kbuild.
> 
> OK.  S_ISLNK?  `setenv DONT_BE_IRRITATING 1'?

An environment variable is a good compromise (I called it 
KCONFIG_OVERWRITECONFIG). Another alternative is to allow overriding the 
.config name via KCONFIG_CONFIG, so you shouldn't need a symlink at all 
anymore.
Lightly tested patch below.

> > Could you send me link or a copy of your build tools, which deals with the 
> > symlink?
> 
> Not sure what you mean really.  I use the normal in-tree things, plus the
> patch in the earlier email.

What creates/updates the symlink and what does update the file the symlink 
points to?

bye, Roman

---

 Makefile                   |    6 +++--
 scripts/kconfig/confdata.c |   46 ++++++++++++++++++++++++++++-----------------
 scripts/kconfig/lkc.h      |    2 -
 3 files changed, 33 insertions(+), 21 deletions(-)

Index: linux-2.6-git/Makefile
===================================================================
--- linux-2.6-git.orig/Makefile
+++ linux-2.6-git/Makefile
@@ -178,6 +178,8 @@ CROSS_COMPILE	?=
 # Architecture as present in compile.h
 UTS_MACHINE := $(ARCH)
 
+KCONFIG_CONFIG	?= .config
+
 # SHELL used by kbuild
 CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
 	  else if [ -x /bin/bash ]; then echo /bin/bash; \
@@ -439,13 +441,13 @@ ifeq ($(dot-config),1)
 -include include/config/auto.conf
 
 # To avoid any implicit rule to kick in, define an empty command
-.config include/config/auto.conf.cmd: ;
+$(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
 
 # If .config is newer than include/config/auto.conf, someone tinkered
 # with it and forgot to run make oldconfig.
 # if auto.conf.cmd is missing then we are probarly in a cleaned tree so
 # we execute the config step to be sure to catch updated Kconfig files
-include/config/auto.conf: .config include/config/auto.conf.cmd
+include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
 	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
 
 else
Index: linux-2.6-git/scripts/kconfig/confdata.c
===================================================================
--- linux-2.6-git.orig/scripts/kconfig/confdata.c
+++ linux-2.6-git/scripts/kconfig/confdata.c
@@ -21,8 +21,6 @@ static void conf_warning(const char *fmt
 static const char *conf_filename;
 static int conf_lineno, conf_warnings, conf_unsaved;
 
-const char conf_def_filename[] = ".config";
-
 const char conf_defname[] = "arch/$ARCH/defconfig";
 
 static void conf_warning(const char *fmt, ...)
@@ -36,6 +34,13 @@ static void conf_warning(const char *fmt
 	conf_warnings++;
 }
 
+const char *conf_get_configname(void)
+{
+	char *name = getenv("KCONFIG_CONFIG");
+
+	return name ? name : ".config";
+}
+
 static char *conf_expand_value(const char *in)
 {
 	struct symbol *sym;
@@ -91,7 +96,7 @@ int conf_read_simple(const char *name, i
 	} else {
 		struct property *prop;
 
-		name = conf_def_filename;
+		name = conf_get_configname();
 		in = zconf_fopen(name);
 		if (in)
 			goto load;
@@ -381,7 +386,7 @@ int conf_write(const char *name)
 		if (!stat(name, &st) && S_ISDIR(st.st_mode)) {
 			strcpy(dirname, name);
 			strcat(dirname, "/");
-			basename = conf_def_filename;
+			basename = conf_get_configname();
 		} else if ((slash = strrchr(name, '/'))) {
 			int size = slash - name + 1;
 			memcpy(dirname, name, size);
@@ -389,16 +394,24 @@ int conf_write(const char *name)
 			if (slash[1])
 				basename = slash + 1;
 			else
-				basename = conf_def_filename;
+				basename = conf_get_configname();
 		} else
 			basename = name;
 	} else
-		basename = conf_def_filename;
+		basename = conf_get_configname();
 
-	sprintf(newname, "%s.tmpconfig.%d", dirname, (int)getpid());
-	out = fopen(newname, "w");
+	sprintf(newname, "%s%s", dirname, basename);
+	env = getenv("KCONFIG_OVERWRITECONFIG");
+	if (!env || !*env) {
+		sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
+		out = fopen(tmpname, "w");
+	} else {
+		*tmpname = 0;
+		out = fopen(newname, "w");
+	}
 	if (!out)
 		return 1;
+
 	sym = sym_lookup("KERNELVERSION", 0);
 	sym_calc_value(sym);
 	time(&now);
@@ -498,19 +511,18 @@ int conf_write(const char *name)
 		}
 	}
 	fclose(out);
-	if (!name || basename != conf_def_filename) {
-		if (!name)
-			name = conf_def_filename;
-		sprintf(tmpname, "%s.old", name);
-		rename(name, tmpname);
+
+	if (*tmpname) {
+		strcat(dirname, name ? name : conf_get_configname());
+		strcat(dirname, ".old");
+		rename(newname, dirname);
+		if (rename(tmpname, newname))
+			return 1;
 	}
-	sprintf(tmpname, "%s%s", dirname, basename);
-	if (rename(newname, tmpname))
-		return 1;
 
 	printf(_("#\n"
 		 "# configuration written to %s\n"
-		 "#\n"), tmpname);
+		 "#\n"), newname);
 
 	sym_change_count = 0;
 
Index: linux-2.6-git/scripts/kconfig/lkc.h
===================================================================
--- linux-2.6-git.orig/scripts/kconfig/lkc.h
+++ linux-2.6-git/scripts/kconfig/lkc.h
@@ -64,8 +64,6 @@ int zconf_lineno(void);
 char *zconf_curname(void);
 
 /* confdata.c */
-extern const char conf_def_filename[];
-
 char *conf_get_default_confname(void);
 
 /* kconfig_load.c */

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

* Re: [PATCH 0/19] kconfig patches
  2006-04-10 11:36           ` Roman Zippel
@ 2006-04-10 15:22             ` Randy.Dunlap
  2006-04-10 21:24             ` Andrew Morton
  1 sibling, 0 replies; 13+ messages in thread
From: Randy.Dunlap @ 2006-04-10 15:22 UTC (permalink / raw)
  To: Roman Zippel; +Cc: akpm, linux-kernel, sam

On Mon, 10 Apr 2006 13:36:16 +0200 (CEST) Roman Zippel wrote:

> Hi,
> 
> On Mon, 10 Apr 2006, Andrew Morton wrote:
> 
> > > Pretty much every other tool removes the old file before or after creating 
> > > the new file. This allows it to work with a hardlinked tree, which 
> > > unfortunately is currently broken for other reasons in kbuild.
> > 
> > OK.  S_ISLNK?  `setenv DONT_BE_IRRITATING 1'?
> 
> An environment variable is a good compromise (I called it 
> KCONFIG_OVERWRITECONFIG). Another alternative is to allow overriding the 
> .config name via KCONFIG_CONFIG, so you shouldn't need a symlink at all 
> anymore.
> Lightly tested patch below.

Please document these environment variables somewhere.
No, not source code.  :)
Thanks.


> > > Could you send me link or a copy of your build tools, which deals with the 
> > > symlink?
> > 
> > Not sure what you mean really.  I use the normal in-tree things, plus the
> > patch in the earlier email.
> 
> What creates/updates the symlink and what does update the file the symlink 
> points to?
> 
> bye, Roman
> 
> ---
> 
>  Makefile                   |    6 +++--
>  scripts/kconfig/confdata.c |   46 ++++++++++++++++++++++++++++-----------------
>  scripts/kconfig/lkc.h      |    2 -
>  3 files changed, 33 insertions(+), 21 deletions(-)
> 
> Index: linux-2.6-git/Makefile
> ===================================================================
> --- linux-2.6-git.orig/Makefile
> +++ linux-2.6-git/Makefile
> @@ -178,6 +178,8 @@ CROSS_COMPILE	?=
>  # Architecture as present in compile.h
>  UTS_MACHINE := $(ARCH)
>  
> +KCONFIG_CONFIG	?= .config
> +
>  # SHELL used by kbuild
>  CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
>  	  else if [ -x /bin/bash ]; then echo /bin/bash; \
> @@ -439,13 +441,13 @@ ifeq ($(dot-config),1)
>  -include include/config/auto.conf
>  
>  # To avoid any implicit rule to kick in, define an empty command
> -.config include/config/auto.conf.cmd: ;
> +$(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
>  
>  # If .config is newer than include/config/auto.conf, someone tinkered
>  # with it and forgot to run make oldconfig.
>  # if auto.conf.cmd is missing then we are probarly in a cleaned tree so
>  # we execute the config step to be sure to catch updated Kconfig files
> -include/config/auto.conf: .config include/config/auto.conf.cmd
> +include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
>  	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  else
> Index: linux-2.6-git/scripts/kconfig/confdata.c
> ===================================================================
> --- linux-2.6-git.orig/scripts/kconfig/confdata.c
> +++ linux-2.6-git/scripts/kconfig/confdata.c
> @@ -21,8 +21,6 @@ static void conf_warning(const char *fmt
>  static const char *conf_filename;
>  static int conf_lineno, conf_warnings, conf_unsaved;
>  
> -const char conf_def_filename[] = ".config";
> -
>  const char conf_defname[] = "arch/$ARCH/defconfig";
>  
>  static void conf_warning(const char *fmt, ...)
> @@ -36,6 +34,13 @@ static void conf_warning(const char *fmt
>  	conf_warnings++;
>  }
>  
> +const char *conf_get_configname(void)
> +{
> +	char *name = getenv("KCONFIG_CONFIG");
> +
> +	return name ? name : ".config";
> +}
> +
>  static char *conf_expand_value(const char *in)
>  {
>  	struct symbol *sym;
> @@ -91,7 +96,7 @@ int conf_read_simple(const char *name, i
>  	} else {
>  		struct property *prop;
>  
> -		name = conf_def_filename;
> +		name = conf_get_configname();
>  		in = zconf_fopen(name);
>  		if (in)
>  			goto load;
> @@ -381,7 +386,7 @@ int conf_write(const char *name)
>  		if (!stat(name, &st) && S_ISDIR(st.st_mode)) {
>  			strcpy(dirname, name);
>  			strcat(dirname, "/");
> -			basename = conf_def_filename;
> +			basename = conf_get_configname();
>  		} else if ((slash = strrchr(name, '/'))) {
>  			int size = slash - name + 1;
>  			memcpy(dirname, name, size);
> @@ -389,16 +394,24 @@ int conf_write(const char *name)
>  			if (slash[1])
>  				basename = slash + 1;
>  			else
> -				basename = conf_def_filename;
> +				basename = conf_get_configname();
>  		} else
>  			basename = name;
>  	} else
> -		basename = conf_def_filename;
> +		basename = conf_get_configname();
>  
> -	sprintf(newname, "%s.tmpconfig.%d", dirname, (int)getpid());
> -	out = fopen(newname, "w");
> +	sprintf(newname, "%s%s", dirname, basename);
> +	env = getenv("KCONFIG_OVERWRITECONFIG");
> +	if (!env || !*env) {
> +		sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
> +		out = fopen(tmpname, "w");
> +	} else {
> +		*tmpname = 0;
> +		out = fopen(newname, "w");
> +	}
>  	if (!out)
>  		return 1;
> +
>  	sym = sym_lookup("KERNELVERSION", 0);
>  	sym_calc_value(sym);
>  	time(&now);
> @@ -498,19 +511,18 @@ int conf_write(const char *name)
>  		}
>  	}
>  	fclose(out);
> -	if (!name || basename != conf_def_filename) {
> -		if (!name)
> -			name = conf_def_filename;
> -		sprintf(tmpname, "%s.old", name);
> -		rename(name, tmpname);
> +
> +	if (*tmpname) {
> +		strcat(dirname, name ? name : conf_get_configname());
> +		strcat(dirname, ".old");
> +		rename(newname, dirname);
> +		if (rename(tmpname, newname))
> +			return 1;
>  	}
> -	sprintf(tmpname, "%s%s", dirname, basename);
> -	if (rename(newname, tmpname))
> -		return 1;
>  
>  	printf(_("#\n"
>  		 "# configuration written to %s\n"
> -		 "#\n"), tmpname);
> +		 "#\n"), newname);
>  
>  	sym_change_count = 0;
>  
> Index: linux-2.6-git/scripts/kconfig/lkc.h
> ===================================================================
> --- linux-2.6-git.orig/scripts/kconfig/lkc.h
> +++ linux-2.6-git/scripts/kconfig/lkc.h
> @@ -64,8 +64,6 @@ int zconf_lineno(void);
>  char *zconf_curname(void);
>  
>  /* confdata.c */
> -extern const char conf_def_filename[];
> -
>  char *conf_get_default_confname(void);
>  
>  /* kconfig_load.c */
> -

---
~Randy

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

* Re: [PATCH 0/19] kconfig patches
  2006-04-10 11:36           ` Roman Zippel
  2006-04-10 15:22             ` Randy.Dunlap
@ 2006-04-10 21:24             ` Andrew Morton
  2006-04-12 10:51               ` Roman Zippel
  1 sibling, 1 reply; 13+ messages in thread
From: Andrew Morton @ 2006-04-10 21:24 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-kernel, sam

Roman Zippel <zippel@linux-m68k.org> wrote:
>
> > > Could you send me link or a copy of your build tools, which deals with the 
>  > > symlink?
>  > 
>  > Not sure what you mean really.  I use the normal in-tree things, plus the
>  > patch in the earlier email.
> 
>  What creates/updates the symlink

Me, typing `ln -s'.

I keep 20-odd favourite .configs under revision control and symlink to the
one I'm using.

> and what does update the file the symlink 
>  points to?

Me, using oldconfig, menuconfig, etc.  I want those changes to be made in
the symlinked-to revision-controlled config file.


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

* Re: [PATCH 0/19] kconfig patches
  2006-04-10 21:24             ` Andrew Morton
@ 2006-04-12 10:51               ` Roman Zippel
  0 siblings, 0 replies; 13+ messages in thread
From: Roman Zippel @ 2006-04-12 10:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, sam

Hi,

On Mon, 10 Apr 2006, Andrew Morton wrote:

> > and what does update the file the symlink 
> >  points to?
> 
> Me, using oldconfig, menuconfig, etc.  I want those changes to be made in
> the symlinked-to revision-controlled config file.

I see, that makes it indeed a bit more complicated to preserve the 
symlink, I thought you had something to automatically update the .config, 
when you apply/remove patches.
Anyway, as I mentioned in one of the patches, we can start to relax the 
syntax requirements, e.g. we can add something to ignore unknown symbols, 
so you don't have to update the .config all the time, only because a 
config option was added/removed.
I don't want to change the default behaviour yet, but there is now a lot 
of room for experiments, e.g. it's now possible to properly support a 
miniconfig by adding an option to set all unknown symbols to 
n/m/y/default.

bye, Roman

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

* Re: [PATCH 0/19] kconfig patches
  2006-04-09 15:26 [PATCH 0/19] kconfig patches Roman Zippel
  2006-04-10  6:55 ` Andrew Morton
@ 2006-04-20  3:51 ` Randy.Dunlap
  2006-04-26 22:13   ` Roman Zippel
  1 sibling, 1 reply; 13+ messages in thread
From: Randy.Dunlap @ 2006-04-20  3:51 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-kernel, akpm, sam

On Sun, 9 Apr 2006 17:26:16 +0200 (CEST) Roman Zippel wrote:

> Hi,
> 
> Here is a batch of kconfig (and also some kbuild related) patches. The 
> first four patches I'd like to see to go into 2.6.17 if possible. Although 
> I'm quite confident about the remaining patches, a bit more testing can't 
> hurt.
> 
> Some comments about the most interesting aspects from a user perspective 
> for these patches:
> 
> Now it's possible to do something like "vi .config; make" and be 
> reasonably certain it does the right thing, before especially kbuild 
> related config changes were not correctly picked up by make and required 
> an explicit "make oldconfig".

[snip]

> Another interesting feature are the xconfig changes, it supports now a 
> search option like menuconfig and the help output links to other symbols, 
> so one can basically browse through the kconfig info. The latter is still 
> a bit experimental, so it's only visible if the debug info option is 
> enabled.

Hi Roman,
I have a few questions about this patch series.  All of them are
about using *config (i.e., this is not a patch review).

~~~~~
Subject: [PATCH 12/19] kconfig: add symbol option config syntax

Do we have any examples of this?  (where)
~~~~~
Subject: [PATCH 14/19] kconfig: Add search option for xconfig

How do I search?  I don't see it in the menu or any Help for it.
~~~~~
Subject: [PATCH 15/19] kconfig: finer customization via popup menus

How?  documentation?
~~~~~
Subject: [PATCH 16/19] kconfig: create links in info window

How?  what does link look like?  are there any in the current
Kconfig menus?  I'd like to see one (or several).
~~~~~
Subject: [PATCH 17/19] kconfig: jump to linked menu prompt

I'd like to see this too.  Where can I see it?
~~~~~


Thanks,
---
~Randy

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

* Re: [PATCH 0/19] kconfig patches
  2006-04-20  3:51 ` Randy.Dunlap
@ 2006-04-26 22:13   ` Roman Zippel
  2006-04-26 22:38     ` Randy.Dunlap
  0 siblings, 1 reply; 13+ messages in thread
From: Roman Zippel @ 2006-04-26 22:13 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel, akpm, sam

Hi,

On Wed, 19 Apr 2006, Randy.Dunlap wrote:

> ~~~~~
> Subject: [PATCH 12/19] kconfig: add symbol option config syntax
> 
> Do we have any examples of this?  (where)

It's in patch 13.

> ~~~~~
> Subject: [PATCH 14/19] kconfig: Add search option for xconfig
> 
> How do I search?  I don't see it in the menu or any Help for it.

It's in the File menu or Ctrl+F, it shouldn't be that hard to find. :)

> ~~~~~
> Subject: [PATCH 15/19] kconfig: finer customization via popup menus
> 
> How?  documentation?

The right mouse button opens a context menu in the list header and in the 
info text. I'm playing with ideas on how to document this best, e.g. like 
adding a "What's this?" button. (I'm open to ideas/patches. :) )

> ~~~~~
> Subject: [PATCH 16/19] kconfig: create links in info window
> 
> How?  what does link look like?  are there any in the current
> Kconfig menus?  I'd like to see one (or several).
> ~~~~~
> Subject: [PATCH 17/19] kconfig: jump to linked menu prompt
> 
> I'd like to see this too.  Where can I see it?
> ~~~~~

As I mentioned it's only visible if you enable "Show Debug Info", but then 
it shouldn't be that hard to miss. Did you expect something different?

bye, Roman

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

* Re: [PATCH 0/19] kconfig patches
  2006-04-26 22:13   ` Roman Zippel
@ 2006-04-26 22:38     ` Randy.Dunlap
  0 siblings, 0 replies; 13+ messages in thread
From: Randy.Dunlap @ 2006-04-26 22:38 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-kernel, akpm, sam

On Thu, 27 Apr 2006 00:13:40 +0200 (CEST) Roman Zippel wrote:

> Hi,
> 
> On Wed, 19 Apr 2006, Randy.Dunlap wrote:
> 
> > ~~~~~
> > Subject: [PATCH 12/19] kconfig: add symbol option config syntax
> > 
> > Do we have any examples of this?  (where)
> 
> It's in patch 13.
> 
> > ~~~~~
> > Subject: [PATCH 14/19] kconfig: Add search option for xconfig
> > 
> > How do I search?  I don't see it in the menu or any Help for it.
> 
> It's in the File menu or Ctrl+F, it shouldn't be that hard to find. :)

Yep, it helps to use -mm.  For some reason I thought that this was
merged in 2.6.17-rc2, but it's not.  My bad.

> > ~~~~~
> > Subject: [PATCH 15/19] kconfig: finer customization via popup menus
> > 
> > How?  documentation?
> 
> The right mouse button opens a context menu in the list header and in the 
> info text. I'm playing with ideas on how to document this best, e.g. like 
> adding a "What's this?" button. (I'm open to ideas/patches. :) )
> 
> > ~~~~~
> > Subject: [PATCH 16/19] kconfig: create links in info window
> > 
> > How?  what does link look like?  are there any in the current
> > Kconfig menus?  I'd like to see one (or several).
> > ~~~~~
> > Subject: [PATCH 17/19] kconfig: jump to linked menu prompt
> > 
> > I'd like to see this too.  Where can I see it?
> > ~~~~~
> 
> As I mentioned it's only visible if you enable "Show Debug Info", but then 
> it shouldn't be that hard to miss. Did you expect something different?

I always have Debug Info etc. enabled.  Sorry, I was using the
wrong kernel version, but your replies are still useful/helpful.
Thanks. 

---
~Randy

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

end of thread, other threads:[~2006-04-26 22:35 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-09 15:26 [PATCH 0/19] kconfig patches Roman Zippel
2006-04-10  6:55 ` Andrew Morton
2006-04-10  8:46   ` Roman Zippel
2006-04-10  7:51     ` Andrew Morton
2006-04-10  9:35       ` Roman Zippel
2006-04-10  8:41         ` Andrew Morton
2006-04-10 11:36           ` Roman Zippel
2006-04-10 15:22             ` Randy.Dunlap
2006-04-10 21:24             ` Andrew Morton
2006-04-12 10:51               ` Roman Zippel
2006-04-20  3:51 ` Randy.Dunlap
2006-04-26 22:13   ` Roman Zippel
2006-04-26 22:38     ` Randy.Dunlap

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