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

From: Mauro Carvalho Chehab
Date: Thu May 30 2019 - 11:12:09 EST


Em Thu, 30 May 2019 08:54:04 -0600
Jonathan Corbet <corbet@xxxxxxx> escreveu:

> On Wed, 29 May 2019 22:53:05 -0300
> Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> wrote:
>
> > > 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.
>
> That does improve the behavior from the command line; it seems that
> sphinx-build is indeed writing to stderr. BUT that still doesn't fix the
> docs build! To get the option to take effect, I also have to explicitly
> export SPHINXOPTS. So the winning combination is:
>
> export SPHINXOPTS = $(shell perl -e 'open IN,"sphinx-build --version
> 2>&1 |"; while (<IN>) { if (m/([\d\.]+)/) { print "-jauto" if ($$1 >= "1.7") } ;} close IN')
>
> I don't have any weird version of make, so I'm not sure why you see
> different results than I do here.
>
> I can apply those tweaks to your patch if it's OK with you.

Yeah, sure! With those changes it work fine here too.

So, feel free to apply the changes.

>
> > I didn't try the python2 versions, though.
>
> Interestingly, I would appear to have both versions installed, with
> python2 winning in $PATH.

It sounds that Fedora 30 is conservative with regards to python :-)

The Sphinx version detection script takes it into account,
suggesting pip3 instead of pip - or when called like:

$ ./scripts/sphinx-pre-install --no-virtualenv
Detected OS: Fedora release 30 (Thirty).

ERROR: please install "python-sphinx", otherwise, build won't work.
Warning: better to also install "sphinx_rtd_theme".
You should run:

sudo dnf install -y python3-sphinx python3-sphinx_rtd_theme

It seeks for the python3 packages on Fedora.

Regards,
Mauro