TL ConTeXt in minimal setup
Joseph Wright
joseph.wright at morningstar2.co.uk
Tue Jul 18 10:52:33 CEST 2023
On 18/07/2023 09:17, Joseph Wright wrote:
> On 18/07/2023 06:47, Joseph Wright wrote:
>> Hi Karl,
>>
>> On 17/07/2023 23:51, Karl Berry wrote:
>>> OK, you have to run mtxrun with LuaTeX:
>>> luatex --luaonly <path-to>/mtxrun.lua --generate
>>>
>>> Thanks Joseph. It seems complex to be the invocation for tlmgr, though
>>> could be done, of course. I also thought context automatically rebuilt
>>> its stuff at the drop of a hat precisely to avoid such manual
>>> rebuilds. I'm baffled as usual.
>>
>> I suspected it's not run anywhere 'manually' by tlmgr: I wanted mainly
>> to ensure there was a record on the list of what seems to fix the
>> issue. Probably I'll end up adding this to the script that does the
>> install so things work.
>>
>> I'm still trying to track down what it is that's different between
>> scheme-infraonly + package context and a fuller install. I'll keep
>> experimenting.
>>
>> Joseph
>
> OK, I've found that if I use a profile installing "scheme-context", then
> everything is OK, but if I use a profile using "scheme-infraonly" then
> "tlmgr install scheme-context", it doesn't!
>
> Looking what the installation routine actually logs when using
> scheme-context from a profile, it says
>
> setting up ConTeXt cache: running mtxrun --generate ...done
> running context --luatex --generate ...done
>
> and indeed if I use "scheme-infraonly", add in "context" then run those
> two commands, it works.
>
> So the question is what the subtle difference is between installing
> "scheme-context" from a profile and from tlmgr.
>
> Regards,
>
> Joseph
Ah, I have it! The *only* place that TeX Live sets up the ConTeXt cache
is in install-tl:
my $lmtx = "$plat_bindir/luametatex$progext";
if (exists($install{"context"}) && $install{"context"} == 1
&& !exists $ENV{"TEXLIVE_INSTALL_NO_CONTEXT_CACHE"}
&& TeXLive::TLUtils::system_ok("$lmtx --version")
) {
info("setting up ConTeXt cache: ");
$errcount += run_postinst_cmd("mtxrun --generate");
$errcount += run_postinst_cmd("context --luatex --generate");
} else {
debug("skipped ConTeXt cache setup\n");
}
So now I understand why nothing is being triggered. I guess my question
is now 'why is this done in the install script rather than listed as an
"execute" in texlive.tlpdb? (I guess that would need a short dedicated
script.)
Joseph
More information about the tex-live
mailing list.