Unable to preseed language

Bug #1450025 reported by Daniel Dehennin
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
localechooser (Ubuntu)
Triaged
Low
Mathieu Trudel-Lapierre

Bug Description

Hello,

I'm trying to preseed a 14.04.2 installation with hands-off[0] and found a bug in do_pressed[1].

When looking up known languages[2] a $lang variable is used bug comes from nowhere (empty), I think it should be $ps_language.

I started an installation, pause it (thanks hands-off) and add some set -x in some script to debug.

Here are the logs from localechooser do_preseed line 162[3] to 179[4]:

Apr 29 12:35:47 main-menu[1595]: (process:31954): + [ fr ]
Apr 29 12:35:47 main-menu[1595]: (process:31954): + [ fr ]
Apr 29 12:35:47 main-menu[1595]: (process:31954): + has_choice localechooser/languagelist
Apr 29 12:35:47 main-menu[1595]: (process:31954): + local RET template value
Apr 29 12:35:47 main-menu[1595]: (process:31954): + template=localechooser/languagelist
Apr 29 12:35:47 main-menu[1595]: (process:31954): + value=
Apr 29 12:35:47 main-menu[1595]: (process:31954): + [ ]
Apr 29 12:35:47 main-menu[1595]: (process:31954): + return 1
Apr 29 12:35:47 main-menu[1595]: (process:31954): + log Preseeded language ignored: unknown language code
Apr 29 12:35:47 main-menu[1595]: (process:31954): + logger -t localechooser info: Preseeded language ignored: unknown language code
Apr 29 12:35:47 main-menu[1595]: (process:31954): + [ FR ]
Apr 29 12:35:47 main-menu[1595]: (process:31954): + country_preseeded=1
Apr 29 12:35:47 debconf: --> SETTITLE localechooser/title/language
Apr 29 12:35:47 debconf: <-- 0 OK
Apr 29 12:35:47 main-menu[1595]: (process:31954): + [ fr_FR.UTF-8 ]
Apr 29 12:35:47 main-menu[1595]: (process:31954): + grep -q ^fr_FR.UTF-8 /usr/share/localechooser/SUPPORTED
Apr 29 12:35:47 main-menu[1595]: (process:31954): + db_fset debian-installer/locale seen true
Apr 29 12:35:47 main-menu[1595]: (process:31954): + _db_cmd FSET debian-installer/locale seen true
Apr 29 12:35:47 main-menu[1595]: (process:31954): + IFS= printf %s\n FSET debian-installer/locale seen true
Apr 29 12:35:47 main-menu[1595]: (process:31954): + IFS=
Apr 29 12:35:47 main-menu[1595]: (process:31954): read -r _db_internal_line
Apr 29 12:35:47 main-menu[1595]: (process:31954): + RET=true
Apr 29 12:35:47 main-menu[1595]: (process:31954): + return 0

This results in not using the preseeded language[5]:

Apr 29 12:35:47 main-menu[1595]: (process:31954): + db_fget localechooser/languagelist seen
Apr 29 12:35:47 main-menu[1595]: (process:31954): + _db_cmd FGET localechooser/languagelist seen
Apr 29 12:35:47 main-menu[1595]: (process:31954): + IFS= printf %s\n FGET local
Apr 29 12:35:47 main-menu[1595]: (process:31954): + IFS=
Apr 29 12:35:47 main-menu[1595]: (process:31954): read -r _db_internal_line
Apr 29 12:35:47 main-menu[1595]: (process:31954): +
Apr 29 12:35:47 main-menu[1595]: (process:31954): RET=false
Apr 29 12:35:47 main-menu[1595]: (process:31954): + return 0
Apr 29 12:35:47 main-menu[1595]: (process:31954): + [ false = true ]
Apr 29 12:35:47 main-menu[1595]: (process:31954): + PREVIOUS_LANGUAGE=

[0] http://hands.com/d-i/

[1] https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/localechooser/trusty-proposed/view/head:/localechooser#L148

[2] https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/localechooser/trusty-proposed/view/head:/localechooser#L164

[3] https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/localechooser/trusty-proposed/view/head:/localechooser#L162

[4] https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/localechooser/trusty-proposed/view/head:/localechooser#L179

[5] https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/localechooser/trusty-proposed/view/head:/localechooser#516

Regards.

Tags: trusty
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Could you please share the actual preseed file you're using, as well as whatever parameters you may be passing on the command-line? This would help in making sure I can accurately reproduce the bug as I test the fix.

Changed in localechooser (Ubuntu):
status: New → Incomplete
importance: Undecided → Medium
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

I'm easily able to reproduce this behavior in Debian and Ubuntu, and I'm not denying it looks like there is a bug here in localechooser code, one that we'll address.

However, I am able to preseed the language despite that error message showing up, so I'll further reduce the bug priority to Low.

FWIW, I've been using "language=fr" as a parameter added on the command-line, which is also equivalent to picking French in the menu for the Server CD. I've also tried the same on mini.iso (so, fairly similar to a PXE boot), with the same behavior. In all my tests, the installer *does* come up in french.

Could you please tell us more about the bug? Should we read from this that the resulting installed system does not come up in french?

Revision history for this message
Daniel Dehennin (launchpad-baby-gnu) wrote :

I took the ubuntu-14.04.2-server-amd64.iso and follow the documentation https://help.ubuntu.com/community/InstallCDCustomization and use the preseed localisation from the documentation https://help.ubuntu.com/lts/installation-guide/amd64/apbs04.html

I edited the preseed/ubuntu-server.seed to add the following:

# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string fr_FR.UTF-8

# The values can also be preseeded individually for greater flexibility.
d-i debian-installer/language string fr
d-i debian-installer/country string FR

# Keyboard selection.
# Disable automatic (interactive) keymap detection.
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/layoutcode string fr
# To select a variant of the selected layout (if you leave this out, the
# basic form of the layout will be used):
d-i keyboard-configuration/variantcode string oss

I build the custom ISO image and boot it in KVM and at reboot my /etc/default/keyboard contains

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS=""

The bug I found in localchooser is only responsible of printing a message which should not be printed, so this fix is purely cosmetic.

Regards.

Changed in localechooser (Ubuntu):
importance: Medium → Low
Changed in localechooser (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Thanks, that clarifies it. I will fix this (and also fix it in Debian, since it seems to happen there as well).

Changed in localechooser (Ubuntu):
status: Confirmed → Triaged
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
Revision history for this message
Daniel Dehennin (launchpad-baby-gnu) wrote :

I can set french keymap on Debian Jessie with:

# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string fr_FR.UTF-8

# The values can also be preseeded individually for greater flexibility.
d-i debian-installer/language string fr
d-i debian-installer/country string FR

# Keyboard selection.
d-i keyboard-configuration/xkb-keymap select fr(latin9)

Setting the variant to oss does not work:

# Keyboard selection.
d-i keyboard-configuration/xkb-keymap select fr(oss)

Debugging the Debian Jessie keymap selection, I see that it's handled by /usr/share/console-setup/keyboard-configuration.config.

I pause the installer and put a set -x on top of this script in Ubuntu and it's never called.

Hope it will help.

Regards.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Oh, sure that file will eventually get run; it's part of the tasks of keyboard-configuration.postinst (from /var/lib/dpkg/info).

Are you seeing that these settings aren't properly applied in the installer? If so, that would be bug 1447802. However, there is still the issue you reported in locale-chooser which is a valid issue that should be resolved, so I'd rather keep this bug around and not mark it a duplicate of the other, that way we can track the locale-chooser fix as well.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.