[dev-context] context program, mtxrun question?

Oliver Buerschaper oliver.buerschaper at mpq.mpg.de
Mon May 19 16:03:23 CEST 2008

>> At the moment for me it would be enough to know where exactly  
>> LuaTeX  looks for configuration information (path & file name) and  
>> which files  take precedence over others in the case of  
>> conflicts ... my current  understanding is:
>> 1. Environment variables
>> 2. setuptex.tmf
> no, this one is only used when you run
> mtxrun --tree=....
> i use this methos in web driven workflows where we can have multiple  
> trees alongside (linux servers) and i never bother to setup my shell  
> for that; i just call mtxrun then

OK, just to confirm, the file setuptex.tmf at the top level of a set  
of tex trees is *only* ever evaluated by mtxrun. In turn, if I never  
intend to run mtxrun --tree=... I can safely delete this file.

(A quick grep shows that the file setuptex.tmf also seems to be used  
by runtools.rb and texmfstart.rb for the same purpose but since these  
scripts are obsolete for LuaTeX this can be ignored).

>> 3. texmf-context/web2c/context.cnf
> we ship context.cnfas an example of what is needed (it's the one on  
> my machine)

In other words, deleting context.cnf from texmf-context/web2c/ makes  
no difference whatsoever for LuaTeX?

>> 4. texmf/web2c/texmf.cnf
> that one indeed unless it's in a usual place

OK, again just to be sure: the file texmf/web2c/texmf.cnf (exactly in  
this location) is the central configuration file for LuaTeX (and  
actually the only one needed after deleting the ones mentioned above).  
However, without the environment variable $TEXMF LuaTeX won't be able  
to find it and will give up.

Now if $TEXMF is set LuaTeX will search all the trees specified there  
in the given order until it finds the file at anytexmf/web2c/ 
texmf.cnf. What if the file texmf.cnf is in a different location  
within $TEXMF? Will LuaTeX still find it?

>> As a second step, one would have to know what each of the settings  
>> in  the above places is needed for. In particular, I would like to  
>> know  which settings LuaTeX actually uses and which ones it  
>> ignores. But  this can wait until the first question is figured out  
>> completely ;-)
> $TEXMF is needed in order to locate the configuration file

Why does LuaTeX need an environment variable for that? Both pdftex and  
xetex in the minimal distribution run flawlessly without any variable  
set. Besides TeXLive 2007 doesn't need that either.

Why can't there be a default location where LuaTeX looks for its  
configuration file (be it texmf.cnf or something else)?

> (currently still a CNF file but we may as well get rid of it since  
> we use less and less info from it;

This is what I actually wanted to know in the second step ... which  
info from texmf.cnf is used by LuaTeX and what is ignored? What  
aspects of LuaTeX are configured by each single line? Furthermore,  
which info is mandatory and what is optional?

> if we would organize the minimals differently i.e. more flat that  
> tds we can do without a configuration, especially fonts
> are an issue (why no tex/fonts/data/vendor/collection)

I don't understand.

> $TEXMFCACHE is needed because distributers want control over the place
> where those files go; there is some default setup but ...

Yes, unless $TEXMFCACHE is set, LuaTeX uses $HOME/luatex-cache. Can  
the cache path also be set in the file texmf.cnf?


More information about the dev-context mailing list