Frank Küster wrote:
After a succesful update, you have to run
# texexec --make --all [--xetex | --aleph | --pdftex] <formats>
..
So I guess this is the call that would also be needed if the update itself goes via a package management, i.e. if one installs a new version of the Debian ConTeXt package.
Yes.
This works fine if you are root, and had a previous context update done already. If you have not already and/or are not root, then you have two big problems:
* TEXFORMATS as shipped with teTeX/TL is uncomplete: there is that missing format-specific subdirectory.
So I guess TeXlive (and the existing teTeX packages within Linux/BSD/... distributions) should do that, so that modern ConTeXt just works.
Yes. But Hans and I gave up trying to convince the teTeX maintainers a while back, and we are not any more willing to spend even more time on doing that (even though the situation may have improved).
It might be possible by setting, in texmf.cnf,
TEXFORMATS.xetex = .;$TEXMF/web2c{xetex,} TEXFORMATS.pdftex = .;$TEXMF/web2c{pdftex,}
and so on. I'm not sure, however; this of course depends on which progname ConTeXt uses (so it might need to be TEXFORMATS.cont-xetex or whatever).
It is not the user-supplied progname, but the executable engine name. The progname is always set to 'context' for ConTeXt, otherwise variables like TEXINPUTS and the memory sizes would need many more entries main_memory.cont-en-xetex main_memory.cont-de-xetex etc. That is why there is a separate $engine.
Not using texexec is not a big deal in itself, as long as you restrict yourself to using pdfetex and know how to edit the fmtutil config file, I guess. That's why you sometimes see that approach promoted on the wiki.
I think, with the TEXFORMATS.$engine setup working, it should be possible to use both, fmtutil and texexec, and get the same formats -
Agreed.
texexec might still be better in doing other update tasks.
Also agreed.
* TEXFONTMAPS is also wrong: it makes pdftex (and dvipdfmx as well, I guess) find the mapfiles for dvips before their own mapfiles (those are shipped with ConTeXt).
This also sounds like a bug in TeXlive/teTeX.
Yes, I think so: it needs a few more TEXFONTMAPS lines in texmf.cnf.
* Lastly, ctxtools --update does a kpsewhich on context.tex to find where to install the updated files. That only works if you have write permission for that directory (i.e. you are root), or if you have done a private install already.
So this means -update will always try to overwrite an existing installation, and not automatically search for a writable directory that's earlier in the TEXMF path? Even not as a fallback? This sounds as if this tool could be improved.
That is true, ctxtools is very new tool that could definately be improved. Cheers, Taco