installdeb-wordlist(1)
wordlist - debhelper-like utility for
Description
INSTALLDEB-WORDLIST
NAME
installdeb-wordlist - debhelper-like utility for maintainers of wordlist Debian packages
SYNOPSIS
installdeb-wordlist [debhelper options] [options]
DESCRIPTION
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 |
o templates and config 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.
o The elanguages template field
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:
- You want to fix a buggy entry
In this case just fill the "Elanguage" field in the info file with the new value. This will be shown at the debconf prompt.
- You want to fully internationalize your entries
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.
OPTIONS
The usual
dephelper(1) options are accepted. Options below are
specific to installdeb-wordlist
--no-installdebconf
Do not run dh_installdebconf nor remove templates and config file.
--no-pre-post
Do not install {pre,post}{inst,rm} snippets.
--write-elanguages
Create the elanguages stuff.
--debug
Show some extra info.
NOTES
This program is not part of debhelper, although it is intended to be used in wordlist packages using debhelper in its building.
SEE ALSO
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.
AUTHORS
Rafael Laboissiere, Agustin Martin