FROM scratch
and copy the TeX Live tree inside. Then layer the Debian image on top of that.
tlmgr update
inside of their local copy.
--- a/Dockerfile.latest
+++ b/Dockerfile.latest
@@ -45,7 +45,7 @@ RUN echo "Building with documentation: $DOCFILES" && \
# actually install TeX Live
cd install-tl* && \
# choose complete installation
- echo "selected_scheme scheme-full" > install.profile && \
+ echo "selected_scheme scheme-infraonly" > install.profile && \
# … but disable documentation and source files when asked to stay slim
if [ "$DOCFILES" = "no" ]; then echo "tlpdbopt_install_docfiles 0" >> install.profile && \
echo "BUILD: Disabling documentation files"; fi && \
@@ -60,6 +60,12 @@ RUN echo "Building with documentation: $DOCFILES" && \
# add all relevant binaries to the PATH
$(find /usr/local/texlive -name tlmgr) path add
+RUN tlmgr install scheme-minimal
+RUN tlmgr install scheme-basic
+RUN tlmgr install scheme-small
+RUN tlmgr install scheme-medium
+RUN tlmgr install scheme-full
+
RUN \
# test the installation
latex --version && printf '\n' && \
context
, gust
, and tetex
can be ignored I think.
scheme-gust
is specific to GUST I guess and users of ConTeXt are anyway much better off using the ConTeXt beta
images.
tetex
doesn't exist anymore (it was the predecessor of TeX Live) but if necessary this scheme would go between medium
and full
.
docker build
more aggressive about the layers it keeps when building. Please, let me know if it helps. 🙂
TL2021-historic
(no doc, no src).
It's only on DockerHub, though. Pushing to GitLab failed.
FROM scratch
, copy that directory into the image and only as a last step layer the operating system on top. The initial layer containing nothing but the historic TeX Live will be perfectly deterministic (by virtue of being frozen) so you get perfect layer reuse and OS updates on top can be done in a matter of seconds.
TL<YEAR>-historic-tree*
tags are those that contain only the TeX Live trees (for Linux x86-64). We have not publicly announced the names yet but probably they will stay as is.
matrix
entry more in the CI file. And as I said, the update strategy as per the other issue would be orthogonal to that split.