Re: [PATCH] kconfig: Make diffconfig work with Python 3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 29.8.2013 17:10, Johannes Thumshirn wrote:
> On Wed, Aug 28, 2013 at 07:29:53AM -0700, Tim Bird wrote:
>> On Fri, Aug 9, 2013 at 5:27 AM, Johannes Thumshirn
>> <johannes.thumshirn@xxxxxx> wrote:
>>> Adjust diffconfig to run cleanly on Python 3 (Tested with 3.3.2) and
>>> Python 2 (2.7.5)
>>>
>>> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@xxxxxx>
>>> ---
>>>  scripts/diffconfig |   26 +++++++++++++-------------
>>>  1 file changed, 13 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/scripts/diffconfig b/scripts/diffconfig
>>> index b91f3e3..dd0e75b 100755
>>> --- a/scripts/diffconfig
>>> +++ b/scripts/diffconfig
>>> @@ -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,13 +79,13 @@ 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"
>>> @@ -94,8 +94,8 @@ def main():
>>>          configa_filename = sys.argv[1]
>>>          configb_filename = sys.argv[2]
>>>
>>> -    a = readconfig(file(configa_filename))
>>> -    b = readconfig(file(configb_filename))
>>> +    a = readconfig(open(configa_filename))
>>> +    b = readconfig(open(configb_filename))
>>>
>>>      # print items in a but not b (accumulate, sort and print)
>>>      old = []
>>> @@ -121,7 +121,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 = list(b.keys())
>>>      new.sort()
>>>      for config in new:
>>>          print_config("+", config, None, b[config])
>>> --
>>> 1.7.9.5
>>
>> Sorry I missed this earlier.  My new e-mail is tim.bird@xxxxxxxxxxxxxx, and
>> my old am.sony.com address doesn't work any more.
>>
>> Thanks - this looks great.
>>
>> Acked-by Tim Bird <tim.bird@xxxxxxxxxxxxxx>
>>
>>  -- Tim Bird
>> Senior Software Engineer, Sony Mobile
>> Architecture Group Chair, CE Workgroup, Linux Foundation
> 
> Is there any comments from the kbuild maintainers?

I merged a nearly identical patch by Mike Pagano
(http://www.spinics.net/lists/linux-kbuild/msg08503.html), seems like
you guys had the same idea at the same time.

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux