3890 lines
164 KiB
Diff
3890 lines
164 KiB
Diff
|
From patchwork Thu Oct 31 13:42:50 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187480
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="grsm6gX9"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mqP47GZz9sP6
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:48:01 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id E3207C21EBA; Thu, 31 Oct 2019 13:45:30 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id CD41BC21F37;
|
||
|
Thu, 31 Oct 2019 13:43:50 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id B0CB2C21F34; Thu, 31 Oct 2019 13:43:33 +0000 (UTC)
|
||
|
Received: from mail-io1-f45.google.com (mail-io1-f45.google.com
|
||
|
[209.85.166.45])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 4B651C21F18
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:29 +0000 (UTC)
|
||
|
Received: by mail-io1-f45.google.com with SMTP id k1so6747909iom.9
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:29 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=HO9WCWnsVtS7TwesIvh89LF+rqjaIJkM3j8hAcLUUUE=;
|
||
|
b=grsm6gX9JPi0Q6Z3b4NaYB+F5yQvDnWh9NZEPentJiJ3TgqxDVcYkoZn19WA4CXR6i
|
||
|
Oad4SPM99qvzmgcjNq/ZHK0gJso0AcjUkgiPMDtD0xucVRw3OU2PKO5WIFjALZX86Fdp
|
||
|
r5PQ27mayww4RgvQ4L7DeVExEKSoIjQh8ydmM=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=HO9WCWnsVtS7TwesIvh89LF+rqjaIJkM3j8hAcLUUUE=;
|
||
|
b=cU1SC1lBZYQINpFJMqC2W0iYZKbT00vk+M1zFnVrNQsMjZXrdFC7cJZWtypzjk54nJ
|
||
|
ezoCkp5uF5TOcsuW5jy5O8m66i+Hpw8zoshdbJkQ9Ph1bLVQLtm/5cW7Cfe1D3V5Ougo
|
||
|
Mnb5tqN6H/E98zmJ7IiFrtasYcXs9JeFfQXLiZK538htWcy2r6E7yPlM8R3cYHa47TXn
|
||
|
eeZcBRm4fwSC1HSuwgM2zyJ6TnbkD45+/6rtBPCQ8ZrJLNxKewYSmiEXx21jSkFQ4PIC
|
||
|
X53PzSoxgXY3DzvUKpKlakgrn/f4zman5OTFS1/v0gk8/672oDz/Ed9XoTgJ/fe/IsFk
|
||
|
SQvg==
|
||
|
X-Gm-Message-State: APjAAAUtRKXp4QZEYY+iv+dd4tcQL1w96FzabjHCBse8GkKQ88mkhZWx
|
||
|
x4w9T3r9oTdhMocFf/5LH4EgQb83cDQTsw==
|
||
|
X-Google-Smtp-Source: APXvYqyX0olSDU84zMXMeG8mFDqbdxBo3B3D4gIGHLU2oHdIRQYiVeZIuVgv3fb0z3FH8jnlXyLqLA==
|
||
|
X-Received: by 2002:a02:1ac5:: with SMTP id 188mr418411jai.77.1572529407942;
|
||
|
Thu, 31 Oct 2019 06:43:27 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.27
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:27 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:50 -0600
|
||
|
Message-Id: <20191031134310.3072-2-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 01/17] patman: Adjust 'command' to return
|
||
|
strings instead of bytes
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
At present all the 'command' methods return bytes. Most of the time we
|
||
|
actually want strings, so change this. We still need to keep the internal
|
||
|
representation as bytes since otherwise unicode strings might break over
|
||
|
a read() boundary (e.g. 4KB), causing errors. But we can convert the end
|
||
|
result to strings.
|
||
|
|
||
|
Add a 'binary' parameter to cover the few cases where bytes are needed.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/binman/cbfs_util_test.py | 2 +-
|
||
|
tools/binman/ftest.py | 2 +-
|
||
|
tools/patman/command.py | 31 +++++++++++++++++++++++--------
|
||
|
tools/patman/tools.py | 29 +++++++++++++++++++++--------
|
||
|
4 files changed, 46 insertions(+), 18 deletions(-)
|
||
|
|
||
|
diff --git a/tools/binman/cbfs_util_test.py b/tools/binman/cbfs_util_test.py
|
||
|
index 772c794ece..ddc2e09e35 100755
|
||
|
--- a/tools/binman/cbfs_util_test.py
|
||
|
+++ b/tools/binman/cbfs_util_test.py
|
||
|
@@ -56,7 +56,7 @@ class TestCbfs(unittest.TestCase):
|
||
|
cls.have_lz4 = True
|
||
|
try:
|
||
|
tools.Run('lz4', '--no-frame-crc', '-c',
|
||
|
- tools.GetInputFilename('u-boot.bin'))
|
||
|
+ tools.GetInputFilename('u-boot.bin'), binary=True)
|
||
|
except:
|
||
|
cls.have_lz4 = False
|
||
|
|
||
|
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
|
||
|
index 7000de9d42..88daaf20a8 100644
|
||
|
--- a/tools/binman/ftest.py
|
||
|
+++ b/tools/binman/ftest.py
|
||
|
@@ -170,7 +170,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
cls.have_lz4 = True
|
||
|
try:
|
||
|
tools.Run('lz4', '--no-frame-crc', '-c',
|
||
|
- os.path.join(cls._indir, 'u-boot.bin'))
|
||
|
+ os.path.join(cls._indir, 'u-boot.bin'), binary=True)
|
||
|
except:
|
||
|
cls.have_lz4 = False
|
||
|
|
||
|
diff --git a/tools/patman/command.py b/tools/patman/command.py
|
||
|
index 16299f3f5b..5fbd2c4a3e 100644
|
||
|
--- a/tools/patman/command.py
|
||
|
+++ b/tools/patman/command.py
|
||
|
@@ -4,6 +4,7 @@
|
||
|
|
||
|
import os
|
||
|
import cros_subprocess
|
||
|
+import tools
|
||
|
|
||
|
"""Shell command ease-ups for Python."""
|
||
|
|
||
|
@@ -31,6 +32,13 @@ class CommandResult:
|
||
|
self.return_code = return_code
|
||
|
self.exception = exception
|
||
|
|
||
|
+ def ToOutput(self, binary):
|
||
|
+ if not binary:
|
||
|
+ self.stdout = tools.ToString(self.stdout)
|
||
|
+ self.stderr = tools.ToString(self.stderr)
|
||
|
+ self.combined = tools.ToString(self.combined)
|
||
|
+ return self
|
||
|
+
|
||
|
|
||
|
# This permits interception of RunPipe for test purposes. If it is set to
|
||
|
# a function, then that function is called with the pipe list being
|
||
|
@@ -41,7 +49,7 @@ test_result = None
|
||
|
|
||
|
def RunPipe(pipe_list, infile=None, outfile=None,
|
||
|
capture=False, capture_stderr=False, oneline=False,
|
||
|
- raise_on_error=True, cwd=None, **kwargs):
|
||
|
+ raise_on_error=True, cwd=None, binary=False, **kwargs):
|
||
|
"""
|
||
|
Perform a command pipeline, with optional input/output filenames.
|
||
|
|
||
|
@@ -67,7 +75,7 @@ def RunPipe(pipe_list, infile=None, outfile=None,
|
||
|
else:
|
||
|
return test_result
|
||
|
# No result: fall through to normal processing
|
||
|
- result = CommandResult()
|
||
|
+ result = CommandResult(b'', b'', b'')
|
||
|
last_pipe = None
|
||
|
pipeline = list(pipe_list)
|
||
|
user_pipestr = '|'.join([' '.join(pipe) for pipe in pipe_list])
|
||
|
@@ -93,29 +101,36 @@ def RunPipe(pipe_list, infile=None, outfile=None,
|
||
|
if raise_on_error:
|
||
|
raise Exception("Error running '%s': %s" % (user_pipestr, str))
|
||
|
result.return_code = 255
|
||
|
- return result
|
||
|
+ return result.ToOutput(binary)
|
||
|
|
||
|
if capture:
|
||
|
result.stdout, result.stderr, result.combined = (
|
||
|
last_pipe.CommunicateFilter(None))
|
||
|
if result.stdout and oneline:
|
||
|
- result.output = result.stdout.rstrip('\r\n')
|
||
|
+ result.output = result.stdout.rstrip(b'\r\n')
|
||
|
result.return_code = last_pipe.wait()
|
||
|
else:
|
||
|
result.return_code = os.waitpid(last_pipe.pid, 0)[1]
|
||
|
if raise_on_error and result.return_code:
|
||
|
raise Exception("Error running '%s'" % user_pipestr)
|
||
|
- return result
|
||
|
+ return result.ToOutput(binary)
|
||
|
|
||
|
def Output(*cmd, **kwargs):
|
||
|
kwargs['raise_on_error'] = kwargs.get('raise_on_error', True)
|
||
|
return RunPipe([cmd], capture=True, **kwargs).stdout
|
||
|
|
||
|
def OutputOneLine(*cmd, **kwargs):
|
||
|
+ """Run a command and output it as a single-line string
|
||
|
+
|
||
|
+ The command us expected to produce a single line of output
|
||
|
+
|
||
|
+ Returns:
|
||
|
+ String containing output of command
|
||
|
+ """
|
||
|
raise_on_error = kwargs.pop('raise_on_error', True)
|
||
|
- return (RunPipe([cmd], capture=True, oneline=True,
|
||
|
- raise_on_error=raise_on_error,
|
||
|
- **kwargs).stdout.strip())
|
||
|
+ result = RunPipe([cmd], capture=True, oneline=True,
|
||
|
+ raise_on_error=raise_on_error, **kwargs).stdout.strip()
|
||
|
+ return result
|
||
|
|
||
|
def Run(*cmd, **kwargs):
|
||
|
return RunPipe([cmd], **kwargs).stdout
|
||
|
diff --git a/tools/patman/tools.py b/tools/patman/tools.py
|
||
|
index 4a7fcdad21..3feddb292f 100644
|
||
|
--- a/tools/patman/tools.py
|
||
|
+++ b/tools/patman/tools.py
|
||
|
@@ -186,7 +186,7 @@ def PathHasFile(path_spec, fname):
|
||
|
return True
|
||
|
return False
|
||
|
|
||
|
-def Run(name, *args):
|
||
|
+def Run(name, *args, **kwargs):
|
||
|
"""Run a tool with some arguments
|
||
|
|
||
|
This runs a 'tool', which is a program used by binman to process files and
|
||
|
@@ -201,13 +201,14 @@ def Run(name, *args):
|
||
|
CommandResult object
|
||
|
"""
|
||
|
try:
|
||
|
+ binary = kwargs.get('binary')
|
||
|
env = None
|
||
|
if tool_search_paths:
|
||
|
env = dict(os.environ)
|
||
|
env['PATH'] = ':'.join(tool_search_paths) + ':' + env['PATH']
|
||
|
all_args = (name,) + args
|
||
|
result = command.RunPipe([all_args], capture=True, capture_stderr=True,
|
||
|
- env=env, raise_on_error=False)
|
||
|
+ env=env, raise_on_error=False, binary=binary)
|
||
|
if result.return_code:
|
||
|
raise Exception("Error %d running '%s': %s" %
|
||
|
(result.return_code,' '.join(all_args),
|
||
|
@@ -375,7 +376,7 @@ def ToBytes(string):
|
||
|
"""Convert a str type into a bytes type
|
||
|
|
||
|
Args:
|
||
|
- string: string to convert value
|
||
|
+ string: string to convert
|
||
|
|
||
|
Returns:
|
||
|
Python 3: A bytes type
|
||
|
@@ -385,6 +386,18 @@ def ToBytes(string):
|
||
|
return string.encode('utf-8')
|
||
|
return string
|
||
|
|
||
|
+def ToString(bval):
|
||
|
+ """Convert a bytes type into a str type
|
||
|
+
|
||
|
+ Args:
|
||
|
+ bval: bytes value to convert
|
||
|
+
|
||
|
+ Returns:
|
||
|
+ Python 3: A bytes type
|
||
|
+ Python 2: A string type
|
||
|
+ """
|
||
|
+ return bval.decode('utf-8')
|
||
|
+
|
||
|
def Compress(indata, algo, with_header=True):
|
||
|
"""Compress some data using a given algorithm
|
||
|
|
||
|
@@ -406,14 +419,14 @@ def Compress(indata, algo, with_header=True):
|
||
|
fname = GetOutputFilename('%s.comp.tmp' % algo)
|
||
|
WriteFile(fname, indata)
|
||
|
if algo == 'lz4':
|
||
|
- data = Run('lz4', '--no-frame-crc', '-c', fname)
|
||
|
+ data = Run('lz4', '--no-frame-crc', '-c', fname, binary=True)
|
||
|
# cbfstool uses a very old version of lzma
|
||
|
elif algo == 'lzma':
|
||
|
outfname = GetOutputFilename('%s.comp.otmp' % algo)
|
||
|
Run('lzma_alone', 'e', fname, outfname, '-lc1', '-lp0', '-pb0', '-d8')
|
||
|
data = ReadFile(outfname)
|
||
|
elif algo == 'gzip':
|
||
|
- data = Run('gzip', '-c', fname)
|
||
|
+ data = Run('gzip', '-c', fname, binary=True)
|
||
|
else:
|
||
|
raise ValueError("Unknown algorithm '%s'" % algo)
|
||
|
if with_header:
|
||
|
@@ -446,13 +459,13 @@ def Decompress(indata, algo, with_header=True):
|
||
|
with open(fname, 'wb') as fd:
|
||
|
fd.write(indata)
|
||
|
if algo == 'lz4':
|
||
|
- data = Run('lz4', '-dc', fname)
|
||
|
+ data = Run('lz4', '-dc', fname, binary=True)
|
||
|
elif algo == 'lzma':
|
||
|
outfname = GetOutputFilename('%s.decomp.otmp' % algo)
|
||
|
Run('lzma_alone', 'd', fname, outfname)
|
||
|
- data = ReadFile(outfname)
|
||
|
+ data = ReadFile(outfname, binary=True)
|
||
|
elif algo == 'gzip':
|
||
|
- data = Run('gzip', '-cd', fname)
|
||
|
+ data = Run('gzip', '-cd', fname, binary=True)
|
||
|
else:
|
||
|
raise ValueError("Unknown algorithm '%s'" % algo)
|
||
|
return data
|
||
|
|
||
|
From patchwork Thu Oct 31 13:42:51 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187478
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="kDzFSdUf"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mpv3D2pz9sPJ
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:47:34 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id BD74EC21F31; Thu, 31 Oct 2019 13:45:02 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id B0BE9C21EF1;
|
||
|
Thu, 31 Oct 2019 13:43:43 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 36547C21F31; Thu, 31 Oct 2019 13:43:34 +0000 (UTC)
|
||
|
Received: from mail-io1-f51.google.com (mail-io1-f51.google.com
|
||
|
[209.85.166.51])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id EF823C21F06
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:29 +0000 (UTC)
|
||
|
Received: by mail-io1-f51.google.com with SMTP id k1so6747948iom.9
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:29 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=NX+5AFEEOlXvxmvuq4U9p86mBmLuMRnEiq1efBVQa3Y=;
|
||
|
b=kDzFSdUfj97x5airjH83QhStMaT79/ra4x3OfOGvp3R8cTejL9gPUxs1O5zLPl/BCf
|
||
|
YsSMA6NOTE/eHP/gBVcnlViIfpDV4VHODsbA7CJHVi91ppNvYcytJQvyvlJgtL5bJjUN
|
||
|
XH68/Jqx+JeYPnz5F6a3m2yc3L3CPaR3PnJmQ=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=NX+5AFEEOlXvxmvuq4U9p86mBmLuMRnEiq1efBVQa3Y=;
|
||
|
b=PyJILuk093UYks06R3kQd2RRDPtTG4bW4ikwvoqSBLue0Jvv03algCUixCR1ZZ3UYB
|
||
|
qmR0lrQ6ZMS3hAS0phjqiA8wyAIC02ViygVS8jH/M0TALxxURUftcHmLDVozJjCC8fmR
|
||
|
vwdi46zVMeebNBAEp5uQZ7JvtdJUiU4IJ5CBbc6tGIZ4dwlJk8XyeHnskzIGYVJ96Fak
|
||
|
q0GKb6jonCfHflKJb8RYO1P59SSOdsGGbpVbFf6o2vIoFTnvPU65+Dkoi9HdD7K94sX0
|
||
|
8kG3si0U62NTdCCNGrmY84HnGjO/A8PA6u6Qus+YkqtUvuZXqfUzok31uphCkTY4qeDh
|
||
|
Q0uw==
|
||
|
X-Gm-Message-State: APjAAAVaOqvD4OB0zjrHBrrwyzhs1M8ZqDvezP+MmrDgqjzjXq3Ev6fz
|
||
|
fD0syjYj+Q6FEz9SVV4zN6rFr56CPmiaPQ==
|
||
|
X-Google-Smtp-Source: APXvYqw4dwm7sb82rCT2DIdMygNzntUD4EoQu86vPvtVcC1U5JPl+p1fwc5ZG23/HCibeSsYH/vNVw==
|
||
|
X-Received: by 2002:a6b:8b02:: with SMTP id n2mr5137044iod.66.1572529408715;
|
||
|
Thu, 31 Oct 2019 06:43:28 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.28
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:28 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:51 -0600
|
||
|
Message-Id: <20191031074251.v2.2.Ia4a8d3ee2eeb78348b09a654f3ed7b61028932fc@changeid>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 02/17] patman: Use unicode for file I/O
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
At present patman test fail in some environments which don't use utf-8
|
||
|
as the default file encoding. Add this explicitly.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2:
|
||
|
- Add new patch to explicitly use unicode for file I/O in patman
|
||
|
|
||
|
tools/patman/func_test.py | 8 ++++----
|
||
|
tools/patman/patchstream.py | 4 ++--
|
||
|
tools/patman/series.py | 2 +-
|
||
|
tools/patman/settings.py | 4 ++--
|
||
|
tools/patman/test.py | 4 ++--
|
||
|
5 files changed, 11 insertions(+), 11 deletions(-)
|
||
|
|
||
|
diff --git a/tools/patman/func_test.py b/tools/patman/func_test.py
|
||
|
index 50a2741439..eadb49a335 100644
|
||
|
--- a/tools/patman/func_test.py
|
||
|
+++ b/tools/patman/func_test.py
|
||
|
@@ -51,7 +51,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
|
||
|
@classmethod
|
||
|
def GetText(self, fname):
|
||
|
- return open(self.GetPath(fname)).read()
|
||
|
+ return open(self.GetPath(fname), encoding='utf-8').read()
|
||
|
|
||
|
@classmethod
|
||
|
def GetPatchName(self, subject):
|
||
|
@@ -160,7 +160,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
dry_run, not ignore_bad_tags, cc_file,
|
||
|
in_reply_to=in_reply_to, thread=None)
|
||
|
series.ShowActions(args, cmd, process_tags)
|
||
|
- cc_lines = open(cc_file).read().splitlines()
|
||
|
+ cc_lines = open(cc_file, encoding='utf-8').read().splitlines()
|
||
|
os.remove(cc_file)
|
||
|
|
||
|
lines = out[0].splitlines()
|
||
|
@@ -229,14 +229,14 @@ Simon Glass (2):
|
||
|
2.7.4
|
||
|
|
||
|
'''
|
||
|
- lines = open(cover_fname).read().splitlines()
|
||
|
+ lines = open(cover_fname, encoding='utf-8').read().splitlines()
|
||
|
self.assertEqual(
|
||
|
'Subject: [RFC PATCH v3 0/2] test: A test patch series',
|
||
|
lines[3])
|
||
|
self.assertEqual(expected.splitlines(), lines[7:])
|
||
|
|
||
|
for i, fname in enumerate(args):
|
||
|
- lines = open(fname).read().splitlines()
|
||
|
+ lines = open(fname, encoding='utf-8').read().splitlines()
|
||
|
subject = [line for line in lines if line.startswith('Subject')]
|
||
|
self.assertEqual('Subject: [RFC %d/%d]' % (i + 1, count),
|
||
|
subject[0][:18])
|
||
|
diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py
|
||
|
index ef06606297..df3eb7483b 100644
|
||
|
--- a/tools/patman/patchstream.py
|
||
|
+++ b/tools/patman/patchstream.py
|
||
|
@@ -511,8 +511,8 @@ def FixPatch(backup_dir, fname, series, commit):
|
||
|
A list of errors, or [] if all ok.
|
||
|
"""
|
||
|
handle, tmpname = tempfile.mkstemp()
|
||
|
- outfd = os.fdopen(handle, 'w')
|
||
|
- infd = open(fname, 'r')
|
||
|
+ outfd = os.fdopen(handle, 'w', encoding='utf-8')
|
||
|
+ infd = open(fname, 'r', encoding='utf-8')
|
||
|
ps = PatchStream(series)
|
||
|
ps.commit = commit
|
||
|
ps.ProcessStream(infd, outfd)
|
||
|
diff --git a/tools/patman/series.py b/tools/patman/series.py
|
||
|
index 67103f03e6..95ec1d3131 100644
|
||
|
--- a/tools/patman/series.py
|
||
|
+++ b/tools/patman/series.py
|
||
|
@@ -223,7 +223,7 @@ class Series(dict):
|
||
|
col = terminal.Color()
|
||
|
# Look for commit tags (of the form 'xxx:' at the start of the subject)
|
||
|
fname = '/tmp/patman.%d' % os.getpid()
|
||
|
- fd = open(fname, 'w')
|
||
|
+ fd = open(fname, 'w', encoding='utf-8')
|
||
|
all_ccs = []
|
||
|
for commit in self.commits:
|
||
|
cc = []
|
||
|
diff --git a/tools/patman/settings.py b/tools/patman/settings.py
|
||
|
index c98911d522..5dc83a8500 100644
|
||
|
--- a/tools/patman/settings.py
|
||
|
+++ b/tools/patman/settings.py
|
||
|
@@ -165,7 +165,7 @@ def ReadGitAliases(fname):
|
||
|
fname: Filename to read
|
||
|
"""
|
||
|
try:
|
||
|
- fd = open(fname, 'r')
|
||
|
+ fd = open(fname, 'r', encoding='utf-8')
|
||
|
except IOError:
|
||
|
print("Warning: Cannot find alias file '%s'" % fname)
|
||
|
return
|
||
|
@@ -259,7 +259,7 @@ def _ReadAliasFile(fname):
|
||
|
"""
|
||
|
if os.path.exists(fname):
|
||
|
bad_line = None
|
||
|
- with open(fname) as fd:
|
||
|
+ with open(fname, encoding='utf-8') as fd:
|
||
|
linenum = 0
|
||
|
for line in fd:
|
||
|
linenum += 1
|
||
|
diff --git a/tools/patman/test.py b/tools/patman/test.py
|
||
|
index cc61c20606..889e186606 100644
|
||
|
--- a/tools/patman/test.py
|
||
|
+++ b/tools/patman/test.py
|
||
|
@@ -72,12 +72,12 @@ Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
'''
|
||
|
out = ''
|
||
|
inhandle, inname = tempfile.mkstemp()
|
||
|
- infd = os.fdopen(inhandle, 'w')
|
||
|
+ infd = os.fdopen(inhandle, 'w', encoding='utf-8')
|
||
|
infd.write(data)
|
||
|
infd.close()
|
||
|
|
||
|
exphandle, expname = tempfile.mkstemp()
|
||
|
- expfd = os.fdopen(exphandle, 'w')
|
||
|
+ expfd = os.fdopen(exphandle, 'w', encoding='utf-8')
|
||
|
expfd.write(expected)
|
||
|
expfd.close()
|
||
|
|
||
|
|
||
|
From patchwork Thu Oct 31 13:42:52 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187483
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="WHjO83uZ"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mrr4bGrz9sP6
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:49:16 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 52D61C21F63; Thu, 31 Oct 2019 13:45:46 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id 5F57BC21F60;
|
||
|
Thu, 31 Oct 2019 13:43:54 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id BE2E9C21F1A; Thu, 31 Oct 2019 13:43:34 +0000 (UTC)
|
||
|
Received: from mail-io1-f65.google.com (mail-io1-f65.google.com
|
||
|
[209.85.166.65])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id AF1EDC21F3F
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:30 +0000 (UTC)
|
||
|
Received: by mail-io1-f65.google.com with SMTP id u8so6766884iom.5
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:30 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=60QGf0Mnd1eUR1WS/7y8BK1jsba8FzUfWYFyeNQa8lg=;
|
||
|
b=WHjO83uZ4N4TC80KkIqBLIZgxJF6eiz24DP+W/1hEjrvr9uZqdEzOmlXLrVJH/YgU6
|
||
|
S0y+X7pWjcavsDxPYAQ4MsAuP9b5ImJpFy4C5MydFOoaR1U/eLf9Yw+B9+2Hp+ffXyQc
|
||
|
jdGuRyKn/l//Ohal9l8/Edmdg1xSiVw/kbVtY=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=60QGf0Mnd1eUR1WS/7y8BK1jsba8FzUfWYFyeNQa8lg=;
|
||
|
b=gT8KsU10yF4A2sptxw0BK2VL/YaFj6GZ5TQ6YRvv/6ebkUZnLDMQItzjkh5S4bA3Mq
|
||
|
fCmfKNF//quKCknbgo90EOzMLYCd7VnPwm+thgw8uFKenlfy9JPaqPZa3tAfKFgWkLga
|
||
|
Nt0KiT55GVYbBh8TQl/0bXEwRX6Z5l7jckT8o19VJu5VBL2VNxTje4uki5wbul9mZDfZ
|
||
|
KKycVYQc1uu07wp2Q2qBxYvconlrSEGEfA9Jyiv/Aq7jcbzuRigvaaYkDmdWMCRfTOqD
|
||
|
DU6BgeClrTM2U+7rZ0Wc/dGwlpCfkTizVrxXDJLn/1gm/NemrBtxu3cJaM8YUJXUxw5e
|
||
|
ZXEw==
|
||
|
X-Gm-Message-State: APjAAAUYJjz+474aMrMt4vPKkjIBMb36WC1mYiywctiTzO22X19VM8ih
|
||
|
WAaNOv9vc22zHlBo1hgzrxa7Hc7qogtrYg==
|
||
|
X-Google-Smtp-Source: APXvYqxpRUjaXQyjXST+eDVF8tjp5TjBfE5B9PVWRbUjft+jyuFFthvp6Tky5jPe6LY4lgTANzv0Eg==
|
||
|
X-Received: by 2002:a05:6638:2b1:: with SMTP id
|
||
|
d17mr413149jaq.60.1572529409499;
|
||
|
Thu, 31 Oct 2019 06:43:29 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.28
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:29 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:52 -0600
|
||
|
Message-Id: <20191031134310.3072-3-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 03/17] patman: Move to use Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Update this tool to use Python 3 to meet the 2020 deadline.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/patman/patman.py | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/tools/patman/patman.py b/tools/patman/patman.py
|
||
|
index 9605a36eff..fe82f24c67 100755
|
||
|
--- a/tools/patman/patman.py
|
||
|
+++ b/tools/patman/patman.py
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/env python
|
||
|
+#!/usr/bin/env python3
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
#
|
||
|
# Copyright (c) 2011 The Chromium OS Authors.
|
||
|
|
||
|
From patchwork Thu Oct 31 13:42:53 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187473
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="IvTdezHE"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mlY1vzjz9sP4
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:44:41 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id DEB44C21F29; Thu, 31 Oct 2019 13:43:59 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id 706BAC21ED6;
|
||
|
Thu, 31 Oct 2019 13:43:42 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 70AA5C21F42; Thu, 31 Oct 2019 13:43:36 +0000 (UTC)
|
||
|
Received: from mail-il1-f196.google.com (mail-il1-f196.google.com
|
||
|
[209.85.166.196])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 698A3C21D8E
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:32 +0000 (UTC)
|
||
|
Received: by mail-il1-f196.google.com with SMTP id y5so5420003ilb.5
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:32 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=70A52DYsbmSMYVc0HQQbaudb6C8I7FJR14I09UmGOlM=;
|
||
|
b=IvTdezHE9kF1ZX+cEUd0VPfQfbC0in1ZYbnBzkO4clwkTX9Dj5kpt71xjgN1IS9X84
|
||
|
40Ql3ev5zscuQX1SNZRtHuguMwb5W5ury0GxMYRFLR4JXbKGnm1cLtxLuSWU3GUZRaEn
|
||
|
D3hMV65fkGs4sVWBZLKHxmGsACWb/esH4fiFE=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=70A52DYsbmSMYVc0HQQbaudb6C8I7FJR14I09UmGOlM=;
|
||
|
b=IxFkLuOdM9dVy84nM82TZPP0eku6lP8riuNqFKmDfwkeaXTT/9nVUmRyi+31eVuW3o
|
||
|
OdbHC2gqzHnQcz8hC+ToG+GrKOCEcJbPTZ7ItpjAaa/Fxkuq4U8Vu5KIzREDuje8TwWy
|
||
|
HBPVRLdNjB6qFn+Kzcnqsvsu4n1nk36Mj6oQA64W+3/EcjCJ2VUDESWhEWAEFks1u1f3
|
||
|
DFzOTo5Nqef3eQxdhHIq54Iv6Vm3L/IGC+BwfssI4tDXbnbXSieyQZ2Ze8oVzJ6ZkS+A
|
||
|
x57HIdTH9ESlXRzdjpy9JCJvOD2t8npz073vgN4vUym3tDbzIjLd2dn+Dp5bDio89AsO
|
||
|
I88A==
|
||
|
X-Gm-Message-State: APjAAAV8AaQ/NxcSe6+FUa1OMebk7xOt0AL25uK3sfn/opbuEyJ35CwD
|
||
|
4ei/Ypa3voGfA/flA4D+ZZpFpRXL18CDDQ==
|
||
|
X-Google-Smtp-Source: APXvYqwFOmBsBp5QTzv9CxzjMLH7UDSQysJVdpsTdcjqZx0R5/cfua4fn5v5AuuwmHVrhOhYgnyF3Q==
|
||
|
X-Received: by 2002:a92:af15:: with SMTP id n21mr6818418ili.0.1572529410409;
|
||
|
Thu, 31 Oct 2019 06:43:30 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.29
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:30 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:53 -0600
|
||
|
Message-Id: <20191031134310.3072-4-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 04/17] buildman: Convert to Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Convert buildman to Python 3 and make it use that, to meet the 2020
|
||
|
deadline.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2:
|
||
|
- Use integer division for multiprocessing.cpu_count()
|
||
|
- Use integer division in SetupBuild() and GetActionSummary()
|
||
|
- Use HTTPMessage.getheader() instead of HTTPMessage.get()
|
||
|
- Use integer division in toolchain.Download()
|
||
|
- Use explicit utf-8 encoding in Boards.ReadBoards()
|
||
|
|
||
|
tools/buildman/board.py | 9 +--
|
||
|
tools/buildman/bsettings.py | 20 +++----
|
||
|
tools/buildman/builder.py | 47 ++++++++--------
|
||
|
tools/buildman/builderthread.py | 24 ++++----
|
||
|
tools/buildman/buildman.py | 10 ++--
|
||
|
tools/buildman/control.py | 44 +++++++--------
|
||
|
tools/buildman/func_test.py | 16 +++---
|
||
|
tools/buildman/test.py | 22 ++++----
|
||
|
tools/buildman/toolchain.py | 99 +++++++++++++++++----------------
|
||
|
9 files changed, 146 insertions(+), 145 deletions(-)
|
||
|
|
||
|
diff --git a/tools/buildman/board.py b/tools/buildman/board.py
|
||
|
index 2a1d021574..447aaabea8 100644
|
||
|
--- a/tools/buildman/board.py
|
||
|
+++ b/tools/buildman/board.py
|
||
|
@@ -1,6 +1,7 @@
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
# Copyright (c) 2012 The Chromium OS Authors.
|
||
|
|
||
|
+from collections import OrderedDict
|
||
|
import re
|
||
|
|
||
|
class Expr:
|
||
|
@@ -120,7 +121,7 @@ class Boards:
|
||
|
Args:
|
||
|
fname: Filename of boards.cfg file
|
||
|
"""
|
||
|
- with open(fname, 'r') as fd:
|
||
|
+ with open(fname, 'r', encoding='utf-8') as fd:
|
||
|
for line in fd:
|
||
|
if line[0] == '#':
|
||
|
continue
|
||
|
@@ -155,7 +156,7 @@ class Boards:
|
||
|
key is board.target
|
||
|
value is board
|
||
|
"""
|
||
|
- board_dict = {}
|
||
|
+ board_dict = OrderedDict()
|
||
|
for board in self._boards:
|
||
|
board_dict[board.target] = board
|
||
|
return board_dict
|
||
|
@@ -166,7 +167,7 @@ class Boards:
|
||
|
Returns:
|
||
|
List of Board objects that are marked selected
|
||
|
"""
|
||
|
- board_dict = {}
|
||
|
+ board_dict = OrderedDict()
|
||
|
for board in self._boards:
|
||
|
if board.build_it:
|
||
|
board_dict[board.target] = board
|
||
|
@@ -259,7 +260,7 @@ class Boards:
|
||
|
due to each argument, arranged by argument.
|
||
|
List of errors found
|
||
|
"""
|
||
|
- result = {}
|
||
|
+ result = OrderedDict()
|
||
|
warnings = []
|
||
|
terms = self._BuildTerms(args)
|
||
|
|
||
|
diff --git a/tools/buildman/bsettings.py b/tools/buildman/bsettings.py
|
||
|
index 03d7439aa5..0b7208da37 100644
|
||
|
--- a/tools/buildman/bsettings.py
|
||
|
+++ b/tools/buildman/bsettings.py
|
||
|
@@ -1,9 +1,9 @@
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
# Copyright (c) 2012 The Chromium OS Authors.
|
||
|
|
||
|
-import ConfigParser
|
||
|
+import configparser
|
||
|
import os
|
||
|
-import StringIO
|
||
|
+import io
|
||
|
|
||
|
|
||
|
def Setup(fname=''):
|
||
|
@@ -15,20 +15,20 @@ def Setup(fname=''):
|
||
|
global settings
|
||
|
global config_fname
|
||
|
|
||
|
- settings = ConfigParser.SafeConfigParser()
|
||
|
+ settings = configparser.SafeConfigParser()
|
||
|
if fname is not None:
|
||
|
config_fname = fname
|
||
|
if config_fname == '':
|
||
|
config_fname = '%s/.buildman' % os.getenv('HOME')
|
||
|
if not os.path.exists(config_fname):
|
||
|
- print 'No config file found ~/.buildman\nCreating one...\n'
|
||
|
+ print('No config file found ~/.buildman\nCreating one...\n')
|
||
|
CreateBuildmanConfigFile(config_fname)
|
||
|
- print 'To install tool chains, please use the --fetch-arch option'
|
||
|
+ print('To install tool chains, please use the --fetch-arch option')
|
||
|
if config_fname:
|
||
|
settings.read(config_fname)
|
||
|
|
||
|
def AddFile(data):
|
||
|
- settings.readfp(StringIO.StringIO(data))
|
||
|
+ settings.readfp(io.StringIO(data))
|
||
|
|
||
|
def GetItems(section):
|
||
|
"""Get the items from a section of the config.
|
||
|
@@ -41,7 +41,7 @@ def GetItems(section):
|
||
|
"""
|
||
|
try:
|
||
|
return settings.items(section)
|
||
|
- except ConfigParser.NoSectionError as e:
|
||
|
+ except configparser.NoSectionError as e:
|
||
|
return []
|
||
|
except:
|
||
|
raise
|
||
|
@@ -68,10 +68,10 @@ def CreateBuildmanConfigFile(config_fname):
|
||
|
try:
|
||
|
f = open(config_fname, 'w')
|
||
|
except IOError:
|
||
|
- print "Couldn't create buildman config file '%s'\n" % config_fname
|
||
|
+ print("Couldn't create buildman config file '%s'\n" % config_fname)
|
||
|
raise
|
||
|
|
||
|
- print >>f, '''[toolchain]
|
||
|
+ print('''[toolchain]
|
||
|
# name = path
|
||
|
# e.g. x86 = /opt/gcc-4.6.3-nolibc/x86_64-linux
|
||
|
|
||
|
@@ -93,5 +93,5 @@ openrisc = or1k
|
||
|
# snapper-boards=ENABLE_AT91_TEST=1
|
||
|
# snapper9260=${snapper-boards} BUILD_TAG=442
|
||
|
# snapper9g45=${snapper-boards} BUILD_TAG=443
|
||
|
-'''
|
||
|
+''', file=f)
|
||
|
f.close();
|
||
|
diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
|
||
|
index fbb236676c..cfbe4c26b1 100644
|
||
|
--- a/tools/buildman/builder.py
|
||
|
+++ b/tools/buildman/builder.py
|
||
|
@@ -9,7 +9,7 @@ from datetime import datetime, timedelta
|
||
|
import glob
|
||
|
import os
|
||
|
import re
|
||
|
-import Queue
|
||
|
+import queue
|
||
|
import shutil
|
||
|
import signal
|
||
|
import string
|
||
|
@@ -92,11 +92,10 @@ u-boot/ source directory
|
||
|
"""
|
||
|
|
||
|
# Possible build outcomes
|
||
|
-OUTCOME_OK, OUTCOME_WARNING, OUTCOME_ERROR, OUTCOME_UNKNOWN = range(4)
|
||
|
+OUTCOME_OK, OUTCOME_WARNING, OUTCOME_ERROR, OUTCOME_UNKNOWN = list(range(4))
|
||
|
|
||
|
# Translate a commit subject into a valid filename (and handle unicode)
|
||
|
-trans_valid_chars = string.maketrans('/: ', '---')
|
||
|
-trans_valid_chars = trans_valid_chars.decode('latin-1')
|
||
|
+trans_valid_chars = str.maketrans('/: ', '---')
|
||
|
|
||
|
BASE_CONFIG_FILENAMES = [
|
||
|
'u-boot.cfg', 'u-boot-spl.cfg', 'u-boot-tpl.cfg'
|
||
|
@@ -122,8 +121,8 @@ class Config:
|
||
|
def __hash__(self):
|
||
|
val = 0
|
||
|
for fname in self.config:
|
||
|
- for key, value in self.config[fname].iteritems():
|
||
|
- print key, value
|
||
|
+ for key, value in self.config[fname].items():
|
||
|
+ print(key, value)
|
||
|
val = val ^ hash(key) & hash(value)
|
||
|
return val
|
||
|
|
||
|
@@ -293,8 +292,8 @@ class Builder:
|
||
|
self._re_dtb_warning = re.compile('(.*): Warning .*')
|
||
|
self._re_note = re.compile('(.*):(\d*):(\d*): note: this is the location of the previous.*')
|
||
|
|
||
|
- self.queue = Queue.Queue()
|
||
|
- self.out_queue = Queue.Queue()
|
||
|
+ self.queue = queue.Queue()
|
||
|
+ self.out_queue = queue.Queue()
|
||
|
for i in range(self.num_threads):
|
||
|
t = builderthread.BuilderThread(self, i, incremental,
|
||
|
per_board_out_dir)
|
||
|
@@ -781,7 +780,7 @@ class Builder:
|
||
|
config = {}
|
||
|
environment = {}
|
||
|
|
||
|
- for board in boards_selected.itervalues():
|
||
|
+ for board in boards_selected.values():
|
||
|
outcome = self.GetBuildOutcome(commit_upto, board.target,
|
||
|
read_func_sizes, read_config,
|
||
|
read_environment)
|
||
|
@@ -814,13 +813,13 @@ class Builder:
|
||
|
tconfig = Config(self.config_filenames, board.target)
|
||
|
for fname in self.config_filenames:
|
||
|
if outcome.config:
|
||
|
- for key, value in outcome.config[fname].iteritems():
|
||
|
+ for key, value in outcome.config[fname].items():
|
||
|
tconfig.Add(fname, key, value)
|
||
|
config[board.target] = tconfig
|
||
|
|
||
|
tenvironment = Environment(board.target)
|
||
|
if outcome.environment:
|
||
|
- for key, value in outcome.environment.iteritems():
|
||
|
+ for key, value in outcome.environment.items():
|
||
|
tenvironment.Add(key, value)
|
||
|
environment[board.target] = tenvironment
|
||
|
|
||
|
@@ -1040,12 +1039,12 @@ class Builder:
|
||
|
|
||
|
# We now have a list of image size changes sorted by arch
|
||
|
# Print out a summary of these
|
||
|
- for arch, target_list in arch_list.iteritems():
|
||
|
+ for arch, target_list in arch_list.items():
|
||
|
# Get total difference for each type
|
||
|
totals = {}
|
||
|
for result in target_list:
|
||
|
total = 0
|
||
|
- for name, diff in result.iteritems():
|
||
|
+ for name, diff in result.items():
|
||
|
if name.startswith('_'):
|
||
|
continue
|
||
|
total += diff
|
||
|
@@ -1250,7 +1249,7 @@ class Builder:
|
||
|
if self._show_unknown:
|
||
|
self.AddOutcome(board_selected, arch_list, unknown_boards, '?',
|
||
|
self.col.MAGENTA)
|
||
|
- for arch, target_list in arch_list.iteritems():
|
||
|
+ for arch, target_list in arch_list.items():
|
||
|
Print('%10s: %s' % (arch, target_list))
|
||
|
self._error_lines += 1
|
||
|
if better_err:
|
||
|
@@ -1283,13 +1282,13 @@ class Builder:
|
||
|
environment_minus = {}
|
||
|
environment_change = {}
|
||
|
base = tbase.environment
|
||
|
- for key, value in tenvironment.environment.iteritems():
|
||
|
+ for key, value in tenvironment.environment.items():
|
||
|
if key not in base:
|
||
|
environment_plus[key] = value
|
||
|
- for key, value in base.iteritems():
|
||
|
+ for key, value in base.items():
|
||
|
if key not in tenvironment.environment:
|
||
|
environment_minus[key] = value
|
||
|
- for key, value in base.iteritems():
|
||
|
+ for key, value in base.items():
|
||
|
new_value = tenvironment.environment.get(key)
|
||
|
if new_value and value != new_value:
|
||
|
desc = '%s -> %s' % (value, new_value)
|
||
|
@@ -1342,15 +1341,15 @@ class Builder:
|
||
|
config_minus = {}
|
||
|
config_change = {}
|
||
|
base = tbase.config[name]
|
||
|
- for key, value in tconfig.config[name].iteritems():
|
||
|
+ for key, value in tconfig.config[name].items():
|
||
|
if key not in base:
|
||
|
config_plus[key] = value
|
||
|
all_config_plus[key] = value
|
||
|
- for key, value in base.iteritems():
|
||
|
+ for key, value in base.items():
|
||
|
if key not in tconfig.config[name]:
|
||
|
config_minus[key] = value
|
||
|
all_config_minus[key] = value
|
||
|
- for key, value in base.iteritems():
|
||
|
+ for key, value in base.items():
|
||
|
new_value = tconfig.config.get(key)
|
||
|
if new_value and value != new_value:
|
||
|
desc = '%s -> %s' % (value, new_value)
|
||
|
@@ -1368,7 +1367,7 @@ class Builder:
|
||
|
summary[target] = '\n'.join(lines)
|
||
|
|
||
|
lines_by_target = {}
|
||
|
- for target, lines in summary.iteritems():
|
||
|
+ for target, lines in summary.items():
|
||
|
if lines in lines_by_target:
|
||
|
lines_by_target[lines].append(target)
|
||
|
else:
|
||
|
@@ -1392,7 +1391,7 @@ class Builder:
|
||
|
Print('%s:' % arch)
|
||
|
_OutputConfigInfo(lines)
|
||
|
|
||
|
- for lines, targets in lines_by_target.iteritems():
|
||
|
+ for lines, targets in lines_by_target.items():
|
||
|
if not lines:
|
||
|
continue
|
||
|
Print('%s :' % ' '.join(sorted(targets)))
|
||
|
@@ -1463,7 +1462,7 @@ class Builder:
|
||
|
commits: Selected commits to build
|
||
|
"""
|
||
|
# First work out how many commits we will build
|
||
|
- count = (self.commit_count + self._step - 1) / self._step
|
||
|
+ count = (self.commit_count + self._step - 1) // self._step
|
||
|
self.count = len(board_selected) * count
|
||
|
self.upto = self.warned = self.fail = 0
|
||
|
self._timestamps = collections.deque()
|
||
|
@@ -1566,7 +1565,7 @@ class Builder:
|
||
|
self.ProcessResult(None)
|
||
|
|
||
|
# Create jobs to build all commits for each board
|
||
|
- for brd in board_selected.itervalues():
|
||
|
+ for brd in board_selected.values():
|
||
|
job = builderthread.BuilderJob()
|
||
|
job.board = brd
|
||
|
job.commits = commits
|
||
|
diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py
|
||
|
index 8a9d47cd5e..570c1f6595 100644
|
||
|
--- a/tools/buildman/builderthread.py
|
||
|
+++ b/tools/buildman/builderthread.py
|
||
|
@@ -28,7 +28,7 @@ def Mkdir(dirname, parents = False):
|
||
|
except OSError as err:
|
||
|
if err.errno == errno.EEXIST:
|
||
|
if os.path.realpath('.') == os.path.realpath(dirname):
|
||
|
- print "Cannot create the current working directory '%s'!" % dirname
|
||
|
+ print("Cannot create the current working directory '%s'!" % dirname)
|
||
|
sys.exit(1)
|
||
|
pass
|
||
|
else:
|
||
|
@@ -291,15 +291,13 @@ class BuilderThread(threading.Thread):
|
||
|
outfile = os.path.join(build_dir, 'log')
|
||
|
with open(outfile, 'w') as fd:
|
||
|
if result.stdout:
|
||
|
- # We don't want unicode characters in log files
|
||
|
- fd.write(result.stdout.decode('UTF-8').encode('ASCII', 'replace'))
|
||
|
+ fd.write(result.stdout)
|
||
|
|
||
|
errfile = self.builder.GetErrFile(result.commit_upto,
|
||
|
result.brd.target)
|
||
|
if result.stderr:
|
||
|
with open(errfile, 'w') as fd:
|
||
|
- # We don't want unicode characters in log files
|
||
|
- fd.write(result.stderr.decode('UTF-8').encode('ASCII', 'replace'))
|
||
|
+ fd.write(result.stderr)
|
||
|
elif os.path.exists(errfile):
|
||
|
os.remove(errfile)
|
||
|
|
||
|
@@ -314,17 +312,17 @@ class BuilderThread(threading.Thread):
|
||
|
else:
|
||
|
fd.write('%s' % result.return_code)
|
||
|
with open(os.path.join(build_dir, 'toolchain'), 'w') as fd:
|
||
|
- print >>fd, 'gcc', result.toolchain.gcc
|
||
|
- print >>fd, 'path', result.toolchain.path
|
||
|
- print >>fd, 'cross', result.toolchain.cross
|
||
|
- print >>fd, 'arch', result.toolchain.arch
|
||
|
+ print('gcc', result.toolchain.gcc, file=fd)
|
||
|
+ print('path', result.toolchain.path, file=fd)
|
||
|
+ print('cross', result.toolchain.cross, file=fd)
|
||
|
+ print('arch', result.toolchain.arch, file=fd)
|
||
|
fd.write('%s' % result.return_code)
|
||
|
|
||
|
# Write out the image and function size information and an objdump
|
||
|
env = result.toolchain.MakeEnvironment(self.builder.full_path)
|
||
|
with open(os.path.join(build_dir, 'env'), 'w') as fd:
|
||
|
for var in sorted(env.keys()):
|
||
|
- print >>fd, '%s="%s"' % (var, env[var])
|
||
|
+ print('%s="%s"' % (var, env[var]), file=fd)
|
||
|
lines = []
|
||
|
for fname in ['u-boot', 'spl/u-boot-spl']:
|
||
|
cmd = ['%snm' % self.toolchain.cross, '--size-sort', fname]
|
||
|
@@ -335,7 +333,7 @@ class BuilderThread(threading.Thread):
|
||
|
nm = self.builder.GetFuncSizesFile(result.commit_upto,
|
||
|
result.brd.target, fname)
|
||
|
with open(nm, 'w') as fd:
|
||
|
- print >>fd, nm_result.stdout,
|
||
|
+ print(nm_result.stdout, end=' ', file=fd)
|
||
|
|
||
|
cmd = ['%sobjdump' % self.toolchain.cross, '-h', fname]
|
||
|
dump_result = command.RunPipe([cmd], capture=True,
|
||
|
@@ -346,7 +344,7 @@ class BuilderThread(threading.Thread):
|
||
|
objdump = self.builder.GetObjdumpFile(result.commit_upto,
|
||
|
result.brd.target, fname)
|
||
|
with open(objdump, 'w') as fd:
|
||
|
- print >>fd, dump_result.stdout,
|
||
|
+ print(dump_result.stdout, end=' ', file=fd)
|
||
|
for line in dump_result.stdout.splitlines():
|
||
|
fields = line.split()
|
||
|
if len(fields) > 5 and fields[1] == '.rodata':
|
||
|
@@ -378,7 +376,7 @@ class BuilderThread(threading.Thread):
|
||
|
sizes = self.builder.GetSizesFile(result.commit_upto,
|
||
|
result.brd.target)
|
||
|
with open(sizes, 'w') as fd:
|
||
|
- print >>fd, '\n'.join(lines)
|
||
|
+ print('\n'.join(lines), file=fd)
|
||
|
|
||
|
# Write out the configuration files, with a special case for SPL
|
||
|
for dirname in ['', 'spl', 'tpl']:
|
||
|
diff --git a/tools/buildman/buildman.py b/tools/buildman/buildman.py
|
||
|
index f17aa15e7c..30a8690f93 100755
|
||
|
--- a/tools/buildman/buildman.py
|
||
|
+++ b/tools/buildman/buildman.py
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/env python2
|
||
|
+#!/usr/bin/env python3
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
#
|
||
|
# Copyright (c) 2012 The Chromium OS Authors.
|
||
|
@@ -6,6 +6,8 @@
|
||
|
|
||
|
"""See README for more information"""
|
||
|
|
||
|
+from __future__ import print_function
|
||
|
+
|
||
|
import multiprocessing
|
||
|
import os
|
||
|
import re
|
||
|
@@ -46,11 +48,11 @@ def RunTests(skip_net_tests):
|
||
|
suite = unittest.TestLoader().loadTestsFromTestCase(module)
|
||
|
suite.run(result)
|
||
|
|
||
|
- print result
|
||
|
+ print(result)
|
||
|
for test, err in result.errors:
|
||
|
- print err
|
||
|
+ print(err)
|
||
|
for test, err in result.failures:
|
||
|
- print err
|
||
|
+ print(err)
|
||
|
|
||
|
|
||
|
options, args = cmdline.ParseArgs()
|
||
|
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
|
||
|
index 9787b86747..216012d001 100644
|
||
|
--- a/tools/buildman/control.py
|
||
|
+++ b/tools/buildman/control.py
|
||
|
@@ -30,7 +30,7 @@ def GetActionSummary(is_summary, commits, selected, options):
|
||
|
"""
|
||
|
if commits:
|
||
|
count = len(commits)
|
||
|
- count = (count + options.step - 1) / options.step
|
||
|
+ count = (count + options.step - 1) // options.step
|
||
|
commit_str = '%d commit%s' % (count, GetPlural(count))
|
||
|
else:
|
||
|
commit_str = 'current source'
|
||
|
@@ -59,31 +59,31 @@ def ShowActions(series, why_selected, boards_selected, builder, options,
|
||
|
board_warnings: List of warnings obtained from board selected
|
||
|
"""
|
||
|
col = terminal.Color()
|
||
|
- print 'Dry run, so not doing much. But I would do this:'
|
||
|
- print
|
||
|
+ print('Dry run, so not doing much. But I would do this:')
|
||
|
+ print()
|
||
|
if series:
|
||
|
commits = series.commits
|
||
|
else:
|
||
|
commits = None
|
||
|
- print GetActionSummary(False, commits, boards_selected,
|
||
|
- options)
|
||
|
- print 'Build directory: %s' % builder.base_dir
|
||
|
+ print(GetActionSummary(False, commits, boards_selected,
|
||
|
+ options))
|
||
|
+ print('Build directory: %s' % builder.base_dir)
|
||
|
if commits:
|
||
|
for upto in range(0, len(series.commits), options.step):
|
||
|
commit = series.commits[upto]
|
||
|
- print ' ', col.Color(col.YELLOW, commit.hash[:8], bright=False),
|
||
|
- print commit.subject
|
||
|
- print
|
||
|
+ print(' ', col.Color(col.YELLOW, commit.hash[:8], bright=False), end=' ')
|
||
|
+ print(commit.subject)
|
||
|
+ print()
|
||
|
for arg in why_selected:
|
||
|
if arg != 'all':
|
||
|
- print arg, ': %d boards' % len(why_selected[arg])
|
||
|
+ print(arg, ': %d boards' % len(why_selected[arg]))
|
||
|
if options.verbose:
|
||
|
- print ' %s' % ' '.join(why_selected[arg])
|
||
|
- print ('Total boards to build for each commit: %d\n' %
|
||
|
- len(why_selected['all']))
|
||
|
+ print(' %s' % ' '.join(why_selected[arg]))
|
||
|
+ print(('Total boards to build for each commit: %d\n' %
|
||
|
+ len(why_selected['all'])))
|
||
|
if board_warnings:
|
||
|
for warning in board_warnings:
|
||
|
- print col.Color(col.YELLOW, warning)
|
||
|
+ print(col.Color(col.YELLOW, warning))
|
||
|
|
||
|
def CheckOutputDir(output_dir):
|
||
|
"""Make sure that the output directory is not within the current directory
|
||
|
@@ -146,17 +146,17 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
|
||
|
if options.fetch_arch:
|
||
|
if options.fetch_arch == 'list':
|
||
|
sorted_list = toolchains.ListArchs()
|
||
|
- print col.Color(col.BLUE, 'Available architectures: %s\n' %
|
||
|
- ' '.join(sorted_list))
|
||
|
+ print(col.Color(col.BLUE, 'Available architectures: %s\n' %
|
||
|
+ ' '.join(sorted_list)))
|
||
|
return 0
|
||
|
else:
|
||
|
fetch_arch = options.fetch_arch
|
||
|
if fetch_arch == 'all':
|
||
|
fetch_arch = ','.join(toolchains.ListArchs())
|
||
|
- print col.Color(col.CYAN, '\nDownloading toolchains: %s' %
|
||
|
- fetch_arch)
|
||
|
+ print(col.Color(col.CYAN, '\nDownloading toolchains: %s' %
|
||
|
+ fetch_arch))
|
||
|
for arch in fetch_arch.split(','):
|
||
|
- print
|
||
|
+ print()
|
||
|
ret = toolchains.FetchAndInstall(arch)
|
||
|
if ret:
|
||
|
return ret
|
||
|
@@ -167,7 +167,7 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
|
||
|
toolchains.Scan(options.list_tool_chains and options.verbose)
|
||
|
if options.list_tool_chains:
|
||
|
toolchains.List()
|
||
|
- print
|
||
|
+ print()
|
||
|
return 0
|
||
|
|
||
|
# Work out how many commits to build. We want to build everything on the
|
||
|
@@ -191,7 +191,7 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
|
||
|
sys.exit(col.Color(col.RED, "Range '%s' has no commits" %
|
||
|
options.branch))
|
||
|
if msg:
|
||
|
- print col.Color(col.YELLOW, msg)
|
||
|
+ print(col.Color(col.YELLOW, msg))
|
||
|
count += 1 # Build upstream commit also
|
||
|
|
||
|
if not count:
|
||
|
@@ -268,7 +268,7 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
|
||
|
options.threads = min(multiprocessing.cpu_count(), len(selected))
|
||
|
if not options.jobs:
|
||
|
options.jobs = max(1, (multiprocessing.cpu_count() +
|
||
|
- len(selected) - 1) / len(selected))
|
||
|
+ len(selected) - 1) // len(selected))
|
||
|
|
||
|
if not options.step:
|
||
|
options.step = len(series.commits) - 1
|
||
|
diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py
|
||
|
index f90b8ea7f5..4c3d497294 100644
|
||
|
--- a/tools/buildman/func_test.py
|
||
|
+++ b/tools/buildman/func_test.py
|
||
|
@@ -270,7 +270,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
stdout=''.join(commit_log[:count]))
|
||
|
|
||
|
# Not handled, so abort
|
||
|
- print 'git log', args
|
||
|
+ print('git log', args)
|
||
|
sys.exit(1)
|
||
|
|
||
|
def _HandleCommandGitConfig(self, args):
|
||
|
@@ -286,7 +286,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
stdout='refs/heads/master\n')
|
||
|
|
||
|
# Not handled, so abort
|
||
|
- print 'git config', args
|
||
|
+ print('git config', args)
|
||
|
sys.exit(1)
|
||
|
|
||
|
def _HandleCommandGit(self, in_args):
|
||
|
@@ -320,7 +320,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
return command.CommandResult(return_code=0)
|
||
|
|
||
|
# Not handled, so abort
|
||
|
- print 'git', git_args, sub_cmd, args
|
||
|
+ print('git', git_args, sub_cmd, args)
|
||
|
sys.exit(1)
|
||
|
|
||
|
def _HandleCommandNm(self, args):
|
||
|
@@ -351,7 +351,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
if pipe_list[1] == ['wc', '-l']:
|
||
|
wc = True
|
||
|
else:
|
||
|
- print 'invalid pipe', kwargs
|
||
|
+ print('invalid pipe', kwargs)
|
||
|
sys.exit(1)
|
||
|
cmd = pipe_list[0][0]
|
||
|
args = pipe_list[0][1:]
|
||
|
@@ -371,7 +371,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
|
||
|
if not result:
|
||
|
# Not handled, so abort
|
||
|
- print 'unknown command', kwargs
|
||
|
+ print('unknown command', kwargs)
|
||
|
sys.exit(1)
|
||
|
|
||
|
if wc:
|
||
|
@@ -404,14 +404,14 @@ class TestFunctional(unittest.TestCase):
|
||
|
return command.CommandResult(return_code=0)
|
||
|
|
||
|
# Not handled, so abort
|
||
|
- print 'make', stage
|
||
|
+ print('make', stage)
|
||
|
sys.exit(1)
|
||
|
|
||
|
# Example function to print output lines
|
||
|
def print_lines(self, lines):
|
||
|
- print len(lines)
|
||
|
+ print(len(lines))
|
||
|
for line in lines:
|
||
|
- print line
|
||
|
+ print(line)
|
||
|
#self.print_lines(terminal.GetPrintTestLines())
|
||
|
|
||
|
def testNoBoards(self):
|
||
|
diff --git a/tools/buildman/test.py b/tools/buildman/test.py
|
||
|
index ed99b9375c..b4e28d6867 100644
|
||
|
--- a/tools/buildman/test.py
|
||
|
+++ b/tools/buildman/test.py
|
||
|
@@ -212,11 +212,11 @@ class TestBuild(unittest.TestCase):
|
||
|
self.assertEqual(lines[1].text, '02: %s' % commits[1][1])
|
||
|
|
||
|
col = terminal.Color()
|
||
|
- self.assertSummary(lines[2].text, 'sandbox', 'w+', ['board4'],
|
||
|
+ self.assertSummary(lines[2].text, 'arm', 'w+', ['board1'],
|
||
|
outcome=OUTCOME_WARN)
|
||
|
- self.assertSummary(lines[3].text, 'arm', 'w+', ['board1'],
|
||
|
+ self.assertSummary(lines[3].text, 'powerpc', 'w+', ['board2', 'board3'],
|
||
|
outcome=OUTCOME_WARN)
|
||
|
- self.assertSummary(lines[4].text, 'powerpc', 'w+', ['board2', 'board3'],
|
||
|
+ self.assertSummary(lines[4].text, 'sandbox', 'w+', ['board4'],
|
||
|
outcome=OUTCOME_WARN)
|
||
|
|
||
|
# Second commit: The warnings should be listed
|
||
|
@@ -226,10 +226,10 @@ class TestBuild(unittest.TestCase):
|
||
|
|
||
|
# Third commit: Still fails
|
||
|
self.assertEqual(lines[6].text, '03: %s' % commits[2][1])
|
||
|
- self.assertSummary(lines[7].text, 'sandbox', '+', ['board4'])
|
||
|
- self.assertSummary(lines[8].text, 'arm', '', ['board1'],
|
||
|
+ self.assertSummary(lines[7].text, 'arm', '', ['board1'],
|
||
|
outcome=OUTCOME_OK)
|
||
|
- self.assertSummary(lines[9].text, 'powerpc', '+', ['board2', 'board3'])
|
||
|
+ self.assertSummary(lines[8].text, 'powerpc', '+', ['board2', 'board3'])
|
||
|
+ self.assertSummary(lines[9].text, 'sandbox', '+', ['board4'])
|
||
|
|
||
|
# Expect a compiler error
|
||
|
self.assertEqual(lines[10].text, '+%s' %
|
||
|
@@ -237,8 +237,6 @@ class TestBuild(unittest.TestCase):
|
||
|
|
||
|
# Fourth commit: Compile errors are fixed, just have warning for board3
|
||
|
self.assertEqual(lines[11].text, '04: %s' % commits[3][1])
|
||
|
- self.assertSummary(lines[12].text, 'sandbox', 'w+', ['board4'],
|
||
|
- outcome=OUTCOME_WARN)
|
||
|
expect = '%10s: ' % 'powerpc'
|
||
|
expect += ' ' + col.Color(col.GREEN, '')
|
||
|
expect += ' '
|
||
|
@@ -246,7 +244,9 @@ class TestBuild(unittest.TestCase):
|
||
|
expect += ' ' + col.Color(col.YELLOW, 'w+')
|
||
|
expect += ' '
|
||
|
expect += col.Color(col.YELLOW, ' %s' % 'board3')
|
||
|
- self.assertEqual(lines[13].text, expect)
|
||
|
+ self.assertEqual(lines[12].text, expect)
|
||
|
+ self.assertSummary(lines[13].text, 'sandbox', 'w+', ['board4'],
|
||
|
+ outcome=OUTCOME_WARN)
|
||
|
|
||
|
# Compile error fixed
|
||
|
self.assertEqual(lines[14].text, '-%s' %
|
||
|
@@ -259,9 +259,9 @@ class TestBuild(unittest.TestCase):
|
||
|
|
||
|
# Fifth commit
|
||
|
self.assertEqual(lines[16].text, '05: %s' % commits[4][1])
|
||
|
- self.assertSummary(lines[17].text, 'sandbox', '+', ['board4'])
|
||
|
- self.assertSummary(lines[18].text, 'powerpc', '', ['board3'],
|
||
|
+ self.assertSummary(lines[17].text, 'powerpc', '', ['board3'],
|
||
|
outcome=OUTCOME_OK)
|
||
|
+ self.assertSummary(lines[18].text, 'sandbox', '+', ['board4'])
|
||
|
|
||
|
# The second line of errors[3] is a duplicate, so buildman will drop it
|
||
|
expect = errors[3].rstrip().split('\n')
|
||
|
diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py
|
||
|
index a65737fdf8..cc26e2ede5 100644
|
||
|
--- a/tools/buildman/toolchain.py
|
||
|
+++ b/tools/buildman/toolchain.py
|
||
|
@@ -4,18 +4,19 @@
|
||
|
|
||
|
import re
|
||
|
import glob
|
||
|
-from HTMLParser import HTMLParser
|
||
|
+from html.parser import HTMLParser
|
||
|
import os
|
||
|
import sys
|
||
|
import tempfile
|
||
|
-import urllib2
|
||
|
+import urllib.request, urllib.error, urllib.parse
|
||
|
|
||
|
import bsettings
|
||
|
import command
|
||
|
import terminal
|
||
|
+import tools
|
||
|
|
||
|
(PRIORITY_FULL_PREFIX, PRIORITY_PREFIX_GCC, PRIORITY_PREFIX_GCC_PATH,
|
||
|
- PRIORITY_CALC) = range(4)
|
||
|
+ PRIORITY_CALC) = list(range(4))
|
||
|
|
||
|
# Simple class to collect links from a page
|
||
|
class MyHTMLParser(HTMLParser):
|
||
|
@@ -100,15 +101,15 @@ class Toolchain:
|
||
|
raise_on_error=False)
|
||
|
self.ok = result.return_code == 0
|
||
|
if verbose:
|
||
|
- print 'Tool chain test: ',
|
||
|
+ print('Tool chain test: ', end=' ')
|
||
|
if self.ok:
|
||
|
- print "OK, arch='%s', priority %d" % (self.arch,
|
||
|
- self.priority)
|
||
|
+ print("OK, arch='%s', priority %d" % (self.arch,
|
||
|
+ self.priority))
|
||
|
else:
|
||
|
- print 'BAD'
|
||
|
- print 'Command: ', cmd
|
||
|
- print result.stdout
|
||
|
- print result.stderr
|
||
|
+ print('BAD')
|
||
|
+ print('Command: ', cmd)
|
||
|
+ print(result.stdout)
|
||
|
+ print(result.stderr)
|
||
|
else:
|
||
|
self.ok = True
|
||
|
|
||
|
@@ -138,7 +139,7 @@ class Toolchain:
|
||
|
value = ''
|
||
|
for name, value in bsettings.GetItems('toolchain-wrapper'):
|
||
|
if not value:
|
||
|
- print "Warning: Wrapper not found"
|
||
|
+ print("Warning: Wrapper not found")
|
||
|
if value:
|
||
|
value = value + ' '
|
||
|
|
||
|
@@ -227,11 +228,11 @@ class Toolchains:
|
||
|
"""
|
||
|
toolchains = bsettings.GetItems('toolchain')
|
||
|
if show_warning and not toolchains:
|
||
|
- print ("Warning: No tool chains. Please run 'buildman "
|
||
|
+ print(("Warning: No tool chains. Please run 'buildman "
|
||
|
"--fetch-arch all' to download all available toolchains, or "
|
||
|
"add a [toolchain] section to your buildman config file "
|
||
|
"%s. See README for details" %
|
||
|
- bsettings.config_fname)
|
||
|
+ bsettings.config_fname))
|
||
|
|
||
|
paths = []
|
||
|
for name, value in toolchains:
|
||
|
@@ -272,10 +273,10 @@ class Toolchains:
|
||
|
if add_it:
|
||
|
self.toolchains[toolchain.arch] = toolchain
|
||
|
elif verbose:
|
||
|
- print ("Toolchain '%s' at priority %d will be ignored because "
|
||
|
+ print(("Toolchain '%s' at priority %d will be ignored because "
|
||
|
"another toolchain for arch '%s' has priority %d" %
|
||
|
(toolchain.gcc, toolchain.priority, toolchain.arch,
|
||
|
- self.toolchains[toolchain.arch].priority))
|
||
|
+ self.toolchains[toolchain.arch].priority)))
|
||
|
|
||
|
def ScanPath(self, path, verbose):
|
||
|
"""Scan a path for a valid toolchain
|
||
|
@@ -289,9 +290,9 @@ class Toolchains:
|
||
|
fnames = []
|
||
|
for subdir in ['.', 'bin', 'usr/bin']:
|
||
|
dirname = os.path.join(path, subdir)
|
||
|
- if verbose: print " - looking in '%s'" % dirname
|
||
|
+ if verbose: print(" - looking in '%s'" % dirname)
|
||
|
for fname in glob.glob(dirname + '/*gcc'):
|
||
|
- if verbose: print " - found '%s'" % fname
|
||
|
+ if verbose: print(" - found '%s'" % fname)
|
||
|
fnames.append(fname)
|
||
|
return fnames
|
||
|
|
||
|
@@ -321,9 +322,9 @@ class Toolchains:
|
||
|
Args:
|
||
|
verbose: True to print out progress information
|
||
|
"""
|
||
|
- if verbose: print 'Scanning for tool chains'
|
||
|
+ if verbose: print('Scanning for tool chains')
|
||
|
for name, value in self.prefixes:
|
||
|
- if verbose: print " - scanning prefix '%s'" % value
|
||
|
+ if verbose: print(" - scanning prefix '%s'" % value)
|
||
|
if os.path.exists(value):
|
||
|
self.Add(value, True, verbose, PRIORITY_FULL_PREFIX, name)
|
||
|
continue
|
||
|
@@ -335,10 +336,10 @@ class Toolchains:
|
||
|
for f in fname_list:
|
||
|
self.Add(f, True, verbose, PRIORITY_PREFIX_GCC_PATH, name)
|
||
|
if not fname_list:
|
||
|
- raise ValueError, ("No tool chain found for prefix '%s'" %
|
||
|
+ raise ValueError("No tool chain found for prefix '%s'" %
|
||
|
value)
|
||
|
for path in self.paths:
|
||
|
- if verbose: print " - scanning path '%s'" % path
|
||
|
+ if verbose: print(" - scanning path '%s'" % path)
|
||
|
fnames = self.ScanPath(path, verbose)
|
||
|
for fname in fnames:
|
||
|
self.Add(fname, True, verbose)
|
||
|
@@ -346,13 +347,13 @@ class Toolchains:
|
||
|
def List(self):
|
||
|
"""List out the selected toolchains for each architecture"""
|
||
|
col = terminal.Color()
|
||
|
- print col.Color(col.BLUE, 'List of available toolchains (%d):' %
|
||
|
- len(self.toolchains))
|
||
|
+ print(col.Color(col.BLUE, 'List of available toolchains (%d):' %
|
||
|
+ len(self.toolchains)))
|
||
|
if len(self.toolchains):
|
||
|
- for key, value in sorted(self.toolchains.iteritems()):
|
||
|
- print '%-10s: %s' % (key, value.gcc)
|
||
|
+ for key, value in sorted(self.toolchains.items()):
|
||
|
+ print('%-10s: %s' % (key, value.gcc))
|
||
|
else:
|
||
|
- print 'None'
|
||
|
+ print('None')
|
||
|
|
||
|
def Select(self, arch):
|
||
|
"""Returns the toolchain for a given architecture
|
||
|
@@ -370,7 +371,7 @@ class Toolchains:
|
||
|
return self.toolchains[alias]
|
||
|
|
||
|
if not arch in self.toolchains:
|
||
|
- raise ValueError, ("No tool chain found for arch '%s'" % arch)
|
||
|
+ raise ValueError("No tool chain found for arch '%s'" % arch)
|
||
|
return self.toolchains[arch]
|
||
|
|
||
|
def ResolveReferences(self, var_dict, args):
|
||
|
@@ -464,9 +465,9 @@ class Toolchains:
|
||
|
links = []
|
||
|
for version in versions:
|
||
|
url = '%s/%s/%s/' % (base, arch, version)
|
||
|
- print 'Checking: %s' % url
|
||
|
- response = urllib2.urlopen(url)
|
||
|
- html = response.read()
|
||
|
+ print('Checking: %s' % url)
|
||
|
+ response = urllib.request.urlopen(url)
|
||
|
+ html = tools.ToString(response.read())
|
||
|
parser = MyHTMLParser(fetch_arch)
|
||
|
parser.feed(html)
|
||
|
if fetch_arch == 'list':
|
||
|
@@ -488,14 +489,14 @@ class Toolchains:
|
||
|
Full path to the downloaded archive file in that directory,
|
||
|
or None if there was an error while downloading
|
||
|
"""
|
||
|
- print 'Downloading: %s' % url
|
||
|
+ print('Downloading: %s' % url)
|
||
|
leaf = url.split('/')[-1]
|
||
|
tmpdir = tempfile.mkdtemp('.buildman')
|
||
|
- response = urllib2.urlopen(url)
|
||
|
+ response = urllib.request.urlopen(url)
|
||
|
fname = os.path.join(tmpdir, leaf)
|
||
|
fd = open(fname, 'wb')
|
||
|
meta = response.info()
|
||
|
- size = int(meta.getheaders('Content-Length')[0])
|
||
|
+ size = int(meta.get('Content-Length'))
|
||
|
done = 0
|
||
|
block_size = 1 << 16
|
||
|
status = ''
|
||
|
@@ -504,19 +505,19 @@ class Toolchains:
|
||
|
while True:
|
||
|
buffer = response.read(block_size)
|
||
|
if not buffer:
|
||
|
- print chr(8) * (len(status) + 1), '\r',
|
||
|
+ print(chr(8) * (len(status) + 1), '\r', end=' ')
|
||
|
break
|
||
|
|
||
|
done += len(buffer)
|
||
|
fd.write(buffer)
|
||
|
- status = r'%10d MiB [%3d%%]' % (done / 1024 / 1024,
|
||
|
- done * 100 / size)
|
||
|
+ status = r'%10d MiB [%3d%%]' % (done // 1024 // 1024,
|
||
|
+ done * 100 // size)
|
||
|
status = status + chr(8) * (len(status) + 1)
|
||
|
- print status,
|
||
|
+ print(status, end=' ')
|
||
|
sys.stdout.flush()
|
||
|
fd.close()
|
||
|
if done != size:
|
||
|
- print 'Error, failed to download'
|
||
|
+ print('Error, failed to download')
|
||
|
os.remove(fname)
|
||
|
fname = None
|
||
|
return tmpdir, fname
|
||
|
@@ -565,11 +566,11 @@ class Toolchains:
|
||
|
"""
|
||
|
# Fist get the URL for this architecture
|
||
|
col = terminal.Color()
|
||
|
- print col.Color(col.BLUE, "Downloading toolchain for arch '%s'" % arch)
|
||
|
+ print(col.Color(col.BLUE, "Downloading toolchain for arch '%s'" % arch))
|
||
|
url = self.LocateArchUrl(arch)
|
||
|
if not url:
|
||
|
- print ("Cannot find toolchain for arch '%s' - use 'list' to list" %
|
||
|
- arch)
|
||
|
+ print(("Cannot find toolchain for arch '%s' - use 'list' to list" %
|
||
|
+ arch))
|
||
|
return 2
|
||
|
home = os.environ['HOME']
|
||
|
dest = os.path.join(home, '.buildman-toolchains')
|
||
|
@@ -580,28 +581,28 @@ class Toolchains:
|
||
|
tmpdir, tarfile = self.Download(url)
|
||
|
if not tarfile:
|
||
|
return 1
|
||
|
- print col.Color(col.GREEN, 'Unpacking to: %s' % dest),
|
||
|
+ print(col.Color(col.GREEN, 'Unpacking to: %s' % dest), end=' ')
|
||
|
sys.stdout.flush()
|
||
|
path = self.Unpack(tarfile, dest)
|
||
|
os.remove(tarfile)
|
||
|
os.rmdir(tmpdir)
|
||
|
- print
|
||
|
+ print()
|
||
|
|
||
|
# Check that the toolchain works
|
||
|
- print col.Color(col.GREEN, 'Testing')
|
||
|
+ print(col.Color(col.GREEN, 'Testing'))
|
||
|
dirpath = os.path.join(dest, path)
|
||
|
compiler_fname_list = self.ScanPath(dirpath, True)
|
||
|
if not compiler_fname_list:
|
||
|
- print 'Could not locate C compiler - fetch failed.'
|
||
|
+ print('Could not locate C compiler - fetch failed.')
|
||
|
return 1
|
||
|
if len(compiler_fname_list) != 1:
|
||
|
- print col.Color(col.RED, 'Warning, ambiguous toolchains: %s' %
|
||
|
- ', '.join(compiler_fname_list))
|
||
|
+ print(col.Color(col.RED, 'Warning, ambiguous toolchains: %s' %
|
||
|
+ ', '.join(compiler_fname_list)))
|
||
|
toolchain = Toolchain(compiler_fname_list[0], True, True)
|
||
|
|
||
|
# Make sure that it will be found by buildman
|
||
|
if not self.TestSettingsHasPath(dirpath):
|
||
|
- print ("Adding 'download' to config file '%s'" %
|
||
|
- bsettings.config_fname)
|
||
|
+ print(("Adding 'download' to config file '%s'" %
|
||
|
+ bsettings.config_fname))
|
||
|
bsettings.SetItem('toolchain', 'download', '%s/*/*' % dest)
|
||
|
return 0
|
||
|
|
||
|
From patchwork Thu Oct 31 13:42:54 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187484
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="aWMX3kcl"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mrw3YxGz9sP4
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:49:20 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id EAE90C21F48; Thu, 31 Oct 2019 13:46:14 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id 6E46AC21F7A;
|
||
|
Thu, 31 Oct 2019 13:43:59 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 46CFDC21F59; Thu, 31 Oct 2019 13:43:35 +0000 (UTC)
|
||
|
Received: from mail-il1-f170.google.com (mail-il1-f170.google.com
|
||
|
[209.85.166.170])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 61249C21EFF
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:32 +0000 (UTC)
|
||
|
Received: by mail-il1-f170.google.com with SMTP id j2so3285633ilc.10
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:32 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=WvfoIM7vcHEVBxx3jeVAoi2DTqbA8itTdzLtIbhqphQ=;
|
||
|
b=aWMX3kcl/KaYZJyVbmYy3fQ+oGag1hoLeHkJYXvvXfYN134wxy8G/sMG8V1Fza74S6
|
||
|
acP9SNCSocIvutqe2tV5j1Bmnqyad58P1stX39yEiK855iJfaBNt8B/Nqz+xwTY+qHfX
|
||
|
UChai6dceWoaDuSNikO4NHh9L0GLTonoyrFSk=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=WvfoIM7vcHEVBxx3jeVAoi2DTqbA8itTdzLtIbhqphQ=;
|
||
|
b=IkUa7hy6omELra+senCIU04BJ8E22NnOf8RpnaAM4C3ZQanrCZbV7sXhuSadUqh3ow
|
||
|
8bWv2DRyxoHblNNy3baulgL7fUjCsyC4Uu14nEMUQJk5S0dq0OnDRGfTr5kGh0R5iKb6
|
||
|
sEx20SA4yvvHSmqb2QVrzcIovtmUFvNpDyPzYB3Kgc4nuyi6sTef6CpYEZvKGTOaT5nU
|
||
|
EG5pDVVK/j+OHabPREap9XqXDuo1PNa+TvggimUcnkC9du7yXXs3oKxb/CKuxQ4WOwF+
|
||
|
YCr3a2ZnriWh+9kDc1nSnBEoWVTTEa7QGhu0s0aY0aZys4SKAocy9fcyawxmvFNI3/H0
|
||
|
CC5g==
|
||
|
X-Gm-Message-State: APjAAAUKec0vMmJia13ml5X/j+Muuzo5UutAQ6pRTHR1WDxS6S7hP8g1
|
||
|
R5NmH+XUbhso5M0CPAAStzIYKT8UyX4/tg==
|
||
|
X-Google-Smtp-Source: APXvYqy2WzynqGkxcIwxWjZ4S+AFr3Plxm1WXc1wYu510JIxlS0LuCf7GSnwXYTuSdVWETWvfOdlpQ==
|
||
|
X-Received: by 2002:a92:c8:: with SMTP id 191mr6429977ila.287.1572529411052;
|
||
|
Thu, 31 Oct 2019 06:43:31 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.30
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:30 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:54 -0600
|
||
|
Message-Id: <20191031134310.3072-5-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 05/17] test_fdt: Move to use Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Update this test to use Python 3 to meet the 2020 deadline.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/dtoc/test_fdt.py | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/tools/dtoc/test_fdt.py b/tools/dtoc/test_fdt.py
|
||
|
index 028c8cbaa8..3316757e61 100755
|
||
|
--- a/tools/dtoc/test_fdt.py
|
||
|
+++ b/tools/dtoc/test_fdt.py
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/python
|
||
|
+#!/usr/bin/env python3
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
# Copyright (c) 2018 Google, Inc
|
||
|
# Written by Simon Glass <sjg@chromium.org>
|
||
|
|
||
|
From patchwork Thu Oct 31 13:42:55 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187482
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="OmyyrzOw"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mrr02nNz9sP4
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:49:15 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id B7AD1C21E52; Thu, 31 Oct 2019 13:46:23 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id E7428C21F87;
|
||
|
Thu, 31 Oct 2019 13:43:59 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id AEECEC21F67; Thu, 31 Oct 2019 13:43:35 +0000 (UTC)
|
||
|
Received: from mail-il1-f193.google.com (mail-il1-f193.google.com
|
||
|
[209.85.166.193])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 1DBC8C21ECE
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:33 +0000 (UTC)
|
||
|
Received: by mail-il1-f193.google.com with SMTP id p8so5431915ilp.2
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:33 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=Dwe1IyWKUHIikKMIUO0YkknpJamu85+BI10qnkHTSCE=;
|
||
|
b=OmyyrzOwQ5yHUDLwXnTc/LYKbLBJzGimnzrHrElaSg9ivw+Pf7BKeWMFbNTOkiHBBb
|
||
|
UeYw2tVg462f/c9w6kcQJe+wWmjpf3+ytMHqM3xT60KBrpSgu3FSiW88m+zI65gQViRG
|
||
|
dAQfpUhOnayZSIS3p5LKskWznrOvPF0N2BstE=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=Dwe1IyWKUHIikKMIUO0YkknpJamu85+BI10qnkHTSCE=;
|
||
|
b=MapWpd1XJfYC9jcelfSt0QoayaCGwt1efwqWxHRRKHjHrJuKmhXL/DMhk7NqTE+FAo
|
||
|
bfd17A5VMQyYpRZIe4vvXA//5miW55yu3BDb4t86iC/+7H4XtEQ4FYgt5DWYYsK+aEmF
|
||
|
vmVaMbqvoIeeY2cHOLxXTprjawckSr2tyYv975xN4HxZz20jH0vd3tZxGvbLwfjRWEMc
|
||
|
Z+82ajNHTZ5XRLYbYjxeP9vRZZXsQG6UzAXMBp3RBKCwNDbOlgczaCIxjaqPSgRa2npS
|
||
|
J3HMRUNnl7dTojPNMU1SYZyBA6nngnkE+LngJctxRrGx+reUGIr5pHoab7jBPwgn4gry
|
||
|
5IUQ==
|
||
|
X-Gm-Message-State: APjAAAXiU03iAEBAMK/upT0k3/T5g3bwdPuvsx9rXGCwixzm7X/thlk4
|
||
|
irXyfGzug04Oq6pRdF61Ry9H485P7zQUDg==
|
||
|
X-Google-Smtp-Source: APXvYqxUEaVVqiptJO3Q4wqBhoNUlxU7dYbH8DZLIGo8kBAp7KWAPHNWJjiIrh1flUw8rMK9dQMsSw==
|
||
|
X-Received: by 2002:a92:6910:: with SMTP id e16mr6278039ilc.186.1572529411865;
|
||
|
Thu, 31 Oct 2019 06:43:31 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.31
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:31 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:55 -0600
|
||
|
Message-Id: <20191031134310.3072-6-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 06/17] test_dtoc: Move to use Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Update this test to use Python 3 to meet the 2020 deadline.
|
||
|
|
||
|
Also make it executable while we are here.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/dtoc/dtoc.py | 2 +-
|
||
|
tools/dtoc/test_dtoc.py | 1 +
|
||
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
||
|
mode change 100644 => 100755 tools/dtoc/test_dtoc.py
|
||
|
|
||
|
diff --git a/tools/dtoc/dtoc.py b/tools/dtoc/dtoc.py
|
||
|
index 514e0dd4a3..b3596a5918 100755
|
||
|
--- a/tools/dtoc/dtoc.py
|
||
|
+++ b/tools/dtoc/dtoc.py
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/env python2
|
||
|
+#!/usr/bin/env python3
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
#
|
||
|
# Copyright (C) 2016 Google, Inc
|
||
|
diff --git a/tools/dtoc/test_dtoc.py b/tools/dtoc/test_dtoc.py
|
||
|
old mode 100644
|
||
|
new mode 100755
|
||
|
index b915b27856..d733b70655
|
||
|
--- a/tools/dtoc/test_dtoc.py
|
||
|
+++ b/tools/dtoc/test_dtoc.py
|
||
|
@@ -1,3 +1,4 @@
|
||
|
+#!/usr/bin/env python3
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
# Copyright (c) 2012 The Chromium OS Authors.
|
||
|
#
|
||
|
|
||
|
From patchwork Thu Oct 31 13:42:56 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187475
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="GtrSKYBX"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mn562Spz9sP6
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:46:01 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 6F6E6C21F31; Thu, 31 Oct 2019 13:44:47 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id 27988C21F41;
|
||
|
Thu, 31 Oct 2019 13:43:43 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id BA2F7C21EDE; Thu, 31 Oct 2019 13:43:36 +0000 (UTC)
|
||
|
Received: from mail-il1-f172.google.com (mail-il1-f172.google.com
|
||
|
[209.85.166.172])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 0E4DEC21EBE
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:34 +0000 (UTC)
|
||
|
Received: by mail-il1-f172.google.com with SMTP id i12so5410351ils.6
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:33 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=aju0cJW8DjgveHYiUY/izJmrPptMz7OF+fCBSSxsbbo=;
|
||
|
b=GtrSKYBX/R7tRCqmlrVw7jvu3fWbiT+EkDYaLCfVmvavgI4Tg58kG6lVn0NY75ds0E
|
||
|
Xz6d1rsbIhjZBj/yiANeG564a/qo2JJ+677FVQvbOxH9pGE58GgrXL77LHo/Xu4J4vMG
|
||
|
NG+OLfj7OXz3yJsZ6IR7vGuC3IRFQ/E+w5moo=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=aju0cJW8DjgveHYiUY/izJmrPptMz7OF+fCBSSxsbbo=;
|
||
|
b=nm3drLMihVenuk7/RgeqTxWLDbhb+9giBLwmXwyj6of9dtHvvEi/pU/T4LjqVmleCF
|
||
|
uFz3sghWv3Ws5Df6KX2f8dNzbaG3UeTze72+eDRmo4NRKyUO4tXX8+1jqlrwY3+VID9y
|
||
|
QeJZ9t/zMOUZm2PRLvaZNKdHAsP2gUHggb3xotI3ommx790w+8CO97QosmCTkZXygPGr
|
||
|
eAX8Xkh2eOb6FTcydTLIlvjP38+A3Yy2rGQLclH56xJsOGgLKrhab733NVJU3B2n0gG3
|
||
|
rWixAopTNj0OYDEK0JF8GWrdps5GNnI9F5D4jLaAfhqseUhMK+2LfBj+/zhi+wwvf5Lo
|
||
|
gKAA==
|
||
|
X-Gm-Message-State: APjAAAXpDdO6wvC2PlazDvdAQjQVWSuBuUie19od4C/jEb26qWxn9Lir
|
||
|
DZh9G2FnIbjIhbniUB2nLiaJAUt37860FA==
|
||
|
X-Google-Smtp-Source: APXvYqzOHaFrjjDVaFpXrNi28wrkmrXiv4f36NcTBd6d55k1B+EvUFSn28gMFdivecjekA0IteG6Ug==
|
||
|
X-Received: by 2002:a92:865c:: with SMTP id g89mr6504266ild.291.1572529412766;
|
||
|
Thu, 31 Oct 2019 06:43:32 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.32
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:32 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:56 -0600
|
||
|
Message-Id: <20191031134310.3072-7-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 07/17] microcode_tool: Convert to Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Convert this tool to Python 3 and make it use that, to meet the 2020
|
||
|
deadline.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/microcode-tool.py | 28 ++++++++++++++--------------
|
||
|
1 file changed, 14 insertions(+), 14 deletions(-)
|
||
|
|
||
|
diff --git a/tools/microcode-tool.py b/tools/microcode-tool.py
|
||
|
index 249a33b8ca..24c02c4fca 100755
|
||
|
--- a/tools/microcode-tool.py
|
||
|
+++ b/tools/microcode-tool.py
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/env python2
|
||
|
+#!/usr/bin/env python3
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
#
|
||
|
# Copyright (c) 2014 Google, Inc
|
||
|
@@ -126,15 +126,15 @@ def List(date, microcodes, model):
|
||
|
microcodes: Dict of Microcode objects indexed by name
|
||
|
model: Model string to search for, or None
|
||
|
"""
|
||
|
- print 'Date: %s' % date
|
||
|
+ print('Date: %s' % date)
|
||
|
if model:
|
||
|
mcode_list, tried = FindMicrocode(microcodes, model.lower())
|
||
|
- print 'Matching models %s:' % (', '.join(tried))
|
||
|
+ print('Matching models %s:' % (', '.join(tried)))
|
||
|
else:
|
||
|
- print 'All models:'
|
||
|
- mcode_list = [microcodes[m] for m in microcodes.keys()]
|
||
|
+ print('All models:')
|
||
|
+ mcode_list = [microcodes[m] for m in list(microcodes.keys())]
|
||
|
for mcode in mcode_list:
|
||
|
- print '%-20s: model %s' % (mcode.name, mcode.model)
|
||
|
+ print('%-20s: model %s' % (mcode.name, mcode.model))
|
||
|
|
||
|
def FindMicrocode(microcodes, model):
|
||
|
"""Find all the microcode chunks which match the given model.
|
||
|
@@ -164,7 +164,7 @@ def FindMicrocode(microcodes, model):
|
||
|
for i in range(3):
|
||
|
abbrev = model[:-i] if i else model
|
||
|
tried.append(abbrev)
|
||
|
- for mcode in microcodes.values():
|
||
|
+ for mcode in list(microcodes.values()):
|
||
|
if mcode.model.startswith(abbrev):
|
||
|
found.append(mcode)
|
||
|
if found:
|
||
|
@@ -229,17 +229,17 @@ data = <%s
|
||
|
args += [mcode.words[i] for i in range(7)]
|
||
|
args.append(words)
|
||
|
if outfile == '-':
|
||
|
- print out % tuple(args)
|
||
|
+ print(out % tuple(args))
|
||
|
else:
|
||
|
if not outfile:
|
||
|
if not os.path.exists(MICROCODE_DIR):
|
||
|
- print >> sys.stderr, "Creating directory '%s'" % MICROCODE_DIR
|
||
|
+ print("Creating directory '%s'" % MICROCODE_DIR, file=sys.stderr)
|
||
|
os.makedirs(MICROCODE_DIR)
|
||
|
outfile = os.path.join(MICROCODE_DIR, mcode.name + '.dtsi')
|
||
|
- print >> sys.stderr, "Writing microcode for '%s' to '%s'" % (
|
||
|
- ', '.join([mcode.name for mcode in mcodes]), outfile)
|
||
|
+ print("Writing microcode for '%s' to '%s'" % (
|
||
|
+ ', '.join([mcode.name for mcode in mcodes]), outfile), file=sys.stderr)
|
||
|
with open(outfile, 'w') as fd:
|
||
|
- print >> fd, out % tuple(args)
|
||
|
+ print(out % tuple(args), file=fd)
|
||
|
|
||
|
def MicrocodeTool():
|
||
|
"""Run the microcode tool"""
|
||
|
@@ -289,14 +289,14 @@ def MicrocodeTool():
|
||
|
if cmd == 'list':
|
||
|
List(date, microcodes, options.model)
|
||
|
elif cmd == 'license':
|
||
|
- print '\n'.join(license_text)
|
||
|
+ print('\n'.join(license_text))
|
||
|
elif cmd == 'create':
|
||
|
if not options.model:
|
||
|
parser.error('You must specify a model to create')
|
||
|
model = options.model.lower()
|
||
|
if options.model == 'all':
|
||
|
options.multiple = True
|
||
|
- mcode_list = microcodes.values()
|
||
|
+ mcode_list = list(microcodes.values())
|
||
|
tried = []
|
||
|
else:
|
||
|
mcode_list, tried = FindMicrocode(microcodes, model)
|
||
|
|
||
|
From patchwork Thu Oct 31 13:42:57 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187479
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="EEiLZ2vw"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mqC3lvCz9sPJ
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:47:51 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 22651C21F3F; Thu, 31 Oct 2019 13:45:56 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id E0648C21F68;
|
||
|
Thu, 31 Oct 2019 13:43:54 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id E601AC21EF7; Thu, 31 Oct 2019 13:43:36 +0000 (UTC)
|
||
|
Received: from mail-il1-f196.google.com (mail-il1-f196.google.com
|
||
|
[209.85.166.196])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id E0DD5C21EF1
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:34 +0000 (UTC)
|
||
|
Received: by mail-il1-f196.google.com with SMTP id a13so5445083ilp.1
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:34 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=EKu7Wp5gZIhmBOcC9rz6M0b3y10kWMOl+3ETmUQO49w=;
|
||
|
b=EEiLZ2vwa7gRcFoCnCwqGIWKLebTr1Nhm+cfjT5SlxVQglIhY56Mptl1vZeOwQyUp0
|
||
|
dBQZ1aTQoR60wXEvpv99SIOFwRDQdhsOmK1Ig/cLXfSWtqZ/mJlk/uVwgp8p07afhP7y
|
||
|
19vv123d7plakTPky/4tE7MmSx/JfPlLRRpNU=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=EKu7Wp5gZIhmBOcC9rz6M0b3y10kWMOl+3ETmUQO49w=;
|
||
|
b=oekGIcWO5GleQAGP+aaH4MLQRlblB5OhMJlWFrv/U1lza5pd+vKGU+33AvAMdZI576
|
||
|
ynf/siRwsc6d8GbiTHu+OT6gvhWahgPd44y5ReLAKHqJqjvuk/C8jLochZuVCy8j3tVU
|
||
|
iUgG7uCA7Abcyygogpp2l8Yf4gH6K4IslTmGeBDIM40X6RbwB9+2G16r8189LfeB5r6m
|
||
|
TLEJKkV6mNAMQs+QP9HidGZxP4gV1Tjbuj59tdEC8zXcSbaRNk8JOXZFPYbiywdhdJkg
|
||
|
Q//HSZh9frOehM65u8jLPymMw6dzH0TVIFEoXBmcURlkKKNi1Eyu6JdoDhOligyoQhSY
|
||
|
a2nQ==
|
||
|
X-Gm-Message-State: APjAAAWaKxU+/DnsWwJPDXLotCkJvVvZMsMVMyInxEIuglLhhJPhRd9X
|
||
|
w25r1irgguPXrkbLfxPsIhpHaXgT4T6Tow==
|
||
|
X-Google-Smtp-Source: APXvYqw9dv6RysmcA6TM0mIv1y88JLbz/09SM/EC0M14ikYDInr/x/iZ+fRu9jZJScFWoSrmFgmPLQ==
|
||
|
X-Received: by 2002:a92:48d8:: with SMTP id j85mr6174684ilg.272.1572529413544;
|
||
|
Thu, 31 Oct 2019 06:43:33 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.32
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:33 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:57 -0600
|
||
|
Message-Id: <20191031134310.3072-8-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>, Chris Packham <judge.packham@gmail.com>
|
||
|
Subject: [U-Boot] [PATCH v2 08/17] move_config: Convert to Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Convert this tool to Python 3 and make it use that, to meet the 2020
|
||
|
deadline.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/moveconfig.py | 82 ++++++++++++++++++++++-----------------------
|
||
|
1 file changed, 41 insertions(+), 41 deletions(-)
|
||
|
|
||
|
diff --git a/tools/moveconfig.py b/tools/moveconfig.py
|
||
|
index b99417e9d6..e2ff4cfc88 100755
|
||
|
--- a/tools/moveconfig.py
|
||
|
+++ b/tools/moveconfig.py
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/env python2
|
||
|
+#!/usr/bin/env python3
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
#
|
||
|
# Author: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||
|
@@ -304,7 +304,7 @@ import glob
|
||
|
import multiprocessing
|
||
|
import optparse
|
||
|
import os
|
||
|
-import Queue
|
||
|
+import queue
|
||
|
import re
|
||
|
import shutil
|
||
|
import subprocess
|
||
|
@@ -450,8 +450,8 @@ def get_matched_defconfigs(defconfigs_file):
|
||
|
line = line.split(' ')[0] # handle 'git log' input
|
||
|
matched = get_matched_defconfig(line)
|
||
|
if not matched:
|
||
|
- print >> sys.stderr, "warning: %s:%d: no defconfig matched '%s'" % \
|
||
|
- (defconfigs_file, i + 1, line)
|
||
|
+ print("warning: %s:%d: no defconfig matched '%s'" % \
|
||
|
+ (defconfigs_file, i + 1, line), file=sys.stderr)
|
||
|
|
||
|
defconfigs += matched
|
||
|
|
||
|
@@ -494,11 +494,11 @@ def show_diff(a, b, file_path, color_enabled):
|
||
|
|
||
|
for line in diff:
|
||
|
if line[0] == '-' and line[1] != '-':
|
||
|
- print color_text(color_enabled, COLOR_RED, line),
|
||
|
+ print(color_text(color_enabled, COLOR_RED, line), end=' ')
|
||
|
elif line[0] == '+' and line[1] != '+':
|
||
|
- print color_text(color_enabled, COLOR_GREEN, line),
|
||
|
+ print(color_text(color_enabled, COLOR_GREEN, line), end=' ')
|
||
|
else:
|
||
|
- print line,
|
||
|
+ print(line, end=' ')
|
||
|
|
||
|
def extend_matched_lines(lines, matched, pre_patterns, post_patterns, extend_pre,
|
||
|
extend_post):
|
||
|
@@ -554,9 +554,9 @@ def extend_matched_lines(lines, matched, pre_patterns, post_patterns, extend_pre
|
||
|
def confirm(options, prompt):
|
||
|
if not options.yes:
|
||
|
while True:
|
||
|
- choice = raw_input('{} [y/n]: '.format(prompt))
|
||
|
+ choice = input('{} [y/n]: '.format(prompt))
|
||
|
choice = choice.lower()
|
||
|
- print choice
|
||
|
+ print(choice)
|
||
|
if choice == 'y' or choice == 'n':
|
||
|
break
|
||
|
|
||
|
@@ -809,10 +809,10 @@ def try_expand(line):
|
||
|
val= val.strip('\"')
|
||
|
if re.search("[*+-/]|<<|SZ_+|\(([^\)]+)\)", val):
|
||
|
newval = hex(eval(val, SIZES))
|
||
|
- print "\tExpanded expression %s to %s" % (val, newval)
|
||
|
+ print("\tExpanded expression %s to %s" % (val, newval))
|
||
|
return cfg+'='+newval
|
||
|
except:
|
||
|
- print "\tFailed to expand expression in %s" % line
|
||
|
+ print("\tFailed to expand expression in %s" % line)
|
||
|
|
||
|
return line
|
||
|
|
||
|
@@ -838,7 +838,7 @@ class Progress:
|
||
|
|
||
|
def show(self):
|
||
|
"""Display the progress."""
|
||
|
- print ' %d defconfigs out of %d\r' % (self.current, self.total),
|
||
|
+ print(' %d defconfigs out of %d\r' % (self.current, self.total), end=' ')
|
||
|
sys.stdout.flush()
|
||
|
|
||
|
|
||
|
@@ -1236,7 +1236,7 @@ class Slot:
|
||
|
"Tool chain for '%s' is missing. Do nothing.\n" % arch)
|
||
|
self.finish(False)
|
||
|
return
|
||
|
- env = toolchain.MakeEnvironment(False)
|
||
|
+ env = toolchain.MakeEnvironment(False)
|
||
|
|
||
|
cmd = list(self.make_cmd)
|
||
|
cmd.append('KCONFIG_IGNORE_DUPLICATES=1')
|
||
|
@@ -1312,7 +1312,7 @@ class Slot:
|
||
|
log += '\n'.join([ ' ' + s for s in self.log.split('\n') ])
|
||
|
# Some threads are running in parallel.
|
||
|
# Print log atomically to not mix up logs from different threads.
|
||
|
- print >> (sys.stdout if success else sys.stderr), log
|
||
|
+ print(log, file=(sys.stdout if success else sys.stderr))
|
||
|
|
||
|
if not success:
|
||
|
if self.options.exit_on_error:
|
||
|
@@ -1411,8 +1411,8 @@ class Slots:
|
||
|
msg = "The following boards were not processed due to error:\n"
|
||
|
msg += boards
|
||
|
msg += "(the list has been saved in %s)\n" % output_file
|
||
|
- print >> sys.stderr, color_text(self.options.color, COLOR_LIGHT_RED,
|
||
|
- msg)
|
||
|
+ print(color_text(self.options.color, COLOR_LIGHT_RED,
|
||
|
+ msg), file=sys.stderr)
|
||
|
|
||
|
with open(output_file, 'w') as f:
|
||
|
f.write(boards)
|
||
|
@@ -1431,8 +1431,8 @@ class Slots:
|
||
|
msg += "It is highly recommended to check them manually:\n"
|
||
|
msg += boards
|
||
|
msg += "(the list has been saved in %s)\n" % output_file
|
||
|
- print >> sys.stderr, color_text(self.options.color, COLOR_YELLOW,
|
||
|
- msg)
|
||
|
+ print(color_text(self.options.color, COLOR_YELLOW,
|
||
|
+ msg), file=sys.stderr)
|
||
|
|
||
|
with open(output_file, 'w') as f:
|
||
|
f.write(boards)
|
||
|
@@ -1448,11 +1448,11 @@ class ReferenceSource:
|
||
|
commit: commit to git-clone
|
||
|
"""
|
||
|
self.src_dir = tempfile.mkdtemp()
|
||
|
- print "Cloning git repo to a separate work directory..."
|
||
|
+ print("Cloning git repo to a separate work directory...")
|
||
|
subprocess.check_output(['git', 'clone', os.getcwd(), '.'],
|
||
|
cwd=self.src_dir)
|
||
|
- print "Checkout '%s' to build the original autoconf.mk." % \
|
||
|
- subprocess.check_output(['git', 'rev-parse', '--short', commit]).strip()
|
||
|
+ print("Checkout '%s' to build the original autoconf.mk." % \
|
||
|
+ subprocess.check_output(['git', 'rev-parse', '--short', commit]).strip())
|
||
|
subprocess.check_output(['git', 'checkout', commit],
|
||
|
stderr=subprocess.STDOUT, cwd=self.src_dir)
|
||
|
|
||
|
@@ -1480,14 +1480,14 @@ def move_config(toolchains, configs, options, db_queue):
|
||
|
"""
|
||
|
if len(configs) == 0:
|
||
|
if options.force_sync:
|
||
|
- print 'No CONFIG is specified. You are probably syncing defconfigs.',
|
||
|
+ print('No CONFIG is specified. You are probably syncing defconfigs.', end=' ')
|
||
|
elif options.build_db:
|
||
|
- print 'Building %s database' % CONFIG_DATABASE
|
||
|
+ print('Building %s database' % CONFIG_DATABASE)
|
||
|
else:
|
||
|
- print 'Neither CONFIG nor --force-sync is specified. Nothing will happen.',
|
||
|
+ print('Neither CONFIG nor --force-sync is specified. Nothing will happen.', end=' ')
|
||
|
else:
|
||
|
- print 'Move ' + ', '.join(configs),
|
||
|
- print '(jobs: %d)\n' % options.jobs
|
||
|
+ print('Move ' + ', '.join(configs), end=' ')
|
||
|
+ print('(jobs: %d)\n' % options.jobs)
|
||
|
|
||
|
if options.git_ref:
|
||
|
reference_src = ReferenceSource(options.git_ref)
|
||
|
@@ -1517,7 +1517,7 @@ def move_config(toolchains, configs, options, db_queue):
|
||
|
while not slots.empty():
|
||
|
time.sleep(SLEEP_TIME)
|
||
|
|
||
|
- print ''
|
||
|
+ print('')
|
||
|
slots.show_failed_boards()
|
||
|
slots.show_suspicious_boards()
|
||
|
|
||
|
@@ -1691,15 +1691,15 @@ def do_imply_config(config_list, add_imply, imply_flags, skip_added,
|
||
|
for config in config_list:
|
||
|
defconfigs = defconfig_db.get(config)
|
||
|
if not defconfigs:
|
||
|
- print '%s not found in any defconfig' % config
|
||
|
+ print('%s not found in any defconfig' % config)
|
||
|
continue
|
||
|
|
||
|
# Get the set of defconfigs without this one (since a config cannot
|
||
|
# imply itself)
|
||
|
non_defconfigs = all_defconfigs - defconfigs
|
||
|
num_defconfigs = len(defconfigs)
|
||
|
- print '%s found in %d/%d defconfigs' % (config, num_defconfigs,
|
||
|
- len(all_configs))
|
||
|
+ print('%s found in %d/%d defconfigs' % (config, num_defconfigs,
|
||
|
+ len(all_configs)))
|
||
|
|
||
|
# This will hold the results: key=config, value=defconfigs containing it
|
||
|
imply_configs = {}
|
||
|
@@ -1736,7 +1736,7 @@ def do_imply_config(config_list, add_imply, imply_flags, skip_added,
|
||
|
if common_defconfigs:
|
||
|
skip = False
|
||
|
if find_superset:
|
||
|
- for prev in imply_configs.keys():
|
||
|
+ for prev in list(imply_configs.keys()):
|
||
|
prev_count = len(imply_configs[prev])
|
||
|
count = len(common_defconfigs)
|
||
|
if (prev_count > count and
|
||
|
@@ -1806,15 +1806,15 @@ def do_imply_config(config_list, add_imply, imply_flags, skip_added,
|
||
|
add_list[fname].append(linenum)
|
||
|
|
||
|
if show and kconfig_info != 'skip':
|
||
|
- print '%5d : %-30s%-25s %s' % (num_common, iconfig.ljust(30),
|
||
|
- kconfig_info, missing_str)
|
||
|
+ print('%5d : %-30s%-25s %s' % (num_common, iconfig.ljust(30),
|
||
|
+ kconfig_info, missing_str))
|
||
|
|
||
|
# Having collected a list of things to add, now we add them. We process
|
||
|
# each file from the largest line number to the smallest so that
|
||
|
# earlier additions do not affect our line numbers. E.g. if we added an
|
||
|
# imply at line 20 it would change the position of each line after
|
||
|
# that.
|
||
|
- for fname, linenums in add_list.iteritems():
|
||
|
+ for fname, linenums in add_list.items():
|
||
|
for linenum in sorted(linenums, reverse=True):
|
||
|
add_imply_rule(config[CONFIG_LEN:], fname, linenum)
|
||
|
|
||
|
@@ -1891,11 +1891,11 @@ def main():
|
||
|
for flag in options.imply_flags.split(','):
|
||
|
bad = flag not in IMPLY_FLAGS
|
||
|
if bad:
|
||
|
- print "Invalid flag '%s'" % flag
|
||
|
+ print("Invalid flag '%s'" % flag)
|
||
|
if flag == 'help' or bad:
|
||
|
- print "Imply flags: (separate with ',')"
|
||
|
- for name, info in IMPLY_FLAGS.iteritems():
|
||
|
- print ' %-15s: %s' % (name, info[1])
|
||
|
+ print("Imply flags: (separate with ',')")
|
||
|
+ for name, info in IMPLY_FLAGS.items():
|
||
|
+ print(' %-15s: %s' % (name, info[1]))
|
||
|
parser.print_usage()
|
||
|
sys.exit(1)
|
||
|
imply_flags |= IMPLY_FLAGS[flag][0]
|
||
|
@@ -1905,14 +1905,14 @@ def main():
|
||
|
return
|
||
|
|
||
|
config_db = {}
|
||
|
- db_queue = Queue.Queue()
|
||
|
+ db_queue = queue.Queue()
|
||
|
t = DatabaseThread(config_db, db_queue)
|
||
|
t.setDaemon(True)
|
||
|
t.start()
|
||
|
|
||
|
if not options.cleanup_headers_only:
|
||
|
check_clean_directory()
|
||
|
- bsettings.Setup('')
|
||
|
+ bsettings.Setup('')
|
||
|
toolchains = toolchain.Toolchains()
|
||
|
toolchains.GetSettings()
|
||
|
toolchains.Scan(verbose=False)
|
||
|
@@ -1939,7 +1939,7 @@ def main():
|
||
|
|
||
|
if options.build_db:
|
||
|
with open(CONFIG_DATABASE, 'w') as fd:
|
||
|
- for defconfig, configs in config_db.iteritems():
|
||
|
+ for defconfig, configs in config_db.items():
|
||
|
fd.write('%s\n' % defconfig)
|
||
|
for config in sorted(configs.keys()):
|
||
|
fd.write(' %s=%s\n' % (config, configs[config]))
|
||
|
|
||
|
From patchwork Thu Oct 31 13:42:58 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187471
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="BILReq2d"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mkn0PByz9sP6
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:44:00 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id B28EEC21F79; Thu, 31 Oct 2019 13:43:41 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id C2129C21F37;
|
||
|
Thu, 31 Oct 2019 13:43:39 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id BF33EC21E49; Thu, 31 Oct 2019 13:43:36 +0000 (UTC)
|
||
|
Received: from mail-il1-f178.google.com (mail-il1-f178.google.com
|
||
|
[209.85.166.178])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 90060C21F2F
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:35 +0000 (UTC)
|
||
|
Received: by mail-il1-f178.google.com with SMTP id s75so5427309ilc.3
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:35 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=I5oZa/FZu0jZ+e/qcSKV4vadEE8dO1yp9C/EYl/SlYg=;
|
||
|
b=BILReq2dlSyvaIrMX4dSwIeqvEFSAOnwaaDk10jRU9lUnqeCKjCq6hhljxL2gza/Tx
|
||
|
rSy7zogVZg/s5DAmBvDa+sCzZulQTP3qMirXxN4QPwg3eC0845BjdQYmBNncJeinUsVD
|
||
|
Uoo9R+T524JrP3gDQ2aBIdCDlf53x6wnq2mjg=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=I5oZa/FZu0jZ+e/qcSKV4vadEE8dO1yp9C/EYl/SlYg=;
|
||
|
b=GQTP6rleal1/CsN1092HDoeH/BHAZEq0hTJ8OjB+BGrXs4P0Xq8hsTI9ykMRRDEyzY
|
||
|
/4N0uTKx0aEaRAB1839XPwR2Rmdd+dEa3V8+hO2WfwmuYxciiTXQJBUKguju9HOEYDTS
|
||
|
H2UJRzKrcb++XQkcA5aac3tpjayVt1iXp1nuhsgARe19umoUgLkbkH1f1gPXbWhF/eIj
|
||
|
UN8OPYcbxGMYqYiDYQ/Bf/2hLCKJL/rT+8JFliCbvMgwcsS7drJj+ixaED2uLm6aiC5w
|
||
|
RNrmP03odYr20/srX5awYnq2fapZpy+n79/Aj7oDssLbyd6r0MDi2UnyJxDHCZMnut77
|
||
|
3Sbg==
|
||
|
X-Gm-Message-State: APjAAAXqQQHDGI1Y4yGKdxaC1go9fWJCgwBWy6H3R/36IyDdICvwvuTc
|
||
|
ysjxNyY1GHGJExcLC/Uz0ovhNSuyPHFjQw==
|
||
|
X-Google-Smtp-Source: APXvYqz8z2ljg5H8g4ap84YCD5/oP18nrHFYUoUH2ke6b5QgDPZYQUAJRN1aEg0SDarZB1uiwUXzjQ==
|
||
|
X-Received: by 2002:a92:458b:: with SMTP id z11mr5050608ilj.216.1572529414361;
|
||
|
Thu, 31 Oct 2019 06:43:34 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.33
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:33 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:58 -0600
|
||
|
Message-Id: <20191031134310.3072-9-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 09/17] rkmux: Convert to Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Convert this tool to Python 3 and make it use that, to meet the 2020
|
||
|
deadline.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/rkmux.py | 16 ++++++++--------
|
||
|
1 file changed, 8 insertions(+), 8 deletions(-)
|
||
|
|
||
|
diff --git a/tools/rkmux.py b/tools/rkmux.py
|
||
|
index 11c192a073..1226ee201c 100755
|
||
|
--- a/tools/rkmux.py
|
||
|
+++ b/tools/rkmux.py
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/env python2
|
||
|
+#!/usr/bin/env python3
|
||
|
|
||
|
# Script to create enums from datasheet register tables
|
||
|
#
|
||
|
@@ -43,8 +43,8 @@ class RegField:
|
||
|
self.desc.append(desc)
|
||
|
|
||
|
def Show(self):
|
||
|
- print self
|
||
|
- print
|
||
|
+ print(self)
|
||
|
+ print()
|
||
|
self.__init__()
|
||
|
|
||
|
def __str__(self):
|
||
|
@@ -65,11 +65,11 @@ class Printer:
|
||
|
self.output_footer()
|
||
|
|
||
|
def output_header(self):
|
||
|
- print '/* %s */' % self.name
|
||
|
- print 'enum {'
|
||
|
+ print('/* %s */' % self.name)
|
||
|
+ print('enum {')
|
||
|
|
||
|
def output_footer(self):
|
||
|
- print '};';
|
||
|
+ print('};');
|
||
|
|
||
|
def output_regfield(self, regfield):
|
||
|
lines = regfield.desc
|
||
|
@@ -97,7 +97,7 @@ class Printer:
|
||
|
self.first = False
|
||
|
self.output_header()
|
||
|
else:
|
||
|
- print
|
||
|
+ print()
|
||
|
out_enum(field, 'shift', bit_low)
|
||
|
out_enum(field, 'mask', mask)
|
||
|
next_val = -1
|
||
|
@@ -175,7 +175,7 @@ def out_enum(field, suffix, value, skip_val=False):
|
||
|
val_str = '%d' % value
|
||
|
|
||
|
str += '%s= %s' % ('\t' * tabs, val_str)
|
||
|
- print '\t%s,' % str
|
||
|
+ print('\t%s,' % str)
|
||
|
|
||
|
# Process a CSV file, e.g. from tabula
|
||
|
def process_csv(name, fd):
|
||
|
|
||
|
From patchwork Thu Oct 31 13:42:59 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187489
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="FUq3B6pP"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473msn0YThz9sP4
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:50:04 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id D0527C21F80; Thu, 31 Oct 2019 13:45:16 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id 402C8C21F3A;
|
||
|
Thu, 31 Oct 2019 13:43:50 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 7D521C21EF1; Thu, 31 Oct 2019 13:43:36 +0000 (UTC)
|
||
|
Received: from mail-il1-f173.google.com (mail-il1-f173.google.com
|
||
|
[209.85.166.173])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 62064C21F02
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:36 +0000 (UTC)
|
||
|
Received: by mail-il1-f173.google.com with SMTP id y5so5420185ilb.5
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:36 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=uWBFno2sM+BhqwLQsDf2vBXdPUXDDbJeE+rpysNIcSo=;
|
||
|
b=FUq3B6pPLJj4CnLi/SmaC31FXGkHAo6A4to9kT7+ogNKbozXNn8D0NsRcel5E59aKP
|
||
|
73HAu6jnWoPgxAPrzd2FihvAifMy38d5Q9PZgnUOOZSRGcFnLQymnXR/56vOtySmNV+H
|
||
|
AUhGy+1NZHwh0w6FahA3V9UAsqyESEOMENYlg=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=uWBFno2sM+BhqwLQsDf2vBXdPUXDDbJeE+rpysNIcSo=;
|
||
|
b=ZXrOikczX2qFuVDsCnn+5U6CH0EPDjSlEwD9oOzaUmC8nZhd+lqAvOWHt06R6oNDYW
|
||
|
6v859EpWzCA4KNKV4BkD2Un17NVbyFPT9B0ueL4t/sfboeGLdIFkrSWie8l35V+YzRi8
|
||
|
wnAdmJhquqPjZLVOpM31Kyn0u2U/o3y9JhF4bgP0V+TDMc9JVymj0lWifsbT5zTMjGxK
|
||
|
Z/mOcs6nm7TV4hyYSPreerpn9EqMaSmy9m5SGywFdn+0qXxcHdwe3ZCB63Gx+TLiUgyy
|
||
|
VV0IxV9CrkvzDYSVCHOs61QBGn7bYVpaXOQRtIZhlx0/r2saxwg7ztwulNot0CAfLES/
|
||
|
Jppg==
|
||
|
X-Gm-Message-State: APjAAAVPFnZZRkbgOljbZBe5txQLfkPngYPNIfCaiRxMa4FlTHUnPQhb
|
||
|
NH3BfxPF8F5aB0ty4LTipcXXoqP0bODH8Q==
|
||
|
X-Google-Smtp-Source: APXvYqzJuaFctVZJ1Kvu+AU28qFUSrcxvhPds2g8IY7CZYju6ZT/5SK9KVBw02wnkmJdBn6arbVGkQ==
|
||
|
X-Received: by 2002:a92:7ec1:: with SMTP id q62mr2721209ill.286.1572529415148;
|
||
|
Thu, 31 Oct 2019 06:43:35 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.34
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:34 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:42:59 -0600
|
||
|
Message-Id: <20191031134310.3072-10-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>, Josef Lusticky <josef@lusticky.cz>
|
||
|
Subject: [U-Boot] [PATCH v2 10/17] pylibfdt: Convert to Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Build this swig module with Python 3.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
scripts/dtc/pylibfdt/Makefile | 2 +-
|
||
|
scripts/dtc/pylibfdt/libfdt.i_shipped | 2 +-
|
||
|
scripts/dtc/pylibfdt/setup.py | 2 +-
|
||
|
tools/binman/entry.py | 16 ++--------------
|
||
|
tools/binman/entry_test.py | 15 ---------------
|
||
|
tools/binman/etype/intel_fit.py | 2 +-
|
||
|
6 files changed, 6 insertions(+), 33 deletions(-)
|
||
|
|
||
|
diff --git a/scripts/dtc/pylibfdt/Makefile b/scripts/dtc/pylibfdt/Makefile
|
||
|
index 15e66ad44d..42342c75bb 100644
|
||
|
--- a/scripts/dtc/pylibfdt/Makefile
|
||
|
+++ b/scripts/dtc/pylibfdt/Makefile
|
||
|
@@ -21,7 +21,7 @@ quiet_cmd_pymod = PYMOD $@
|
||
|
CPPFLAGS="$(HOSTCFLAGS) -I$(LIBFDT_srcdir)" OBJDIR=$(obj) \
|
||
|
SOURCES="$(PYLIBFDT_srcs)" \
|
||
|
SWIG_OPTS="-I$(LIBFDT_srcdir) -I$(LIBFDT_srcdir)/.." \
|
||
|
- $(PYTHON2) $< --quiet build_ext --inplace
|
||
|
+ $(PYTHON3) $< --quiet build_ext --inplace
|
||
|
|
||
|
$(obj)/_libfdt.so: $(src)/setup.py $(PYLIBFDT_srcs) FORCE
|
||
|
$(call if_changed,pymod)
|
||
|
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
|
||
|
index 76e61e98bd..53b70f8f5e 100644
|
||
|
--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
|
||
|
+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
|
||
|
@@ -624,7 +624,7 @@ class Fdt(FdtRo):
|
||
|
Raises:
|
||
|
FdtException if no parent found or other error occurs
|
||
|
"""
|
||
|
- val = val.encode('utf-8') + '\0'
|
||
|
+ val = val.encode('utf-8') + b'\0'
|
||
|
return check_err(fdt_setprop(self._fdt, nodeoffset, prop_name,
|
||
|
val, len(val)), quiet)
|
||
|
|
||
|
diff --git a/scripts/dtc/pylibfdt/setup.py b/scripts/dtc/pylibfdt/setup.py
|
||
|
index 4f7cf042bf..992cdec30f 100755
|
||
|
--- a/scripts/dtc/pylibfdt/setup.py
|
||
|
+++ b/scripts/dtc/pylibfdt/setup.py
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/env python2
|
||
|
+#!/usr/bin/env python3
|
||
|
|
||
|
"""
|
||
|
setup.py file for SWIG libfdt
|
||
|
diff --git a/tools/binman/entry.py b/tools/binman/entry.py
|
||
|
index 409c0dca93..5bf5be4794 100644
|
||
|
--- a/tools/binman/entry.py
|
||
|
+++ b/tools/binman/entry.py
|
||
|
@@ -7,16 +7,7 @@
|
||
|
from __future__ import print_function
|
||
|
|
||
|
from collections import namedtuple
|
||
|
-
|
||
|
-# importlib was introduced in Python 2.7 but there was a report of it not
|
||
|
-# working in 2.7.12, so we work around this:
|
||
|
-# http://lists.denx.de/pipermail/u-boot/2016-October/269729.html
|
||
|
-try:
|
||
|
- import importlib
|
||
|
- have_importlib = True
|
||
|
-except:
|
||
|
- have_importlib = False
|
||
|
-
|
||
|
+import importlib
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
@@ -119,10 +110,7 @@ class Entry(object):
|
||
|
old_path = sys.path
|
||
|
sys.path.insert(0, os.path.join(our_path, 'etype'))
|
||
|
try:
|
||
|
- if have_importlib:
|
||
|
- module = importlib.import_module(module_name)
|
||
|
- else:
|
||
|
- module = __import__(module_name)
|
||
|
+ module = importlib.import_module(module_name)
|
||
|
except ImportError as e:
|
||
|
raise ValueError("Unknown entry type '%s' in node '%s' (expected etype/%s.py, error '%s'" %
|
||
|
(etype, node_path, module_name, e))
|
||
|
diff --git a/tools/binman/entry_test.py b/tools/binman/entry_test.py
|
||
|
index 13f5864516..277e10b585 100644
|
||
|
--- a/tools/binman/entry_test.py
|
||
|
+++ b/tools/binman/entry_test.py
|
||
|
@@ -39,21 +39,6 @@ class TestEntry(unittest.TestCase):
|
||
|
else:
|
||
|
import entry
|
||
|
|
||
|
- def test1EntryNoImportLib(self):
|
||
|
- """Test that we can import Entry subclassess successfully"""
|
||
|
- sys.modules['importlib'] = None
|
||
|
- global entry
|
||
|
- self._ReloadEntry()
|
||
|
- entry.Entry.Create(None, self.GetNode(), 'u-boot')
|
||
|
- self.assertFalse(entry.have_importlib)
|
||
|
-
|
||
|
- def test2EntryImportLib(self):
|
||
|
- del sys.modules['importlib']
|
||
|
- global entry
|
||
|
- self._ReloadEntry()
|
||
|
- entry.Entry.Create(None, self.GetNode(), 'u-boot-spl')
|
||
|
- self.assertTrue(entry.have_importlib)
|
||
|
-
|
||
|
def testEntryContents(self):
|
||
|
"""Test the Entry bass class"""
|
||
|
import entry
|
||
|
diff --git a/tools/binman/etype/intel_fit.py b/tools/binman/etype/intel_fit.py
|
||
|
index 23606d27d0..2a34a05f95 100644
|
||
|
--- a/tools/binman/etype/intel_fit.py
|
||
|
+++ b/tools/binman/etype/intel_fit.py
|
||
|
@@ -27,6 +27,6 @@ class Entry_intel_fit(Entry_blob):
|
||
|
self.align = 16
|
||
|
|
||
|
def ObtainContents(self):
|
||
|
- data = struct.pack('<8sIHBB', '_FIT_ ', 1, 0x100, 0x80, 0x7d)
|
||
|
+ data = struct.pack('<8sIHBB', b'_FIT_ ', 1, 0x100, 0x80, 0x7d)
|
||
|
self.SetContents(data)
|
||
|
return True
|
||
|
|
||
|
From patchwork Thu Oct 31 13:43:00 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187488
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="Npge7mOt"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473msb5mnMz9s7T
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:49:55 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 6DF9DC21F62; Thu, 31 Oct 2019 13:46:43 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id D0591C21F79;
|
||
|
Thu, 31 Oct 2019 13:44:07 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 5081FC21F75; Thu, 31 Oct 2019 13:43:37 +0000 (UTC)
|
||
|
Received: from mail-io1-f44.google.com (mail-io1-f44.google.com
|
||
|
[209.85.166.44])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 2C96BC21F3D
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:37 +0000 (UTC)
|
||
|
Received: by mail-io1-f44.google.com with SMTP id w12so6731533iol.11
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:37 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=jmXfmCp6Dr6vfLPasSe4bFyfttx9sLj23N6DE9pEsaI=;
|
||
|
b=Npge7mOtueuVrlqBkYsFHn/53CdFNG0jkizuXDWRiJFoGSzKtaV+b7wURzc4V35iD+
|
||
|
I5k3//prWC0FojVFDY47RHSFRAKgJhawdi/oSB37+bmkVXmIKkJq1INwt4dRNRq91cCo
|
||
|
4sUvmnIGUdtBNEHUZSK4PeZlfps2DZdmRj7/g=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=jmXfmCp6Dr6vfLPasSe4bFyfttx9sLj23N6DE9pEsaI=;
|
||
|
b=oBfBrHTg0gNqYpbnV59XnnRjorgL93ZVVdVjZvsVbILl23F4G2hCCgl58Xj7jyylg4
|
||
|
FmVvCtd0KK3/1qdFw4Bted0C8zw4XiI8tGgz8LhnvXSVtos+18cb/+zpeFZC8ljKTlDi
|
||
|
9pW8I1v+7sgHq+IyIbpxbQ8cL5HA09eBzhSRNDKhUfcJUgYOF5SazOa4hF1WNgNoLgza
|
||
|
NMVlniKfYKYTRgI9ti9K/JvnLOWojZStOtWRCH0sFn8PxsDXR1+uaUKZfv5W9MPYKjw/
|
||
|
VyoSACK+BvuUAiovHxSw7MyKno1pmbSXt8zgU9/c1TMNjueAWTN+wIybNiK43M9oNzno
|
||
|
5eag==
|
||
|
X-Gm-Message-State: APjAAAWXtY1r0kmU3M6sg4xjWhYwDcsqe3rL0DFaBGIjha6Pwpp4UmZh
|
||
|
Dqbz95Hys/yw1fRtHmz06LGaz6Zmh0DFKA==
|
||
|
X-Google-Smtp-Source: APXvYqzjXzPbQpC5sJuOOB8mfyGc9/a9zp1ctfExGuoh2h/oaFRAFOik0PIa2N43b6ef9WLiShgO/w==
|
||
|
X-Received: by 2002:a5d:8401:: with SMTP id i1mr5363109ion.113.1572529415900;
|
||
|
Thu, 31 Oct 2019 06:43:35 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.35
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:35 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:43:00 -0600
|
||
|
Message-Id: <20191031134310.3072-11-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 11/17] pylibfdt: Sync up with upstream
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Sync up the libfdt Python bindings with upstream, commit:
|
||
|
|
||
|
430419c (tests: fix some python warnings)
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
scripts/dtc/pylibfdt/libfdt.i_shipped | 45 ++++++++++++++++++++-------
|
||
|
1 file changed, 33 insertions(+), 12 deletions(-)
|
||
|
|
||
|
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
|
||
|
index 53b70f8f5e..e2aa7bb01e 100644
|
||
|
--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
|
||
|
+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
|
||
|
@@ -92,7 +92,7 @@ def check_err(val, quiet=()):
|
||
|
Raises
|
||
|
FdtException if val < 0
|
||
|
"""
|
||
|
- if val < 0:
|
||
|
+ if isinstance(val, int) and val < 0:
|
||
|
if -val not in quiet:
|
||
|
raise FdtException(val)
|
||
|
return val
|
||
|
@@ -417,7 +417,7 @@ class FdtRo(object):
|
||
|
quiet)
|
||
|
if isinstance(pdata, (int)):
|
||
|
return pdata
|
||
|
- return Property(prop_name, bytearray(pdata[0]))
|
||
|
+ return Property(prop_name, bytes(pdata[0]))
|
||
|
|
||
|
def get_phandle(self, nodeoffset):
|
||
|
"""Get the phandle of a node
|
||
|
@@ -431,6 +431,18 @@ class FdtRo(object):
|
||
|
"""
|
||
|
return fdt_get_phandle(self._fdt, nodeoffset)
|
||
|
|
||
|
+ def get_alias(self, name):
|
||
|
+ """Get the full path referenced by a given alias
|
||
|
+
|
||
|
+ Args:
|
||
|
+ name: name of the alias to lookup
|
||
|
+
|
||
|
+ Returns:
|
||
|
+ Full path to the node for the alias named 'name', if it exists
|
||
|
+ None, if the given alias or the /aliases node does not exist
|
||
|
+ """
|
||
|
+ return fdt_get_alias(self._fdt, name)
|
||
|
+
|
||
|
def parent_offset(self, nodeoffset, quiet=()):
|
||
|
"""Get the offset of a node's parent
|
||
|
|
||
|
@@ -727,8 +739,10 @@ class FdtSw(FdtRo):
|
||
|
|
||
|
# First create the device tree with a node and property:
|
||
|
sw = FdtSw()
|
||
|
- with sw.add_node('node'):
|
||
|
- sw.property_u32('reg', 2)
|
||
|
+ sw.finish_reservemap()
|
||
|
+ with sw.add_node(''):
|
||
|
+ with sw.add_node('node'):
|
||
|
+ sw.property_u32('reg', 2)
|
||
|
fdt = sw.as_fdt()
|
||
|
|
||
|
# Now we can use it as a real device tree
|
||
|
@@ -1029,17 +1043,24 @@ typedef uint32_t fdt32_t;
|
||
|
if (!$1)
|
||
|
$result = Py_None;
|
||
|
else
|
||
|
- $result = Py_BuildValue("s#", $1, *arg4);
|
||
|
+ %#if PY_VERSION_HEX >= 0x03000000
|
||
|
+ $result = Py_BuildValue("y#", $1, *arg4);
|
||
|
+ %#else
|
||
|
+ $result = Py_BuildValue("s#", $1, *arg4);
|
||
|
+ %#endif
|
||
|
}
|
||
|
|
||
|
/* typemap used for fdt_setprop() */
|
||
|
%typemap(in) (const void *val) {
|
||
|
- $1 = PyString_AsString($input); /* char *str */
|
||
|
-}
|
||
|
-
|
||
|
-/* typemap used for fdt_add_reservemap_entry() */
|
||
|
-%typemap(in) uint64_t {
|
||
|
- $1 = PyLong_AsUnsignedLong($input);
|
||
|
+ %#if PY_VERSION_HEX >= 0x03000000
|
||
|
+ if (!PyBytes_Check($input)) {
|
||
|
+ SWIG_exception_fail(SWIG_TypeError, "bytes expected in method '" "$symname"
|
||
|
+ "', argument " "$argnum"" of type '" "$type""'");
|
||
|
+ }
|
||
|
+ $1 = PyBytes_AsString($input);
|
||
|
+ %#else
|
||
|
+ $1 = PyString_AsString($input); /* char *str */
|
||
|
+ %#endif
|
||
|
}
|
||
|
|
||
|
/* typemaps used for fdt_next_node() */
|
||
|
@@ -1061,7 +1082,7 @@ typedef uint32_t fdt32_t;
|
||
|
}
|
||
|
|
||
|
%typemap(argout) uint64_t * {
|
||
|
- PyObject *val = PyLong_FromUnsignedLong(*arg$argnum);
|
||
|
+ PyObject *val = PyLong_FromUnsignedLongLong(*arg$argnum);
|
||
|
if (!result) {
|
||
|
if (PyTuple_GET_SIZE(resultobj) == 0)
|
||
|
resultobj = val;
|
||
|
|
||
|
From patchwork Thu Oct 31 13:43:01 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187497
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="kPOWERqP"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mvH58Ncz9sP4
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:51:20 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 914D5C21EDE; Thu, 31 Oct 2019 13:46:32 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id 54357C21F89;
|
||
|
Thu, 31 Oct 2019 13:44:00 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 2E924C21F06; Thu, 31 Oct 2019 13:43:38 +0000 (UTC)
|
||
|
Received: from mail-il1-f193.google.com (mail-il1-f193.google.com
|
||
|
[209.85.166.193])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id BDA1BC21D8E
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:37 +0000 (UTC)
|
||
|
Received: by mail-il1-f193.google.com with SMTP id p8so5432139ilp.2
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:37 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=+JfKGUW3CrP4Purzw85inCZJb795MNPAiWacjYMq0h4=;
|
||
|
b=kPOWERqPDrwTDumFWph2DsevTa8lgHgPOGSKhe6n8WUFIeYsHT1F7tCCJ4sATvhyry
|
||
|
U+RQVX774pfCZG9bf1Mfyr+EbUM3W0ncd3Yl2XkeoqfB6jx+cR0FmdRdM8a1tLBQFp9g
|
||
|
ol0JD/12OOa0Y8PME0IY/D5bL7/d82HXLr+4o=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=+JfKGUW3CrP4Purzw85inCZJb795MNPAiWacjYMq0h4=;
|
||
|
b=oSAM8kgexk80+A2AIPzx5lZkdJ/gP6qh49GlGxUocXuI5oBqdJleKnGDp28gkyc8If
|
||
|
rsIl9J8rXjeqAZS1hKCE1DWoRaHsixeddN9evBLNMtHJbq3kpUWPUSLwinpkNs+YlT+n
|
||
|
xoUg8Cad0HF84hyqc3oVLBYARXax+8fWVUlltYe3Wf2p6qjp3umwlmSKjCoRq9thl7nV
|
||
|
JqTQTogD/IouVwCNH51j24kF/5ILNuTezxvZvMrfHAesPWOiU/T4WxibQWy/7H4CokD6
|
||
|
4DPt4myhEAm58LAzZiOQV4V1JQVjqcD5fn+cKcqRC7J/juJ4b4Sm3BQa1v3quJaBitvG
|
||
|
uJJg==
|
||
|
X-Gm-Message-State: APjAAAXq6yA6M5xg2uvNh8dRlwbCow2rdZ1IwHQQSNyms8iGRl6PpHNr
|
||
|
8uD4FT9i1rvcHMf10kBBKv+ARQrz5fGxGw==
|
||
|
X-Google-Smtp-Source: APXvYqwkcyN83ELArvHJHyl1Owjwo84ElWIaq7uvqmQWJ8H/7lDlA6hQq5MV2tGYZufzKKIsqgkOXg==
|
||
|
X-Received: by 2002:a92:8408:: with SMTP id l8mr6514619ild.107.1572529416582;
|
||
|
Thu, 31 Oct 2019 06:43:36 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.36
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:36 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:43:01 -0600
|
||
|
Message-Id: <20191031134310.3072-12-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 12/17] pylibfdt: Correct the type for
|
||
|
fdt_property_stub()
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
This function should use a void * type, not char *. This causes an error:
|
||
|
|
||
|
TypeError: in method 'fdt_property_stub', argument 3 of type 'char const *'
|
||
|
|
||
|
Fix it.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
scripts/dtc/pylibfdt/libfdt.i_shipped | 4 ++--
|
||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
|
||
|
index e2aa7bb01e..fae0b27d7d 100644
|
||
|
--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
|
||
|
+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
|
||
|
@@ -18,7 +18,7 @@
|
||
|
* a struct called fdt_property. That struct causes swig to create a class in
|
||
|
* libfdt.py called fdt_property(), which confuses things.
|
||
|
*/
|
||
|
-static int fdt_property_stub(void *fdt, const char *name, const char *val,
|
||
|
+static int fdt_property_stub(void *fdt, const char *name, const void *val,
|
||
|
int len)
|
||
|
{
|
||
|
return fdt_property(fdt, name, val, len);
|
||
|
@@ -1113,6 +1113,6 @@ int fdt_property_cell(void *fdt, const char *name, uint32_t val);
|
||
|
* This function has a stub since the name fdt_property is used for both a
|
||
|
* function and a struct, which confuses SWIG.
|
||
|
*/
|
||
|
-int fdt_property_stub(void *fdt, const char *name, const char *val, int len);
|
||
|
+int fdt_property_stub(void *fdt, const char *name, const void *val, int len);
|
||
|
|
||
|
%include <../libfdt/libfdt.h>
|
||
|
|
||
|
From patchwork Thu Oct 31 13:43:02 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187485
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="LiOt29UM"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473ms04S8qz9sP4
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:49:24 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 55817C21F8C; Thu, 31 Oct 2019 13:47:06 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id 1ADB8C21F99;
|
||
|
Thu, 31 Oct 2019 13:44:29 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 3CBB9C21ECE; Thu, 31 Oct 2019 13:43:38 +0000 (UTC)
|
||
|
Received: from mail-il1-f193.google.com (mail-il1-f193.google.com
|
||
|
[209.85.166.193])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 8F1E8C21F42
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:38 +0000 (UTC)
|
||
|
Received: by mail-il1-f193.google.com with SMTP id y5so5420285ilb.5
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:38 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=jfUennwQCc8uaqTK3W2zYOoZrmuj8onz2+JCgb3vT/U=;
|
||
|
b=LiOt29UMasiHpGj5/isuBPQCgSpmrayyK8XRLoCPFGx43Bm4YO0oGzgpeDtyArV0kL
|
||
|
tcXL5IB8TiJIFgTRcBj1GTuSuGxOwZ1nPXtFgkLZS1AwltTCoSwy4i3q60PEYzHyaw50
|
||
|
laDmEp/zsIAsIcnZadLf47xR8Y/iHRCd++jYw=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=jfUennwQCc8uaqTK3W2zYOoZrmuj8onz2+JCgb3vT/U=;
|
||
|
b=SWwX9SFgbteQr2p71zg2qJ7zPWldSSFzvBMq2rmNiJsRkbM2KsyCtnopoTTH2ATUyi
|
||
|
S+5mKQCDt2pz55FbAXn9Se8PJggXeyRGEAoh9wagw7CZ6HciMHiwGBA7iNjlA9OmO3ju
|
||
|
cxWlEr1uRwBOEiF/ieyrvBnHGLz5FWh7onpMrSDzhCdvCS1vQpkiUedytdHkKsy8YzzQ
|
||
|
oMRjCjJAXwNjtDDIHlW5YO/m3pwsI6MPCOmT5rx/Fa0lnWdLdXabrL8jjBGbHHPHUc6L
|
||
|
SPJ0302WID8pb5v+VLMHmnGq+t776Vsspsgfw5vUlVMRY81tG2jfq0wyC4JS2QDDcZnL
|
||
|
wsAw==
|
||
|
X-Gm-Message-State: APjAAAUkgHTcmIZjNO8bRzNkjKo/HJe1aU5LvBk2iExqkEnAMZ+Ogyem
|
||
|
4qAhCVDO3UqXSLaAKGVkKJtB2MBxf/hluA==
|
||
|
X-Google-Smtp-Source: APXvYqzyO67LqrBpNTD6wcVZkaBwzIh/xv1Vx+EnMpIiigAFSglG1/IuBfIs7yvhQkXQ3aZWwdEYJg==
|
||
|
X-Received: by 2002:a92:3b04:: with SMTP id i4mr6181779ila.211.1572529417321;
|
||
|
Thu, 31 Oct 2019 06:43:37 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.36
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:37 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:43:02 -0600
|
||
|
Message-Id: <20191031134310.3072-13-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 13/17] binman: Remember the pre-reset entry size
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
When preparing to possible expand or contract an entry we reset the size
|
||
|
to the original value from the binman device-tree definition, which is
|
||
|
often None.
|
||
|
|
||
|
This causes binman to forget the original size of the entry. Remember this
|
||
|
so that it can be used when needed.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/binman/entry.py | 9 ++++++++-
|
||
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/tools/binman/entry.py b/tools/binman/entry.py
|
||
|
index 5bf5be4794..b6f1b2c93f 100644
|
||
|
--- a/tools/binman/entry.py
|
||
|
+++ b/tools/binman/entry.py
|
||
|
@@ -47,6 +47,8 @@ class Entry(object):
|
||
|
offset: Offset of entry within the section, None if not known yet (in
|
||
|
which case it will be calculated by Pack())
|
||
|
size: Entry size in bytes, None if not known
|
||
|
+ pre_reset_size: size as it was before ResetForPack(). This allows us to
|
||
|
+ keep track of the size we started with and detect size changes
|
||
|
uncomp_size: Size of uncompressed data in bytes, if the entry is
|
||
|
compressed, else None
|
||
|
contents_size: Size of contents in bytes, 0 by default
|
||
|
@@ -71,6 +73,7 @@ class Entry(object):
|
||
|
self.name = node and (name_prefix + node.name) or 'none'
|
||
|
self.offset = None
|
||
|
self.size = None
|
||
|
+ self.pre_reset_size = None
|
||
|
self.uncomp_size = None
|
||
|
self.data = None
|
||
|
self.contents_size = 0
|
||
|
@@ -314,6 +317,7 @@ class Entry(object):
|
||
|
self.Detail('ResetForPack: offset %s->%s, size %s->%s' %
|
||
|
(ToHex(self.offset), ToHex(self.orig_offset),
|
||
|
ToHex(self.size), ToHex(self.orig_size)))
|
||
|
+ self.pre_reset_size = self.size
|
||
|
self.offset = self.orig_offset
|
||
|
self.size = self.orig_size
|
||
|
|
||
|
@@ -757,7 +761,10 @@ features to produce new behaviours.
|
||
|
True if the data did not result in a resize of this entry, False if
|
||
|
the entry must be resized
|
||
|
"""
|
||
|
- self.contents_size = self.size
|
||
|
+ if self.size is not None:
|
||
|
+ self.contents_size = self.size
|
||
|
+ else:
|
||
|
+ self.contents_size = self.pre_reset_size
|
||
|
ok = self.ProcessContentsUpdate(data)
|
||
|
self.Detail('WriteData: size=%x, ok=%s' % (len(data), ok))
|
||
|
section_ok = self.section.WriteChildData(self)
|
||
|
|
||
|
From patchwork Thu Oct 31 13:43:03 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187496
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="oDSbDPSn"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mv91pMrz9sPJ
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:51:16 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 444EFC21F37; Thu, 31 Oct 2019 13:46:54 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id 69FC7C21F5E;
|
||
|
Thu, 31 Oct 2019 13:44:12 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id A52B7C21EF7; Thu, 31 Oct 2019 13:43:39 +0000 (UTC)
|
||
|
Received: from mail-io1-f42.google.com (mail-io1-f42.google.com
|
||
|
[209.85.166.42])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 576E8C21EBE
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:39 +0000 (UTC)
|
||
|
Received: by mail-io1-f42.google.com with SMTP id h9so6792999ioh.2
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:39 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=x77Ru9fQTn6VGWyQjr8v79Ggi9bzyqdBXMwRu+ZoysI=;
|
||
|
b=oDSbDPSnkQ9Cvab8cmU2qeYctvGOz0Z0cmqqvD8pXgGpshfdvYh5aHvv1JnhtzXEak
|
||
|
e16BdL3qOb546ozH65X2cw3BLFW7+Gqe/kknq2oc6O6YCy55hfLRnLmGXJrDmOba9Mad
|
||
|
CpgfZr5w79kSx2YRaO/dGmK/Ejts9WQsBtopk=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=x77Ru9fQTn6VGWyQjr8v79Ggi9bzyqdBXMwRu+ZoysI=;
|
||
|
b=jqSi7ycDqlKBAyGGAvujhs4K8tuKkUwzj7043u1iIu2gShYKO2F18xdcEHdPuQTx0P
|
||
|
keFgoOhur1ITbeg7Y0EL2jgUB4XtZJZi4CMyXntWu3MQD78R0QAnamT8gQ1QZi6m76J3
|
||
|
NXRMHILLYfosARBjdrEjbjOnB+trKqMZd6R3S6N+d+e0Qx+s8lr4kXVJlwMw/RLor/wX
|
||
|
cQmBsuveFe+vVmBveIQFCF5a75cw/qZkjBGrKPZaEE6V1EOuumfgDYcgBphiDTyCQDcB
|
||
|
DLFgFEMpxJsQUt5h05+JFguqsDvzgxvH2OtJUp2sLBs/aw4l2y9nWOfO0SDxOkCjO5C+
|
||
|
Kspw==
|
||
|
X-Gm-Message-State: APjAAAXzSj0YE9agjZ1M74xBWF1YYDe2oAgJkKyBZVwaQ/FymPJ8wY3P
|
||
|
VgKmPyaueu5xbG3kdREJcmngpKr40vhwEA==
|
||
|
X-Google-Smtp-Source: APXvYqzIC6mdLZc15D4ZQ+8IDMpGLdjwRKumgXnMVs/dp8Hv8QI9RXVnPe+a7DyLmTLG2cSAzTvuUg==
|
||
|
X-Received: by 2002:a05:6602:248e:: with SMTP id
|
||
|
g14mr5504776ioe.6.1572529418105;
|
||
|
Thu, 31 Oct 2019 06:43:38 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.37
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:37 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:43:03 -0600
|
||
|
Message-Id: <20191031134310.3072-14-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 14/17] binman: Convert a few tests to Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Some tests have crept in with Python 2 strings and constructs. Convert
|
||
|
then.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/binman/ftest.py | 14 +++++++-------
|
||
|
1 file changed, 7 insertions(+), 7 deletions(-)
|
||
|
|
||
|
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
|
||
|
index 88daaf20a8..5ca1c073f2 100644
|
||
|
--- a/tools/binman/ftest.py
|
||
|
+++ b/tools/binman/ftest.py
|
||
|
@@ -2109,7 +2109,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
data = self.data = self._DoReadFileRealDtb('115_fdtmap.dts')
|
||
|
fdtmap_data = data[len(U_BOOT_DATA):]
|
||
|
magic = fdtmap_data[:8]
|
||
|
- self.assertEqual('_FDTMAP_', magic)
|
||
|
+ self.assertEqual(b'_FDTMAP_', magic)
|
||
|
self.assertEqual(tools.GetBytes(0, 8), fdtmap_data[8:16])
|
||
|
|
||
|
fdt_data = fdtmap_data[16:]
|
||
|
@@ -2152,7 +2152,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
dtb = fdt.Fdt.FromData(fdt_data)
|
||
|
fdt_size = dtb.GetFdtObj().totalsize()
|
||
|
hdr_data = data[-8:]
|
||
|
- self.assertEqual('BinM', hdr_data[:4])
|
||
|
+ self.assertEqual(b'BinM', hdr_data[:4])
|
||
|
offset = struct.unpack('<I', hdr_data[4:])[0] & 0xffffffff
|
||
|
self.assertEqual(fdtmap_pos - 0x400, offset - (1 << 32))
|
||
|
|
||
|
@@ -2161,7 +2161,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
data = self.data = self._DoReadFileRealDtb('117_fdtmap_hdr_start.dts')
|
||
|
fdtmap_pos = 0x100 + len(U_BOOT_DATA)
|
||
|
hdr_data = data[:8]
|
||
|
- self.assertEqual('BinM', hdr_data[:4])
|
||
|
+ self.assertEqual(b'BinM', hdr_data[:4])
|
||
|
offset = struct.unpack('<I', hdr_data[4:])[0]
|
||
|
self.assertEqual(fdtmap_pos, offset)
|
||
|
|
||
|
@@ -2170,7 +2170,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
data = self.data = self._DoReadFileRealDtb('118_fdtmap_hdr_pos.dts')
|
||
|
fdtmap_pos = 0x100 + len(U_BOOT_DATA)
|
||
|
hdr_data = data[0x80:0x88]
|
||
|
- self.assertEqual('BinM', hdr_data[:4])
|
||
|
+ self.assertEqual(b'BinM', hdr_data[:4])
|
||
|
offset = struct.unpack('<I', hdr_data[4:])[0]
|
||
|
self.assertEqual(fdtmap_pos, offset)
|
||
|
|
||
|
@@ -2431,9 +2431,9 @@ class TestFunctional(unittest.TestCase):
|
||
|
' section 100 %x section 100' % section_size,
|
||
|
' cbfs 100 400 cbfs 0',
|
||
|
' u-boot 138 4 u-boot 38',
|
||
|
-' u-boot-dtb 180 10f u-boot-dtb 80 3c9',
|
||
|
+' u-boot-dtb 180 105 u-boot-dtb 80 3c9',
|
||
|
' u-boot-dtb 500 %x u-boot-dtb 400 3c9' % fdt_size,
|
||
|
-' fdtmap %x 3b4 fdtmap %x' %
|
||
|
+' fdtmap %x 3bd fdtmap %x' %
|
||
|
(fdtmap_offset, fdtmap_offset),
|
||
|
' image-header bf8 8 image-header bf8',
|
||
|
]
|
||
|
@@ -2518,7 +2518,7 @@ class TestFunctional(unittest.TestCase):
|
||
|
data = self._RunExtractCmd('section')
|
||
|
cbfs_data = data[:0x400]
|
||
|
cbfs = cbfs_util.CbfsReader(cbfs_data)
|
||
|
- self.assertEqual(['u-boot', 'u-boot-dtb', ''], cbfs.files.keys())
|
||
|
+ self.assertEqual(['u-boot', 'u-boot-dtb', ''], list(cbfs.files.keys()))
|
||
|
dtb_data = data[0x400:]
|
||
|
dtb = self._decompress(dtb_data)
|
||
|
self.assertEqual(EXTRACT_DTB_SIZE, len(dtb))
|
||
|
|
||
|
From patchwork Thu Oct 31 13:43:04 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187499
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="cPQI3a8M"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mwR5JSnz9sP4
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:52:23 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 4CB2CC21F74; Thu, 31 Oct 2019 13:47:39 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id D71BFC21FA2;
|
||
|
Thu, 31 Oct 2019 13:44:32 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 54960C21F8E; Thu, 31 Oct 2019 13:43:42 +0000 (UTC)
|
||
|
Received: from mail-il1-f196.google.com (mail-il1-f196.google.com
|
||
|
[209.85.166.196])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 1820EC21F17
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:40 +0000 (UTC)
|
||
|
Received: by mail-il1-f196.google.com with SMTP id m16so5371247iln.13
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:40 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=tclIj/DWKps1MFGmdl9VexPZbE2BInwVXct3SjXNM0Y=;
|
||
|
b=cPQI3a8Mjg/h9o5mEtwbU/QJvF5CjWIxgNTAD5NctclSaBc+73Y7cPMtSdFsb8rINR
|
||
|
xe88Mjfmh+zi3jydSjrfC0rd1+QdfVUHsVUXapBDjfYkBD1QTAfPBXncnJVow998oVs1
|
||
|
bk7c+vqjG75xsH1BgB0cPn7FoMQxGUSMAx3fw=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=tclIj/DWKps1MFGmdl9VexPZbE2BInwVXct3SjXNM0Y=;
|
||
|
b=bLnYJ2Z8v86EU2mVFmGGFtkkzuPhuakXlKw667m8nRfpOkGxkGZJF4lytpSwI+T/Wr
|
||
|
Px5araAeiawG6efTJt9QQ3gBp1bt3LFRbFJZXkbn8HFE9F27RrhUFYoc0L6W8KZlt5TZ
|
||
|
KwurYpJTbyPpFJQQz6d7/jtnuPf8XjA4mbpEKl35XtaHgAbkvAxIoc2wMNoEuLpWk2qN
|
||
|
SEBzl+VxMXbMCQktNhpp5l4xRSlRu6mMXXr7w00nd1oVpFvDeAOWqxv2s/7NZhAZ02E4
|
||
|
U27PYRDsvGJnruZJkGGj0FOlRf0xgg8IRvpMOYxJhxNq1Ds1sNsGsY/q68POV29u29oN
|
||
|
gvqg==
|
||
|
X-Gm-Message-State: APjAAAWyQZ8Xd+HdQ10rwLxPv3iiEUFCApqbAquXaczh+ZqWYPk+Nf8F
|
||
|
+mRyWmqwNBW0Rie/5nKZGZjx7p4zeocfRQ==
|
||
|
X-Google-Smtp-Source: APXvYqzTsfi9H5sY0JWtmOJI4gMQ0QEHFks5mxKz+pKOxu9Xz2aOt6g60BQLvt95Nu7POHvwDnpp9A==
|
||
|
X-Received: by 2002:a92:d0a:: with SMTP id 10mr5892894iln.218.1572529418841;
|
||
|
Thu, 31 Oct 2019 06:43:38 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.38
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:38 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:43:04 -0600
|
||
|
Message-Id: <20191031134310.3072-15-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 15/17] dtoc: Convert fdt.py to Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Drop the now-unused Python 2 code to keep code coverage at 100%.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
tools/dtoc/fdt.py | 17 ++++-------------
|
||
|
1 file changed, 4 insertions(+), 13 deletions(-)
|
||
|
|
||
|
diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py
|
||
|
index 6770be79fb..1b7b730359 100644
|
||
|
--- a/tools/dtoc/fdt.py
|
||
|
+++ b/tools/dtoc/fdt.py
|
||
|
@@ -56,9 +56,6 @@ def BytesToValue(data):
|
||
|
is_string = False
|
||
|
break
|
||
|
for ch in string:
|
||
|
- # Handle Python 2 treating bytes as str
|
||
|
- if type(ch) == str:
|
||
|
- ch = ord(ch)
|
||
|
if ch < 32 or ch > 127:
|
||
|
is_string = False
|
||
|
break
|
||
|
@@ -66,15 +63,9 @@ def BytesToValue(data):
|
||
|
is_string = False
|
||
|
if is_string:
|
||
|
if count == 1:
|
||
|
- if sys.version_info[0] >= 3: # pragma: no cover
|
||
|
- return TYPE_STRING, strings[0].decode()
|
||
|
- else:
|
||
|
- return TYPE_STRING, strings[0]
|
||
|
+ return TYPE_STRING, strings[0].decode()
|
||
|
else:
|
||
|
- if sys.version_info[0] >= 3: # pragma: no cover
|
||
|
- return TYPE_STRING, [s.decode() for s in strings[:-1]]
|
||
|
- else:
|
||
|
- return TYPE_STRING, strings[:-1]
|
||
|
+ return TYPE_STRING, [s.decode() for s in strings[:-1]]
|
||
|
if size % 4:
|
||
|
if size == 1:
|
||
|
return TYPE_BYTE, tools.ToChar(data[0])
|
||
|
@@ -415,8 +406,8 @@ class Node:
|
||
|
prop_name: Name of property to set
|
||
|
val: String value to set (will be \0-terminated in DT)
|
||
|
"""
|
||
|
- if sys.version_info[0] >= 3: # pragma: no cover
|
||
|
- val = bytes(val, 'utf-8')
|
||
|
+ if type(val) == str:
|
||
|
+ val = val.encode('utf-8')
|
||
|
self._CheckProp(prop_name).props[prop_name].SetData(val + b'\0')
|
||
|
|
||
|
def AddString(self, prop_name, val):
|
||
|
|
||
|
From patchwork Thu Oct 31 13:43:05 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187486
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="Vl+eU9+R"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473msB1vDRz9s7T
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:49:34 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id D9085C21F41; Thu, 31 Oct 2019 13:47:16 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id D79ECC21F8C;
|
||
|
Thu, 31 Oct 2019 13:44:31 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id 9737BC21EFF; Thu, 31 Oct 2019 13:43:43 +0000 (UTC)
|
||
|
Received: from mail-il1-f193.google.com (mail-il1-f193.google.com
|
||
|
[209.85.166.193])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id C35FEC21F3E
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:40 +0000 (UTC)
|
||
|
Received: by mail-il1-f193.google.com with SMTP id h5so5381841ilh.11
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:40 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=XhL5jo7XY50GIGLx0yuUmENhREMyFTDHbtzwgzauS7s=;
|
||
|
b=Vl+eU9+RrQDLPUPBN7Ra6x/oZAZgKx00RJ/HrLzfmZhMcqRe3iADt+50fEpB/iUb4B
|
||
|
2ZbdTyKVbxaJJB2ptM+ZGJxR5q59NgRDk4gZqgdBLYPwux4oWBRQMMQh4mNf8wi2q/4Z
|
||
|
1fd57XApVZbJxPKrQz7xPa0zUpV2CSvDMH3rU=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=XhL5jo7XY50GIGLx0yuUmENhREMyFTDHbtzwgzauS7s=;
|
||
|
b=G1x5A1FiY90s0WfEodPhoPy6v6gY2E6I2eeWfdeNH4tzmfPN66HTEM6QLUfNSiYQHv
|
||
|
ge5A7JPtCi10w57B0hdyzV5lgZ89qIkMQJ/pN+GlJBn9WikeSbiIEGm93G2CDqTlWS6b
|
||
|
AtAQaTAcNWGe+Q3O9X5SzjTbCpixyd5eBsPLQpQcCSX9cbOMWo/WBV+d4Qw5EFdyjUj6
|
||
|
q3Wgi3ekz6B3Dnu2TbKguGOA/2KT7uA9MTznB97g4428dNC+zP1yRWNoRCmRVIfiQ/bU
|
||
|
wsWe4Xbo1nysyXlcioGynl/Ttu8pjjTDXg+gKND6Bll0FFs713ozpQ+SN2gXotda6b9I
|
||
|
2hJg==
|
||
|
X-Gm-Message-State: APjAAAUqEO6v/rKqoit4E+s4uSNwxOGJsKl8QhfXHVqNXKBJbMnjr1iE
|
||
|
rXfSFWcfxN6G7PQvLzslWMUSp7SdO4fEOw==
|
||
|
X-Google-Smtp-Source: APXvYqx+piVfFjBmnTrUi51OP/MKR6Ofep+tk1ecdGLk04jmGbA2dWRBOj2/YK/4nORRdW9nsLJeZg==
|
||
|
X-Received: by 2002:a92:1d08:: with SMTP id d8mr6413167ild.262.1572529419566;
|
||
|
Thu, 31 Oct 2019 06:43:39 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.39
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:39 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:43:05 -0600
|
||
|
Message-Id: <20191031134310.3072-16-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>
|
||
|
Subject: [U-Boot] [PATCH v2 16/17] binman: Move to use Python 3
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
Update this tool to use Python 3 to meet the 2020 deadline.
|
||
|
|
||
|
Unfortunately this introduces a test failure due to a problem in pylibfdt
|
||
|
on Python 3. I will investigate.
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2:
|
||
|
- Add a few more patches to correct remaining problems
|
||
|
|
||
|
tools/binman/binman.py | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/tools/binman/binman.py b/tools/binman/binman.py
|
||
|
index 8bd5868df2..9e6fd72117 100755
|
||
|
--- a/tools/binman/binman.py
|
||
|
+++ b/tools/binman/binman.py
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/env python2
|
||
|
+#!/usr/bin/env python3
|
||
|
# SPDX-License-Identifier: GPL-2.0+
|
||
|
|
||
|
# Copyright (c) 2016 Google, Inc
|
||
|
|
||
|
From patchwork Thu Oct 31 13:43:06 2019
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
X-Patchwork-Submitter: Simon Glass <sjg@chromium.org>
|
||
|
X-Patchwork-Id: 1187495
|
||
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
||
|
X-Original-To: incoming@patchwork.ozlabs.org
|
||
|
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
spf=none (no SPF record) smtp.mailfrom=lists.denx.de
|
||
|
(client-ip=81.169.180.215; helo=lists.denx.de;
|
||
|
envelope-from=u-boot-bounces@lists.denx.de;
|
||
|
receiver=<UNKNOWN>)
|
||
|
Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
|
||
|
header.from=chromium.org
|
||
|
Authentication-Results: ozlabs.org;
|
||
|
dkim=fail reason="signature verification failed" (1024-bit key;
|
||
|
unprotected) header.d=chromium.org header.i=@chromium.org
|
||
|
header.b="Ne3tfh+Y"; dkim-atps=neutral
|
||
|
Received: from lists.denx.de (dione.denx.de [81.169.180.215])
|
||
|
by ozlabs.org (Postfix) with ESMTP id 473mtf29Qmz9s7T
|
||
|
for <incoming@patchwork.ozlabs.org>;
|
||
|
Fri, 1 Nov 2019 00:50:50 +1100 (AEDT)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id E2F17C21F9B; Thu, 31 Oct 2019 13:47:26 +0000 (UTC)
|
||
|
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de
|
||
|
X-Spam-Level:
|
||
|
X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2,
|
||
|
T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0
|
||
|
Received: from lists.denx.de (localhost [IPv6:::1])
|
||
|
by lists.denx.de (Postfix) with ESMTP id 6CB9EC21F94;
|
||
|
Thu, 31 Oct 2019 13:44:32 +0000 (UTC)
|
||
|
Received: by lists.denx.de (Postfix, from userid 105)
|
||
|
id A7CF2C21F94; Thu, 31 Oct 2019 13:43:44 +0000 (UTC)
|
||
|
Received: from mail-il1-f196.google.com (mail-il1-f196.google.com
|
||
|
[209.85.166.196])
|
||
|
by lists.denx.de (Postfix) with ESMTPS id 8B029C21EBA
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 13:43:41 +0000 (UTC)
|
||
|
Received: by mail-il1-f196.google.com with SMTP id s75so5427649ilc.3
|
||
|
for <u-boot@lists.denx.de>; Thu, 31 Oct 2019 06:43:41 -0700 (PDT)
|
||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;
|
||
|
s=google;
|
||
|
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||
|
:mime-version:content-transfer-encoding;
|
||
|
bh=uX4PUDuovq282/78XSRRp8zUogWOUea3bnwor3HZlGA=;
|
||
|
b=Ne3tfh+Y32bfLF6XCuBIgKjZZ2xtT1sFdZIZQ8EQ27XrZY/trB3ZgRQKiaX9i/ZNWL
|
||
|
WWJMMIJOIxEx22kCm2i7AZ+IfGravW3ESlvNDpQZptZW7zDIbW9tjvTUyXSNRalOIlgk
|
||
|
12eoed9MJcjd9ifNPBiiMXlejSXoLg6undgS8=
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20161025;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||
|
:references:mime-version:content-transfer-encoding;
|
||
|
bh=uX4PUDuovq282/78XSRRp8zUogWOUea3bnwor3HZlGA=;
|
||
|
b=ohoRuti2blsTniSqoBahzuzaV0YN2En2clpC+LOHMhK2p7KRlK13Gkqa/Sn8mjlPX3
|
||
|
93zM+nElup5fdhZ88msROkXIe7SQ3NIJDpoSkrs6HKImmrBxFOuc6QzLi2xep38cjdq+
|
||
|
lbfJaHHh1AYueiKMiUTtIZLvOD6twxZI1bAB0qgbnwSBbkchCV9NyD7UMKIb944OtFyn
|
||
|
nCR/MVaMBL3Fip/1ka9IxMwhrMRIV5yylfRv2OakoJq4Os/HkJUOWZvcvhXpEKbb52qg
|
||
|
e1HajHuu99i7LfJc/L3ten/TLPIWrYT+qa7vGluH7TD0kyRPNOknikP2JEfLGOQRvklq
|
||
|
ZLsQ==
|
||
|
X-Gm-Message-State: APjAAAX+fAvNpNArSxAyq1uLDOaaqoBZHHheJYxehzP2l0j88rYMw8Mt
|
||
|
LNYe5MfojuPP8zF2wZJFrpRIKTRzv4eiyw==
|
||
|
X-Google-Smtp-Source: APXvYqwTuI6XFMfx7aWzpWe117fK5jICaO4edKoOdHyJrwSOXasaPwJC5X+PIrvBdpveLBj0Ke1p/Q==
|
||
|
X-Received: by 2002:a92:8703:: with SMTP id m3mr6485024ild.131.1572529420362;
|
||
|
Thu, 31 Oct 2019 06:43:40 -0700 (PDT)
|
||
|
Received: from kiwi.bld.corp.google.com ([2620:15c:183:0:8223:87c:a681:66aa])
|
||
|
by smtp.gmail.com with ESMTPSA id
|
||
|
s70sm539612ili.13.2019.10.31.06.43.39
|
||
|
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||
|
Thu, 31 Oct 2019 06:43:40 -0700 (PDT)
|
||
|
From: Simon Glass <sjg@chromium.org>
|
||
|
To: U-Boot Mailing List <u-boot@lists.denx.de>
|
||
|
Date: Thu, 31 Oct 2019 07:43:06 -0600
|
||
|
Message-Id: <20191031134310.3072-17-sjg@chromium.org>
|
||
|
X-Mailer: git-send-email 2.24.0.rc0.303.g954a862665-goog
|
||
|
In-Reply-To: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
References: <20191031134310.3072-1-sjg@chromium.org>
|
||
|
MIME-Version: 1.0
|
||
|
Cc: Tom Rini <trini@konsulko.com>, Stephen Warren <swarren@nvidia.com>
|
||
|
Subject: [U-Boot] [PATCH v2 17/17] RRC: gitlab: Use Python 3 in virtualenv
|
||
|
X-BeenThere: u-boot@lists.denx.de
|
||
|
X-Mailman-Version: 2.1.18
|
||
|
Precedence: list
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||
|
List-Archive: <http://lists.denx.de/pipermail/u-boot/>
|
||
|
List-Post: <mailto:u-boot@lists.denx.de>
|
||
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||
|
Errors-To: u-boot-bounces@lists.denx.de
|
||
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||
|
|
||
|
This is a test to see if it removes the error here:
|
||
|
|
||
|
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/-/jobs/24304
|
||
|
|
||
|
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||
|
---
|
||
|
|
||
|
Changes in v2: None
|
||
|
|
||
|
.gitlab-ci.yml | 4 ++--
|
||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
||
|
index 9b295ac710..acbd1207c0 100644
|
||
|
--- a/.gitlab-ci.yml
|
||
|
+++ b/.gitlab-ci.yml
|
||
|
@@ -73,7 +73,7 @@ build all 64bit ARM platforms:
|
||
|
tags: [ 'all' ]
|
||
|
stage: world build
|
||
|
script:
|
||
|
- - virtualenv /tmp/venv
|
||
|
+ - virtualenv -p /usr/bin/python3 /tmp/venv
|
||
|
- . /tmp/venv/bin/activate
|
||
|
- pip install pyelftools
|
||
|
- ret=0;
|
||
|
@@ -158,7 +158,7 @@ Run binman, buildman, dtoc and patman testsuites:
|
||
|
- git config --global user.name "GitLab CI Runner";
|
||
|
git config --global user.email trini@konsulko.com;
|
||
|
export USER=gitlab;
|
||
|
- virtualenv /tmp/venv;
|
||
|
+ virtualenv -p /usr/bin/python3 /tmp/venv;
|
||
|
. /tmp/venv/bin/activate;
|
||
|
pip install pyelftools;
|
||
|
export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/sandbox_spl;
|