[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DEP-4: The TDeb specification.

On Tue, 31 Mar 2009 13:06:35 -0400
Filipus Klutiero <chealer@gmail.com> wrote:

> Neil Williams wrote:
> > Primary Motivations (in order):
> >    1. Updates to translations should not require source NMU's.
> >   
> I guess that means avoiding to NMU with new diff.gz -s? If so, what are 
> the underlying motivations?

To prevent translation updates (particularly debconf ones) from
interfering with existing transitions and release cycles. There is no
need to rebuild the source of the package merely to update or add a new
translation. The current barriers to such rebuilds can be overcome with
adapted tools, as described in the DEP.


There is no good reason to permit translation updates to cause the
binary packages to be changed by recompiling the source. Dependency
versions change, new bugs can be introduced, existing transitions get
more complicated and the one time when translation updates are most
useful is during a release freeze when the binaries must not change.
The whole point of i18n (the process of making a package support
localisation by internationalising the codebase) is to ensure that the
same compiled binary can operate with any compatible translation. This
allows users to set LANG= and get the localised version at runtime.
Requiring that translations can only be added or updated in Debian by
recompiling the source is a complete waste of effort and is something
that gettext and other l10n middle-ware are expressly designed to
avoid. Debian, currently, is simply not getting the best out of l10n
and is making life difficult for everyone by putting the translated
files in the same packages as the compiled binaries. Each release
cycle, this comes back to bite us. TDebs will remove this burden.

> What is the purpose of creating a new binary package format for this (as 
> opposed to reusing, say, the deb format)?

To support easier management of the translations, including allowing
users to only install the translations that are needed for one
particular installation, instead of every user getting every
translation for every package they install, whether those translations
are even supported or not. The current model is based on server
installations where lots of locales may be configured to support
localisation of web content. Installing all 90 locales does not
translate well to desktop installations with only a handful of users
and maybe 5 or 6 languages. On a typical Debian box, /usr/share/locale/
takes up 250Mb when each language only requires a maximum of 9Mb.

TDebs are based on the .deb format, it is only a small change in the
organisation of the data.tar.gz but it simplifies various stages of
handling the resulting packages in the repository, in upload rules and
in other support tools.


Neil Williams

Attachment: pgpzJHPcUUTPn.pgp
Description: PGP signature

Reply to: