Language packs are not being installed for selected languages during oem-config

Bug #741304 reported by Kent Baxley on 2011-03-23
32
This bug affects 4 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
High
Unassigned
console-setup (Ubuntu)
High
Colin Watson
Natty
High
Colin Watson
localechooser (Ubuntu)
High
Colin Watson
Natty
High
Colin Watson
pkgsel (Ubuntu)
High
Colin Watson
Natty
High
Colin Watson
ubiquity (Ubuntu)
High
Colin Watson
Natty
High
Colin Watson

Bug Description

Binary package hint: oem-config

User-selected language packs are not being installed during the oem-config portion of Dell Recovery. The user can select their language of choice, and during the rest of the oem-coonfig portion of the installation process, the language settings appear to stick. However, when the user starts up the Operating System for the first time, everything is in English

To reproduce:
1) During the Out of Box Experience (OOBE) portion of Dell Recovery, the user is asked to select their language of choice. In this case, I selected Spanish.

2) Continue with the install. The menus and window titles for the selected languages are preserved. In other words, everything was in Spanish.

3) At this point, things start to look amiss. The slideshow remains in English as does the progress indicator at the bottom (installing system, copying files, etc.)

Actual result: Upon booting into the operating system, everything is in English. Running dpkg -l for language packs only shows English, and no Spanish packages are installed.

Expected result: Language packs for selected language in oem-config should be installed.

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: ubiquity 2.5.27
ProcVersionSignature: Ubuntu 2.6.38-7.38-generic 2.6.38
Uname: Linux 2.6.38-7-generic x86_64
Architecture: amd64
Date: Wed Mar 23 22:49:59 2011
DistributionChannelDescriptor:
 # This is a distribution channel descriptor
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-somerville-natty-amd64-20110323-1
InstallationMedia: Ubuntu 11.04 "Natty" - Build amd64 LIVE Binary 20110323-16:16
ProcEnviron:
 LANGUAGE=en_US:en
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: ubiquity
UpgradeStatus: No upgrade log present (probably fresh install)

Kent Baxley (kentb) wrote :
Kent Baxley (kentb) on 2011-03-23
tags: added: natty-build
description: updated
summary: - Language packs are not being installed for selected languages in oem-
- config
+ Language packs are not being installed for selected languages during
+ oem-config
Kent Baxley (kentb) on 2011-03-24
Changed in ubiquity (Ubuntu):
status: New → Confirmed
Changed in oem-priority:
importance: Undecided → High
Changed in ubiquity (Ubuntu):
milestone: none → ubuntu-11.04-beta-2
Changed in ubiquity (Ubuntu Natty):
importance: Undecided → High
Colin Watson (cjwatson) wrote :

This is happening because localechooser/supported-locales is now set more accurately to its description of "*additional* locales" (emphasis mine). We need to either concatenate the list of language packs we derive from it with the one we derive from debian-installer/locale, or else change the definition in localechooser; I lean towards the former option.

pkgsel has a similar bug.

Changed in pkgsel (Ubuntu Natty):
assignee: nobody → Colin Watson (cjwatson)
importance: Undecided → High
milestone: none → ubuntu-11.04-beta-2
status: New → Triaged
Changed in ubiquity (Ubuntu Natty):
assignee: nobody → Colin Watson (cjwatson)
status: Confirmed → Triaged
Colin Watson (cjwatson) on 2011-03-30
Changed in pkgsel (Ubuntu Natty):
status: Triaged → Fix Committed
Changed in ubiquity (Ubuntu Natty):
status: Triaged → Fix Committed
tags: added: iso-testing
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pkgsel - 0.33ubuntu3

