New dictionaries-common Policy

Rafael Laboissiere laboissiere@mpipf-muenchen.mpg.de
Fri, 1 Mar 2002 09:45:30 +0100


Hi all,

We are pleased to announce a proposal for the "Debian Spelling
Dictionaries and Tools Policy", as well as the new dictionaries-common
package that will provide the infrastructure to implement it.  This is
a preliminary announcement for ispell dictionaries and wordlist package
maintainers.

This project has been dormant for a long time and we think that it is
time now to put it out of the door. Unfortunately it will not make its
way into woody, because it implies changes in Policy.

Since its first public release more than two years ago, the system has been
completely reimplemented, and there are some important differences to the
previous implementation, so please read the documentation again. These
changes made the system much more powerful and flexible, and we hope you
will like the result.

One of the great news is that the requirement for changing the names of the
packages from i<language> to idict-<language> has been dropped. This was
required by the previous implementation to take advantage of the `owners'
field in debconf shared questions.  We think that this was an unnecessary
constraint and indeed found a better way to do that.

The dictionary packages have now a simplified interface with
dictionaries-common, thanks to a single debian/info-ispell (or
debian/info-wordlist) file per package.  The packages can then provide a
more helpful description of the dictionary being installed, and we can even
have more than one dictionary being installed by a single .deb. The debconf
question shows up like this (using the preliminary experimental packages):


/----------------------| Ispell dictionary|---------------------------\
| Because more than one ispell dictionary will be available in your   |
| system, please  select the one you'd like applications to use by    |
| default.                                                            |
|                                                                     |
| You can change the default ispell dictionary at any time by running |
| "select-default-ispell".                                            |
|                                                                     |
| Which ispell dictionary should be the system's default?             |
|                                                                     |
|                  português brasileiro (Brazilian Portuguese)        |
|                  english (American English)                         |
|                  català8 (Catalan 8 bits)                           |
|                  català TeX (Catalan Tex)                           |
|                  esperanto (Esperanto)                              |
|                  esperanto-tex (Esperanto TeX)                      |
|                  francais Hydro-Quebec (French Hydro-Quebec)        |
|                  deutsch (New German -tex mode-)                    |
|                  deutsch (New German 8 bit)                         |
|                  português (European Portuguese)                    |
|                  russian (Russian koi8-r)                           |
|                  castellano (Spanish Tex mode)                      |
|                  castellano8 (Spanish 8 bit)                        |
|                                                                     |
|                                                                     |
|                             <Ok>                                    |
\---------------------------------------------------------------------/

In making this change, we realized that we could further simplify things to
make the emacsen and jed support automatically generated by
dictionaries-common.  Mutt support has also been added, which relies on a
ispell-wrapper script, which can also be used standalone (it sets
automatically the -w and -d options of ispell according to the language
chosen by the user).

In sum, we are quite proud of our work, but we are sure that there are
shortcomings and bugs in the new scheme.  Your comments are most welcome.

We have set a web site at:

    http://dict-common.sourceforge.net/

with the latest version of the policy document. Since this system is
incompatible with the current Debian system, we have set a staging area at
SourceForge (there was no cvs.debian.org at that time).  That area currently
holds a number of new-policy experimental dictionary packages, and is
apt-getable at:

  deb http://dict-common.sourceforge.net/testing ./
  deb-src http://dict-common.sourceforge.net/testing ./

Please remember that although we have tried to properly test everything, the
stuff there is experimental and not compatible with both current Debian
system and also with previous implementation of the dictionaries-common
system. So, take care with packages there, although we are really using some
of them in production.

Incompatibility with current Debian system does not arise only from the
reimplementation of the system.  Staging area ispell is now compiled with
MAXSTRINGCHARS=128. That makes ispell hashes compatible with abiword and
other distributions, but require rebuilding all ispell dictionaries. Old
hashes will not work with this system.


What can you do?
================

 - First, read the policy document, test the system, and submit comments
   and bug reports about it.

 - We have set a mailing list for the project at SourceForge. You can
   subscribe at

       http://lists.sourceforge.net/lists/listinfo/dict-common-dev

 - If you like the system, you can start preparing new-style packages.
   First of all retrieve ispell, dictionaries-common and
   dictionaries-common-dev packages from the staging area.

   DO NOT UPLOAD YOUR PACKAGES TO DEBIAN!!

   Remember that this system is not compatible with the current Debian
   system, so uploading them now to Debian will cause a considerable mess.
   All packages need to be uploaded at once, so that the staging area is
   required until then.  If you are lucky and we have modified your package
   for our tests, you can fetch our version of your package and take a look
   at it. We mostly tried to make few changes to your package, so it may
   fit, although in other cases we made a bit more changes with respect to
   the very latest package to make things easier for us. Change the
   maintainer name (we changed some of them to avoid noise on you due to the
   experimental packages).

 - The incompatibility with the old system is handled via a long versioned
   Conflicts line, so we need to know -exactly- which will be the highest
   version number of your package following the old style to put it in that
   line.  If for any reason you need to ship a new old-style package with a
   higher version number please notify us as soon as possible, so we can
   change that line.

 - There are also some localized debconf templates missing. Although things
   are not that critical with this reimplementation (no need to rebuild all
   dictionaries with each new template), do not forget about them if we
   asked for. If not asked, may be we got he localizations from anywhere
   else, so do not worry too much, we have time for checking that.


How to upload new packages to SourceForge?
==========================================

First you need to have an account at SourceForge and be a project member
Contact one of the project administrators for the later.  If you prefer not
doing that, we can upload that packages on your behalf.  Just let us know
where they are.


I do not have time. Can you help me with my package?
====================================================

We can try to do our best, drop us a note, but remember that is your
package.  Remember also that things are much easier when using debhelper,
although you can do without it.  If you use debhelper, things are really
simple, try it.


   Hope you enjoy the system,

Your dictionaries-common team:

Rafael Laboissière,
David Coe,
Agustín Martín Domingo