Re: [PATCH 1/1] scripts: sphinx-pre-install: add required ctex dependency

From: Mauro Carvalho Chehab
Date: Wed Jan 05 2022 - 19:42:29 EST


Em Thu, 6 Jan 2022 07:57:22 +0900
Akira Yokosawa <akiyks@xxxxxxxxx> escreveu:

> On Wed, 5 Jan 2022 22:42:30 +0100, Mauro Carvalho Chehab wrote:
> > Em Wed, 5 Jan 2022 21:09:59 +0900
> > Akira Yokosawa <akiyks@xxxxxxxxx> escreveu:
> >
> [...]
> >>
> >> I'll test it under various distros/setups.
> >> It may take a while.
> >
> > Did a quick test here with this lxc container:
> >
> > $ OS=debian REL=bullseye ;lxc-create -n ${OS} -t /usr/share/lxc/templates/lxc-download -- --dist ${OS} --release ${REL} --arch amd64
> >
> > If we add check_missing_tex(), it will then complain about lots
> > of packages that don't exist in Debian (se logs at the end).
>
> Now I think I understand what kind of tests we need.
>
> My plan was to intentionally uninstall texlive-ctex (or whichever
> package contains ctexhook.sty) and see if the lack of ctexhook.sty
> is detected or not.
>
> Apparently, such a test would mean little for sphinx_pre_install.

Yes. The best way is to use lxc (or something similar) to install
a minimal container, install git (and make) and then run the script
directly or via "make pdfdocs".

This way, the script will test all dependencies.

It should be noticed that, on a minimal install like that, the script
will first report the basic dependencies, which, once installed, may
require other ones.

For instance, in order for the script to detect that python3-venv
is needed, the python package would need to be installed.

On Debian with the above container, I had to run it 2 times.

First run:
$ make pdfdocs
...
You should run:

sudo apt-get install imagemagick graphviz dvipng fonts-dejavu fonts-noto-cjk gcc latexmk python librsvg2-bin texlive-lang-chinese texlive-xetex

Second run:
$ make pdfdocs
...
You should run:

sudo apt-get install python3-venv
note: If you want pdf, you need at least Sphinx 2.4.4.
To upgrade Sphinx, use:

/usr/bin/python3 -m venv sphinx_2.4.4
. sphinx_2.4.4/bin/activate
pip install -r ./Documentation/sphinx/requirements.txt

> > That's one of the biggest issue with texlive: each distro splits it on
> > different ways. So, basically, the %texlive hash at the script is meant
> > to the way Fedora and openSuse distros usually map packages. I would
> > expect that Mageia would also be similar if not identical, but other
> > distros map packages on different ways.
> >
> > I'll prepare another patch for fixing the debian issue.
>
> Then I'll wait for it.

Patch for Debian sent.

Thanks,
Mauro