---------------
pkgsel (0.33ubuntu3) natty; urgency=low

  * localechooser/supported-locales only lists additional locales, so
    calculate the set of language packs to install using the union of it and
    debian-installer/locale (LP: #741304).
  * Fix Chinese special cases for language packs to work properly.
 -- Colin Watson <email address hidden> Wed, 30 Mar 2011 18:00:47 +0100

Changed in pkgsel (Ubuntu Natty):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 2.5.33

---------------
ubiquity (2.5.33) natty; urgency=low

  [ Colin Watson ]
  * Shut down the debconf-communicator instance started in DM.run. This
    should reduce the number of spurious crash reports we get.
  * KDE frontend:
    - Force the SIGCHLD handler installed by QProcessManager to use
      SA_RESTART, in the hope of avoiding problems with Python's lack of
      EINTR-safety (LP: #745014).
    - Show ext2 and btrfs in the same colour as ext3 and ext4, rather than
      in the same colour as free space.
  * localechooser/supported-locales only lists additional locales, so
    calculate the set of language packs to install using the union of it and
    debian-installer/locale (LP: #741304).
  * Do a quick check at startup to see if the debconf database is locked by
    something else, and exit slightly more gracefully than by raising an
    exception (LP: #746020).
  * GTK frontend:
    - Fix the partman plugin to convert the return value of
      gtk.TreeModel.get_value to Unicode before looking it up in a dict
      (LP: #746408).
  * Update translations from Launchpad (LP: #745924, #746500).
  * Automatic update of included source packages: flash-kernel 2.28ubuntu18.

  [ Evan Dandrea ]
  * Clarify substitution variables in the debconf templates using comments.
 -- Colin Watson <email address hidden> Sat, 02 Apr 2011 13:03:38 +0100

Changed in ubiquity (Ubuntu Natty):
status: Fix Committed → Fix Released
davidz12 (dvanderzande) wrote :

Also in the normal (user based) installer, it doesn't install the language!

On Sat, Apr 02, 2011 at 04:43:54PM -0000, davidz12 wrote:
> Also in the normal (user based) installer, it doesn't install the
> language!

Yes, that's what I just fixed today. oem-config and the desktop CD
installer are basically the same piece of software under the covers.

Kent Baxley (kentb) wrote :

I'm still seeing issues with the Dell-recovery installer on Natty, even with the latest ubiquity fixes. The same symptoms persist. If, during the OEM-Config / OBE portion of the install, I select any language other than English, the changes do not 'stick' when I boot into the Operating System for the first time.

Colin Watson (cjwatson) wrote :

Can I have full logs with the new version, please?

  /var/log/installer/syslog
  /var/log/installer/partman
  /var/log/installer/debug
  /var/log/installer/dm
  /var/log/installer/casper.log
  /var/log/oem-config.log

Kent Baxley (kentb) wrote :

Hi Colin,

Here are the requested logs from an attempt today. As a test, I selected German, but ended up with an English-only installation when it was all said and done.

Let me know if I can get you anything else. Thanks.

Changed in pkgsel (Ubuntu Natty):
status: Fix Released → In Progress
Changed in ubiquity (Ubuntu Natty):
status: Fix Released → In Progress
Kent Baxley (kentb) wrote :

@Colin,

Here are some additional logs with debug-oem-config enabled.

Kent Baxley (kentb) wrote :
Kent Baxley (kentb) wrote :
Kent Baxley (kentb) wrote :

Colin,

Do you have an update for me on this? Thanks.

Colin Watson (cjwatson) wrote :

I have no update yet, but it's first on my queue for next week.

Colin Watson (cjwatson) wrote :

This looks independent of the previous problems (so re-closing the pkgsel task, but I'll leave the ubiquity task open until I decide whether a fix for this belongs there or in localechooser). It looks like what's happening is:

 * the initial install sets debian-installer/locale and marks it seen
 * when the language is changed in oem-config, this doesn't reset the seen flag on debian-installer/locale, so localechooser thinks it's preseeded and leaves it alone
 * the rest of oem-config therefore thinks you wanted English

This should be easy to fix once I decide on the proper approach.

Changed in pkgsel (Ubuntu Natty):
status: In Progress → Fix Released
Colin Watson (cjwatson) on 2011-04-10
Changed in localechooser (Ubuntu Natty):
importance: Undecided → High
assignee: nobody → Colin Watson (cjwatson)
milestone: none → ubuntu-11.04-beta-2
status: New → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package localechooser - 2.34ubuntu4

---------------
localechooser (2.34ubuntu4) natty; urgency=low

  * Cancel any locale preseeding if the user changes the language
    (LP: #741304).
 -- Colin Watson <email address hidden> Sun, 10 Apr 2011 21:59:41 +0100

Changed in localechooser (Ubuntu Natty):
status: In Progress → Fix Released
Colin Watson (cjwatson) wrote :

The localechooser fix above is included in ubiquity 2.6.1 which I just uploaded, and the previous problem remains fixed, so closing that task again.

Changed in ubiquity (Ubuntu Natty):
status: In Progress → Fix Released
Colin Watson (cjwatson) wrote :

I've confirmed that this fixes the problem. (As usual I had to preseed oem-config/install-language-support to true, and it didn't actually manage to install the language packs because they were uninstallable in the archive at the time; but it did at least try, and it displayed the dialog after login saying that language support was incomplete, so I consider that a success.)

Kent Baxley (kentb) wrote :

Confirmed as well with Dell-Recovery. During the OBE portion of the installation I selected Spanish and this time, the language selection carried all the way through. The slideshows to finish up the installation as well as the desktop is all in Spanish now!

Thanks, Colin!

Kent Baxley (kentb) wrote :

@Colin,

One more question. What is the expected behavior with regard to language selection and keyboards?

For example, if I select Chinese as my language of choice, will I be prompted later on for a Chinese-type keyboard layout or should I see a default keyboard choice in the language I selected? Right now, if I select Chinese, the input preferences screen prompts me for USA initially in the country column with a list of different USA layouts. I have attached a photograph of what I'm talking about. The specific keyboard in this machine is a USA Qwerty one.

Again, the question is, is this the proper behavior or should it be doing something else?

Thanks!

Colin Watson (cjwatson) wrote :

The default keyboard layout and variant is selected based on a combination of the selected language and country. Since there's more than one flavour of Chinese, I'd need to see logs or otherwise more complete details to be able to investigate what was happening in your particular case.

Kent Baxley (kentb) wrote :

@Colin,

Thanks for taking a look. I ran through an install using Simplified Chinese for starters.

The detailed steps at this stage of the Dell installer are as follows:

1) User selects language.
2) User agrees to Dell EULA.
3) Timezone is selected (Shanghai is default).
4) Keyboard preferences are selected. Here is where we see USA being offered as a default option.
5) Username, System Name, Password, etc. are filled in.
6) User is given option to create recovery media.
7) Installation cleans up / finishes up.
8) User is brought to their new desktop.

