TL 2023 update-tlmgr-latest.sh under Docker fails
Julien Dutant
julien.dutant at gmail.com
Wed Mar 22 17:38:22 CET 2023
Hi all,
I'm having a problem running or updating a docker image containing TexLive
2022.
I'm running a docker image using TexLive 2022, pandoc/latex
<https://hub.docker.com/r/pandoc/latex>, on a server (GitHub actions). It
worked until recently, but with the 2023 I get an error when I try to
install packages within the image:
RUN tlmgr update --self --all \
&& tlmgr install dvisvgm
tlmgr: Local TeX Live (2022) is older than remote repository (2023).
Cross release updates are only supported with
update-tlmgr-latest(.sh/.exe) --update
See https://tug.org/texlive/upgrade.html for details.
The pandoc/latex <https://hub.docker.com/r/pandoc/latex> Dockerfile is
complex and I'd rather not rewrite it to use TexLive 2023. (Hopefully its
authors update it soon.) I've tried instead to run the instructions Upgrade
- TeX Live - TeX Users Group (tug.org)
<https://tug.org/texlive/upgrade.html> to run the update-tlmgr-latest.sh
script within the image. I'm getting the following error:
Verifying archive integrity... All good.
Uncompressing TeX Live Manager Updater 100%
./runme.sh: updating in /opt/texlive/texdir...
./runme.sh: tlmgr version says this is TeX Live 2022,
./runme.sh: and this updater script created: Mon Mar 13 23:19:59 CET 2023.
./runme.sh: proceeding with tlmgr update.
./runme.sh: updating /opt/texlive/texdir/bin/default ...
tar: default: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
./runme.sh: no xz.[default][.exe] binary for
/opt/texlive/texdir/bin/default in /tmp/selfgz116956/installer/xz.
Worth noting: within the image (an Alpine Linux), TeXLive is located at
/opt/texlive. I haven't tried to move to /usr/local/texlive/2023/and
updating PATH. Would that help?
MWE: Save the following as Dockerfile in some folder. Run `docker build .`
(don't forget the dot, run this in the same folder as the Dockerfile). Note
that the image only works on x86-64 architectures (i.e. Intel/AMD, not
Apple Silicon).
# Dockerfile
FROM pandoc/latex:latest
# Install wget and bash, download update-tlmgr-latest.sh and run it
RUN apk add wget bash \
&& wget -O update-tlmgr-latest.sh
https://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh \
&& bash update-tlmgr-latest.sh
# If this worked, we would then update and install a couple of packages
RUN tlmgr update --self --all \
&& luaotfload-tool -fu \
&& tlmgr install \
standalone \
dvisvgm
ENTRYPOINT [ "/usr/local/bin/pandoc" ]
I've also looked at changing the repository to a historic 2022 repository.
I've tried the following:
FROM pandoc/latex:latest
# Try to use the 2022 repo
RUN tlmgr option repository
https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2022/
# If this worked, we would then update and install a couple of packages
RUN tlmgr update --self --all \
&& tlmgr install \
standalone \
dvisvgm
ENTRYPOINT [ "/usr/local/bin/pandoc" ]
But I get an error because the historic repo doesn't have a `tlpkg` folder:
/opt/texlive/texdir/bin/default/tlmgr: TLPDB::from_file could not
initialize from:
https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2022//tlpkg/texlive.tlpdb
/opt/texlive/texdir/bin/default/tlmgr: Maybe the repository setting should
be changed.
Any help welcome. I just need to be able to use tlmgr-install to install a
couple of packages within a TeXLive 2022 docker image, any workaround will
do.
--
julien dutant
Department of Philosophy, King's College London
julien.dutant at kcl.ac.uk
http://julien.dutant.free.fr/
Strand
London WC2R 2LS
United Kingdom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://tug.org/pipermail/tex-live/attachments/20230322/62cdd995/attachment.html>
More information about the tex-live
mailing list.