[PATCH 09/10] merge_config.sh: allow single configs to be passed in on cmdline

From: Olof Johansson
Date: Wed May 20 2015 - 18:02:58 EST


Treat CONFIG_FOO=.. on the command line the same way as a single-entry file would.

Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
---
scripts/kconfig/merge_config.sh | 29 ++++++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh
index fd27294..bcb9649 100755
--- a/scripts/kconfig/merge_config.sh
+++ b/scripts/kconfig/merge_config.sh
@@ -1,8 +1,8 @@
#!/bin/sh
-# merge_config.sh - Takes a list of config fragment values, and merges
-# them one by one. Provides warnings on overridden values, and specified
-# values that did not make it to the resulting .config file (due to missed
-# dependencies or config symbol removal).
+# merge_config.sh - Takes a list of config fragment filenames or configuration
+# value, and merges them one by one. Provides warnings on overridden values,
+# and specified values that did not make it to the resulting .config file
+# (due to missed dependencies or config symbol removal).
#
# Portions reused from kconf_check and generate_cfg:
# http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-tools/tree/tools/kconf_check
@@ -100,7 +100,26 @@ fi

MERGE_LIST=$*
SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p"
-TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX)
+TMP_FILE=$(mktemp $OUTPUT/.tmp.config.XXXXXXXXXX)
+
+CLEAN_FILES=$TMP_FILE
+
+# Process cmdline configs into temporary fragments
+for ENTRY in $MERGE_LIST ; do
+ case $ENTRY in
+ CONFIG*)
+ FF=$(mktemp $OUTPUT/.temp.frag-cmdline.XXXXX)
+ CLEAN_FILES="$CLEAN_FILES $FF"
+ echo $ENTRY > $FF
+ NEW_LIST="$NEW_LIST $FF"
+ ;;
+ *)
+ NEW_LIST="$NEW_LIST $ENTRY"
+ ;;
+ esac
+done
+
+MERGE_LIST=$NEW_LIST

echo "Using $INITFILE as base"
cat $INITFILE > $TMP_FILE
--
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/