Scroll to navigation



installdeb-ispell - debhelper-like utility for maintainers of ispell dictionary Debian packages


 installdeb-ispell [debhelper options] [options]


installdeb-ispell is a debhelper like program that is responsible for installing appropriate debconf config and templates files and debhelper snippets in an ispell dictionary package, according to the Debian Spell Dictionaries and Tools Policy.

For more details, see

The actions executed by installdeb-ispell are the following:

  • Maintainer Scripts

    installdeb-ispell installs the necessary scraps of code in the postinst and postrm scripts.

  • Language info file

    installdeb-ispell also checks a file containing ispell dictionary information, called debian/info-ispell or debian/ If this file is successfully parsed, it is installed in the /var/lib/dictionaries-common/ispell directory.

  • Substvars substitutions

    This script will populate a substvars file, so Depends line in control file can contain ${ispell:Depends} to automatically care for dictionaries-common dependencies.

    This requires "Build-Depends" on at least dictionaries-common-dev 1.23.0 and is highly recommended.

  • Debconf files
installdeb-ispell installs the Policy compliant Debconf files from the information contained in the info-ispell file. These files are created as debian/config (or debian/package.config) and debian/templates (or debian/package.templates). No intervention is needed here, since installdeb-ispell will make a call to dh_installdebconf(1).

If the package needs to have special code in the config file, the maintainer should supply files called debian/ (or debian/ In the file, the string "#DEBHELPER#" must appear alone in one line and start at the first column. installdeb-ispell will replace that token with the necessary Policy compliant code (this works with is either a Bourne shell or Perl script).

If the package needs to define its own questions via the templates file the maintainer should either supply files debian/po-master.templates (or debian/package.po-master.templates) together with the appropriate po files if the package handles template localization through po-debconf, or debian/ (or debian/ otherwise. See the po-debconf(7) manual page for more details and remember that the master templates name is now different.

The templates defined in the or po-master.templates files are merged into the Policy compliant templates by installdeb-ispell and a call to dh_installdebconf(1) is internally done.

This field is useful if you want to override the debconf languages string with something different (since the master string remains the same, this will not trigger a new debconf call) or if you really think that the languages string should be internationalized for your package. Note that for most packages the poor man default localization should be enough, and translators should have another priorities.

installdeb-ispell default behavior is not adding an "elanguages" field to the templates file. If you want it added you have to call the script with the explicit --write-elanguages option.

This field will be added with value taken from the "Elanguage" entry in the info file if present, or after the "Language" value otherwise. Note that this is useful only if:

In this case just fill the "Elanguage" field in the info file with the new value. This will be shown at the debconf prompt.
In this case some black magic is needed at first time for smooth use,
(a) Run installdeb-{ispell,wordlist} --no-installdebconf --write-elanguages for every package whose string should be internationalized. Edit the created .templates files and remove the leading underscores in the elanguages entry if present.
(b) Run debconf-gettextize templates_to_be_internationalized. Check that all the desired .templates files are in debian/po/ and remove old .config and .templates files.
(c) Run again installdeb-{ispell,wordlist} --no-installdebconf --write-elanguages and debconf-updatepo (no edit here) to remove references to non-translatable strings. Check that the desired strings are in the po master file (debian/po/templates.pot) and remove .config and .templates files. You are done. If the master "Elanguages" string is changed, repeat (c) afterward.
Extra installdeb-ispell options in Language info file

For benefit of ispell dictionaries using ispell-autobuildhash, installdeb-ispell script will look for 'auto-compat' fields in $, containing base name(s) of your compat file(s). If 'auto-compat' entry is found two debhelper snippets are added, one to create/reset compatfile(s) in postinst and the other to remove files in a removal list from postrm. Removal list will contain compat file(s) and associated hash(es) with the same basename.

/usr/lib/ispell/$dict.hash -> /var/lib/ispell/$dict.hash symlinks are no longer created automatically by this script. They are now created by new ispell-autobuildhash together with the relevant hashes. Make sure to depend on at least dictionaries-common 1.23 (See dictionaries-common.checklist).


The usual dephelper(1) options are accepted. Options below are specific to installdeb-ispell

Do not run dh_installdebconf nor remove templates and config file.
Do not install {pre,post}{inst,rm} snippets.
Create the elanguages stuff.
Show some extra info.


This program is not part of debhelper, although it is intended to be used in ispell dictionary packages using debhelper in its building.


debhelper(1), dictionaries-common.checklist, dsdt-policy.txt

This program is part of the dictionaries-common-dev package. It is intended to be used by maintainers of ispell dictionary packages for Debian. See the documentation under /usr/share/doc/dictionaries-common-dev.


Rafael Laboissiere, Agustin Martin

2023-9-07 1.29.7