--- arch.py.orig 2014-12-14 10:07:29.035974000 -0600 +++ arch.py 2014-12-14 10:35:40.704432561 -0600 @@ -30,7 +30,8 @@ class Distro(distros.Distro): - locale_conf_fn = "/etc/locale.gen" + locale_gen_fn = "/etc/locale.gen" + locale_conf_fn = "/etc/locale.conf" network_conf_dir = "/etc/netctl" resolve_conf_fn = "/etc/resolv.conf" init_cmd = ['systemctl'] # init scripts @@ -46,12 +47,22 @@ def apply_locale(self, locale, out_fn=None): if not out_fn: - out_fn = self.locale_conf_fn + out_fn = self.locale_gen_fn util.subp(['locale-gen', '-G', locale], capture=False) # "" provides trailing newline during join lines = [ util.make_header(), - 'LANG="%s"' % (locale), + '%s' % (locale), + "", + ] + util.write_file(out_fn, "\n".join(lines)) + + # expected: locale = "en_us.UTF-8 UTF-8" (lang.codepage codepage) + out_fn = self.locale_conf_fn + lines = [ + util.make_header(), + 'LANG="%s"' % (locale.split(' ',1)[0]), + 'LC_COLLATE="C"', "", ] util.write_file(out_fn, "\n".join(lines))