[NTG-context] New installation setup

Hans Hagen j.hagen at xs4all.nl
Sun Apr 19 15:39:13 CEST 2020

On 4/19/2020 12:44 PM, Henning Hraban Ramm wrote:
>> Am 19.04.2020 um 11:57 schrieb Hans Hagen <j.hagen at xs4all.nl>:
>> As a side note: a while ago mojca and i discussed the future repository and installation setup which will use github repositories
>> (1) - context (including luametatex sources)
>> (2) - binaries (for a subset of platforms)
>> (3) - resources (like fonts and such)
>> (4) - modules (stable ones pushed from the main garden repos)
>> but we simply didn't find time to follow up on that. We have to adapt installers too and we want to do it right from the start.
>> Now, we're not in a particular hurry, but in playing with all this it can happen that the current distributions get flaws.
>> (As a side effect the more or less official release of luametatex has been postponed a few times because it depends on (1) which in turn depends on pushing older context distributions etc. But then, due to the current health crisis, time has slowed down anyway.)
> Sounds good. Is documentation part of (3) or can it be another section?

It's part of (1) as it is now but of course we can have an additional 
one (5) for extra documentation.

> While I want to install "everything" on my work machine, it would make sense to restrict a server installation (or a beta version for tests) to the bare minimum (without docs, but maybe with fonts).

Nowadays even 'everything' is not that much is it? not compared to the 
whole of tex live. There was a time that a tex installation was 
considered large but nowadays many single task programs come with a 
larger installation.

> I also would very much appreciate to be able to install older versions (like "in the old times") to check when some changes happened. Git repositories serve the same purpose, probably even better.
> I’d suggest to keep those sections in separate repositories and install them as texmf-context, texmf-fonts, texmf-docs or the like (similar to the current state, but selectable). Git submodules *should* work to combine several repos, but the implementation has flaws (e.g. "git submodule update" tries to access all submodules at once, and if you must enter credentials, the prompts get mixed up).
Basically we're talking

(1) texmf-context    (tex, mp, lua sources, documentation, luametatex code)
(2) texmf-<platform> (luametatex and luatex bin)
(3) texmf            (mostly fonts as it is now)
(4) texmf-modules    (from the garden)

and if you want

(5) texmf-docs

but context documentation goes into texmf-context.

We're not going top be too clever ... these systems come and go (as do 
some 'standards') so any installation model should be simple kind of 
'copy/fetch something' (with no dependencies on anything we don't have 
in the repository either, apart from a compiler is one wants to compile 
luametatex for some platform we don't provide).

Keep in mind that for specific usage demands are too different so all we 
can do is provide what there is.

Also keep in mind that too much split also makes for tricky 
dependencies, for instance binaries are the latest so when you want an 
older context - something that you can do now too when you use the 
existing github repository - you have to make sure you have the right 
binary. This is why (1) will have the engine source code: integrity 
(don't worry the source code compresses to < 2 meg and uncompressed is 
less that some of these large fonts).

Anyway, once we have it we can always make clever installers. Actually 
when you want to go real small it's easier to just install and wipe what 
you don't need.


                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl

More information about the ntg-context mailing list