diffconfig: Update script to support python versions 2.5 through 3.3

Support past and active versions of python while maintaining backward
compatibility. Script has been tested on python versions up to and
including 3.3.X.

Signed-off-by: Mike Pagano <mpagano@gentoo.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
Mike Pagano 2013-08-20 14:41:12 -04:00 committed by Michal Marek
parent 6bf2e84b8c
commit c8272faf5e
1 changed files with 13 additions and 15 deletions

View File

@ -10,7 +10,7 @@
import sys, os
def usage():
print """Usage: diffconfig [-h] [-m] [<config1> <config2>]
print("""Usage: diffconfig [-h] [-m] [<config1> <config2>]
Diffconfig is a simple utility for comparing two .config files.
Using standard diff to compare .config files often includes extraneous and
@ -33,7 +33,7 @@ Example usage:
EXT2_FS y -> n
LOG_BUF_SHIFT 14 -> 16
PRINTK_TIME n -> y
"""
""")
sys.exit(0)
# 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):
if merge_style:
if new_value:
if new_value=="n":
print "# CONFIG_%s is not set" % config
print("# CONFIG_%s is not set" % config)
else:
print "CONFIG_%s=%s" % (config, new_value)
print("CONFIG_%s=%s" % (config, new_value))
else:
if op=="-":
print "-%s %s" % (config, value)
print("-%s %s" % (config, value))
elif op=="+":
print "+%s %s" % (config, new_value)
print("+%s %s" % (config, new_value))
else:
print " %s %s -> %s" % (config, value, new_value)
print(" %s %s -> %s" % (config, value, new_value))
def main():
global merge_style
# parse command line args
if ("-h" in sys.argv or "--help" in sys.argv):
usage()
usage()
merge_style = 0
if "-m" in sys.argv:
@ -79,15 +79,14 @@ def main():
argc = len(sys.argv)
if not (argc==1 or argc == 3):
print "Error: incorrect number of arguments or unrecognized option"
print("Error: incorrect number of arguments or unrecognized option")
usage()
if argc == 1:
# if no filenames given, assume .config and .config.old
build_dir=""
if os.environ.has_key("KBUILD_OUTPUT"):
if "KBUILD_OUTPUT" in os.environ:
build_dir = os.environ["KBUILD_OUTPUT"]+"/"
configa_filename = build_dir + ".config.old"
configb_filename = build_dir + ".config"
else:
@ -95,8 +94,8 @@ def main():
configb_filename = sys.argv[2]
try:
a = readconfig(file(configa_filename))
b = readconfig(file(configb_filename))
a = readconfig(open(configa_filename))
b = readconfig(open(configb_filename))
except (IOError):
e = sys.exc_info()[1]
print("I/O error[%s]: %s\n" % (e.args[0],e.args[1]))
@ -126,8 +125,7 @@ def main():
# now print items in b but not in a
# (items from b that were in a were removed above)
new = b.keys()
new.sort()
new = sorted(b.keys())
for config in new:
print_config("+", config, None, b[config])