Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760047Ab3ICNNm (ORCPT ); Tue, 3 Sep 2013 09:13:42 -0400 Received: from mail1.bemta5.messagelabs.com ([195.245.231.149]:43454 "EHLO mail1.bemta5.messagelabs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759937Ab3ICNNl (ORCPT ); Tue, 3 Sep 2013 09:13:41 -0400 X-Env-Sender: Johannes.Thumshirn@men.de X-Msg-Ref: server-14.tower-180.messagelabs.com!1378214012!26215579!1 X-Originating-IP: [80.255.6.145] X-StarScan-Received: X-StarScan-Version: 6.9.11; banners=-,-,- X-VirusChecked: Checked X-PGP-Universal: processed; by keys.men.de on Tue, 03 Sep 2013 15:13:33 +0200 Date: Tue, 3 Sep 2013 15:13:49 +0200 From: Johannes Thumshirn To: Michal Marek CC: Johannes Thumshirn , Tim Bird , Sam Ravnborg , , Subject: Re: [PATCH] kconfig: Make diffconfig work with Python 3 Message-ID: <20130903131349.GA494@jtlinux> References: <20130809122655.GA7108@jtlinux> <20130829151037.GB32730@jtlinux> <5225DF39.8000105@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <5225DF39.8000105@suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) X-Originating-IP: [192.1.1.31] X-OriginalArrivalTime: 03 Sep 2013 13:13:32.0451 (UTC) FILETIME=[639C3730:01CEA8A7] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4867 Lines: 129 On Tue, Sep 03, 2013 at 03:08:09PM +0200, Michal Marek wrote: > 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 > >> 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 > >>> --- > >>> 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] [ ] > >>> + print ("""Usage: diffconfig [-h] [-m] [ ] > >>> > >>> 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@sonymobile.com, and > >> my old am.sony.com address doesn't work any more. > >> > >> Thanks - this looks great. > >> > >> Acked-by Tim Bird > >> > >> -- 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 lol, ok. At least it doesn't anoy me anymore :-D -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/