On Mi, 03 Okt 2007, Hans Hagen wrote:
formats go to the paths defined in texmf.cnf (TEXFORMATS) and the filedatabses go alongside the ls-R files, so basically it then behaves like any other tex
??? "file databases go alongside the ls-R files" what do you mean? I thought the stuff generated by luatools is something like the ls-R database for luatex. But it is placed NOT alongside the ls-R files, right?
the cache path is only used and populated at runtime, so
So every time I run a luatex/context document it has to read ALL the trees again??? Cannot be, that was the whole point of ls-R/cache. It should be generated once (the cache).
LUATEXCACHE=$TEXMFVAR/luacache:... TEXMFSHARECACHE=yes
should be ok then; if needed, later i can look into a way to share other cache stuff (say that you generate tmc files for 300 fonts at installation time) but if i understoof right, the main reason was formats and file databases
Yes, currently the main reason is for ls-R replacement and format location. But font data could be useful, too. My system has quite a lot of fonts ... On Mi, 03 Okt 2007, Hans Hagen wrote:
texexec --make --luatex en [...] this depends on the value of TEXFORMATS nd what path is first writable
Hmm, $ export TEXFORMATS=/home/norbert/.texmf-var/web2c $ texexec --make --luatex en ... TeXExec | using tex engine luatex TeXExec | using tex format path /home/norbert/.texmf-var/web2c/luatex TeXExec | generating tex format cont-en ... Transcript written on cont-en.log. LuaTools | LuaTools | runtime: 0.18 seconds TeXExec | no lua compilations needed TeXExec | TeXExec | tex engine path: /home/norbert/.texmf-var/web2c/luatex TeXExec | TeXExec | TeXExec | runtime: 9.486118 $ ls ~/.texmf-var/web2c/luatex $ ls -l ~/luatex-cache/context/f7d1b3c25487ab1e1035aff1c53b90da/formats/ -rw-r--r-- 1 norbert norbert 5669003 2007-10-03 14:07 cont-en.fmt -rw-r--r-- 1 norbert norbert 38786 2007-10-03 14:07 cont-en.log -rw-r--r-- 1 norbert norbert 159484 2007-10-03 14:07 cont-en.lua -rw-r--r-- 1 norbert norbert 112438 2007-10-03 14:07 cont-en.luc $ So the format is placed in some strange ;-) place under luatex-cache.
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?
No, Debian does not install sudo at all per default. There is a real
root user.
-------------
To sum it up: It is a bit unclear what purpose the cache is used for:
- ls-R replacement, ie some sort of file database
- preprocessed font data cache so that loading the stuff is done faster
- formats??? what is saved for this
But all of this is somehow static. On a normal system a normal user
shouldn't have the necessity to change anything of the above. That
should be done at install time of the respective stuff.
Furthermore, the cache could be used (no idea whether this is true) for:
- single job caching of data
wouldn't it be better to keep generated files like this in the
cwd, like .aux, etc files
- caching of user files
like the above, but initiated by the user
Again, I don't see any other use than these ones, but please enlighten
me what else it is used for. But in this case some mktexlsr-ish approach
would make sense.
So suggestion, like any TEXMF tree contains a ls-R file, we could have
for any TEXMFTREE a lcache/ directory $tree/lcache/ which contains the
cache for this tree.
Since luatools and other things extract the texmf trees anyway from the
TEXMFCNF variable, the cache could be read from there.
What was the reason to do the hashing somewhere else but add the md5sums
etc for these trees?
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining