Linux maintainer tooling and workflows
 help / color / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: tools@linux.kernel.org
Subject: Re: b4 fails to build w/ py 3.6.5
Date: Tue, 26 May 2020 13:46:46 +0200
Message-ID: <2e815dd0-c745-f254-5b00-e69a36cd2d00@suse.cz> (raw)
In-Reply-To: <cf0d3873-535b-97e5-f183-8d1abe17610c@suse.cz>


[-- Attachment #1: Type: text/plain, Size: 1275 bytes --]

On 26. 05. 20, 13:38, Jiri Slaby wrote:
> Hi,
> 
> while b4 builds fine with python 3.8.3, python 3.6.5 (SLE15-SP2) fails
> to build it:
>> [    3s] + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s'
>> [    3s] Traceback (most recent call last):
>> [    3s]   File "setup.py", line 28, in <module>
>> [    3s]     version=find_version('b4/__init__.py'),
>> [    3s]   File "setup.py", line 18, in find_version
>> [    3s]     version_file = read(source)
>> [    3s]   File "setup.py", line 14, in read
>> [    3s]     return open(os.path.join(os.path.dirname(__file__), fname)).read()
>> [    3s]   File "/usr/lib64/python3.6/encodings/ascii.py", line 26, in decode
>> [    3s]     return codecs.ascii_decode(input, self.errors)[0]
>> [    3s] UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 915: ordinal not in range(128)
>> [    3s] error: Bad exit status from /var/tmp/rpm-tmp.nPNYVp (%build)
> 
> It is the tick in PASS_FANCY on line 41 in b4/__init__.py.
> 
> I have zero python-fu, but I believe it's because 3.6 tries to load the
> file using ascii, while 3.8 defaults to utf-8...

The attached patch fixes it. But as I wrote, I have no idea whether it
is correct at all.

thanks,
-- 
js
suse labs

[-- Attachment #2: 0001-fix-unicode.patch --]
[-- Type: text/x-patch, Size: 766 bytes --]

From 345a58f37d51b302937a14f623076c5dd13dcc32 Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby@suse.cz>
Date: Tue, 26 May 2020 13:40:37 +0200
Subject: [PATCH] fix unicode

---
 setup.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/setup.py b/setup.py
index ed24367c6c56..c73c9f4b2b0b 100644
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,6 @@
 #!/usr/bin/env python3
 
+import io
 import os
 import re
 from setuptools import setup
@@ -11,7 +12,7 @@ from setuptools import setup
 
 
 def read(fname):
-    return open(os.path.join(os.path.dirname(__file__), fname)).read()
+    return io.open(os.path.join(os.path.dirname(__file__), fname), "r", encoding="utf-8").read()
 
 
 def find_version(source):
-- 
2.26.2


  reply index

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-26 11:38 Jiri Slaby
2020-05-26 11:46 ` Jiri Slaby [this message]
2020-05-26 12:52   ` [tools] " Konstantin Ryabitsev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2e815dd0-c745-f254-5b00-e69a36cd2d00@suse.cz \
    --to=jslaby@suse.cz \
    --cc=tools@linux.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux maintainer tooling and workflows

Archives are clonable:
	git clone --mirror https://lore.kernel.org/tools/0 tools/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 tools tools/ https://lore.kernel.org/tools \
		tools@linux.kernel.org
	public-inbox-index tools

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.linux.tools


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git