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 42f7505066,
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>
This commit is contained in:
Masahiro Yamada 2016-09-26 11:52:28 +09:00 committed by Tom Rini
parent 03ab5d136b
commit 9608f43c3d
1 changed files with 13 additions and 2 deletions

View File

@ -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