In all of the above, starting with step 2, the Simplified Chinese language is used in all the menus, etc. The only questionable thing is the default keyboard layout selection. In our case it is defaulting to USA.

Attached is a tarball with the following logs and debug-oem-config turned on:

/var/log/installer/syslog
 /var/log/installer/partman
 /var/log/installer/debug
 /var/log/installer/dm
 /var/log/installer/casper.log
/var/log/oem-config.log
/var/log/syslog

I'll also go through an install using Traditional Chinese and attach the logs.

Kent Baxley (kentb) wrote :

Attaching logs from a Traditional Chinese installation.

Here are some observations:

Everything was the same as steps 1-8 above with the following differences:

1) Traditional Chinese was selected as a language choice.
3) Default timezone was Taipei (which was expected)
6) The menu that gives the user the option to create recovery menu was all English instead of Chinese.

..and of course USA was offered as the initial choice for keyboard layout.

Other than that, everything else was configured in Traditional Chinese.

Kent Baxley (kentb) wrote :

One more run, this time with Spanish as the chosen language.

Steps 1-8 went as expected with Madrid as the default timezone. For the keyboard, however, I noticed something different. By default, we are presented with an "EE.UU" as the default keyboard selection rather than USA. I've attached a photo of this as well as a set of logs from the installation.

Kent Baxley (kentb) wrote :

spanish installer logs

Colin Watson (cjwatson) wrote :

Traditional Chinese would have got a US layout anyway because there's no separate keyboard layout defined for zh_TW (and note that the 'cn' layout is actually just the same as 'us' anyway, so for now the difference is purely cosmetic). "EE. UU." is Spanish for USA.

