
Hi Hans, On Thu, 2025-06-12 at 13:56 +0200, Hans Hagen wrote:
I uploaded a new version,
Looks like my autoupdating scripts worked well, the new version should be available in TeX Live as of a few hours ago. In case anyone ever encounters any critical bugs in the version packaged by TeX Live, it's pretty easy to downgrade the prior version: $ tlmgr restore context 75454 $ tlmgr restore context.x86_64-linux 75425 (run "tlmgr restore context" to list the available versions) Or if you need to downgrade to an even earlier version, it's only slightly more involved: $ rm /usr/local/texlive/2025/bin/x86_64-linux/{mtxrun,mtxrun.lua,context,context.lua,luametatex} $ tlmgr install --reinstall --file \ https://texlive.info/tlnet-archive/2025/06/12/tlnet/archive/context.tar.xz \ https://texlive.info/tlnet-archive/2025/06/12/tlnet/archive/context.x86_64-l... (replace the "2025/06/12" with whatever date you want to downgrade to)
-- additional warnings (or abort) in case one runs from tex live and missing or expected files
Sure, fine by me. One possible idea: instead of relying on the file luametatex.h existing/not existing, I could add a "distributed_by" key (or similar) to the texmfcnf.lua file in TeX Live. Then ConTeXt could display the contents of that key in the log file, right below the ConTeXt version, so that it's clear to users (and people reading messages to the mailing list) that they're using an unofficial version.
ps. i might reintroduce the beta/current updating scheme at some point .. still undecided
Also fine by me; let me know if you ever want me to make any changes to the packaging in TeX Live.
% texmf-dist/tex/context/modules/mkxl/m-texlive.mkxl %D This is a variant on code I found in a \TEXLIVE\ installation in \type %D {cont-sys.mkxl} in 2025. In \type {cont-sys.mkxl} one can add this: %D %D \starttyping %D \usemodule[texlive] %D \stoptyping
I've updated cont-sys.mkxl with your new code, thanks!
%D I guess that the reason for this hackery is that a \TEXLIVE\ doesn't do %D an update of the file database after installing some \CONTEXT\ related %D files. In a similar manner, when a used updated something \CONTEXT\ we %D don't generate an lsr file. Here both are checked.
So TeX Live (tlmgr) always runs "mtxrun [--luatex] --generate" and "context [--luatex] --make" whenever it modifies any ConTeXt files, but since most users install TeX Live to "/usr/local/texlive/$YEAR" (or similar), tlmgr runs as root, so it can only update the caches/formats in "/usr/local/texlive/$YEAR/texmf-var/". But if a someone ever runs "mtxrun --generate" or "context --make" as a regular user, ConTeXt will create caches/formats in "~/.texlive$YEAR/texmf-var/", and then it will ignore all the files in "/usr/local/texlive/$YEAR/texmf-var/", even if they're newer than the user-local ones. I wrote that code as a quick hack back in 2023, but as we all know, quick hacks tend to stay around far longer than they should :). If there's some way to tell ConTeXt to always use the system's filename cache files for "root == 'selfautoparent:texmf-dist'", and then the user-local filename cache files for other roots, that would probably be even better. Thanks again, -- Max