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

Norbert Preining preining at logic.at
Wed Oct 3 14:21:06 CEST 2007

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,

> 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).

> 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

$ 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


Dr. Norbert Preining <preining at logic.at>        Vienna University of Technology
Debian Developer <preining at debian.org>                         Debian TeX Group
gpg DSA: 0x09C5B094      fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
The length of time it takes to get served in a camera shop. Hence,
also, how long we will have to wait for the abolition of income tax or
the Second Coming.
			--- Douglas Adams, The Meaning of Liff

More information about the dev-context mailing list