Exposé of the engineering principles. The present state (release). Future aims.


The current published version is (No new functionnalities: fixes for static linking under Linux based distributions.)

Rules about versioning

The version identifier is, rather classically, composed of 4 dot separated numbers: major.minor.revision.patch_level.

When the minor is 99, this means that we are aiming to major+1; i.e. n.99.x.x means with are aiming to release the n+1 major version.

When both minor and revision are 99, this is an alpha of the major+1, the path level number in this case can be incremented from time to time when releasing new alphas versions.

When the version is major.99.99.99, this is a beta release, i.e. the last publication to verify that everything is correct and to have the opportunity to iron out the last frequent unfelicities before releasing major+1.

News: support of the present version

As indicated by the version, we are aiming to release major 1, but some steps have to be accomplished before:

Since the base of the system (what is precisely relative to fonts present in base or to the two engines: TeX and &epsilon-TeX) is very stable, and in order to be able to use the main spare and sparsed time that can be dedicated to kerTeX on the bulk of what has to be done, changes to the present version will be restricted to corrections of problems arising during installation on systems (RISK), or for adding new systems (native MS Windows excepted for the moment), but we will not add new recipes (pkg) to the ones already present and updated to the end of october 2020 (between 26 et 28) versions on CTAN. For LaTeX, the version is "frozen" for now, for reasons explained above.

For the packages infrastructure, that has an OS dependent part, it is now possible to update it, without recompiling everything, by using the very packaging system itself: the recipe tools@pkg.sh allows the installation of an update; and rcp@pkg.sh allows to download the latest version of all the existing recipes.

User level: the recipes (rcp) and the packages

We finally gave an name to the script chunks defining the instructions to download, put in form and install additions to the base system and we have added functionnalities to dissociate this user level stuff from the kernel.

Practice has proven that the basic principles of the packaging framework work well. But there are some unfelicities when it comes to administration, and it would be for example better if the system would recursively be able to create packages a given package depends upon, without requiring to install these dependencies first (avoiding the need to switch to a privileged user when the installation is a privileged one). These points will be solved for the 1.0 release.

As mentioned above, LaTeX—that is not an engine but a TeX macros framework—could not be installed anymore, some months ago, on the TeX engine, requiring the ε-TeX extensions, and we had to modify the latex.sh recipe to adapt (it was possible because kerTeX provides ε-TeX); but now, LaTeX requires primitives that are supplementary to these ones and that are found in the PDF engines. Hence LaTeX is for now frozen to the february 2020 release. This should not be of a great concern for LaTeX users since this is, at least, the more up-to-date version on the other TeX distributions and it should be months before an end user will see a difference between the "new" version and the february 2020 one.

The recipes system had this advantage that, in the way it has been engineered, the recipe was in the majority of cases still valid for a new released version on CTAN as long as the processing of the generation of the files did not change and the requirements about the engine were the same. It was indeed a TeX "live", the user downloading the latest CTAN version.

But this advantage was, de facto, also a drawback: if some incompatible change was made upstream, the recipe failed. In the absence of a versionning system, the package was not installed until someone updated the recipe.

With the major modification of LaTeX prerequisites, we had to adopt a more safe way (while still keeping the ability to test live updates...). Now, the CTAN sources of the "working" version of the recipes is cached on KerGIS.com http server.

More long term aims

There are some not to say quite some. But in order to be able to dedicate the majority of a restricted time to address what has been exposed above, I will not discuss them for now (there are quite some points, and I'm inclined to think that they are quite entertaining). First things first: the 1.0 release...


(please use your e-mail client with the above address)

©2010–2020 Thierry Laronde — FRANCE