TL 2023 update-tlmgr-latest.sh under Docker fails
Julien Dutant
julien.dutant at gmail.com
Wed Mar 22 19:39:09 CET 2023
Thanks Lars. I do understand the first error: the “local” Tex Live is older than the repository. That is because the repository has moved on to 2023, while my “local” installation is still in 2022.
So, I should update the local installation, right? The problem is that this installation isn’t on my computer. It’s in an “Docker image”, which is an image of a virtual Linux machine with TexLive 2022 installed. I have to use it (no matter why), can’t go around that. However, I can do some things within it. For instance, I can launch update scripts, or set the tlmgr repository.
Above I’ve detailed how I tried two solutions. One is to do a minimal update with update-tlgmr-latest.sh . The other is to set up a historic repo. Each gives me an error (neither of which is about the local tex live being older than the remote repository.)
In short, this is as if I’m given a new machine with Alpine Linux and TexLive 2022 installed. I would like to install a couple of packages, but I’d very much NOT erase the TL 2022 and reinstall the whole 2023 (in fact, I practically can’t).
Any pointers welcome…
--
Julien Dutant
http://julien.dutant.free.fr/<http://julien.dutant.free.fr/en/>
https://github.com/jdutant
From: Lars Madsen <daleif at math.au.dk>
Date: Wednesday, 22 March 2023 at 17:08
To: Julien Dutant <julien.dutant at gmail.com>, tex-live at tug.org <tex-live at tug.org>
Subject: Re: TL 2023 update-tlmgr-latest.sh under Docker fails
The installation in your docker image is using TeXLive 2022. It is now frosen and cannot be updated.
tlmgr: Local TeX Live (2022) is older than remote repository (2023).
says it all
Lars Madsen
Programmør
Institut for Matematik
Aarhus Universitet
person.au.dk/daleif at math<https://person.au.dk/daleif@math>
________________________________
From: tex-live <tex-live-bounces+daleif=imf.au.dk at tug.org> on behalf of Julien Dutant <julien.dutant at gmail.com>
Sent: 22 March 2023 17:38
To: tex-live at tug.org <tex-live at tug.org>
Subject: TL 2023 update-tlmgr-latest.sh under Docker fails
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<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<mailto: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/e2f94169/attachment-0001.html>
More information about the tex-live
mailing list.