[tex-live] Debian Packages of TeXlive

Norbert Preining preining at logic.at
Wed Jan 12 15:44:33 CET 2005

Dear Frank!

I think the best idea is that I first explain a bit about the structure
of TeXlive and how we thought (past tense, we probably have to change
this) packaging would be nice. Then I will take up some of your ideas.

TeXlive is installed on Unix-like systems via a simple program, where
you can select collections, which include several packages (e.g. a
collection for CJK, one for Music, etc).

For every package and every collection there is a .tpm file. This tpm
file specifies (beside other)
- name, size, ...
- dependencies on other collections and packages
- included files, categorized into Doc, Run, Bin, Source

ATM we have around 75 collections, and around 1000 packages. These
packages include more or less everything which is available at CTAN (and
what Sebastian is able to submit again and again!).

Besides the collections there are tpm files for binaries, hyphens, and
libraries. Libraries are NOT used in TeXlive/linux, all the binaries are
linked statically against most libraries (but dynamically against X11
and libc, libm).

Due to the huge amount of packages, we (at least Sebastian Rathz, Karl
Berry and myself) decided that it is a good idea to make 
	collections	->	debian packages
	dependencies on collections	->	debian dependencies
	dependencies on packages	->	includsion of the files
That means, that we would have one deb for every collection, which
- all the files directly mentioned in the collection
- all the packages required by the collection, i.e. all the files
  that are mentioned in packages required by the collection

This works out pretty well, as there are no inter-package dependencies
on the tpm level, and the same package is not included in multiple
collections (ok, not 100% true, but 99.9%). In addition the tpm-files
include all the information I need for making debian packages, and in
fact I have a script which generates .debs from the collections,
	run files (sty,tex,..)		/usr/share/texlive/texmf(-dist)
	doc files			/usr/share/doc/<packagename>
	binaries			/usr/bin

My first idea was to ignore different architecture  binaries at all,
thus only having
packages, which automatically get the right architecture. Then some
people (including myself) realized that many people use TeXlive to serve
other architectures, too, this is when I came up with the other proposal
about putting all binaries into texlive/bin/<arch-os>/...

This for now on the TeXlive packaging. Now for your valuable comments:

On Die, 11 Jan 2005, Frank Küster wrote:
> 1. First of all, you should decide whether you really want (a) only an
>    easy, automated method of installing TeXLive on a Debian system and
>    of telling the package managment that now some TeX system is
>    available, or rather (b) a proper Debian package.

Of course, on the long run (b). But to be honest, I see severe problems
with the way texlive is maintained: I would generate the packages from
the files already located in their proper places in the texmf tree, not
directly from sources as downloaded from CTAN. This work of updating the
texmf trees in TeXlive is left to some of us, mostly Sebastian. Thus, we
for sure will have problems in providing a source package, because
although the structure of the stuff obtained from CTAN is often the
same, in fact every single CTAN-package has to be treated more or less

The advantage of using the tpm files is that all the files are already
in their proper locations and we just have to copy them in some tmp
file, build a control file, make a debian package. So to come back to
your question: Probably (a) is not too bad to achieve.

What I would like to have for NOW is a mixture of (a) and (b). We want
reach proper inclusion in debian soon, but we should right from the
beginning at least try to do it the debian way.

Best wishes


Norbert Preining <preining AT logic DOT at>         Technische Universität Wien
sip:preining at at43.tuwien.ac.at                             +43 (0) 59966-690018
gpg DSA: 0x09C5B094      fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
Something which justifies having a really good cry.
			--- Douglas Adams, The Meaning of Liff

More information about the tex-live mailing list