[git-buildpackage] [PATCH] bin: drop umlaut again for setuptools

Guido Günther agx at sigxcpu.org
Tue May 15 07:54:59 CEST 2018


Hi Ken,
On Mon, May 14, 2018 at 04:11:26PM -0600, Ken Dreyer wrote:
> Hi Guido,
> 
> I looked into why why buildd is succeeding when a normal "python
> setup.py install" fails. pybuild expands to the following:
> 
>   /usr/bin/python3 setup.py install --root /PKGBUILDDIR/debian/tmp
> 
> With the "--root" argument, setuptools takes a different code path,
> simply copying the files without translating them to ascii
> (copy_tree() method in setuptools/command/install_lib.py)
> 
> Without the "--root" argument, setuptools bails with
> UnicodeDecodeError in (write_script() method in
> setuptools/command/easy_install.py).
> 
> Looks like Travis CI might not be exercising the setuptools code.
> 
> Unfortunately this seems like a longstanding issue with setuptools,
> https://github.com/pypa/setuptools/issues/761

Thanks for having a look! I've pushed your patch and added the bug
reference to the commit message.
Cheers,
 -- Guido

> 
> - Ken
> 
> On Mon, May 14, 2018 at 2:52 PM, Guido Günther <agx at sigxcpu.org> wrote:
> > On Mon, May 14, 2018 at 10:43:39AM -0600, Ken Dreyer wrote:
> >> setuptools cannot handle non-ascii characters in files declared in
> >> "scripts".
> >
> > It does here, on Debian's buildds and travis-ci. Is this a locale thing.
> > Does
> >
> >     LC_ALL=C.UTF-8 python setup.py develop
> >
> > make any difference? Sorry for nitpicking here but it would be so nice
> > if 2018 would be the year of utf-8.
> >  -- Guido
> >
> >>
> >> $ python setup.py develop
> >>
> >>   [snip]
> >>
> >>   File "setuptools/command/easy_install.py", line 726, in process_distribution
> >>     self.install_egg_scripts(dist)
> >>   File "setuptools/command/develop.py", line 188, in install_egg_scripts
> >>     self.install_script(dist, script_name, script_text, script_path)
> >>   File "setuptools/command/easy_install.py", line 805, in install_script
> >>     self.write_script(script_name, _to_ascii(script_text), 'b')
> >>   File "setuptools/command/easy_install.py", line 108, in _to_ascii
> >>     return s.encode('ascii')
> >> UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 785: ordinal not in range(128)
> >>
> >> Commit 4424008f6aaa7ce93d02f0c4948ad50542284ece fixed this, and
> >> 23874c2c50ebd57426797d38f4f9c6c40dc336ec added the umlaut back in. Take
> >> it out again so "setup.py develop" and "setup.py install" succeeds
> >> again.
> >> ---
> >>  bin/gbp-builder-mock | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/bin/gbp-builder-mock b/bin/gbp-builder-mock
> >> index 3a251a6f..a498823c 100755
> >> --- a/bin/gbp-builder-mock
> >> +++ b/bin/gbp-builder-mock
> >> @@ -17,7 +17,7 @@
> >>  #  <http://www.gnu.org/licenses/>
> >>  #
> >>  #  Copyright (C) 2015 Tzafrir Cohen
> >> -#            (C) 2015 Guido Günther
> >> +#            (C) 2015 Guido Gunther
> >>
> >>  set -e
> >>
> >> --
> >> 2.14.3
> >>
> >> _______________________________________________
> >> git-buildpackage mailing list
> >> git-buildpackage at lists.sigxcpu.org
> >> http://lists.sigxcpu.org/mailman/listinfo/git-buildpackage
> 


More information about the git-buildpackage mailing list