DOKK / manpages / debian 11 / dictionaries-common-dev / installdeb-wordlist.1.en
INSTALLDEB-WORDLIST(1) INSTALLDEB-WORDLIST(1)

installdeb-wordlist - debhelper-like utility for maintainers of wordlist Debian packages

 installdeb-wordlist [debhelper options] [options]

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

For more details, see
/usr/share/doc/dictionaries-common-dev/dsdt-policy.txt.gz

The actions executed by installdeb-wordlist are the following:

  • Maintainer Scripts

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

  • Language info file

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

  • Substvars substitutions

    This script will populate a substvars file, so Depends line in control file can contain ${wordlist: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-wordlist installs the Policy compliant Debconf files from the information contained in the info-wordlist 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-wordlist 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/config.in (or debian/package.config.in). In the config.in file, the string "#DEBHELPER#" must appear alone in one line and start at the first column. installdeb-wordlist will replace that token with the necessary Policy compliant code (this works with config.in 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/templates.in (or debian/package.templates.in) 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 templates.in or po-master.templates files are merged into the Policy compliant templates by installdeb-wordlist 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-wordlist 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/POTFILES.in 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.

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

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 wordlist 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 wordlist packages for Debian. See the documentation under /usr/share/doc/dictionaries-common-dev.

Rafael Laboissiere, Agustin Martin

2021-2-22 1.28.4