Here's what I had to do to update to the latest Context (2006.07.14) on Ubuntu 6.06 (i.e. 2006.06) distribution of Linux. It comes with tetex 3.0. The commands below assume a working Context already installed in your ~/texmf, and the commands use bash syntax, which is almost like 'sh' but has the ~ idiom for $HOME. Beforehand I had been using the 2006.04.17 beta and had put off upgrading because I was scared of the change from perl texexec to ruby texexec. 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 versions using an SCM. I use mercurial (hg is the program name), but it could have been svn, cvs, etc. The command (done in ~/texmf): hg locate -0 | xargs rm -0 2. (download, unpack) Download cont-tmf.zip, cont-fnt.zip, and cont-img.zip. Probably you need only the first zip file, but I'm reporting exactly what I did just in case any substep is the crucial one. The command: cd /tmp/ # no need to save them long-term wget http://www.pragma-ade.nl/context/current/cont-{tmf,fnt,img}.zip Unzip the zip archives into ~/texmf, appending the giant list of files to /tmp/a.log: cd ~/texmf for f in /tmp/cont-{tmf,fnt,img}.zip ; do unzip $f >> /tmp/a.log ;done 3. (stubs, part 1) Create ~/bin/texmfstart containing two lines: #!/bin/bash ~/texmf/scripts/context/ruby/texmfstart.rb "$@" Then make it executable with chmod +x ~/bin/texmfstart From what I can tell from reading the ruby code, using the full path to texmfstart.rb helps texmfstart.rb find the other .rb programs, like texexec.rb. (texmfstart.rb uses the path it was called with and looks in that directory, but Hans can correct me if I'm wrong here.) 4. (stubs, part 2) texmfstart will run texexec, so create texexec as a symlink to ~/texmf/scripts/context/stubs/unix/texexec: cd ~/bin ln -s ~/texmf/scripts/context/stubs/unix/texexec chmod +x texexec Hans: Could texexec be made executable in the distribution's zip file, to avoid the chmod? 5. (test 1) A first check is that texexec works. So change to a random directory, e.g. where you keep some Context files: cd ~/tmp/xy ; texexec --version That produces: TeXExec | version 6.2.0 - 1997-2006 - PRAGMA ADE/POD which looks good 6. (formats) Remake the formats with texexec --make --all 7. (test 2) Try a simple file. I use ~/tmp/xy/t.tex containing one line, "\starttext abc \stoptext". Here goes: texexec t fails with ! Font \*12ptrmtf*=ec-lmr12 not loadable: Metric (TFM) file not found. 8. (dreaded lmodern) Ack, it's the dreaded lmodern problem. I thought I had avoided this issue on my previous laptop, which ran Debian testing/unstable and got reincarnated as an Ubuntu laptop. And I had fixed it, by installing the 'lmodern' package. But Ubuntu lmodern is v0.92, at least as of Ubuntu 6.06, and Debian unstable uses v1.00, which includes the necessary .tfm files for ec-lmr*. The beta Ubuntu ('edgy eft') uses the new version, so I downloaded its .deb via http://packages.ubuntu.com, which eventually pointed me to a monster url and I did: cd /tmp wget http://ubuntu.mirrors.tds.net/ubuntu/pool/universe/l/lmodern/lmodern_1.00-2_... Note that the package version may change, so the easiest way is to download the latest .deb from http://ubuntu.mirrors.tds.net/ubuntu/pool/universe/l/lmodern/ Installing it is a bit painful. The first try (done as root) of dpkg -i /tmp/lmodern_1.00-2_all.deb complains with Usage error: unrecognized option Usage: update-fonts-dir DIRECTORY ... 'update-fonts-dir' is some X program that updates X's ideas of where its fonts are, and the package isn't calling it correctly. But I don't care whether X knows about the lmodern fonts, since I'm using them for documents viewed with gv or xpdf, not directly as an X font. So I shut up update-fonts-dir for the moment, installed, and undid the shutting up (all as root): chmod -x /usr/bin/update-fonts-dir dpkg -i /tmp/lmodern_1.00-2_all.deb chmod +x /usr/bin/update-fonts-dir 9. (test 2 again, not as root) Now 'texexec t' works fine, as does 'texexec --check' So I think all is well, and I didn't need to set RUBYLIB. Let me know of any corrections or improvements; if there's interest I'll wikifi.
From now on, I hope I can update using
texmfstart ctxtools --updatecontext -Sanjoy `A society of sheep must in time beget a government of wolves.' - Bertrand de Jouvenal