* [PATCH] scripts: merge_config: add strict mode to fail upon any redefinition
@ 2020-12-02 15:12 Matthias Maennich
[not found] ` <CAF2Aj3jS6+RN5mEeF+65MRsyMR9BMecMmxwr3sfjwd64zA6Acw@mail.gmail.com>
0 siblings, 1 reply; 4+ messages in thread
From: Matthias Maennich @ 2020-12-02 15:12 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-team, maennich, linux-kbuild, Masahiro Yamada
When merging configuration fragments, it might be of interest to
identify mismatches (redefinitions) programmatically. Hence add the
option -s (strict mode) to instruct merge_config.sh to bail out in
case any redefinition has been detected.
With strict mode, warnings are emitted as before, but the script
terminates with rc=1. If -y is set to define "builtin having
precedence over modules", fragments are still allowed to set =m (while
the base config has =y). Strict mode will tolerate that as demotions
from =y to =m are ignored when setting -y.
Cc: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
scripts/kconfig/merge_config.sh | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh
index 63c8565206a4..d0b957b20cbf 100755
--- a/scripts/kconfig/merge_config.sh
+++ b/scripts/kconfig/merge_config.sh
@@ -28,6 +28,7 @@ usage() {
echo " -r list redundant entries when merging fragments"
echo " -y make builtin have precedence over modules"
echo " -O dir to put generated output files. Consider setting \$KCONFIG_CONFIG instead."
+ echo " -s strict mode. Fail if the fragment redefines any value."
echo
echo "Used prefix: '$CONFIG_PREFIX'. You can redefine it with \$CONFIG_ environment variable."
}
@@ -37,6 +38,7 @@ ALLTARGET=alldefconfig
WARNREDUN=false
BUILTIN=false
OUTPUT=.
+STRICT=false
CONFIG_PREFIX=${CONFIG_-CONFIG_}
while true; do
@@ -75,6 +77,11 @@ while true; do
shift 2
continue
;;
+ "-s")
+ STRICT=true
+ shift
+ continue
+ ;;
*)
break
;;
@@ -141,6 +148,9 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do
echo Previous value: $PREV_VAL
echo New value: $NEW_VAL
echo
+ if [ "$STRICT" = "true" ]; then
+ STRICT_MODE_VIOLATED=true
+ fi
elif [ "$WARNREDUN" = "true" ]; then
echo Value of $CFG is redundant by fragment $ORIG_MERGE_FILE:
fi
@@ -153,6 +163,11 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do
cat $MERGE_FILE >> $TMP_FILE
done
+if [ "$STRICT_MODE_VIOLATED" = "true" ]; then
+ echo "The fragment redefined a value and strict mode had been passed."
+ exit 1
+fi
+
if [ "$RUNMAKE" = "false" ]; then
cp -T -- "$TMP_FILE" "$KCONFIG_CONFIG"
echo "#"
--
2.29.2.454.gaff20da3a2-goog
^ permalink raw reply related [flat|nested] 4+ messages in thread[parent not found: <CAF2Aj3jS6+RN5mEeF+65MRsyMR9BMecMmxwr3sfjwd64zA6Acw@mail.gmail.com>]
[parent not found: <CAF2Aj3hWWoQvezD4Ma01LrhUwGLobNk40H9ArvjT5+XeNE3vMw@mail.gmail.com>]
* Re: [PATCH] scripts: merge_config: add strict mode to fail upon any redefinition [not found] ` <CAF2Aj3hWWoQvezD4Ma01LrhUwGLobNk40H9ArvjT5+XeNE3vMw@mail.gmail.com> @ 2021-07-24 13:56 ` Masahiro Yamada [not found] ` <CAF2Aj3hS0kxrnf+kePWmYAT3A-+PTVQ7_6yWj1nO8BLjwGZGQg@mail.gmail.com> 0 siblings, 1 reply; 4+ messages in thread From: Masahiro Yamada @ 2021-07-24 13:56 UTC (permalink / raw) To: Lee Jones; +Cc: Matthias Maennich, open list, Cc: Android Kernel, linux-kbuild On Thu, Jul 22, 2021 at 7:13 PM Lee Jones <lee.jones@linaro.org> wrote: > > Masahiro, > > On Fri, 21 May 2021 at 10:29, Lee Jones <lee.jones@linaro.org> wrote: >> >> On Wed, 2 Dec 2020 at 15:13, Matthias Maennich <maennich@google.com> wrote: >>> >>> When merging configuration fragments, it might be of interest to >>> identify mismatches (redefinitions) programmatically. Hence add the >>> option -s (strict mode) to instruct merge_config.sh to bail out in >>> case any redefinition has been detected. >>> >>> With strict mode, warnings are emitted as before, but the script >>> terminates with rc=1. If -y is set to define "builtin having >>> precedence over modules", fragments are still allowed to set =m (while >>> the base config has =y). Strict mode will tolerate that as demotions >>> from =y to =m are ignored when setting -y. >>> >>> Cc: Masahiro Yamada <masahiroy@kernel.org> >>> Signed-off-by: Matthias Maennich <maennich@google.com> >>> --- >>> scripts/kconfig/merge_config.sh | 15 +++++++++++++++ >>> 1 file changed, 15 insertions(+) >> >> >> Reviewed-by: Lee Jones <lee.jones@linaro.org> > > > Any idea what's holding this up please? Simply because I hate this script. merge_config.sh itself is a bad hack. I do not like to extend it further. Not only this one. I saw more people with "hey, I came up with a new option for merge_config.sh" to do whatever they like to do. However, it might be too late anyway. So, I can merge this patch if people believe it is useful. -- Best Regards Masahiro Yamada ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <CAF2Aj3hS0kxrnf+kePWmYAT3A-+PTVQ7_6yWj1nO8BLjwGZGQg@mail.gmail.com>]
* Re: [PATCH] scripts: merge_config: add strict mode to fail upon any redefinition [not found] ` <CAF2Aj3hS0kxrnf+kePWmYAT3A-+PTVQ7_6yWj1nO8BLjwGZGQg@mail.gmail.com> @ 2021-08-01 1:51 ` Masahiro Yamada 2021-08-02 7:50 ` Lee Jones 0 siblings, 1 reply; 4+ messages in thread From: Masahiro Yamada @ 2021-08-01 1:51 UTC (permalink / raw) To: Lee Jones; +Cc: Matthias Maennich, open list, Cc: Android Kernel, linux-kbuild On Mon, Jul 26, 2021 at 8:01 PM Lee Jones <lee.jones@linaro.org> wrote: > > On Sat, 24 Jul 2021, 14:57 Masahiro Yamada, <masahiroy@kernel.org> wrote: >> >> On Thu, Jul 22, 2021 at 7:13 PM Lee Jones <lee.jones@linaro.org> wrote: >> > >> > Masahiro, >> > >> > On Fri, 21 May 2021 at 10:29, Lee Jones <lee.jones@linaro.org> wrote: >> >> >> >> On Wed, 2 Dec 2020 at 15:13, Matthias Maennich <maennich@google.com> wrote: >> >>> >> >>> When merging configuration fragments, it might be of interest to >> >>> identify mismatches (redefinitions) programmatically. Hence add the >> >>> option -s (strict mode) to instruct merge_config.sh to bail out in >> >>> case any redefinition has been detected. >> >>> >> >>> With strict mode, warnings are emitted as before, but the script >> >>> terminates with rc=1. If -y is set to define "builtin having >> >>> precedence over modules", fragments are still allowed to set =m (while >> >>> the base config has =y). Strict mode will tolerate that as demotions >> >>> from =y to =m are ignored when setting -y. >> >>> >> >>> Cc: Masahiro Yamada <masahiroy@kernel.org> >> >>> Signed-off-by: Matthias Maennich <maennich@google.com> >> >>> --- >> >>> scripts/kconfig/merge_config.sh | 15 +++++++++++++++ >> >>> 1 file changed, 15 insertions(+) >> >> >> >> >> >> Reviewed-by: Lee Jones <lee.jones@linaro.org> >> > >> > >> > Any idea what's holding this up please? >> >> Simply because I hate this script. >> >> >> merge_config.sh itself is a bad hack. >> I do not like to extend it further. > > > Sorry you feel that way Masahiro. I do not know why merge_config was implemented as a separate shell script while all the other functions were contained in the kconfig binary. Anyway... >> Not only this one. >> I saw more people with >> "hey, I came up with a new option for merge_config.sh" >> to do whatever they like to do. >> >> However, it might be too late anyway. >> >> >> So, I can merge this patch if people believe >> it is useful. > > > I know of multiple entities who make good use of the script and this extension. > > My vote is to merge it, but ultimately this is your train set. OK, I decided to not care about it too much. Now applied to linux-kbuild. Thanks. -- Best Regards Masahiro Yamada ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] scripts: merge_config: add strict mode to fail upon any redefinition 2021-08-01 1:51 ` Masahiro Yamada @ 2021-08-02 7:50 ` Lee Jones 0 siblings, 0 replies; 4+ messages in thread From: Lee Jones @ 2021-08-02 7:50 UTC (permalink / raw) To: Masahiro Yamada Cc: Matthias Maennich, open list, Cc: Android Kernel, linux-kbuild > > I know of multiple entities who make good use of the script and this extension. > > > > My vote is to merge it, but ultimately this is your train set. > > OK, I decided to not care about it too much. > > Now applied to linux-kbuild. Thanks. Thanks Masahiro. Much appreciated. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-08-02 7:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-02 15:12 [PATCH] scripts: merge_config: add strict mode to fail upon any redefinition Matthias Maennich
[not found] ` <CAF2Aj3jS6+RN5mEeF+65MRsyMR9BMecMmxwr3sfjwd64zA6Acw@mail.gmail.com>
[not found] ` <CAF2Aj3hWWoQvezD4Ma01LrhUwGLobNk40H9ArvjT5+XeNE3vMw@mail.gmail.com>
2021-07-24 13:56 ` Masahiro Yamada
[not found] ` <CAF2Aj3hS0kxrnf+kePWmYAT3A-+PTVQ7_6yWj1nO8BLjwGZGQg@mail.gmail.com>
2021-08-01 1:51 ` Masahiro Yamada
2021-08-02 7:50 ` Lee Jones
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox