man aspell-autobuildhash (Administration système) - Autobuilding aspell hash files for some dicts


aspell-autobuildhash - Autobuilding aspell hash files for some dicts


 aspell-autobuildhash [--force]

    --debug      Show some extra information.
    --force      Rebuild the hash file for all dicts providing a 
                 compat file skipping the test.


aspell-autobuildhash is a script that will manage aspell hash files autobuild, intended to be called from the dictionaries-common tools. Depending on the aspell compatibility level and on the compatibility level used for the hash file if present, will decide whether it must be rebuilt or not. This script will only work on aspell packages prepared to use it, it will do nothing for other aspell dict packages.


--debug Show some extra information. --force Rebuild the hash file for all dicts providing a compat file regardless of the compatibility levels found.


To use this system, just provide a $lang.compat file in /var/lib/aspell ($lang stands for the lang basename with variant if any, e.g. gl-minimos or en). Put a 0 in it or just create an empty one with touch.

Wordlists should previously be compressed either with gzip (and their extensions set as .mwl.gz or .wl.gz) or preferrably first with aspell prezip and then gzipped (with .cwl.gz extension). This applies both for plain wordlists and munched wordlists (in the ispell way) if you use affix compression.

If your package will provide a single hash, install prezipped+gzipped wordlist as /usr/share/aspell/$lang.cwl.gz or, if prezip is not used, as /usr/share/aspell/$lang.mwl.gz.

If your package will provide more than one aspell hash for the same CW$lang, you will need to place each compressed wordlist as e.g. /usr/share/aspell/$subdict.cwl.gz, and the common $lang.compat as above. Then create a /usr/share/aspell/$lang.contents file with the base names of the subdicts, one in a line. For english that will contain, amongst other possible lines


No need to use this file if a single hash is being created.

Dictionaries-common scripts will call internally this script and create a single hash file at /var/lib/ispell/$lang.hash, or hash files at /var/lib/ispell/$subdict.hash. You must set a symlink to that files from /usr/lib/aspell/$lang.hash or /usr/lib/aspell/$subdict.hash as appropriate. You are also suggested to create empty files at /var/lib/aspell/$lang.hash or for all of the /var/lib/aspell/$subdict.hash in the install target of your package build process. This empty file will be overwritten when the real hash is created, but will make the hash be removed at package removal without any magic being done in the postrm and will also help to keep track about which package owns that file.

aspell maintainer should also call this script from package postinst. When comparing versions it will get the aspell version from file /usr/share/aspell/aspell.compat.


Agustin Martin <>