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