[Buildroot] [PATCH v2] merge_config.sh: merge also buildroot config files

Nasser afshin.nasser at gmail.com
Thu Oct 25 01:19:55 UTC 2018


Hi all,

On Thu, Oct 25, 2018 at 04:43:43AM +0330, Nasser Afshin wrote:
> From: Angelo Compagnucci <angelo.compagnucci at gmail.com>
> 
> This patch adds a way to merge buildroot config file programmatically.
> It adds an option (-b, buildroot mode) to manage buildroot config files.
> The buildroot mode changes the way the script looks for configurations
> entries using the BR2_ prefix and modify the call to the make command
> to be buildroot friendly.
> 
> Signed-off-by: Angelo Compagnucci <angelo.compagnucci at gmail.com>
> Signed-off-by: Nasser Afshin <afshin.nasser at gmail.com>
I'm not sure if this is the preferred way of keeping the authorship.
Please correct me if it's not.
> ---
>  ...18-fix-finding-redundant-config-mechanism.patch | 41 ++++++++++++++++++++++
>  support/kconfig/patches/series                     |  1 +
>  2 files changed, 42 insertions(+)
>  create mode 100644 support/kconfig/patches/18-fix-finding-redundant-config-mechanism.patch
> 
> diff --git a/support/kconfig/patches/18-fix-finding-redundant-config-mechanism.patch b/support/kconfig/patches/18-fix-finding-redundant-config-mechanism.patch
> new file mode 100644
> index 0000000000..eec92a5fad
> --- /dev/null
> +++ b/support/kconfig/patches/18-fix-finding-redundant-config-mechanism.patch
> @@ -0,0 +1,41 @@
> +Index: kconfig/merge_config.sh
> +===================================================================
> +--- kconfig.orig/merge_config.sh
> ++++ kconfig/merge_config.sh
> +@@ -29,6 +29,7 @@ trap clean_up HUP INT TERM
> + usage() {
> + 	echo "Usage: $0 [OPTIONS] [CONFIG [...]]"
> + 	echo "  -h    display this help text"
> ++	echo "  -b    buildroot mode (searches for BR2_ and uses a custom make command)"
> + 	echo "  -m    only merge the fragments, do not execute the make command"
> + 	echo "  -n    use allnoconfig instead of alldefconfig"
> + 	echo "  -r    list redundant entries when merging fragments"
> +@@ -39,6 +40,7 @@ RUNMAKE=true
> + ALLTARGET=alldefconfig
> + WARNREDUN=false
> + OUTPUT=.
> ++CONFIG_PREFIX=CONFIG_
> + 
> + while true; do
> + 	case $1 in
> +@@ -71,6 +73,11 @@ while true; do
> + 		shift 2
> + 		continue
> + 		;;
> ++	"-b")
> ++		CONFIG_PREFIX=BR2_
> ++		shift
> ++		continue
> ++		;;
> + 	*)
> + 		break
> + 		;;
> +@@ -99,7 +106,7 @@ if [ ! -r "$INITFILE" ]; then
> + fi
> + 
> + MERGE_LIST=$*
> +-SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p"
> ++SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)[= ].*/\2/p"
> + TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX)
> + 
> + echo "Using $INITFILE as base"
> diff --git a/support/kconfig/patches/series b/support/kconfig/patches/series
> index 36591e2189..5ebc2e0225 100644
> --- a/support/kconfig/patches/series
> +++ b/support/kconfig/patches/series
> @@ -6,3 +6,4 @@
>  14-support-out-of-tree-config.patch
>  16-fix-space-to-de-select-options.patch
>  17-backport-kecho.patch
> +18-fix-finding-redundant-config-mechanism.patch
> -- 
> 2.15.0
> 
Kind regards,
Nasser


More information about the buildroot mailing list