[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ next ]

TDeb Specification
Chapter 4 - TDeb uploads

4.1 Initial uploads - +t0

The initial TDeb will be generated by the maintainer, effectively +t0, containing whatever translations are currently supported. The TDeb is uploaded alongside the binary and .dsc. It is up to the maintainer to incorporate any +t1.diff.gz containing updated or new translations that may exist already into each new Debian version.

If the new version has changed translated strings then those will only available in English until the +t1 TDeb can be prepared.

Maintainers are advised to always seek translation updates prior to the upload of the initial TDeb. If maintainers implement a string freeze and wait for translation updates before uploading, the chances of a +t1.diff.gz being required by time of the next release by the maintainer are lower.

See also Timeline.

Maintainers will hopefully be creating TDebs in Wheezy, using debian/rules, using debhelper calls and uploading TDebs each time they would currently upload any package that contains /usr/share/locale/LC_*/ etc. Those TDebs are, effectively, +t0 - only updates by translators start the +t1 sequence.

Maintainer uploads (non-native package example):

Maintainer uploads (native package example):

The foo-tdeb package will be listed in the .changes anyway so existing tools will simply add it to the list of files to be uploaded to ftp-master or wherever. foo-tdeb_1.2.3-4_all.tdeb is, effectively, foo-tdeb_1.2.3-4+t0_all.tdeb

When the maintainer makes a new release, foo_1.2.3-5, which incorporates the TDeb changes, it is done in a similar manner to how an NMU is included. All files matching foo\*1.2.3-4\* are removed by dak when the new version is uploaded. The updated translations now exist in foo-tdeb_1.2.3-5_all.tdeb - uploaded by the maintainer and there is no +t1.diff.gz or +t1_all.tdeb until the package translations need to be touched again.

4.2 Translator updates

Updates to translations will update the existing TDeb, creating +t2.diff.gz and +t3.diff.gz etc. All supported languages go into the existing TDeb, organised by locale root.

Unless a package needs more than one TDeb for the debconf plus large amounts of translated documentation corner case, each source package should only expect to have one TDeb for all binary packages and all locales.

Translation teams can work together to make uploads in a coordinated manner - similar to the current method of requesting deadlines for i18n bugs, a nominated person can collate the various translations prior to a deadline chosen by the teams themselves, according to the needs of that particular package.

Translator updates of TDebs do not necessarily need to use typical package building tools like 'dpkg-buildpackage'. All that is needed is to put the .mo files into the relevant directory hierarchy (or use dh_gentdeb) and then call dpkg-deb --tdeb -b:

dpkg-deb --tdeb -b debian/pilot-qof-tdeb ../pilot-qof-tdeb_0.1.7-1_all.tdeb

This means that translators can build updated TDebs without needing the full dependency chain needed for a source rebuild - only dpkg (at a version that includes the TDeb support) is strictly necessary.

Translator update uploads would contain:

The key point is that a +t1 revision can happen *during a release freeze* without touching the source, without changing any of the binaries. Once the release is out and unstable is accessible again, the maintainer adds +t1.diff.gz to their next upload.

4.3 dpkg source formats

Format 3.0 should not be any more difficult than 1.0 or anything that follows. 3.0 has to deal with incorporating patches and changes from the Debian Bug Tracking System, so +t1.diff.gz is no different.

What matters is that the maintainer gets the +t1.diff.gz and applies it onto the source package prior to the next upload. It's no different to how the same maintainer would handle a patch or new translations file sent to the BTS.

[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ next ]

TDeb Specification


Neil Williams codehelp@debian.org
Joerg Jaspert joerg@debian.org
Mark Hymers mhy@debian.org
Frank Lichtenheld djpig@debian.org