[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ next ]
Files that are used to modify the behavior of executables must be treated as any other configuration file in a Debian package. However, files that are used to control the typeset output - the appearance of documents - need not be treated as configuration files. It is up to the maintainer of the package to decide which files make sense to be used for site-wide (as opposed to per-project or per-document) customization.
A typical case for a site-wide configuration file is a file that must be changed if a style file should use additional modules (installed, for example, into TEXMFLOCAL). Options that only control document output are rather used for a particular document or documentation project and should usually not be installed as a configuration file.
Note that /etc/texmf/
is a usual TDS tree. Files can be put into
appropriate TDS-conforming subdirectories (e.g.
/etc/texmf/fonts/map/
), but directories not specified in TDS (or
added Debian-specifically in tex-common
's files in
/etc/texmf/texmf.d/
) are generally not searched for TeX input
files and can be used by packages for configuration files that are not TeX
input files (e.g. the files in subdirectories fmt.d
or
hyphen.d
).
Configuration files in the TeX world come in two classes: stackable and unstackable. The first class means that the respective programs read all configuration files found, while in the later case only the top or first configuration file is used.
Stackable configuration files in TeX are TEXMFTREE/web2c/texmf.cnf
(central configuration for TeX applications),
TEXMFTREE/web2c/updmap.cfg
(font configuration), and
TEXMFTREE/web2c/fmtutil.cnf
(for format definitions). Unstackable
configuration files are TEXMFTREE/tex/generic/config/language.dat
(language support/hyphenation patterns for latex based formats),
TEXMFTREE/tex/generic/config/language.def
(the same for etex based
formats), and TEXMFTREE/tex/generic/config/language.dat.lua
(the
same for luatex based formats).
In Debian, by default the respective configuration files of the following trees
are used: For texmf.cnf
: TEXMFDEBIAN (the texmf.cnf file is a link
to the one in TEXMFMAIN). For updmap.cfg
:TEXMFDIST, TEXMFDEBIAN.
For updmap.cfg
:TEXMFDIST, TEXMFDEBIAN. For the unstackable
configuration files the respective copies in TEXMFSYSVAR are used.
The stackable configuration files are either static (texmf.cnf) or generated automatically in the background without any need for configuration, since changes can be included in a higher order configuration file.
The non stackable configuration files plus the file
/etc/texmf/web2c/texmf.cnf
are generated by configuration update
programs from configuration files in subdirectories of /etc/texmf
.
For all of them this is the only method of configuration.
Packages are free to add configuration items to the common configuration files, but they should not try to override configuration items that are supplied by other packages. Rather, shared configuration items should be supplied by the Basic TeX packages or any other package on which all involved packages depend, with a setting appropriate for all. If this is impractical, the involved packages must at least agree on the way different packages override other's settings[5].
The configuration update programs should be called without any options to allow for internal changes, e.g. of the directories where the generated files are placed.
All package configuration related to TeX files can be done using
tex-common
's trigger mechanism. That means that packages that
changed updmap.cfg
(via update-updmap
) must either
call update-texmf-config map
which will pass the configuration
work to tex-common
, or call updmap-sys
.
In a similar way, packages that changed language.dat
or
fmtutil.cnf
must either call update-texmf-config
hyphen
(for language.dat
) or update-texmf-config
format
(for fmtutil.cnf
), which will pass the configuration
work to tex-common
, or call fmtutil-sys
(see below).
The recommended way to implement the configuration scheme necessary is to use
the debhelper
program dh_installtex
provided by
tex-common
. See dh_installtex(1)
for usage details.
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ next ]
The Debian TeX sub-policy
2015-09-03 (incomplete)debian-tex-maint@lists.debian.org