All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nasser Afshin <afshin.nasser@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3] merge_config.sh: merge also buildroot config files
Date: Thu, 25 Oct 2018 05:50:31 +0330	[thread overview]
Message-ID: <20181025022031.14043-1-afshin.nasser@gmail.com> (raw)
In-Reply-To: <20181025011343.29512-1-afshin.nasser@gmail.com>

From: Angelo Compagnucci <angelo.compagnucci@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@gmail.com>
Signed-off-by: Nasser Afshin <afshin.nasser@gmail.com>
---
I forgot to apply the presented patch. Now it's applied.

 support/kconfig/merge_config.sh                    |  9 ++++-
 ...18-fix-finding-redundant-config-mechanism.patch | 41 ++++++++++++++++++++++
 support/kconfig/patches/series                     |  1 +
 3 files changed, 50 insertions(+), 1 deletion(-)
 create mode 100644 support/kconfig/patches/18-fix-finding-redundant-config-mechanism.patch

diff --git a/support/kconfig/merge_config.sh b/support/kconfig/merge_config.sh
index 67d1314476..f22198023c 100755
--- a/support/kconfig/merge_config.sh
+++ b/support/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/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

  parent reply	other threads:[~2018-10-25  2:20 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-19 22:58 [Buildroot] [PATCH] merge_config.sh: Fix finding redundant config mechanism Nasser
2018-10-20 14:56 ` Matthew Weber
2018-10-20 16:01   ` Arnout Vandecappelle
2018-10-21 17:27     ` Petr Vorel
2018-10-21 17:35       ` Matthew Weber
2018-10-21 17:46         ` Petr Vorel
2018-10-23 15:19     ` Nasser Afshin
2018-10-23 18:20       ` Arnout Vandecappelle
2018-10-24 19:15         ` Petr Vorel
2018-10-24 23:00           ` Nasser
2018-10-25  1:13         ` [Buildroot] [PATCH v2] merge_config.sh: merge also buildroot config files Nasser Afshin
2018-10-25  1:19           ` Nasser
2018-10-25  2:20           ` Nasser Afshin [this message]
2018-10-25  6:02             ` [Buildroot] Antwort: [PATCH v3] " Marcel Patzlaff
2018-10-25  7:43             ` [Buildroot] " Petr Vorel
2018-10-25  9:43               ` [Buildroot] Antwort: " Marcel Patzlaff
2018-10-25 21:43                 ` Petr Vorel
2018-10-26  6:03                   ` [Buildroot] Antwort: " Marcel Patzlaff
2018-10-26 23:05                     ` Nasser
2018-10-27  4:46                       ` Petr Vorel
2018-10-27 10:48                         ` Nasser Afshin
2018-10-31 19:35                           ` [Buildroot] " Petr Vorel
2018-10-31 20:38                             ` Nasser
2018-10-31 20:56                               ` Petr Vorel
2018-11-01  1:09                                 ` [Buildroot] [PATCH] merge_config.sh: Fix merging " Nasser Afshin
2018-11-01  3:51                                   ` yamada.masahiro at socionext.com
2018-11-01  5:49                                     ` Petr Vorel
2018-11-01  8:12                                       ` Nasser
2018-11-01  6:24                                   ` Petr Vorel
2018-11-01 10:55                                     ` Nasser
2018-11-01 12:05                                       ` Arnout Vandecappelle
2018-11-01 16:19                                         ` Petr Vorel
2018-11-02  2:12                                           ` Nasser
2018-11-02  7:55                                             ` yamada.masahiro at socionext.com
2018-11-02 10:05                                               ` Arnout Vandecappelle
2018-11-02 22:50                                                 ` Petr Vorel
2018-11-03 21:32                                                   ` Nasser
2018-11-05  8:23                                                     ` yamada.masahiro at socionext.com
2018-11-05  8:35                                                       ` Petr Vorel
2018-11-13 13:44                                                         ` [Buildroot] [PATCH v3 0/3] Fix merging configuration fragments Nasser Afshin
2018-11-13 13:44                                                           ` [Buildroot] [PATCH v3 1/3] merge_config.sh: Fix merging buildroot config files Nasser Afshin
2018-11-13 18:35                                                             ` Petr Vorel
2018-11-14  7:16                                                               ` Nasser Afshin
2018-11-13 13:44                                                           ` [Buildroot] [PATCH v3 2/3] test-pkg: Use the correct config prefix when merging Nasser Afshin
2018-11-13 18:26                                                             ` Petr Vorel
2018-11-13 13:44                                                           ` [Buildroot] [PATCH v3 3/3] merge_config.sh: Avoid false positive matches from comment lines Nasser Afshin
2018-11-13 18:38                                                             ` Petr Vorel
2018-11-14  7:18                                                           ` [Buildroot] [PATCH v3 0/3] Fix merging configuration fragments Nasser Afshin
2018-11-01 13:23                                       ` [Buildroot] [PATCH] merge_config.sh: Fix merging buildroot config files Petr Vorel
2018-11-02  2:18                                         ` Nasser
2018-10-29 15:46                     ` [Buildroot] Antwort: Re: Antwort: Re: [PATCH v3] merge_config.sh: merge also " Petr Vorel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181025022031.14043-1-afshin.nasser@gmail.com \
    --to=afshin.nasser@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.