Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8272faf authored by Mike Pagano's avatar Mike Pagano Committed by Michal Marek
Browse files

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: default avatarMike Pagano <mpagano@gentoo.org>
Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
parent 6bf2e84b
Loading
Loading
Loading
Loading
+13 −15
Original line number Diff line number Diff line
@@ -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,16 +54,16 @@ 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
@@ -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])