How to package executables

Louis spalax at gresille.org
Wed Jul 22 21:04:38 CEST 2020


Hello,
I am replying to both Reinhard's message, and its parent message
(Mojca's one).

> The only advantage of spix which comes to my mind is that you can have
> different LaTeX projects which depend on different engines in one and
> the same directory.

Exactly. I am a math teacher, and for each of my courses (up to four
hours a week), I have a repository with everything I hand out or show to
my students (stuff from current year, and old stuff from previous years
I no longer use but never cared to delete). For instance, in this
repository [1], I have 588 .tex files. Most of them are compiled with
one pass of lualatex, but some of them need several passes, and some
others need latex+dvipdf. I considered or tried several tools, but
having the latex compilation information *inside* the tex file itself,
in a human-readable format, is convenient.

[1] https://framagit.org/lpaternault/cours-2-math

I (author of SpiX) actually never call spix manually. I either use it to
make sure everything is compiled on the USB key I will use with my
students (I work on my laptop at home, "git push" files to a server,
"git pull" files from my USB key, and run spix on changed files to
update the PDF files), or I use it as part of a CI workflow, to compile
and publish both the source and pdf of those files [2].

[2] https://lpaternault.frama.io/cours-2-math/

As for security (to answer Mojca's remark/concern), it is stated in the
documentation that running spix on an untrusted tex files is like
running an untrusted shell script. But I think that arara has the same
issue (maybe less obvious), as one can enable the --shell-escape option
in the arara configuration in the tex file.

As a side note, I totally agree with Mojca that it would be nice to have
an "officially promoted […] way to pick the correct engine, run complex
workflows, with improved security etc.". I hope I could drop spix for
such a solution.

Louis


More information about the tex-live mailing list.