[tex-live] How to build my own TeXLive Distribution scheme?

Norbert Preining preining at logic.at
Wed Dec 14 23:59:57 CET 2011

Hi Daniel, all,

On Mi, 14 Dez 2011, Daniel Grycman wrote:
> how can I build my own TeXLive Distribution scheme? I needed a special
> scheme for distributional reasons, which means to include only the

The questionis what do you want to do with it, I didn't understand that.
Do you *distribute* from a server to several clients this spcial
scheme with some distribution mechanism like we do? Or do you simply
want to select a set of packages to be installed, i.e., you want finer
grained selection at the installer (tl-install) in one way or the other,
so that you can say, "please install only those packages"?

On Mi, 14 Dez 2011, Karl Berry wrote:
> I don't have a good answer for you.  (Maybe I'm forgetting something, in
> which case I'm sure Norbert will correct me.)
> The bad answer is, you can edit texlive.tlpdb and insert a new
> scheme-grycman entry (the format should be obvious) which references
> exactly the packages you want.

That will only work if you:
- create a full install (or at least one that contains everything you need)
- install the scheme into it
- and then use this installation as installation source for other

> However, I don't see how you can eliminate all the non-{lua,xe} engines.
> lualatex, for instance, is part of the latex-bin package, but that
> package also includes latex and pdflatex.  To be honest, I can't say I'm

That is true, you cannot eliminate these programs. But I think a bit
overhead will be always there, and disk space is cheap, so I don't
think that this minimal overhead is the real problem.

On Mi, 14 Dez 2011, Martin Schröder wrote:
> That's what he has done (Daniel is a friend & colleague). It would be
> nice if we could maintain this list of packages more easily and make
> updates (e.g. TL11 -> TL12) easier.

I think the best way is the following:
- create a .tlpobj file scheme-foobar.tlpobj containing the single 
  packages you need. Syntax is like one stanza from the tlpdb.
- Every year, if there is no update path, create a new installation
  which includes *at*least* what you need
  say the installation is in /path/MasterTL/2020
- call
	tlmgr _include_tlpobj /path/to/scheme-foobar.tlpobj
  (undocumented action, used internally by tlmgr)
- then use install-tl -repo /path/MasterTL/2020 when installing the
  working copy, and at installation time select only the schem-foobar,
  which should show up

Is this a reasonable way?

But as I said, it depends on what you really want to do, so please be
more specific. You can of course set up your own repository (with 
archive/*.tar.xz) and use that for installation?

Or even much more funny solution, just come to my mind:
- install scheme-minimal
- create your own minimal repository for TL which contains *only* the
- upgrade to my testing tlmulti tlmgr, where you can have multiple repositories
- add your repository (and my tlmulti) to the list of repositories
  (see documentation of updated tlmgr for details)
  mine looks like
  $ tlmgr repository
  List of repositories (with tags if set):
  	http://tlcontrib.metatex.org/2011 (tlcontrib)
	/var/www/norbert/tlmulti (tlmulti)
	/var/www/norbert/tlnet (main)
	/var/www/norbert/tlptexlive (tlptexlive)
- install your scheme and remove what is not needed

So there are many ways to go .... depending on your needs.

Best wishes

Norbert Preining            preining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan                                 TeX Live & Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
A quiet little unregarded man in glasses who is building a new kind of
atomic bomb in his garden shed.
			--- Douglas Adams, The Meaning of Liff

More information about the tex-live mailing list