X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=kernel%2Fscripts%2Fconfigcommon.py;fp=kernel%2Fscripts%2Fconfigcommon.py;h=54f355add30412611e35924e75d5675f63aff24c;hb=8db58f993c25531d74767e969a65d765bf8c8259;hp=0000000000000000000000000000000000000000;hpb=2b17bc813a00623d4befdf19397a587c507d26ac;p=people%2Farne_f%2Fipfire-3.x.git diff --git a/kernel/scripts/configcommon.py b/kernel/scripts/configcommon.py new file mode 100755 index 000000000..54f355add --- /dev/null +++ b/kernel/scripts/configcommon.py @@ -0,0 +1,73 @@ +#!/usr/bin/python +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team # +############################################################################### + +import re +import sys + +filelist = sys.argv[1:] + +lines = [] +options_state = {} +options_counter = {} + +first_file = True +for filename in filelist: + f = open(filename) + + for line in f.readlines(): + # Strip newline. + line = line.rstrip() + + if line.startswith("# Automatically generated file;"): + continue + + if line.endswith("Kernel Configuration"): + continue + + option = value = None + + m = re.match("^# (.*) is not set$", line) + if m: + option = m.group(1) + value = "n" + + m = re.match("^(.*)=(.*)$", line) + if m: + option = m.group(1) + value = m.group(2) + + if option: + option_value = "%s=%s" % (option, value or "") + + try: + options_counter[option_value] += 1 + continue + + except KeyError: + options_counter[option_value] = 1 + + if first_file: + lines.append(line) + + f.close() + first_file = False + +for line in lines: + m = re.match("^# (.*) is not set$", line) + if m: + if options_counter.get("%s=n" % m.group(1), 0) == len(filelist): + print "# %s is not set" % m.group(1) + + continue + + m = re.match("^(.*)=(.*)$", line) + if m: + if options_counter.get(m.group(0), 0) == len(filelist): + print m.group(0) + + continue + + print line