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

Re: Using "language packs" in Debian Installer

> IMO language packages as described by Javier are not the correct solution 
> for the installer for two important reasons:

Actually, most explanations by Javier ar emore focused on a side
discussion that popped up during that discussion about "language
packs"....namely the separation of translations and software in
Debian, in general.

The initial question about d-i not scaling well with the increased
number of languages has drawn a few ideas which are closer to
yours....but we were actually missing enough input from D-I internals.

So, I could only draw a genera picture of the concerns you explained
more deeply in your mail (thanks for it).

What we could conclude will be in the report from the Extremadura i18n
meeting (due out this week-end).

The main idea you propose, ie "unloading" unneeded translations, is
more or less one of the directions to work on that we found.

> There are currently two issues with having so many translations in the 
> installer, both of which need to be addressed:
> 1) all strings for all translations are included uncompressed by default
>    in /var/lib/cdebconf/templates.dat; as the filesystem is kept in
>    memory, this takes up a _lot_ of memory (currently 8GB!) that could
>    be put to better use considering that at most three languages (the
>    selected language, a fallback language and English) will actually be
>    used in an install;
> 2) cdebconf currently loads the whole template file into its memory, so
>    effectively 16GB! is currently used for translations (#329743).

I guess you're talking about megabytes here..:-)

Both problems were summarized (by me) as being a problem in initrd
size and RAM occupation. This is probably badly worded but indeed the
consequence is the one you describe.

> What would help very much is if the unused part of templates.dat could be 
> compressed [2] and translations only copied in as needed when a different 
> language is selected in localechooser.
> I have done some tests and this would reduce the size of templates.dat to 
> about 500 MB with the compressed file(s) with unused translations taking 
> about 2.5GB, so a net saving of 5GB!
> There are a few places where support for this would need to be 
> implemented:
> - while building udebs: you'd need to split the templates file into
>   English (uncompressed) and translations (compressed);
> - in the build system of the installer: for udebs included into the
>   initrd, the uncompressed templates file would be treated as usual,
>   the compressed one would be saved in a specific location (possibly
>   /var/lib/dpkg/info/);
> - you'd need a program that can be called from localechooser that
>   extracts the selected language (and its fallbacks) from available
>   compressed templates files and merges them into the regular one;
> - udpkg would need to install the compressed templates file in the
>   correct location when a new udeb is installed;
> - you'd need a program that can be called from udpkg that will merges
>   the currently selected language (and fallbacks) from the compressed
>   file into the regular one when a new udeb is installed;
> - probably lowmem would need to be changed (or could be simplified).

These proposals are a huge progress to draw a plan. Thanks for this. I
think that people involved here have more real things to work on now.

We were discussing about a possible combined D-I+i18n session to try
adressing all these problems. My current idea is setting special work
sessions for Debconf (likely to be in June). I will plan regular i18n
work sessions during Debconf (something like 1 meeting PER DAY, with 2
hours work each time). Part of this could be working on that D-I i18n
imact reduction.

Frans, shouldn't we add this to a "post-etch" TODO list?

Attachment: signature.asc
Description: Digital signature

Reply to: