* [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 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 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 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 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 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