Linux maintainer tooling and workflows
 help / color / Atom feed
From: "Konstantin Ryabitsev" <konstantin@linuxfoundation.org>
To: tools@linux.kernel.org
Subject: Re: [tools] b4 fails to build w/ py 3.6.5
Date: Tue, 26 May 2020 08:52:36 -0400
Message-ID: <20200526125236.r6haunzovsst4hjq@chatter.i7.local> (raw)
In-Reply-To: <2e815dd0-c745-f254-5b00-e69a36cd2d00@suse.cz>

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


      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
2020-05-26 12:52   ` Konstantin Ryabitsev [this message]

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=20200526125236.r6haunzovsst4hjq@chatter.i7.local \
    --to=konstantin@linuxfoundation.org \
    --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