]> git.ipfire.org Git - ipfire-3.x.git/blob - kernel/scripts/configcommon.py
kernel: Update to 4.18.9
[ipfire-3.x.git] / kernel / scripts / configcommon.py
1 #!/usr/bin/python
2 ###############################################################################
3 # IPFire.org - An Open Source Firewall Solution #
4 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
5 ###############################################################################
6
7 import re
8 import sys
9
10 filelist = sys.argv[1:]
11
12 lines = []
13 options_state = {}
14 options_counter = {}
15
16 first_file = True
17 for filename in filelist:
18 f = open(filename)
19
20 for line in f.readlines():
21 # Strip newline.
22 line = line.rstrip()
23
24 if line.startswith("# Automatically generated file;"):
25 continue
26
27 if line.endswith("Kernel Configuration"):
28 continue
29
30 if line.startswith("# Compiler:"):
31 continue
32
33 option = value = None
34
35 m = re.match("^# (.*) is not set$", line)
36 if m:
37 option = m.group(1)
38 value = "n"
39
40 m = re.match("^(.*)=(.*)$", line)
41 if m:
42 option = m.group(1)
43 value = m.group(2)
44
45 if option:
46 option_value = "%s=%s" % (option, value or "")
47
48 try:
49 options_counter[option_value] += 1
50 continue
51
52 except KeyError:
53 options_counter[option_value] = 1
54
55 if first_file:
56 lines.append(line)
57
58 f.close()
59 first_file = False
60
61 for line in lines:
62 m = re.match("^# (.*) is not set$", line)
63 if m:
64 if options_counter.get("%s=n" % m.group(1), 0) == len(filelist):
65 print "# %s is not set" % m.group(1)
66
67 continue
68
69 m = re.match("^(.*)=(.*)$", line)
70 if m:
71 if options_counter.get(m.group(0), 0) == len(filelist):
72 print m.group(0)
73
74 continue
75
76 print line