Re: [PATCH RFC] scripts/sphinx-pre-install: add a script to check Sphinx install

From: Mauro Carvalho Chehab
Date: Fri Jul 14 2017 - 22:22:01 EST


Em Fri, 14 Jul 2017 19:35:59 +0200
Markus Heiser <markus.heiser@xxxxxxxxxxx> escreveu:

> > Am 14.07.2017 um 18:49 schrieb Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx>:
> >
> > Solving Sphinx dependencies can be painful. Add a script to
> > check if everything is ok.
>
> just my 5cent:
>
> What we need is a "requirements.txt" file to define a
> **reference environment**. E.g. to stick Sphinx 1.4.9 in
> such a reference environment::
>
> <snip: requirements.txt> ---
> Sphinx==1.4.9
> sphinx_rtd_theme
> <snap> ---------------------
>
> The rest is similarly to what you wrote in doc-guide/sphinx.rst ...
>
> The ref-environment can be build with virtualenv & pip::
>
> $ virtualenv --python=python3 docenv
> (doc-env) $ source ./docenv/bin/activate
> (doc-env) $ pip install -r requirements.txt
>
> From now we can start our build as usual. If not already done,
> first activate the environment::
>
> $ . ./docenv/bin/activate
> (doc-env) $ make htmldocs
>
> This (requirements.txt) is the way python packaging goes.


The above assumes that the user wants to use virtenv and
have python3, virtualenv3 and pip3 already installed.

I agree that a virtual environment works better than using
distro-specific packaging, as Sphinx toolchain is really
fragile. But we should give an option for the developer to
use whatever he wants.

I'm actually thinking that the final version of this script
is to have a command line parameter to would allow selecting
between virtenv or package install for Sphinx.

IMHO, virtenv should be the default.

> Ok, this won't solve TeX installation problems of Linux distros,
> for this a script like the one here in your RFC is helpful.

Your proposal doesn't solve Python, TeX, GraphViz nor
ImageMagick dependencies.

The TeX dependencies are the hardest ones, and, whatever
solution we take, this should be taken into account.

Thanks,
Mauro