You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by gr...@apache.org on 2020/03/11 16:12:29 UTC
[kudu] 02/02: [build] Fix relocate_binaries_for_mini_cluster.py on
Python 3
This is an automated email from the ASF dual-hosted git repository.
granthenke pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 0b858e67f0ab3a41789490d00a6ebcebe342798d
Author: Grant Henke <gr...@apache.org>
AuthorDate: Wed Mar 11 10:11:02 2020 -0500
[build] Fix relocate_binaries_for_mini_cluster.py on Python 3
This patch fixes relocate_binaries_for_mini_cluster.py on Python 3
by ignoring decode failures on string like objects.
This keeps Python 2 compatibility as well.
Change-Id: I792edd867546315baa05b15c711c72f456bb5bd3
Reviewed-on: http://gerrit.cloudera.org:8080/15405
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo <ad...@cloudera.com>
---
.../mini-cluster/relocate_binaries_for_mini_cluster.py | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py b/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py
index a443814..21bed54 100755
--- a/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py
+++ b/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py
@@ -158,10 +158,15 @@ def parse_load_commands_macos(cmd_type, dump):
state = PARSING_NONE
values = []
for line in dump:
+ # Ensure the line is a string-like object.
+ try:
+ line = line.decode('utf-8')
+ except (UnicodeDecodeError, AttributeError):
+ pass
if re.match('^Load command', line):
state = PARSING_NEW_RECORD
continue
- splits = re.split('\s+', line.strip().decode("utf-8"), maxsplit=2)
+ splits = re.split('\s+', line.strip(), maxsplit=2)
key = splits[0]
val = splits[1] if len(splits) > 1 else None
if state == PARSING_NEW_RECORD:
@@ -236,7 +241,13 @@ def get_artifact_name():
raise NotImplementedError("Unsupported platform")
arch = os.uname()[4]
with open(os.path.join(SOURCE_ROOT, "version.txt"), 'r') as version:
- version = version.readline().strip().decode("utf-8")
+ line = version.readline()
+ # Ensure the line is a string-like object.
+ try:
+ line = line.decode('utf-8')
+ except (UnicodeDecodeError, AttributeError):
+ pass
+ version = line.strip()
artifact_name = "kudu-binary-%s-%s-%s" % (version, os_str, arch)
return artifact_name