[NTG-context] Keeping up-to-date under TeXLive

Mojca Miklavec mojca.miklavec.lists at gmail.com
Wed Dec 26 12:14:55 CET 2007

On Dec 26, 2007 1:56 AM, Joel C. Salomon wrote:
> I'm trying to put everything together so potential problems are easily
> identifiable, and so that a recipe or shell script can perhaps be put
> on the wiki.
> On Dec 23, 2007 5:08 AM, Mojca Miklavec wrote:
> > Also, if you already have a working TeX distribution, you can write a
> > few rsync calls yourself. At
> >     http://minimals.contextgarden.net/current/
> > you have:
> > - current ConTeXt
> > - almost-latest binaries
> > - fonts
> > any you can combine the stuff from there in some arbitrary way.
> So, since I have a working TeX from Ubuntu, I want to put all the
> "new" stuff in my TEXMFHOME (A.K.A. ~/texmf).  To this end, I could
> use some help putting the rsync calls together.

That's OK, but I would neverthelees suggest you to put the files under
TEXMFLOCAL, since TEXMFHOME is usually searched recursively for files
and thus much slower (well, it depends on texmf.cnf).

(One question though: doesn't Ubuntu provide pretty recent files
already, or is that only in unstable versions?)

> In each case the command will take the form "rsync --recursive --perms
> --compress --checksum --times --links --verbose rsync://<something>/
> ~/texmf/<somewhere>", which I'll abbreviate in this email as "rsync
> -rvzctlp rs://cg.net/minimals/current/... ~/texmf/..." (so lines don't
> get broken at inconvenient times).
> The basic ConTeXt stuff gets pulled in, as Mojca suggested, thus:
>         rsync -rvzctlp rs://cg.net/minimals/current/context/current/ ~/texmf/

That's OK.

> Next, I want to get the up-to-date binaries, for which I'd like to do
> something like
>         rsync -rvzctlp rs://cg.net/minimals/current/bin/[*]/linux/ ~/texmf/
> where I either need to write a separate line for each of {common,
> context, luatex, metapost, pdftex, xetex}, or have a single command
> that includes them all.

common is taken from TeXLive, so you prabably don't need it.
context are usually one-liners + mtxrun & texmfstart (the latter two
might be needed).

rsync -rvzctlp rsync://contextgarden.net'/minimals/current/bin/xetex/linux/bin/
minimals/current/bin/luatex/linux/bin/' x

Where the only requirement is to have x in PATH before TeXLive binaries.

(Note that the trailing slash makes the difference.)
Once upon a time you would also need xetex.pool, metapost.mem,
pdftex.pool, but they're gone now :)
(you may remove "bin" in the lines above)

If you make a single call, it will be faster.

> (Since I intend to put this all in a shell
> script, a bit of duplication isn't a problem.)  This will put
> "/current/bin/[package]/[system]/bin/[whatever]" into "~/texmf/bin/",
> where I think they belong in an installed system.

The location is up to you. Just make sure it's in PATH.

> The manuals seem to be in a somewhat odd place (under bin!);

These are not the manuals, but man pages (OK, that's documentation
indeed, but the important thing is to place them parallel to bin in
order to make them work).

I have
    texmf-osx-intel/bin/ [xetex, pdftex, ...]
    texmf-osx-intel/man/man1/ [man pages]

> I'd use
>         rsync -rvzctlp rs://cg.net/minimals/current/bin/man/ ~/texmf/

That should work if you have the binaries in ~/texmf/bin

> but no programs should care where they are; this is my own use.  In
> fact, perhaps I should put the man pages where the man system can find
> them.  I'll leave this for another day.
> NB:  I have no idea whether I need the stuff in "/current/base" or
> "/current/misc", nor where in the texmf tree they would go.

No, you don't need that. You have it already.

Now, concerning fonts [IMPORTANT]:
I would really really love to split them somehow since they're huge
(there's only TeX Gyre, LM, Antykwa & some AMS, but they still take
quite some space), but I have no idea how. Hans has suggestes some
non-TDS compliant way. Any ideas wellcome.
The *important* warning means: things (locations) may change
concerning fonts in the future.

> The fonts are, like the binaries, in a
> "/current/fonts/[group]/fonts/[format]/..." tree, and the installed
> system should have them in "~/texmf/fonts/[format]/...", so I need
> another four lines of the sort
>         rsync -rvzctlp rs://cg.net/minimals/current/fonts/[*]/ ~/texmf/
> where [*] is one of {common, new, old, other}.  (Are there any I
> really don't need or want?)

You probably don't need "other" (these are times & platino math fonts).

new: OpenType (for XeTeX and LuaTeX)
old: metrics/encodings/maps for pdfTeX
common: mostly math-related metrics/encodings/maps + AMS fonts

It depends. If you already have fonts on your system and if you don't
need TeX Gyre, you don't need to fetch any fonts at all.
You can follow the pattern mentioned above to fetch all the fonts at once.

> I add ~/texmf/bin to the front of my PATH.


> And then I follow all that up with a rebuilding of the format files with
>         texexec -- make --all
>         texexec -- make --all --xtx
>         texexec -- make --all --lua
> (Will the formats be made in TEXMFHOME or somewhere else?)

They're usually made in TEXMFLOCAL. But I guess that you also have
some command on ubuntu which does that.

> If this passes the sanity check with you guys, and if I can get
> answers to the stuff I'm unsure on, I'll try it & report back.

LuaTeX might need some additionas variables, but well ... ask in case
of problems.


More information about the ntg-context mailing list