mirror of
https://github.com/commaai/agnos-kernel-sdm845.git
synced 2026-06-08 11:24:51 +08:00
45 lines
1.2 KiB
Python
Executable File
45 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import sys
|
|
|
|
if len(sys.argv) < 3:
|
|
raise Exception("Supply two defconfig files as arguments")
|
|
|
|
def parse(path):
|
|
result = {}
|
|
with open(path, 'r') as f:
|
|
for line in f:
|
|
line = line.strip()
|
|
if line.startswith("CONFIG_"):
|
|
try:
|
|
name, value = line.split("=")
|
|
result[name] = value
|
|
except:
|
|
print(f"FAILED TO SPLIT LINE: {line}")
|
|
return result
|
|
|
|
|
|
options_1 = parse(sys.argv[1])
|
|
options_2 = parse(sys.argv[2])
|
|
|
|
common_options = list(filter(lambda x: x in options_2.keys(), options_1.keys()))
|
|
different_common = list(filter(lambda x: options_1[x] != options_2[x], common_options))
|
|
unique_1 = list(filter(lambda x: not x in options_2.keys(), options_1.keys()))
|
|
unique_2 = list(filter(lambda x: not x in options_1.keys(), options_2.keys()))
|
|
|
|
different_common.sort()
|
|
unique_1.sort()
|
|
unique_2.sort()
|
|
|
|
print("Different options:")
|
|
for opt in different_common:
|
|
print(f"\t{opt}: \'{options_1[opt]}\' vs \'{options_2[opt]}\'")
|
|
|
|
print("\n\nUnique in 1:")
|
|
for opt in unique_1:
|
|
print(f"\t{opt}: \'{options_1[opt]}\'")
|
|
|
|
print("\n\nUnique in 2:")
|
|
for opt in unique_2:
|
|
print(f"\t{opt}: \'{options_2[opt]}\'")
|