[NTG-context] updating context on Ubuntu 6.06
sanjoy at mrao.cam.ac.uk
Wed Jul 26 17:17:00 CEST 2006
> >>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
> 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"
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
TEXMFLOCAL=/usr/local/share/texmf texmfstart ctxtools --updatecontext
That worked fine except now there's version clash. During the update
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...
`Never underestimate the evil of which men of power are capable.'
--Bertrand Russell, _War Crimes in Vietnam_, chapter 1.
More information about the ntg-context