| #!/usr/bin/env python3 |
| |
| # This scripts check that all lines present in the defconfig are |
| # still present in the .config |
| |
| import sys |
| |
| |
| def main(): |
| if not (len(sys.argv) == 3): |
| print("Error: incorrect number of arguments") |
| print("""Usage: check-dotconfig <configfile> <defconfig>""") |
| sys.exit(1) |
| |
| configfile = sys.argv[1] |
| defconfig = sys.argv[2] |
| |
| # strip() to get rid of trailing \n |
| with open(configfile) as configf: |
| configlines = [l.strip() for l in configf.readlines()] |
| |
| defconfiglines = [] |
| with open(defconfig) as defconfigf: |
| # strip() to get rid of trailing \n |
| for line in (line.strip() for line in defconfigf.readlines()): |
| if line.startswith("BR2_"): |
| defconfiglines.append(line) |
| elif line.startswith('# BR2_') and line.endswith(' is not set'): |
| defconfiglines.append(line) |
| |
| # Check that all the defconfig lines are still present |
| missing = [line for line in defconfiglines if line not in configlines] |
| |
| if missing: |
| print("WARN: defconfig {} can't be used:".format(defconfig)) |
| for m in missing: |
| print(" Missing: {}".format(m)) |
| sys.exit(1) |
| |
| |
| if __name__ == "__main__": |
| main() |