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? Best, Oliver