Provided by: emdebian-tdeb_3.0.7_all bug


       dpkg-gentdeb - generate Debian TDeb translation packages from source.



Copyright et Licence

        Copyright (C) 2007, 2011  Neil Williams <>

       Ce logiciel est libre; vous pouvez le redistribuer selon les termes de
       la licence GNU General Public License telle que publiee par la Free
       Software Foundation; en prenant la version 3 de la licence ou (selon
       votre choix) n'importe quelle version subsequente.

       Ce logiciel est distribue dans l'espoir qu'il soit utile, mais AUCUNE
       GARANTIE n'est donnee tant pour des raisons COMMERCIALES que pour
       REPONDRE A UN BESOIN PARTICULIER. Consulter la Licence Publique
       Generale GNU pour plus de details.

       Vous devriez avoir recu une copie de la Licence Publique Generale de
       GNU avec ce programme. Sinon, voir <>.


       dpkg-gentdeb is a dpkg-dev add-on created by Emdebian to create
       translation packages (tdebs). dpkg-gentdeb is intended to separate out
       the individual translation files from the current Debian packages into
       packages without any translation files and a single TDeb package, one
       per source package.

       Si un second tdeb est gere par un des paquets source, le paquet
       $srcpackage-tdeb doit contenir tous les templates debconf utilises par
       chacun des paquets binaires. Le second tdeb est souvent utilise pour
       les traductions de contenu optionnel.

       This script is intended to provide a TDeb during the normal package
       build, as well as supporting later calls by translation teams to update
       the TDeb, using a debian/$package.tdeb file.

       Files to be included in a TDeb MUST be available to dpkg-gentdeb
       WITHOUT building the package - during a TDeb update the package can not
       rely on ANY of the package build-dependencies being installed, except
       possibly for the clean target.

Requirements of a TDeb

       o   TDeb packages must be Architecture: all or the upload will be
           rejected automatically by ftp-master. It is not possible to
           override this restriction.

       o   Files included in TDeb packages must not require any package build-
           dependencies to update and package. If the TDeb contains other
           Arch:all files like images or meta data files, those files must not
           require the use of make or other build instructions to create,
           update, install or package.

           "dpkg-gentdeb" will update supported translation mechanisms but the
           diff between the version of the package in the archive and the
           changes for the TDeb update must only relate to the update of the
           translation itself.

           The build-dependencies for the clean target might exist but this is
           not guaranteed.

       Une fois qu'un paquet utilise dpkg-gentdeb, les fichiers de traduction
       doivent etre enleves de tous les paquets dans la construction normale.
       Cela inclut toutes les manpages traduites et les autres contenus
       traduits. Les contenus originaux, non traduits, doivent etre conserves.

       dpkg-gentdeb runs as a part of the normal package build - simply add
       the call to the binary-indep target of debian/rules then describe the
       files to be included into the TDeb in the debian/$package.tdeb file.

       The tdeb diff is created by translators when updating the tdeb package.
       Tdeb packages should depend on the source:Version of the declared
       package unless the TDeb replaces an existing -data or -common package
       in which case the existing dependency can be retained as long as it is
       at least source:Version or better.

       The name of the TDeb package can be specified using the -p option.

TDeb uploaders

       Initially, the current mechanism of filing bugs and closing bugs with a
       new upload will be used for TDeb updates as well. In order for these
       uploads to be accepted, packages using TDebs need to define
       Translation-Maintainers: in debian/control (usually the debian-i18n
       mailing list) and Localisation Assistants (uploaders nominated by
       Debian who coordinate translation updates so that any one package gets
       a single TDeb containing multiple updated translations).

