summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2016-09-26 11:52:28 +0900
committerTom Rini <trini@konsulko.com>2016-10-07 14:26:30 +0000
commit9608f43c3d40d6ac6a1ea31e790d7cb863d58a3f (patch)
tree67994101d31efc9f265bd830f7ef5590a995cd20 /scripts
parent03ab5d136b43296b2eb7d4dd80196381aa719a09 (diff)
build-whitelist: do not add new options to whitelist when update
If somebody adds references to new CONFIG options in source files, they will be added in the whitelist when we sync it. (For example, if we run scripts/build-whitelist.sh against commit 42f75050667b, new options CONFIG_SPL_DFU_SUPPORT and CONFIG_USB_XHCI_UNIPHIER will appear in the list.) In order to make steady progress of Kconfig migration, we want to only decrease whitelist options, but never increase. So, when we update the whitelist, we should create a temporary list, then take the intersection of the temporary one and the current one. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build-whitelist.sh15
1 files changed, 13 insertions, 2 deletions
diff --git a/scripts/build-whitelist.sh b/scripts/build-whitelist.sh
index 7cf7a668c16..f169eaa3b23 100755
--- a/scripts/build-whitelist.sh
+++ b/scripts/build-whitelist.sh
@@ -45,7 +45,18 @@ cat `find . -name "Kconfig*"` |sed -n \
# Use only the options that are present in the first file but not the second.
comm -23 scripts/config_whitelist.txt.tmp1 scripts/config_whitelist.txt.tmp2 \
- |sort |uniq >scripts/config_whitelist.txt
-rm scripts/config_whitelist.txt.tmp1 scripts/config_whitelist.txt.tmp2
+ |sort |uniq >scripts/config_whitelist.txt.tmp3
+
+# If scripts/config_whitelist.txt already exists, take the intersection of the
+# current list and the new one. We do not want to increase whitelist options.
+if [ -r scripts/config_whitelist.txt ]; then
+ comm -12 scripts/config_whitelist.txt.tmp3 scripts/config_whitelist.txt \
+ > scripts/config_whitelist.txt.tmp4
+ mv scripts/config_whitelist.txt.tmp4 scripts/config_whitelist.txt
+else
+ mv scripts/config_whitelist.txt.tmp3 scripts/config_whitelist.txt
+fi
+
+rm scripts/config_whitelist.txt.tmp*
unset LC_ALL LC_COLLATE