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.