TUGboat, Volume 26 (2005), No. 3 241

TEX Live for file. These files list the contents of the package to- gether with dependencies and any special actions to Norbert Preining be taken at installation time. These packages are Abstract grouped into around 30 so-called collections, which the administrator can select via the normal TEX Live T X Live is a widely used T X distribution incorpo- E E installation procedure. rating most of the free (in the Debian sense) pack- In the course of packaging TEX Live for De- ages from CTAN, and binaries for many different bian, we discussed the possibility of making a single architecture– combinations. Debian package from every tpm. This option was, Debian GNU/ is a popular operating sys- however, quickly rejected, as it would have gener- tem distribution based on the Linux kernel, contain- ated more than 1000 new packages. Thus we came ing only free [3] programs. Like most distributions to the conclusion that we would follow the TEX Live of the Linux flavor, Debian has a strong package installation program and generate for each collection managing facility. Since T X Live is not packaged E a Debian package. for any distribution (SuSE, Red Hat, . . . ), users and Please see [1] for more details and installation system administrators have the choice of either us- instructions beyond the brief descriptions below. ing the TEX system coming with the distribution, or installing TEX Live outside of the normal pack- 3.1 Basic installation age management system. The packages have been included into the experi- It has thus been a longstanding wish to package mental branch of Debian, so system administrators T X Live for Debian, so that system administrators E of Debian GNU/Linux systems can use any Debian can install T X Live like any other Debian package. E mirror. Or, for those who do not want Debian’s ex- This article describes a project in this direction. perimental branch, you can use the Debian TEX Live 1 History repository on tug.org. In this case, to get the files you should add In times past, Sebastian Rahtz had some scripts ready, but unfortunately they were lost in a hard http://www.tug.org/texlive/Debian/ pool/ disk crash. In January 2005 the present author pre- deb-src http://www.tug.org/texlive/Debian/ pool/ pared the first proposal on packaging TEX Live for Debian. Within two months we had some scripts to your sources.list file. ready for building Debian packages directly from the After this you can install the package texlive TEX Live source repository. Sebastian Rahtz devel- to get a close approximation of a normal TEX Live oped the scripts further, so that by March 2005 we system (for differences see below). If you prefer a had the first installable Debian packages of TEX Live. smaller installation, the Debian package texlive- In mid-May 2005 I came into contact with Frank -recommended is a good start. We recom- Küster, who is responsible for packaging teTEX for mend adding at least texlive-fonts-recommended Debian, and together with the Debian teTEX main- and the needed texlive-lang-* packages for your tainers we developed a common base for the two desired hyphenation patterns. TEX systems on Debian. Out of this grew improved versions of the packaging scripts, and by December 3.2 Further installation we arrived at a state where we could initiate the first At this time, several other Debian packages have upload to the experimental Debian branch. dependencies on only the Debian teTEX packages and do not provide alternative dependencies onto 2 Users’ point of view TEX Live packages. Other packages do provide this From the users’ point of view there is little difference alternative dependency. We hope this issue will be between the original TEX Live distribution and the completely resolved soon. In the meantime, we pro- TEX Live Debian packages. The documentation of vide updates to the affected packages in another TEX Live present in the Debian packages describes repository on the TUG server. To access them, add typical use. Most differences arise only in the system administrators’ perspective, discussed next. deb http://www.tug.org/texlive/Debian/ updpkg/ deb-src http://www.tug.org/texlive/Debian/ updpkg/ 3 System administrators’ point of view to your sources.list file. The list of such updated Standard TEX Live is organized in small units called packages currently includes lyx, pdfjam, muttprint TEX packages, each of which is described by a tpm and around 20 others. 242 TUGboat, Volume 26 (2005), No. 3

4 Differences from TEX Live 4.4 Replaced packages The packaging of TEX Live for Debian has brought Many tpm packages are not included in the TEX Live about some changes due to Debian constraints and Debian packages since there are equivalent and/or paradigms. The interested reader may consult this improved packages available in Debian (e.g. preview, thread [4]. , cmsuper). As a result, some TEX Live A general guideline to Debian specifics can be collections are not matched by a Debian package found in the Debian TEX Policy [2]. (langarab → , langcjk → latex-cjk-all, htmlxml → several components). Other collections 4.1 Naming scheme are not included since they should be available as The names of the deb packages roughly correspond independent Debian packages (e.g. graphicstools, to the names of the collections in TEX Live, but ttfutils). have been slightly modified to conform to Debian standards (additional hyphens, country codes for the 5 Call for Developers documentation packages). In the last month developing these packages has been a one-man show. Interested developers are en- 4.2 Location of files couraged to join the TEX Live for Debian develop- As in TEX Live there are several support trees used. ers mailing list of the pkg-texlive-maint project The most important are: at alioth.debian.org [5]. Help is needed! TEXMFDIST = /usr/share/texmf-texlive 6 Closing TEXMFLOCAL = /usr/share/texmf TEXMFSYSCONFIG = /etc/texmf I want to thank Sebastian Rahtz, Karl Berry, and all TEXMFSYSVAR = /var/lib/texmf other TEX Live developers for the incredible amount of work they have put into TEX Live. In addition, 4.3 Configuration Karl Berry and TUG deserve a big thanks for pro- Debian policy states that programs must be config- viding the space for the Debian packages. From ured via files in /etc, and that changes to the con- the Debian side I want to thank Frank Küster (the figuration must be preserved over upgrades. This teTEX maintainer for Debian) for his permanent ad- led to a slightly different handling of configuration vice and support; without his cooperation, nothing files in the Debian packages of TEX Live and teTEX. would have been achieved. Since TEXMFSYSCONFIG is the /etc/texmf References directory, system administrators can configure the system by making a copy of any file in the main or [1] TEX Live for Debian web site. dist tree and placing it either in TEXMFLOCAL or http://www.tug.org/texlive/debian.html. TEXMFSYSCONFIG. [2] Debian TEX policy. http://people.debian. Some files needed special attention and are han- org/~frank/Debian-TeX-Policy/. dled through a Debian-specific mechanism that al- [3] Debian Guidelines contained in lows TEX Live or teTEX, add-on packages and lo- the . cal administrators to combine their changes. These http://www.debian.org/social_contract. files are the central configuration file texmf.cnf, [4] Discussion thread on the debian-devel the configuration file of formats fmtutil.cnf, the mailing list. http://lists.debian.org/ font configuration file updmap.cfg, and the language debian-devel/2005/11/msg01649.html. configuration file language.dat. [5] T X Live for Debian maintainers mailing list. All of these should not be modified directly, but E http://lists.alioth.debian.org/mailman/ only through files in special subdirectories of /etc: listinfo/pkg-texlive-maint. texmf.cnf in /etc/texmf/texmf.d, fmtutil.cnf in /etc/texmf/fmt.d, and so on. After modifying  Norbert Preining and/or adding files in these directories, the com- Università di Siena mands update-texmf, update-fmtutil, update- Pian dei Mantellini, 44 updmap, and update-language, respectively, should 53100 Siena, Italy be run, followed by updmap-sys and/or fmtutil- preining (at) logic.at sys as usual.