LanguagePacksCD

Revision 15 as of 2006-06-21 08:48:42

Clear message

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, 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.

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).

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 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 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.

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 662 language packages (size: 192M)
Have 1009 packages (size: 691M) to download
Working on 'amd64'
Have 662 language packages (size: 192M)
Have 1009 packages (size: 694M) to download
Working on 'powerpc'
Have 662 language packages (size: 192M)
Have 1009 packages (size: 694M) 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.


CategorySpec