dh_installtex
register Type 1 fonts, hyphenation patterns, or formats with TeX
Synopsis
dh_installtex
[debhelper options] [-n]
[--priority=n]
[--flavor=flavor[,flavor]]
[map=MixedMap,file.map]
[map=Map,file.map]
[map=KanjiMap,file.map]
[mapfile=file.cfg[=n]]
[hyphen=lang,file[,lhm=n][,rhm=n][,synonym=syn,...]]
[hyphenfile=file.cnf[=n]]
[format=format,engine,hyphenfile,rest
args] [formatfile=file.cnf[=n]]
add an example, a script, a trick and tips
examples
source
override_dh_installtex:
dh_installtex -plyx-common
override_dh_builddeb:
dh_builddeb -- -Z xz
source
dh_install
dh_installtex -plyx-common
dh_installdefoma -pttf-lyx
override_dh_builddeb:
dh_builddeb -- -Z bzip2
source
cd scripts; pod2man
dh_installtex > dh_installtex.1
touch build-stamp
debian/po/templates.pot: debian/templates
# dh_installtex(.1) is already installed
via the bin_scripts
grep -v '^[ \t]*# ' scripts/postrm-tex
> $(INSTDIR)/usr/share/debhelper/autoscripts/postrm-tex
source
rm $(instbase)/usr/share/texmf/fonts/map/pdftex/context/koeieletters.map
dh_installtex --flavor=format:no_links
dh_installdirs usr/bin
#
# scripts dealing
cp bin/i386-linux/* $(instbase)/usr/bin
description
dh_installtex
is a debhelper program that is responsible for updating the
ls-R databases, registering map files, new formats, and new
hyphenation patterns with TeX.
Your package
should depend on an appropriate version of tex-common so
that the update-* commands are available. (This
program adds that dependency to ${misc:Depends}.)
WARNING
This program does not check for the actual existence
of any input files in TEXMF trees. If you
call it without any further specification on which packages
to work on (using "-p" or
"-N") it will add calls to
management functions to all packages. In this case
don’t forget to add ${misc:Depends} to all
packages’ dependencies.
options
-n,
--noscripts
Do not modify postinst/prerm
scripts.
--priority=n
Set the default priority to
n instead of 20.
--flavor=flavor[,flavor]
This option is used to select a
different tree then the default /usr/share/texmf, and to
switch on additional options. The argument specify a list
from flavors to be selected. At the moment you can select
from the following list of flavors: tree:texlive,
map:config_for_active_maps,
map:config_for_all_maps, format:build_all,
format:add_one:formatname, and
lsr:full.
tree:texlive
will select the tree /usr/share/texlive/texmf-dist and
should only be used for files installed into this tree.
map:config_for_active_maps
will create a file config.bar for each active (i.e.
uncommented) map in each of the cfg file generated by one of
the three methods described above. These files are installed
in /usr/share/texmf/dvips/config/.
If you select
map:config_for_all_maps the script will generate
config.bar even for those map files which are present
in a cfg file, but deactivated by a comment.
The file
config.bar is used when called by ’dvips
-Pbar ...’. Thus it allows the activation of
single map files even if they are not automatically
activated via the updmap(-sys) mechanism.
Default is
not to generate any config files.
format:build_all
will add code to the postinst script to create all defined
formats, and to the postrm script to clean and recreate?
FIXME ? the generated formats.
format:add_one:formatname
allows to add the generation of a specific format without
actually providing it (in a cnf file). This is useful if a
package adds hyphenation patterns to an existing
formats.
format:no_links:
Usually, for every format that is specified in a
configuration file in /etc/texmf/fmt.d/, dh_installtex will
create a symlink /usr/bin/format that points to the
corresponding engine. For example, /usr/bin/latex would be
created as a symlink to pdftex.
The flavor
format:no_links inhibits this. If a link already
exists, dh_installtex will skip this format with an
informational message, even if this option is not given.
lsr:full:
Recreate the lsr database not only for the standard trees,
but also the distribution tree
"/usr/share/texlive/texmf" and
"/usr/share/texlive/texmf-dist".
complex usage registering fonts- hyphenation patterns and formats
If in addition, you have to install map files, hyphenation
patterns for additional languages, or format definitions you can
use three different methods to specify what should be installed:
1) Pre made config files: These files can be specified
with the different typefile= options, together with an
optional priority. type can be one of map, format and
hyphen, and these files will be installed into
/etc/texmf/configdir/ for the respective type (updmap.d
for map files, hyphen.d for hyphenation pattern files, and fmt.d
for format files).
Example:
dh_installtex mapfile=foo.cfg formatfile=debian/bar.cnf=42
would install foo.cfg as
/var/lib/tex-common/fontmap-cfg/texmf/foo.cfg, and debian/bar.cnf
as /etc/texmf/fmt.d/42bar.cnf.
2) Directly on the cmd line: You can specify maps,
formats, and hyphenations on the cmd line. The items are stored
in the respective config file 20package
Example:
dh_installtex map=Map,foo.map hyphen=ngerman-x-2011-07-01,dehyphn-x-2011-07-01.tex,hyph-de-1996.pat.txt,lhm=2,rhm=2,synonym=ngerman-x-latest,exceptions=hyph-de-1996.hyp.txt
would install a file
/var/lib/tex-common/fontmap-cfg/texmf/package.cfg containing the
line
Map foo.map
and a file /etc/texmf/hyphen.d/20package.cnf containing the lines
name=ngerman-x-2011-07-01 file=dehyphn-x-2011-07-01.tex file_patterns=hyph-de-1996.pat.txt lefthyphenmin=2 righthyphenmin=2 synonym=ngerman-x-latest file_exceptions=hyph-de-1996.hyp.txt
3) Package files: You create a file debian/package.maps or
debian/maps, debian/package.hyphens or debian/hyphens,
debian/package.formats or debian/formats. These files are
installed with default priority and the name of the package. Each
of these files will be installed into the first package
dh_installtex is told to act on. By default this is the first
binary package in debian/control, but if you use -p, -i, or -a
flags, it will be the first package specified by those flags.
Example:
dh_installtex
would install a present debian/package.formats file as
/etc/texmf/fmt.d/20package.cnf.
Mixing the different variants
The command line items (Variant 2) are merged into the
debian/package.maps (debian/package.hyphens,
debian/package.formats) file and the merged file is installed as
20package.cfg/cnf. If you specify an additional package.cfg/cnf
(Variant 1) without a different priority than the default one on
the cmd line, this will raise an error since both files would be
installed as 20package.cfg/cnf. You can only specify
package.cfg/cnf without a different priority than the default one
if no debian/package.maps nor any command line Map files are
present.
The pseudo-comment
If the provided cfg files do not contain the pseudo-comment as
described in the Debian TeX Policy, Font configuration, an
additional header with explanation, warning and the
pseudo-comment is added.
This program automatically generates the postinst and postrm
commands needed to register the fonts with TeX. See
dh_installdeb(1) for an explanation of how this works.
notes
Note that this command is not idempotent. "dh_clean -k" should be
called between invocations of this command, unless using the
-n option. Otherwise, it may cause multiple instances of
the same text to be added to maintainer scripts.
Please refer to the Debian TeX policy for details about fonts
configuration for TeX by Debian packages.
simple usage registering files
If you only install files into /usr/share/texmf and want to be
sure that mktexlsr is called in a correct way (e.g., also in the
postrm script when there is no functional mktexlsr), simply call
dh_installtex
see also
debhelper
author
This program
and its documentation was written by Norbert Preining
<preining[:at:]logic[:dot:]at> for the Debian Operating
System and both are licensed under the GNU
General Public License Version 2 or later.