Re: [PATCH 4/5] docs: by default, build docs a lot faster with Sphinx >= 1.7

From: Mauro Carvalho Chehab
Date: Wed May 29 2019 - 21:56:46 EST


Em Wed, 29 May 2019 17:47:16 -0600
Jonathan Corbet <corbet@xxxxxxx> escreveu:

> On Wed, 29 May 2019 20:20:05 -0300
> Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> wrote:
>
> > > So this totally fails to work for me with any version of sphinx, and I'm
> > > not enough of a Perl person to figure it out. Sometimes I'll see the
> > > sphinx-build output, i.e.:
> > >
> > > sphinx-build 1.8.4
> > >
> > > and sometimes (like with 2.0) I don't, but I never get -jauto regardless.
> >
> > Hmm... with 2.0.0 --version prints the version.
> >
> > $ sphinx-build --version
> > sphinx-build 2.0.0
>
> Yup. The point is that I see the sphinx-build output *in the docs-build
> output", not when I run it standalone (where it does the expected thing).

Weird... could some versions of Sphinx be redirecting the output of
--version to stderr instead of stdout?

If so, something like:

perl -e 'open IN,"sphinx-build --version 2>&1 |"; while (<IN>) { if (m/([\d\.]+)/) { print "-jauto\n" if ($1 >= "1.7") } ;} close IN'

would make it print "-jauto" with those other versions you're trying.

>
> > > Not sure what's going on here?
> >
> > Do you have SPHINXOPTS already set on your environment? If so, Makefile
> > will not override the existing environment.
>
> Yeah, I had it set to -j1 because I want to wait as long as possible for my
> docs builds :)
>
> No, I didn't have it set separately, made a point of that.
>
> > Here, if I call it by hand (replacing $$1 by $1), it does the right
> > thing. For example:
> >
> > 1.8.4:
> >
> > $ sphinx-build --version
> > sphinx-build 1.8.4
> > $ perl -e 'open IN,"sphinx-build --version |"; while (<IN>) { if (m/([\d\.]+)/) { print "-jauto\n" if ($1 >= "1.7") } ;} close IN'
> > -jauto
>
> $ perl -e 'open IN,"sphinx-build --version |"; while (<IN>) { if (m/([\d\.]+)/) { print "-jauto\n" if ($1 >= "1.7") } ;} close IN'
> sphinx-build 1.8.4
> $
>
> It works properly with 2.0.1 - but only on the command line; I still don't
> get the right behavior in a docs build.
>
> Most weird.
>
> This is an Fedora 30 system, FWIW.

Yeah, really weird. Here I'm using Fedora 30 too:

python3-sphinx_rtd_theme-0.4.3-1.fc30.noarch
python3-sphinx-1.8.4-1.fc30.noarch

It works with both installed version and pip3 virtualenvs.

I didn't try the python2 versions, though.


>
> jon



Thanks,
Mauro