Linux maintainer tooling and workflows
 help / color / Atom feed
* b4 fails to build w/ py 3.6.5
@ 2020-05-26 11:38 Jiri Slaby
  2020-05-26 11:46 ` Jiri Slaby
  0 siblings, 1 reply; 3+ messages in thread
From: Jiri Slaby @ 2020-05-26 11:38 UTC (permalink / raw)
  To: tools

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...

thanks,
-- 
js
suse labs

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: b4 fails to build w/ py 3.6.5
  2020-05-26 11:38 b4 fails to build w/ py 3.6.5 Jiri Slaby
@ 2020-05-26 11:46 ` Jiri Slaby
  2020-05-26 12:52   ` [tools] " Konstantin Ryabitsev
  0 siblings, 1 reply; 3+ messages in thread
From: Jiri Slaby @ 2020-05-26 11:46 UTC (permalink / raw)
  To: tools


[-- 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [tools] b4 fails to build w/ py 3.6.5
  2020-05-26 11:46 ` Jiri Slaby
@ 2020-05-26 12:52   ` Konstantin Ryabitsev
  0 siblings, 0 replies; 3+ messages in thread
From: Konstantin Ryabitsev @ 2020-05-26 12:52 UTC (permalink / raw)
  To: tools

On Tue, May 26, 2020 at 01:46:46PM +0200, Jiri Slaby wrote:
> > 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.

It's correct, but I think it's better to fix the underlying problem and 
use unicode escape sequences instead (I think I meant to in the first 
place, but forgot).

The following change is in both master and in stable-0.5.y.

Thanks!

-K

diff --git a/b4/__init__.py b/b4/__init__.py
index fcea7df..0d6fd4a 100644
--- a/b4/__init__.py
+++ b/b4/__init__.py
@@ -38,8 +38,8 @@ FILENAME_RE = re.compile(r'^(---|\+\+\+) (\S+)')

 PASS_SIMPLE = '[P]'
 FAIL_SIMPLE = '[F]'
-PASS_FANCY = '[\033[32m✓\033[0m]'
-FAIL_FANCY = '[\033[31m✗\033[0m]'
+PASS_FANCY = '[\033[32m\u2713\033[0m]'
+FAIL_FANCY = '[\033[31m\u2717\034[0m]'

 # You can use bash-style globbing here
 WANTHDRS = [


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-26 11:38 b4 fails to build w/ py 3.6.5 Jiri Slaby
2020-05-26 11:46 ` Jiri Slaby
2020-05-26 12:52   ` [tools] " Konstantin Ryabitsev

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