[dev-context] integrating context mkiv, luatex, and fmtutil, mktexlsr, etc

Hans Hagen pragma at wxs.nl
Wed Oct 3 13:35:40 CEST 2007

Norbert Preining wrote:

> Now for combinations of
> 	cont-?? $engine ...
> we could switch to calling
> 	texexec --engine $engine --make ??
> Is this right? 
> But this doesn't work with luatex:
> 	texexec --engine luatex --make en
> still runs luatex. (Strange btw, isn't it?)

texexec --make --luatex en

as usual, format generating programs have to mess around with the 
resulting format file (texexec goes to the format path)

you can use luatools --make --compile cont-en instead but then you need 
to move the format and associated luc file to the right place (i dunno 
if fmtutil does that)

> So, what is the *recommended* way to generate context formats for the
> following engines:
> 	pdftex:		ini, texexec
> 	xetex:		ini, texexec
> 	aleph:		ini, texexec
> 	luatex:		???
> (ini: calling $engine -ini ..., 
> texexec: calling texexec --engine $engine --make ??)

just --make --xetex|pdftex|luatex should work

>> $ENGINE --luaonly luatools.lua --make --compile cont-en
>> $ENGINE --luaonly luatools.lua --make --compile plain
> Ok, so one could call
> 	luatools --make --compile cont-en
> ??? 

sure, this is what texexec does -)

luatools is a subset of the lua files in context/base, merged into one 
file, and with some extra functionality like playing kpsewhich (but a 
bit more, like "luatools --pattern=lmr10*" and such, and mtxrun is a 
closely related thing that we will use to run scripts that like the 
preloaded libs in luatex as well as file searching, think of

mtxrun --script cache --purge
mtxrun --script babel --language=greek structure=context babelcoded.tex


> For all those texexec/luatools creating of formats there is another
> problem: The formats are placed in quite arbitrary locations. TEXMFVAR
> should be the right place, but this is not honoured (in my case texexec
> did put it into TEXMFHOME!). Or at least it should be *fixed* to which
> tree the format will be written.

this depends on the value of TEXFORMATS nd what path is first writable 
(if i did things right but maybe taco can check that since he's on 
linux); i always have a texformats var set -)

> Then there is the problem that luatools --make does not work without any
> cache, well, see below.
>>> - integration into mktexlsr
>>>  see my other email about multiple cache merging, but to some up:
>>>  . cache should be read from more then one directory, eg from
>>>    TEXMFSYSCACHE and TEXMFCACHE (with usual override stuff)
>>>  . single cache updates should be possible:
>>> 	luatools --generate $HOME/texmf
>> i'll see what i can do
>>>    should generate the cache for $HOME/texmf in $TEXMFCACHE
>> what exactly do you mean with integration? calling luatools?
> Well, the idea is that if someone calls
> 	mktexlsr $tree
> and luatex/context is installed, the luatex cache is also updated. The
> idea is that we just plug in some code that is only executed if context
> and luatex is installed, that updates the cache.

i can add that option

> Aehmmm, but the luatex cache will quite sure be set to something with a
> dot, at least the local one ;-)

yeah ... i've seen those dotted files in linux installations (just as 
Desktop and other macish/windowish paths, so i wonder when we wil have a 
Progam Files -); anyhow, it should work and probably works; sometimes i 
  do some . and .. checks to make sure that no one misuses this to get 
to paths they're not supposed to visit)

btw, reminds me ... is this becoming a cross distribution linux 
convention (was already so on the mac) ... no longer root users, but 
always a sudu needed?

> I think it is time to discuss all this problems now, otherwise inclusion
> into TeX Live upstream and Debian will make problems. Ok, I can just
> ship the stuff and don't produce and cache/formats whatsoever for MkIV,
> MkII still works quite well. But I guess it would be nice to sort this
> out in a good way for all parties.

sure, and i appreciate your efforts and testing -)


                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl

More information about the dev-context mailing list