You're right that there is a problem here, though. What's happening is that keyboard-configuration/layoutcode (and presumably keyboard-configuration/variantcode if the first stage did anything that required a variant) has its value copied over from the first stage, so that the second stage thinks it already has a default answer to that question. Fixing this is tricky because there are a lot of conflicting requirements, some of which affect use cases other than OEM Services: we need to copy the keyboard-configuration questions so that future upgrades of keyboard-configuration don't ask questions which have already been answered at installation time; we need to preserve the ability of OEMs to preseed the keyboard page if they're shipping machines with a known keyboard layout; and we need to make your case work.

I think a reasonable answer to this would be to simply not copy k-c questions from the first stage in OEM mode. This seems to do the trick, and would still allow for OEMs to explicitly preseed it after the first stage has finished. I've missed the beta-2 boat now, but I'll do this for final release.

Colin Watson (cjwatson) on 2011-04-12
Changed in console-setup (Ubuntu Natty):
status: New → Fix Committed
importance: Undecided → High
milestone: none → ubuntu-11.04
assignee: nobody → Colin Watson (cjwatson)
Changed in ubiquity (Ubuntu Natty):
status: Fix Released → In Progress
milestone: ubuntu-11.04-beta-2 → ubuntu-11.04
Colin Watson (cjwatson) on 2011-04-13
Changed in ubiquity (Ubuntu Natty):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package console-setup - 1.57ubuntu19

---------------
console-setup (1.57ubuntu19) natty; urgency=low

  * Don't copy keyboard-configuration questions to /target in OEM mode.
    oem-config will ask them later, and copying these confuses it
    (LP: #741304).
 -- Colin Watson <email address hidden> Fri, 15 Apr 2011 12:43:41 +0100

Changed in console-setup (Ubuntu Natty):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 2.6.6

---------------
ubiquity (2.6.6) natty; urgency=low

  [ Jonathan Riddell ]
  * bin/ubiquity-dm: use correct KDE wallpaper path

  [ Colin Watson ]
  * Don't copy keyboard-configuration questions to /target in OEM mode, and
    reset any values that come from the live filesystem build. oem-config
    will ask them later, and copying these confuses it (LP: #741304).
  * GTK frontend:
    - Avoid a crash if the automatic partitioning page is never displayed.

  [ Evan Dandrea ]
  * Remove the 'Bootloader device' line. See LP #726740.
  * Do not reset the bootloader choice unless it's absolutely necessary
    (LP: #756920). Thanks Stéphane Graber!
  * Move installation of the nvidia driver to after the removal of
    unneeded kernels. Divert update-initramfs for the duration and
    trigger it afterwards (LP: #759804).
  * Make the 'name already exists on the network' warning message not
    block the user from moving forward (LP: #760884).
  * Briefly shut down the debconf database to flush any changes before
    starting the parallel database (LP: #761094).
  * Fix removal of slideshow packages for non-GTK frontends
    (LP: #745607).
  * Set the locale again after the timezone page so that the slideshow
    can have country-specific translations (LP: #758658).
  * Automatic update of included source packages: base-installer
    1.116ubuntu2, choose-mirror 2.37ubuntu2, console-setup 1.57ubuntu19,
    flash-kernel 2.28ubuntu19, user-setup 1.28ubuntu15.
  * Update translations from Launchpad.

  [ Mario Limonciello ]
  * Show the oem-config slideshow in oem-config rather than the ubuntu one.
  * Uninstall the oem-config slideshow after install is done (LP: #759935).

  [ Julien Lavergne ]
  * Disable ubiquity panel for openbox session.

  [ Mackenzie Morgan ]
  * Make radio buttons use label wording for screen reader (LP: #749653)
 -- Evan Dandrea <email address hidden> Tue, 19 Apr 2011 11:45:53 +0100

Changed in ubiquity (Ubuntu Natty):
status: Fix Committed → Fix Released
Chris Van Hoof (vanhoof) on 2011-06-20
Changed in oem-priority:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers