Archlinux locale configuration broken
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Fix Released
|
Medium
|
Unassigned |
Bug Description
The method for configuring the locale information for Arch is incorrect; it's writing "LANG=lang.CP CP" to /etc/locale.gen which should just be "lang.CP CP" (no foo=bar) as a naked line. The LANG= is to be written to /etc/locale.conf instead.
Provider (Rackspace) generated config value:
# grep ^locale /etc/cloud/
locale: en_US.UTF-8 UTF-8
== Existing code ==
# cat /etc/locale.gen
# Created by cloud-init v. 0.7.6 on Sun, 14 Dec 2014 15:23:26 +0000
LANG="en_US.UTF-8 UTF-8"
# locale-gen
Generating locales...
LANG=
cannot open locale definition file `LANG="en_US': No such file or directory
== Manually fixed ==
# cat /etc/locale.gen
# Created by cloud-init v. 0.7.6 on Sun, 14 Dec 2014 15:23:26 +0000
en_US.UTF-8 UTF-8
# locale-gen
Generating locales...
en_US.UTF-8... done
Generation complete.
====
The attached patch takes a stab at correcting arch.py, however I'm not a Python coder so YMMV. Based on the existing code, it seems to be expected the Provider always specify "lang.CP CP" for 'locale' in the cloud.cfg file(s) so this patch is based on that expectation, using split() looking for the space and peeling off the first element for /etc/locale.conf setup.
tags: | added: arch |
Changed in cloud-init: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Downstream (Arch) asked me to ping this bug, it is still valid.