diff options
Diffstat (limited to 'scripts/diffconfig')
-rwxr-xr-x | scripts/diffconfig | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/scripts/diffconfig b/scripts/diffconfig index b91f3e34d44d..6d672836e187 100755 --- a/scripts/diffconfig +++ b/scripts/diffconfig | |||
@@ -10,7 +10,7 @@ | |||
10 | import sys, os | 10 | import sys, os |
11 | 11 | ||
12 | def usage(): | 12 | def usage(): |
13 | print """Usage: diffconfig [-h] [-m] [<config1> <config2>] | 13 | print("""Usage: diffconfig [-h] [-m] [<config1> <config2>] |
14 | 14 | ||
15 | Diffconfig is a simple utility for comparing two .config files. | 15 | Diffconfig is a simple utility for comparing two .config files. |
16 | Using standard diff to compare .config files often includes extraneous and | 16 | Using standard diff to compare .config files often includes extraneous and |
@@ -33,7 +33,7 @@ Example usage: | |||
33 | EXT2_FS y -> n | 33 | EXT2_FS y -> n |
34 | LOG_BUF_SHIFT 14 -> 16 | 34 | LOG_BUF_SHIFT 14 -> 16 |
35 | PRINTK_TIME n -> y | 35 | PRINTK_TIME n -> y |
36 | """ | 36 | """) |
37 | sys.exit(0) | 37 | sys.exit(0) |
38 | 38 | ||
39 | # returns a dictionary of name/value pairs for config items in the file | 39 | # returns a dictionary of name/value pairs for config items in the file |
@@ -54,23 +54,23 @@ def print_config(op, config, value, new_value): | |||
54 | if merge_style: | 54 | if merge_style: |
55 | if new_value: | 55 | if new_value: |
56 | if new_value=="n": | 56 | if new_value=="n": |
57 | print "# CONFIG_%s is not set" % config | 57 | print("# CONFIG_%s is not set" % config) |
58 | else: | 58 | else: |
59 | print "CONFIG_%s=%s" % (config, new_value) | 59 | print("CONFIG_%s=%s" % (config, new_value)) |
60 | else: | 60 | else: |
61 | if op=="-": | 61 | if op=="-": |
62 | print "-%s %s" % (config, value) | 62 | print("-%s %s" % (config, value)) |
63 | elif op=="+": | 63 | elif op=="+": |
64 | print "+%s %s" % (config, new_value) | 64 | print("+%s %s" % (config, new_value)) |
65 | else: | 65 | else: |
66 | print " %s %s -> %s" % (config, value, new_value) | 66 | print(" %s %s -> %s" % (config, value, new_value)) |
67 | 67 | ||
68 | def main(): | 68 | def main(): |
69 | global merge_style | 69 | global merge_style |
70 | 70 | ||
71 | # parse command line args | 71 | # parse command line args |
72 | if ("-h" in sys.argv or "--help" in sys.argv): | 72 | if ("-h" in sys.argv or "--help" in sys.argv): |
73 | usage() | 73 | usage() |
74 | 74 | ||
75 | merge_style = 0 | 75 | merge_style = 0 |
76 | if "-m" in sys.argv: | 76 | if "-m" in sys.argv: |
@@ -79,23 +79,27 @@ def main(): | |||
79 | 79 | ||
80 | argc = len(sys.argv) | 80 | argc = len(sys.argv) |
81 | if not (argc==1 or argc == 3): | 81 | if not (argc==1 or argc == 3): |
82 | print "Error: incorrect number of arguments or unrecognized option" | 82 | print("Error: incorrect number of arguments or unrecognized option") |
83 | usage() | 83 | usage() |
84 | 84 | ||
85 | if argc == 1: | 85 | if argc == 1: |
86 | # if no filenames given, assume .config and .config.old | 86 | # if no filenames given, assume .config and .config.old |
87 | build_dir="" | 87 | build_dir="" |
88 | if os.environ.has_key("KBUILD_OUTPUT"): | 88 | if "KBUILD_OUTPUT" in os.environ: |
89 | build_dir = os.environ["KBUILD_OUTPUT"]+"/" | 89 | build_dir = os.environ["KBUILD_OUTPUT"]+"/" |
90 | |||
91 | configa_filename = build_dir + ".config.old" | 90 | configa_filename = build_dir + ".config.old" |
92 | configb_filename = build_dir + ".config" | 91 | configb_filename = build_dir + ".config" |
93 | else: | 92 | else: |
94 | configa_filename = sys.argv[1] | 93 | configa_filename = sys.argv[1] |
95 | configb_filename = sys.argv[2] | 94 | configb_filename = sys.argv[2] |
96 | 95 | ||
97 | a = readconfig(file(configa_filename)) | 96 | try: |
98 | b = readconfig(file(configb_filename)) | 97 | a = readconfig(open(configa_filename)) |
98 | b = readconfig(open(configb_filename)) | ||
99 | except (IOError): | ||
100 | e = sys.exc_info()[1] | ||
101 | print("I/O error[%s]: %s\n" % (e.args[0],e.args[1])) | ||
102 | usage() | ||
99 | 103 | ||
100 | # print items in a but not b (accumulate, sort and print) | 104 | # print items in a but not b (accumulate, sort and print) |
101 | old = [] | 105 | old = [] |
@@ -121,8 +125,7 @@ def main(): | |||
121 | 125 | ||
122 | # now print items in b but not in a | 126 | # now print items in b but not in a |
123 | # (items from b that were in a were removed above) | 127 | # (items from b that were in a were removed above) |
124 | new = b.keys() | 128 | new = sorted(b.keys()) |
125 | new.sort() | ||
126 | for config in new: | 129 | for config in new: |
127 | print_config("+", config, None, b[config]) | 130 | print_config("+", config, None, b[config]) |
128 | 131 | ||