diff mbox

[U-Boot,v2] tools: moveconfig: cleanup whitelist entries

Message ID 20170428161407.9258-1-judge.packham@gmail.com
State Superseded
Delegated to: Tom Rini
Headers show

Commit Message

Chris Packham April 28, 2017, 4:14 p.m. UTC
After moving to KConfig and removing from all headers options should be
removed from config_whitelist.txt so the build starts complaining if
someone adds them back.

Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Chris Packham <judge.packham@gmail.com>
---
Simon asked for it so here you go. I also thought about cleaning up the
README file references too but that will take a little bit of work to
parse reliably.

Changes in v2:
- Correct typo
- Collect act from Masahiro

 tools/moveconfig.py | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

Comments

Simon Glass April 28, 2017, 4:17 p.m. UTC | #1
On 28 April 2017 at 10:14, Chris Packham <judge.packham@gmail.com> wrote:
> After moving to KConfig and removing from all headers options should be
> removed from config_whitelist.txt so the build starts complaining if
> someone adds them back.
>
> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> Signed-off-by: Chris Packham <judge.packham@gmail.com>
> ---
> Simon asked for it so here you go. I also thought about cleaning up the
> README file references too but that will take a little bit of work to
> parse reliably.
>
> Changes in v2:
> - Correct typo
> - Collect act from Masahiro
>
>  tools/moveconfig.py | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)

Great thank you Chris.

Reviewed-by: Simon Glass <sjg@chromium.org>
diff mbox

Patch

diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index dcca0ec..d39ad02 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -601,6 +601,33 @@  def cleanup_extra_options(configs, options):
         cleanup_one_extra_option(os.path.join('configs', defconfig), configs,
                                  options)
 
+def cleanup_whitelist(configs, options):
+    """Delete config whitelist entries
+
+    Arguments:
+      configs: A list of CONFIGs to remove.
+      options: option flags.
+    """
+    if not options.yes:
+        while True:
+            choice = (raw_input('Clean up whitelist entries? [y/n]: ').
+                      lower())
+            print choice
+            if choice == 'y' or choice == 'n':
+                break
+
+        if choice == 'n':
+            return
+
+    with open(os.path.join('scripts', 'config_whitelist.txt')) as f:
+        lines = f.readlines()
+
+    lines = [x for x in lines if x.strip() not in configs]
+
+    with open(os.path.join('scripts', 'config_whitelist.txt'), 'w') as f:
+        f.write(''.join(lines))
+
+
 ### classes ###
 class Progress:
 
@@ -1297,6 +1324,7 @@  def main():
     if configs:
         cleanup_headers(configs, options)
         cleanup_extra_options(configs, options)
+        cleanup_whitelist(configs, options)
 
     if options.commit:
         subprocess.call(['git', 'add', '-u'])