Re: sphinx-build vs. Python 3

2018-08-21 Thread Mattia Rizzolo
On Tue, Aug 21, 2018 at 04:03:20PM +0300, Dmitry Shachnev wrote:
> If you depend on python3-sphinx (>= 1.7.5-4~) then most likely the scripts
> will be using Python 3. The opposite will happen only if the user manually
> updated the alternative, and this won’t be the case on a sane build
> environment.

I'm not so sure about this.  I don't remember Policy specifying whether
a build process can make assumptions on the configuration of possible
alternatives, and at any rate I wouldn't bet my build process on that:
after all you talk about "sane build environment", but I don't remember
any kind of consensus that said building on your dirty daily system is
not supported.

I'm personally biased as a member of the Reproducible Builds team that
believe any possible variable in the environment must not affect the
build result, this sounds like yet another one to me.

-- 
regards,
Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
more about me:  https://mapreri.org : :'  :
Launchpad user: https://launchpad.net/~mapreri  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-


signature.asc
Description: PGP signature


Re: sphinx-build vs. Python 3

2018-08-21 Thread Dmitry Shachnev
Hi Ondřej!

On Mon, Aug 20, 2018 at 09:50:25AM +0200, Ondrej Novy wrote:
> Hi,
>
> I have question about sphinx-build and our effort to move to Python 3.
>
> sphinx-build is currently Python 2 or Python 3 according to python-sphinx /
> python3-sphinx package installed (with python3 as default if both are
> installed by alternative priority).
>
> According to:
> https://wiki.debian.org/Python/LibraryStyleGuide#Sphinx_documentation we
> should use "python3 -m sphinx" if we want to build docs using Python 3,
> because if you run sphinx-build, you can't be sure which version of Sphinx
> is run and if you need some Sphinx extension, which we typically installs
> only Python 2 or Python 3 version of it.

That wiki page was written before I changed Sphinx scripts to use Python 3
by default. That happened only recently, the relevant upload reached
unstable on July 5th 2018.

If you depend on python3-sphinx (>= 1.7.5-4~) then most likely the scripts
will be using Python 3. The opposite will happen only if the user manually
updated the alternative, and this won’t be the case on a sane build
environment.

> And my question is:
> * should we use "python3 -m sphinx" instead of "sphinx-build" everywhere
> where python3-sphinx is in B-D (mass-commit?)

This won’t hurt, but as I said it won’t make any difference on the current
unstable. It will make difference only when building against an older version
of sphinx (e.g. backports) *and* with installed python-sphinx.

> * should we change sphinx-build to be Python3 only? (and broke current
> packages build with Python2 Sphinx)

I would like to do this in the future, but currently there will be too
many broken packages:

https://lintian.debian.org/tags/build-depends-on-python-sphinx-only.html
lists 386 packages.

--
Dmitry Shachnev


signature.asc
Description: PGP signature


Re: sphinx-build vs. Python 3

2018-08-21 Thread Ondrej Novy
Hi,

út 21. 8. 2018 v 12:37 odesílatel Thomas Goirand  napsal:

> On top of this, I generally also do PYTHON=python3, just in case the
> Sphinx doc needs to invoke the interpreter...
>

i don't think this is good idea. If Sphinx doc needs to invoke interpreter,
it should do it in more smart way. Overriding default is not solution, just
fix that docs source code.

-- 
Best regards
 Ondřej Nový

Email: n...@ondrej.org
PGP: 3D98 3C52 EB85 980C 46A5  6090 3573 1255 9D1E 064B


Re: sphinx-build vs. Python 3

2018-08-21 Thread Ondrej Novy
Hi,

po 20. 8. 2018 v 12:37 odesílatel Thomas Goirand  napsal:

> If you do the later, then anyway, you'll have to do the former if you
> need backports. This bite me a few times with OpenStack already. So, no
> mater what the faith of the sphinx-build command, it's always best to
> use python3 -m sphinx, IMO.
>

agree. So:

https://salsa.debian.org/python-team/modules/python-pymysql/commit/b562fc29c311249fcb34639cc2a7d3267dd1f818
(only if python3-sphinx is in B-D)

Any thoughts?

-- 
Best regards
 Ondřej Nový

Email: n...@ondrej.org
PGP: 3D98 3C52 EB85 980C 46A5  6090 3573 1255 9D1E 064B


Re: sphinx-build vs. Python 3

2018-08-20 Thread Thomas Goirand
On 08/20/2018 09:50 AM, Ondrej Novy wrote:
> Hi,
> 
> I have question about sphinx-build and our effort to move to Python 3.
> 
> sphinx-build is currently Python 2 or Python 3 according to
> python-sphinx / python3-sphinx package installed (with python3 as
> default if both are installed by alternative priority). 
> 
> According
> to: https://wiki.debian.org/Python/LibraryStyleGuide#Sphinx_documentation we
> should use "python3 -m sphinx" if we want to build docs using Python 3,
> because if you run sphinx-build, you can't be sure which version of
> Sphinx is run and if you need some Sphinx extension, which we typically
> installs only Python 2 or Python 3 version of it.
> 
> And my question is:
> * should we use "python3 -m sphinx" instead of "sphinx-build" everywhere
> where python3-sphinx is in B-D (mass-commit?)
> OR
> * should we change sphinx-build to be Python3 only? (and broke current
> packages build with Python2 Sphinx)
> 
> Thanks for your opinions.

If you do the later, then anyway, you'll have to do the former if you
need backports. This bite me a few times with OpenStack already. So, no
mater what the faith of the sphinx-build command, it's always best to
use python3 -m sphinx, IMO.

Cheers,

Thomas Goirand (zigo)