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

From: Mauro Carvalho Chehab
Date: Fri Jul 14 2017 - 21:27:51 EST

Em Fri, 14 Jul 2017 15:51:03 -0700
Jim Davis <> escreveu:

> On Fri, Jul 14, 2017 at 10:35 AM, Markus Heiser
> <markus.heiser@xxxxxxxxxxx> wrote:
> >
> >
> > Ok, this won't solve TeX installation problems of Linux distros,
> Which seems to be the thorniest problem. It's one thing to identify
> which sphinx versions work, and another to figure out which of the
> metric boatload of TeX packages are needed.

Yes. That's likely the hardest part.

> On a fresh Fedora 26 install I was able to get "make pdfdocs" to build
> (hurrah!) after adding

Just sent a version 2 of the script, with support for Fedora 26.

I tested with a Fedora lxc container. The only package I had to manually
install there is perl. I'm pretty sure that a minimal Fedora image
(outside a LXC) already comes with perl, so I guess the script is
an improvement over manually checking all needed dependencies.

> ImageMagick
> latex
> sphinx-build
> texlive-adjustbox
> texlive-babel-english
> texlive-capt-of
> texlive-cm
> texlive-cmap
> texlive-ec
> texlive-eqparbox
> texlive-euenc
> texlive-fancyhdr
> texlive-fncychap
> texlive-framed
> texlive-hyphen-base
> texlive-mdwtools
> texlive-multirow
> texlive-parskip
> texlive-tablefootnote
> texlive-tabulary
> texlive-threeparttable
> texlive-titlesec
> texlive-unicode-data
> texlive-upquote
> texlive-wrapfig
> xelatex

There is a package called "python-sphinx-latex" that seems to install
almost everything needed for Fedora 26. This one, plus:

It also optionally require DeJavu fonts.

are enough for PDF build. You still need:

for both html and pdf targets, if you want to have support for

> which ended up installing about 160 RPMs. Figuring out the right
> texlive parts wasn't much fun; footnote.sty is well-hidden in
> texlive-mdwtools, for instance, and without texlive-babel-english the
> build failed with very mysterious errors in userspace-api.

Yeah, that's why I think the right solution is to have a script that
will identify the distribution and install the missing dependencies.