From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Victor Erminpour <victor.erminpour@oracle.com>
Cc: corbet@lwn.net, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] docs: Prefer 'python3' when building htmldocs
Date: Fri, 20 Mar 2020 12:15:20 +0100 [thread overview]
Message-ID: <20200320121505.579fb6cc@coco.lan> (raw)
In-Reply-To: <1584658842-778-1-git-send-email-victor.erminpour@oracle.com>
Em Thu, 19 Mar 2020 16:00:42 -0700
Victor Erminpour <victor.erminpour@oracle.com> escreveu:
> Prefer 'python3' and 'sphinx-build-3' when building htmldocs.
> Building htmldocs fails on systems that don't have 'python'
> and 'sphinx-build' installed, but do have 'python3' and
> 'sphinx-build-3' available.
>
> Signed-off-by: Victor Erminpour <victor.erminpour@oracle.com>
> ---
> Documentation/Makefile | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/Makefile b/Documentation/Makefile
> index d77bb607aea4..00c400523e15 100644
> --- a/Documentation/Makefile
> +++ b/Documentation/Makefile
> @@ -11,6 +11,7 @@ endif
>
> # You can set these variables from the command line.
> SPHINXBUILD = sphinx-build
> +SPHINXBUILD3 = sphinx-build-3
This will very likely break on some distros. For example, Fedora 31 with a
venv configured environment won't have a "sphinx-build-3" program.
I have already a patchset addressing this. I'm testing it on several
different distros and versions.
My plan is to submit the patch series for it after the merge window. If you
want to do a sneak pick, there's a version of the patch series on my
experimental tree (probably not the latest version):
https://git.linuxtv.org/mchehab/experimental.git/log/?h=random_doc_fixes
> SPHINXOPTS =
> SPHINXDIRS = .
> _SPHINXDIRS = $(patsubst $(srctree)/Documentation/%/index.rst,%,$(wildcard $(srctree)/Documentation/*/index.rst))
> @@ -61,11 +62,23 @@ loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit;
> # $5 reST source folder relative to $(srctree)/$(src),
> # e.g. "media" for the linux-tv book-set at ./Documentation/media
>
> +HAVE_PYTHON3 := $(shell if which $(PYTHON3) >/dev/null 2>&1; then echo 1; else echo 0; fi)
> +HAVE_SPHINX3 := $(shell if which $(SPHINXBUILD3) >/dev/null 2>&1; then echo 1; else echo 0; fi)
> +PYTHON_BIN = $(PYTHON)
> +
> +# If we have both python3 and sphinx-build-3,
> +# prefer python3 over python.
> +ifeq ($(HAVE_PYTHON3),1)
> + ifeq ($(HAVE_SPHINX3),1)
> + PYTHON_BIN = $(PYTHON3)
> + endif
> +endif
> +
> quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
> cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \
> PYTHONDONTWRITEBYTECODE=1 \
> BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
> - $(PYTHON) $(srctree)/scripts/jobserver-exec \
> + $(PYTHON_BIN) $(srctree)/scripts/jobserver-exec \
> $(SHELL) $(srctree)/Documentation/sphinx/parallel-wrapper.sh \
> $(SPHINXBUILD) \
> -b $2 \
Thanks,
Mauro
next prev parent reply other threads:[~2020-03-20 11:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-19 23:00 [PATCH] docs: Prefer 'python3' when building htmldocs Victor Erminpour
2020-03-20 11:15 ` Mauro Carvalho Chehab [this message]
2020-03-20 16:33 ` Victor Erminpour
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=20200320121505.579fb6cc@coco.lan \
--to=mchehab+huawei@kernel.org \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=victor.erminpour@oracle.com \
/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).