From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Linux Doc Mailing List <linux-doc@vger.kernel.org>,
Markus Heiser <markus.heiser@darmarit.de>,
Jonathan Corbet <corbet@lwn.net>
Subject: Re: Path troubles when using SPHINXDIRS option
Date: Tue, 21 Apr 2020 12:35:59 +0200 [thread overview]
Message-ID: <20200421123559.2c0be5ce@coco.lan> (raw)
In-Reply-To: <20200421103814.4e0fa4c3@coco.lan>
Em Tue, 21 Apr 2020 10:38:14 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:
> Hi,
>
> While building from v5.7-rc2 + media, I noticed that SPHINXDIRS option
> stopped working.
>
> What happens is that, if we don't pass this option, Sphinx assumes that
> the "absolute" path is "Documentation/". So, include options like this:
>
> .. include:: /ABI/stable/firewire-cdev
> :literal:
>
>
> would be evaluated as Documentation/ABI/stable/firewire-cdev if built
> without SPHINXDIRS. However, if we do SPHINXDIRS=driver-api, then
> the "absolute" patch would be "Documentation/driver-api", causing this
> error:
>
> Sphinx parallel build error:
> docutils.utils.SystemMessage: /devel/v4l/patchwork/Documentation/driver-api/firewire.rst:22: (SEVERE/4) Problems with "include" directive path:
>
> This is specially bad for build jobs (like one we have on jenkins that
> is meant to test media patches), as, due to some Sphinx bug, prevents
> sphinx-build to stop, making the toolset to run forever.
>
> I suspect that some change at conf.py could address the path issue.
>
> I'll try to investigate further.
More updates on it:
It seems that the main issue is that Sphinx passes Documentation/foo
to docutils, when SPHINXDIRS=foo is used, and docutils prevent
access anything outside Documentation/foo on its include and toctree
directives.
So, even trying to use "../ABI/some_doc" would fail.
-
The other issue is that SphinxParallelError doesn't stop the
build multithreading tasks. As Documentation/docutils.conf is set to
abort on severe errors, this causes Sphinx to keep running forever,
doing nothing.
I did already a workaround to prevent media Jenkins job to hang
due to those issues. So, I'm moving on. Hopefully, someone with
more experience with Sphinx, docutils and python multithreading
can work on some fixes for it.
Thanks,
Mauro
next prev parent reply other threads:[~2020-04-21 10:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-21 8:38 Path troubles when using SPHINXDIRS option Mauro Carvalho Chehab
2020-04-21 10:35 ` Mauro Carvalho Chehab [this message]
2020-04-21 10:52 ` Markus Heiser
2020-04-21 12:42 ` Markus Heiser
2020-04-22 8:57 ` Mauro Carvalho Chehab
2020-04-22 9:27 ` Markus Heiser
2020-04-22 10:05 ` Mauro Carvalho Chehab
2020-04-22 10:26 ` Markus Heiser
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200421123559.2c0be5ce@coco.lan \
--to=mchehab+huawei@kernel.org \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=markus.heiser@darmarit.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).