Creating a TDeb

       If your package already puts translations into a -data or -common
       package and this package contains no other files which would be
       disallowed in a TDeb (i.e. files which require the package build
       process to create, update, install or package), then this package can
       be used as a TDeb.

       If you need to add a new package to your source for the TDeb, create
       that package in debian/control as normal.

       Now create a .tdeb file for that package in debian/ - e.g. if the
       source package is foo and the TDeb will be foo-locale, create the file

       TDeb listing in the control file
                   Package: $fullname
                   Architecture: all
                   Priority: extra
                   Section: localization
                   Depends: $mainpackage (>= ${source:Version})
                   XC-Package-Type: tdeb
                   Description: Translations for $mainpackage (tdeb)
                   This package contains the translation files.

           TDebs are only allowed to Depend: on the main package built from
           the same source package and must use a versioned dependency of
           equal to or greater than the source:Version. This allows TDebs to
           remain installed whilst new translations are being prepared, if the
           source package has changed the strings for translation.

Listing files for a TDeb

       The .tdeb file needs to allow "dpkg-gentdeb" to locate the translation
       files and identify the upstream name used by the package translations.
       e.g. If the package uses gettext, this will be the name of the .mo
       files installed in /usr/share/locale/$lang/LC_MESSAGES/. Note that this
       must be the name used by upstream and may have no direct relation to
       any of the Debian packages built from this source. This name will also
       be used to identify and update the POT file. If the package uses
       multiple PO directories, list each name separately.

       Translated manpages, where used, must be included in the TDeb -
       retaining the English manpages in the current package. List these files
       in the .tdeb file.

       Untranslated content which complies with the requirements of a TDeb can
       also be listed in the .tdeb file.

Experimental QtLinguist support

       Whilst it is possible to use TDebs with Qt translations, this is not
       currently being tested and is hindered by the translation tools being
       packaged in the libqt4-dev package which could be an unwelcome
       dependency for dpkg-gentdeb in most cases. It is possible that
       "dpkg-gentdeb" may support an option to enable Qt support where

       The .tdeb file must then list the name of the translations files used
       by upstream where the normal path would be



       L'action par defaut est de traiter tous les fichiers PO disponibles et
       tous les contenus traduits identifiables.

Utilisation dans Debian

       XC-Package-Type: tdeb needs support in Debian. Notably, many of the
       scripts in the devscripts package fail to identify the TDeb in the
       .changes file and certain debhelper scripts fail to handle the TDeb

       reprepro a besoin d'un patch pour accepter les .tdeb et autoriser .tdeb
       dans les fichiers du depot :
        $ reprepro --ignore=extension -b /path/ includedeb \
        unstable ../qof-locale-sv_0.7.5-1em1_arm.tdeb
        $ ls /opt/reprepro/locale/pool/main/q/qof/

       Nom de fichier : pool/main/q/qof/qof-locale-sv_0.7.5-1em1_arm.deb
        Description : traduction sv pour qof (tdeb)

        reprepro a besoin lui aussi d'une facon de gerer un .tdeb dans un fichier .changes.
        reprepro -b /opt/reprepro/locale/ include unstable ../qof_0.7.5-1em1_arm.changes
        S<X qof-locale-id_0.7.5-1em1_arm.tdeb X> is not .deb or .udeb!
        There have been errors!

Autres traductions

       Les paquets peuvent aussi contenir des pages de manuel traduites et des
       traductions pour des templates debconf. Ces traductions ne sont pas
       encore empaquetees ou traitees par dpkg-gentdeb. Pour que les TDebs
       soient acceptes dans Debian, ces problemes devront etre resolus de
       facon a ce qu'Emdebian puisse continuer a n'empaqueter que les
       traductions gettext, en omettant les manpages traduites et en laissant
       la prise en charge des traductions debconf aux outils existants ou en
       implementant des changements suffisants dans cdebconf.

Templates Debconf

       Les paquets peuvent avoir besoin de renommer le fichier de templates
       pour le fichier template et de changer la reference dans
       debian/po/ vers le nouveau fichier. Ceci conduit a un
       warning lintian :

        Now running lintian...
        W: dpkg-cross: no-debconf-templates
        Finished running lintian.

       Ce paquet doit probablement avoir besoin de Pre-dependre du TDeb
       maintenant. Alternativement soit dpkg soit debconf doit automatiquement
       installer un TDeb avant d'essayer de configurer le paquet principal.

       Les fichiers de templates sont la raison la plus courante de
       reconstruction l10n de paquets avant une publication.