Re: [PATCH 0/2] docs: Programmatically render MAINTAINERS into ReST

Jonathan Corbet
2019-10-01T17:05:52Z

On Tue, 1 Oct 2019 09:16:41 -0700
Kees Cook <keescook@chromium.org> wrote:

> > > This almost certainly has to do with the fact that I'm (intentionally)
> > > running the Python2 Sphinx build here. Something's not doing unicode that
> > > should be.
>
> Given this would be for v5.5, and python2 is EOL in 2 months[1], I don't
> think it's unreasonable to deprecate it. Especially considering there
> are already explicit "python3" shebangs in existing code in the sphinx/
> directory.

Two months and 30 days, don't exaggerate, man! :)

FWIW, the "shebangs" in that directory are no-ops. Those are extensions
read into sphinx, not standalone programs; they go into a Python 2 sphinx
instance just fine.

Which isn't an argument against dropping Python 2, of course. That's
really just a matter of when.

> > I'm almost sure we got this already. If I'm not mistaken, the solution
> > is to add the encoding line after shebang. Looking at
> > Documentation/sphinx/maintainers_include.py (patch 2/2), the script
> > starts with:
> >
> > #!/usr/bin/env python
> > # SPDX-License-Identifier: GPL-2.0
> > # -*- coding: utf-8; mode: python -*-
> > # pylint: disable=R0903, C0330, R0914, R0912, E0401
> >
> > But, as I pointed before, the SPDX header at the wrong place is causing the
> > crash, as the encoding line should be the second line, not the third one,
> > e. g.:
> >
> > #!/usr/bin/env python
> > # -*- coding: utf-8; mode: python -*-
> > # SPDX-License-Identifier: GPL-2.0
> > # pylint: disable=R0903, C0330, R0914, R0912, E0401
> >
> > I also suspect that this would happen even with python3, depending on
> > how LC_ALL, LANG, ... are set on the distro you use.
>
> Oh that's a delightful bug. :P I haven't been able to reproduce this
> failure (maybe all my LANG junk is accidentally correct)?

Delightful - and wrong; moving that line around doesn't change anything.
The crash comes from deep within sphinx; the more I look at it the more
confused I get. Stay tuned...

jon