LanguagePacksCD

Differences between revisions 16 and 17
Revision 16 as of 2006-06-22 10:47:36
Size: 4683
Editor: ALagny-109-1-2-202
Comment: bzip2 usage
Revision 17 as of 2006-06-22 11:02:36
Size: 4661
Editor: ALagny-109-1-2-202
Comment:
Deletions are marked like this. Additions are marked like this.
Line 19: Line 19:
 * Alice gets a CD from Bob with additional language packs. She is Korean and her language is not in the official CD  * Alice gets a CD from Bob with additional language packs. She is Korean and her language is not in the official CD.
Line 32: Line 32:
Language-selector should contain an additonal button called "add language cdrom" that will ''apt-cdrom add'' the CD, re-read the cache, and update itself. That should also be available as a command line option. Language-selector should contain an additonal button called "add language cdrom" that will ''apt-cdrom add'' the CD (or rather apt.Cdrom.add()), re-read the cache, and update itself. That should also be available as a command line option.
Line 37: Line 37:

Language selector should display the available languages in both the current locale and the language name in its native form (like "German - Deutsch", like the installer is doing right now).
Line 46: Line 44:
The language-pack-cd should be build with debian-cd if that is possible/feasible. The list of packages for the CD can extracted with the langpack-cd script (see the Code section). Germinate should also be able to help us here. It has a mode to calculate dependency based on the assumption that a given set of packages is already installed and outputs what additional packages are required then. Debian-cd has a mode where it builds the CD based on a a list of packages. The language-pack-cd should be build with debian-cd and germinate. The list of packages for the CD can extracted with the langpack-cd script (see the Code section) or with germinate. Germinate has a mode to calculate dependency based on the assumption that a given set of packages is already installed and outputs what additional packages are required then. Debian-cd has a mode where it builds the CD based on a a list of packages.
Line 48: Line 46:
The CD should be put onto cdimage.ubuntu.com and releases.ubuntu.com (once its final). If the CD overflows we should condier adding a second one or removing "little" languages from them. The CD should be put onto cdimage.ubuntu.com and releases.ubuntu.com (once its final). If the CD overflows we should condier adding a second one or removing "little" languages from them. It has been discussed to split up the language-pack CD into various pieces (european, CJK, etc). But this is probably not required as long as all the stuff fits onto a single CD.
Line 55: Line 53:
Have 662 language packages (size: 192M)
Have 1009 packages (size: 691M) to download
Have 658 language packages (size: 189M)
Have 1023 packages (size: 688M) to download
Line 58: Line 56:
Have 662 language packages (size: 192M)
Have 1009 packages (size: 694M) to download
Have 658 language packages (size: 189M)
Have 1023 packages (size: 688M) to download
Line 61: Line 59:
Have 662 language packages (size: 192M)
Have 1009 packages (size: 694M) to download
Have 658 language packages (size: 189M)
Have 1023 packages (size: 688M) to download

Summary

There should be an additional (optional) language package CD that contains all the language packages that can't be shipped on the normal CD because of space constraints. It should be possible to update it even after the release.

Rationale

Not all users have broadband at home, they may want to burn the CD e.g. at university.

Use cases

  • Alice gets a CD from Bob with additional language packs. She is Korean and her language is not in the official CD.
  • OpenOffice has very large language packages, so they can't be all shipped in the release CD. John gets a language package CD and expects that the missing language packages in his system will get installed.

Scope

This spec requires additions on the cd-building infrastructure (a additonal CD has to be created) and changes to the update-notifier application to detect the langauage-pack CD.

Design

The langauge package CD should be a normal apt-cdrom-enabled CD that contains a Packages file and a Release file. The .disk/ directory should contain some information indicating that the CD is a language CD for easy identification.

Language-selector should contain an additonal button called "add language cdrom" that will apt-cdrom add the CD (or rather apt.Cdrom.add()), re-read the cache, and update itself. That should also be available as a command line option.

It must also look for updates to the currently installed language packages and offer the user the choice of updating them.

The mechanism in update-notifier that detects the inseration of an Ubuntu CD should be extended to detect language package CDs as well and offer the user to start the language selector with the updated language information.

Once the language is selected by the user, the language packages for the softwares already installed should be installed without additional confirmations, as far as the operation doesn't do any unexpected changes.

Implementation

Both update-notifier and language-selector needs to be modified to deal with the language package CDs as described. Language selector adds the add-language pack cd with python-apts Cdrom.Add() code. Update-notifier already detects cd insert, it's just a matter of adding code to detect that it's a language pack cd.

The language-pack-cd should be build with debian-cd and germinate. The list of packages for the CD can extracted with the langpack-cd script (see the Code section) or with germinate. Germinate has a mode to calculate dependency based on the assumption that a given set of packages is already installed and outputs what additional packages are required then. Debian-cd has a mode where it builds the CD based on a a list of packages.

The CD should be put onto cdimage.ubuntu.com and releases.ubuntu.com (once its final). If the CD overflows we should condier adding a second one or removing "little" languages from them. It has been discussed to split up the language-pack CD into various pieces (european, CJK, etc). But this is probably not required as long as all the stuff fits onto a single CD.

Code

There is some code on http://people.ubuntu.com/~mvo/bzr/langpack-cd that will find all available language-pack packages (with dependencies) and download them. The space requirements for all languages (exluded "en" as this is on the install-cd already) in dapper with all dependencies that are not also in the rdepends on ubuntu-base:

Working on 'i386'
Have 658 language packages (size: 189M)
Have 1023 packages (size: 688M) to download
Working on 'amd64'
Have 658 language packages (size: 189M)
Have 1023 packages (size: 688M) to download
Working on 'powerpc'
Have 658 language packages (size: 189M)
Have 1023 packages (size: 688M) to download

Data preservation and migration

When a CD is inserted with updated language packages it should offer the user to offer the upgradable packages.

Outstanding issues

It turns out the the openoffice.org-help-$lang dependency of language-support-$lang is very big. Compressing its content with bzip2 inside the deb probably saves a lot of space here. There is a bug open (https://launchpad.net/distros/ubuntu/+source/openoffice.org-l10n/+bug/50659) for this.


CategorySpec

LanguagePacksCD (last edited 2008-08-06 16:29:02 by localhost)