maintainer-approval requested: [Bug 248834] devel/py-appdirs: Configure phase fails with UnicodeDecodeError in 'ascii' codec : [Attachment 217444] devel/py-appdirs: Backport explicit encoding patch

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Aug 22 15:07:19 UTC 2020


John W. O'Brien <john at saltant.com> has asked freebsd-python (Nobody)
<python at FreeBSD.org> for maintainer-approval:
Bug 248834: devel/py-appdirs: Configure phase fails with UnicodeDecodeError in
'ascii' codec
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248834

Attachment 217444: devel/py-appdirs: Backport explicit encoding patch
https://bugs.freebsd.org/bugzilla/attachment.cgi?id=217444&action=edit



--- Description ---
Symptom
=======

=======================<phase: configure      >============================
===>  Configuring for py36-appdirs-1.4.4
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 25, in <module>
    for line in read("appdirs.py").splitlines():
  File "setup.py", line 19, in read
    out = "\n" + inf.read().replace("\r\n", "\n")
  File "/usr/local/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc8 in position 129:
ordinal not in range(128)
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/py-appdirs

Analysis
========

The appdirs.py file is UTF-8 encoded, and under certain circumstances, the
built-in `open` function will guess the wrong encoding.

QA
==

portlint: OK
poudriere: OK -- testport on 12.1R amd64 w/py27, py35, py36, py37 (default),
and py38

Note: The attached patch does not increment PORTREVISION because if the bug is
triggered, no package is produced.


More information about the freebsd-python mailing list