diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2010-08-21 17:00:49 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2010-09-01 12:26:49 +0200 |
commit | 52a142a6314905422f14f05fccafdce35bea7f08 (patch) | |
tree | 8eeda1ea9da4aade3e64d06306140f523c289700 /package/config/patches/14-support-out-of-tree-config.patch | |
parent | 7c524dd0b683e1e8fac4e4084ac7678576bfbe07 (diff) |
Bump package/config to 2.6.36-rc1
The goal is to be able to use savedefconfig to generate minimal
defconfig files.
Four of our patches are removed since the modifications have been
merged upstream. The new nconf configuration utility has appeared.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/config/patches/14-support-out-of-tree-config.patch')
-rw-r--r-- | package/config/patches/14-support-out-of-tree-config.patch | 158 |
1 files changed, 57 insertions, 101 deletions
diff --git a/package/config/patches/14-support-out-of-tree-config.patch b/package/config/patches/14-support-out-of-tree-config.patch index 4aae0c154..fb1cca1a8 100644 --- a/package/config/patches/14-support-out-of-tree-config.patch +++ b/package/config/patches/14-support-out-of-tree-config.patch @@ -1,52 +1,37 @@ --- - conf.c | 8 +++--- - confdata.c | 71 ++++++++++++++++++++++++++++++++++++++++++++----------------- - lkc.h | 1 - util.c | 22 ++++++++++++++---- - 4 files changed, 74 insertions(+), 28 deletions(-) + conf.c | 1 + confdata.c | 65 +++++++++++++++++++++++++++++++++++++++++++++---------------- + util.c | 16 +++++++++++++-- + 3 files changed, 62 insertions(+), 20 deletions(-) -Index: config.clean/conf.c +Index: config/conf.c =================================================================== ---- config.clean.orig/conf.c -+++ config.clean/conf.c -@@ -496,16 +496,16 @@ +--- config.orig/conf.c ++++ config/conf.c +@@ -503,7 +503,6 @@ } name = av[optind]; conf_parse(name); - //zconfdump(stdout); if (sync_kconfig) { -- if (stat(".config", &tmpstat)) { -+ name = conf_get_configname(); -+ if (stat(name, &tmpstat)) { - fprintf(stderr, _("***\n" - "*** You have not yet configured Buildroot!\n" -- "*** (missing .config file)\n" -+ "*** (missing .config file \"%s\")\n" - "***\n" - "*** Please run some configurator (e.g. \"make oldconfig\" or\n" - "*** \"make menuconfig\" or \"make xconfig\").\n" -- "***\n")); -+ "***\n"), name); - exit(1); - } - } -Index: config.clean/confdata.c + name = conf_get_configname(); + if (stat(name, &tmpstat)) { +Index: config/confdata.c =================================================================== ---- config.clean.orig/confdata.c -+++ config.clean/confdata.c -@@ -42,6 +42,11 @@ - return name ? name : ".config"; - } +--- config.orig/confdata.c ++++ config/confdata.c +@@ -44,9 +44,7 @@ -+const char *conf_get_autoconfig_name(void) -+{ + const char *conf_get_autoconfig_name(void) + { +- char *name = getenv("KCONFIG_AUTOCONFIG"); +- +- return name ? name : "include/config/auto.conf"; + return getenv("KCONFIG_AUTOCONFIG"); -+} -+ + } + static char *conf_expand_value(const char *in) - { - struct symbol *sym; -@@ -399,6 +404,9 @@ +@@ -542,6 +540,9 @@ int use_timestamp = 1; char *env; @@ -56,30 +41,24 @@ Index: config.clean/confdata.c dirname[0] = 0; if (name && name[0]) { struct stat st; -@@ -550,19 +558,31 @@ - - int conf_split_config(void) +@@ -656,6 +657,7 @@ { -- char *name, path[128]; -+ const char *name; -+ char path[128]; + const char *name; + char path[128]; + char *opwd, *dir, *_name; char *s, *d, c; struct symbol *sym; struct stat sb; - int res, i, fd; - -- name = getenv("KCONFIG_AUTOCONFIG"); -- if (!name) -- name = "include/config/auto.conf"; -+ name = conf_get_autoconfig_name(); +@@ -664,8 +666,20 @@ + name = conf_get_autoconfig_name(); conf_read_simple(name, S_DEF_AUTO); - if (chdir("include/config")) +- return 1; + opwd = malloc(256); + _name = strdup(name); + if (opwd == NULL || _name == NULL) - return 1; ++ return 1; + opwd = getcwd(opwd, 256); + dir = dirname(_name); + if (dir == NULL) { @@ -93,7 +72,7 @@ Index: config.clean/confdata.c res = 0; for_all_symbols(i, sym) { -@@ -655,9 +675,11 @@ +@@ -758,9 +772,11 @@ close(fd); } out: @@ -108,15 +87,10 @@ Index: config.clean/confdata.c return res; } -@@ -665,23 +687,35 @@ - { - struct symbol *sym; - const char *str; -- char *name; -+ const char *name; - FILE *out, *out_h; +@@ -772,25 +788,38 @@ + FILE *out, *tristate, *out_h; time_t now; - int i, l; + int i; + char dir[PATH_MAX+1], buf[PATH_MAX+1]; + char *s; + @@ -142,13 +116,21 @@ Index: config.clean/confdata.c if (!out) return 1; +- tristate = fopen(".tmpconfig_tristate", "w"); ++ sprintf(buf, "%s.tmpconfig_tristate", dir); ++ tristate = fopen(buf, "w"); + if (!tristate) { + fclose(out); + return 1; + } + - out_h = fopen(".tmpconfig.h", "w"); + sprintf(buf, "%s.tmpconfig.h", dir); + out_h = fopen(buf, "w"); if (!out_h) { fclose(out); - return 1; -@@ -698,8 +732,7 @@ + fclose(tristate); +@@ -811,8 +840,7 @@ fprintf(out_h, "/*\n" " * Automatically generated C config: don't edit\n" " * %s" @@ -158,18 +140,22 @@ Index: config.clean/confdata.c ctime(&now)); for_all_symbols(i, sym) { -@@ -764,16 +797,16 @@ +@@ -866,19 +894,22 @@ name = getenv("KCONFIG_AUTOHEADER"); if (!name) - name = "include/linux/autoconf.h"; + name = "include/generated/autoconf.h"; - if (rename(".tmpconfig.h", name)) + sprintf(buf, "%s.tmpconfig.h", dir); + if (rename(buf, name)) return 1; -- name = getenv("KCONFIG_AUTOCONFIG"); -- if (!name) -- name = "include/config/auto.conf"; -+ name = conf_get_autoconfig_name(); + name = getenv("KCONFIG_TRISTATE"); + if (!name) + name = "include/config/tristate.conf"; +- if (rename(".tmpconfig_tristate", name)) ++ sprintf(buf, "%s.tmpconfig_tristate", dir); ++ if (rename(buf, name)) + return 1; + name = conf_get_autoconfig_name(); /* * This must be the last step, kbuild has a dependency on auto.conf * and this marks the successful completion of the previous steps. @@ -180,22 +166,10 @@ Index: config.clean/confdata.c return 1; return 0; -Index: config.clean/lkc.h +Index: config/util.c =================================================================== ---- config.clean.orig/lkc.h -+++ config.clean/lkc.h -@@ -74,6 +74,7 @@ - - /* confdata.c */ - const char *conf_get_configname(void); -+const char *conf_get_autoconfig_name(void); - char *conf_get_default_confname(void); - void sym_set_change_count(int count); - void sym_add_change_count(int count); -Index: config.clean/util.c -=================================================================== ---- config.clean.orig/util.c -+++ config.clean/util.c +--- config.orig/util.c ++++ config/util.c @@ -144,6 +144,8 @@ /* write a dependency file as used by kbuild to track dependencies */ int file_write_dep(const char *name) @@ -223,25 +197,7 @@ Index: config.clean/util.c if (!out) return 1; fprintf(out, "deps_config := \\\n"); -@@ -161,8 +172,8 @@ - else - fprintf(out, "\t%s\n", file->name); - } -- fprintf(out, "\ninclude/config/auto.conf: \\\n" -- "\t$(deps_config)\n\n"); -+ fprintf(out, "\n%s: \\\n" -+ "\t$(deps_config)\n\n", conf_get_autoconfig_name()); - - expr_list_for_each_sym(sym_env_list, e, sym) { - struct property *prop; -@@ -176,13 +187,14 @@ - if (!value) - value = ""; - fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value); -- fprintf(out, "include/config/auto.conf: FORCE\n"); -+ fprintf(out, "%s: FORCE\n", conf_get_autoconfig_name()); - fprintf(out, "endif\n"); - } +@@ -182,7 +193,8 @@ fprintf(out, "\n$(deps_config): ;\n"); fclose(out); |