rocker-org / rocker-versioned2

Run current & prior versions of R using docker. rocker/r-ver, rocker/rstudio, rocker/shiny, rocker/tidyverse, and so on.
https://rocker-project.org
GNU General Public License v2.0
419 stars 180 forks source link

TexLive Freeze Period #609

Open d-alex-hughes opened 1 year ago

d-alex-hughes commented 1 year ago

This is a question generated by the annual release of TexLive (hereafter TL). The spring of each year the TL developers freeze the last annual version and begin the release process for the new vintage.

This year, their planned release timeline is the following (with some slight editing for date formatting)

Plan for TeX Live 2023:

Feb 10: candidate/final sources committed, test builds begin. Feb 19: tlpretest starts, CTAN updates continue there and in tlnet. Mar 3: code freeze for final build, major bug fixes only. Mar 10: final updates from CTAN, final doc tweaks. Mar 12: deliver TL image for TeX Collection packaging/testing. Mar 19: public release (also of MacTeX). May ?: delivery of TeX Collection DVD to members.

At the time that I'm documenting the issue we're in the middle of this release period.

The Background

As a consequence of the release, Rocker images that are built against 2022 versions TL now throw a warning, and engage in a time consuming build/re-build loop within the image.

The warning that most users will notice is "TeX Live 2022 is frozen". I'll write here, for their benefit, that this is a warning only, and doesn't signify that there is a problem per se. Instead, it is just a notice to users that we're in the annual timeline listed above. The image does eventually build (it is a ~3-5 minute process for the first knit in a session).

Screenshot 2023-03-13 at 6 52 10 PM

I'll note that this is a problem that also manifests if someone runs the rocker/tidyverse without the TeX distribution, and then attempts to install TeX within a container using something sensible like tinytex::install_tinytex().

That is, this is really a tex release issue more than a rocker issue.

Question

I'm not sure where you'd like to file this issue (and feel free to close the issue without responding since the problem will resolve itself in a few weeks without intervention from the project):

On other R services that I contribute to (also at Berkeley, Carl!) we've built Ubuntu TeX on top of a rocker image [link]. We can confirm is passing without warning now, but that it is also solving a time-bound problem with a big, big workaround.

eddelbuettel commented 1 year ago

Which of the several rocker images are you seeing this with? Possibly in the 'versioned2' stack? I tend to look after base images and they do little to no latexing.

d-alex-hughes commented 1 year ago

Yes, I believe that they are coming from the versioned2 stack.

cboettig commented 1 year ago

@d-alex-hughes Thanks for the issue! I don't have an obvious resolution, but will note a few bits of context:

As you know, non-latest image tags in this stack freeze the version of the package installs, and on the rocker versioned stack, that includes texlive, which pins to the stable snapshot mirrors maintained by @norbusan, as discussed in #139. So I think only users on a non-frozen tag should see this (which is, presumably, most of them anyway -- note that @norbusan's mirror isn't intended to stand up to high demand).

I think this really only applies to users using the more manual tlmgr approach to installing texlive that is set up in rocker/verse and by tinytex. Many ubuntu users simply apt-get install their texlive distros, and as these come from the (stable/version-locked) ubuntu mirrors of the distro, these are relatively fast to install and I don't think they will ever see these warnings (provided a user is happy with ~ 4 GB of storage for texlive-full, which is admittedly not that much on a modern OS but a lot on most docker images).

Generally, I think grabbing texlive-full from apt-get is probably a reasonable recommendation. Otherwise, for the space conscious that opt in to the tlmgr strategy, so maybe we just say these warnings just come with the territory(?)

norbusan commented 1 year ago

For this year it is too late, but if it helps, we (TeX Live devs) could add a check for an env var to supress the warning. We are doing this for a few other warnings already, but not for that. Other than that, I don't see much more how I could help here. The warning message by itself is useful for the users.

eitsupi commented 1 year ago

Thanks for pointing this out.

Daily builds seem to be failing, perhaps due to this issue?

https://github.com/rocker-org/rocker-versioned2/actions/runs/4474495649/jobs/7863018633

#7 51.30 Automated TeX Live installation using profile: /tmp/texlive-profile.txt
#7 52.10 Loading https://mirrors.mit.edu/CTAN/systems/texlive/tlnet/tlpkg/texlive.tlpdb
#7 53.10 
#7 53.10 =============================================================================
#7 53.10 ./install-tl: The TeX Live versions of the local installation
#7 53.10 and the repository being accessed are not compatible:
#7 53.10       local: 2023
#7 53.10  repository: 2022
#7 53.10 Perhaps you need to use a different CTAN mirror?
#7 53.10 (For more, see the output of install-tl --help, especially the
#7 53.10  -repository option.  Online via https://tug.org/texlive/doc.)
#7 53.10 =============================================================================
#7 ERROR: process "/bin/sh -c /rocker_scripts/install_verse.sh" did not complete successfully: exit code: 1
norbusan commented 1 year ago

This error should be temporary until all mirrors are in sync, which should take about 2 days.