[tex-live] Feature request for TL 2014 (or later): Easier installation of local/experimental packages

Siep Kroonenberg siepo at cybercomm.nl
Wed Feb 12 12:59:01 CET 2014

On Wed, Feb 12, 2014 at 10:40:24AM +0100, Ulrike Fischer wrote:
> I would like to make a feature request for one of the next TeXLive
> version: a way to make the installation *and the deinstallation* of
> local/non official/development packages (almost) as smooth as the
> installation of official packages with tlmgr.
> Remark: When I mention miktex solutions here I don't mean that
> TeXLive should copy them -- it is quite possible that there is a
> better way to my goal. 
> Second remark: naturally not every package can be installed in a
> simple way - it is quite ok if it has to be in tds.zip-format or if
> a xml-file to describe the structure must be present.
> I need this for two reasons:
> At first I often more than one version of packages like pgf or
> luaotfload and have to compare the output or use a specific version
> to be able to reproduce a problem. So I need a way to enable and
> disable a package fast. It is important here that enabling a package
> don't remove/overwrite an existing package. 
> In miktex if there is a tds.zip I simply unpack the package in its
> own small texmf tree and then add the tree with initexmf
> --register-root (and perhaps updmap) and remove it with initexmf
> --unregister-root on the command line. 
> In TeXLive I add the root to the TEXMF variable in a local texmf.cnf
> -- that's ok but not so comfortable: I have to open the file in a
> editor, get the correct path (I can't use tab completation there),
> save the file, call perhaps mktexlsr and updmap(-sys). 
> At second when I write a class or a package or prepare a font for
> someone else I would like to make installation easy. 
> If the user has a miktex system this is rather straightforward: I
> make a tds.zip and tell them to unpack the zip file and attach the
> root folder as a new root. 
> I haven't yet found a good way for TeXLive. Markus Kohm has set up a
> TeXLive repository for his experimental KOMA-versions
> (http://www.komascript.de/current), but I can't use this for private
> classes and fonts (and it sounds rather complicated anyway to setup
> such a repository).

The following procedure should be scriptable:

- get a directory to unpack
- get the effective TEXMFLOCAL from `kpsewhich -var-value=TEXMFLOCAL'
- set an environment variable TEXMFLOCAL to this value with the new
  directory prepended.
- run mktexlsr on the new directory
- send a suitable broadcast message that the environment has changed

You would need a second script to remove a directory from
TEXMFLOCAL, which also should look whether the environment variable
is still needed. This could be an interactive command-line program
which lists the non-default components of TEXMFLOCAL.

Siep Kroonenberg

More information about the tex-live mailing list