1. (optional cleanup) Delete the old Context-installed files in ~/texmf/. This step is optional, but I do it so that I can track the
I am not so sure that step is optional. Because if the preinstalled version had a cont-sys.tex or cont-usr.tex, then this step may be required to make sure you are not using an out-of-date version of these files.
Good point, thanks. I'll incorporate it into the eventual wiki page.
A somehwat more flexible version is
#!/bin/sh ruby `kpsewhich --format='texmfscripts' texmfstart.rb` $@
(also notice the lack of quotes around $@)
According to the bash man entry: @ Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, each parameter expands to a separate word. That is, "$@" is equivalent to "$1" "$2" ... So if you ran texmfstart with texmfstart --option="hi there" then the $@ form would produce texmfstart.rb --option=hi there which would leave 'there' standing alone as a second argument. Whereas the "$@" form would produce texmfstart.rb "--option=hi there" This second form is what you want, no?
$ texmfstart ctxtools --updatecontext kpsewhich: option `--expand-var' requires an argument
Do not worry about that until the rest of the install is correct, it may start working automagically.
It didn't work magically, but Jano Kula's suggestion about TEXMFLOCAL made it work. I looked at the TEXMFLOCAL in the /etc/texmf/texmf.cnf and did: TEXMFLOCAL=/usr/local/share/texmf texmfstart ctxtools --updatecontext That worked fine except now there's version clash. During the update it said CtxTools | updating /usr/local/share/texmf and it downloaded the cont-tmf.zip there and unzipped it, remade the formats, and put them under ~/.texmf-var. So now the formats are based on the new context (2006.07.24) but for example, $ texmfstart ctxtools --contextversion CtxTools | context version: 2006.07.14 12:08 (/home/sanjoy/texmf/tex/context/base/context.tex) CtxTools | context version: 2006.07.14 12:08 (/home/sanjoy/texmf/tex/context/base/cont-new.tex) So texmfstart is finding the older source files in ~/texmf (from the 2006.07.14 update) although the formats themselves are newer. And trying a simple file gives: $ texexec t ... ConTeXt ver: 2006.07.14 12:08 fmt: 2006.7.26 int: english mes: english which worked fine, I guess since the two versions are sufficiently compatible. To avoid this problem, is it possible to put the new version in ~/texmf instead of in TEXMFLOCAL? Although in ~/texmf may be wrong for others, so it's a difficult problem... -Sanjoy `Never underestimate the evil of which men of power are capable.' --Bertrand Russell, _War Crimes in Vietnam_, chapter 1.