commit:     f0e772bd3905d02d691d0e41b3a8e3bd3c10e2fe
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 27 23:28:11 2020 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Apr  7 23:23:07 2020 +0000
URL:        https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=f0e772bd

targets: Set LANG=C.UTF8

Stable glibc now always provides a UTF-8 capable locale, which many
packages require. Set this as the default LANG.

Running locale-gen in stage1 should also solve bug #536938.

Bug: https://bugs.gentoo.org/536938
Bug: https://bugs.gentoo.org/710762
Bug: https://bugs.gentoo.org/714906
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 targets/stage1/chroot.sh | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/targets/stage1/chroot.sh b/targets/stage1/chroot.sh
index d409de39..60e32c60 100755
--- a/targets/stage1/chroot.sh
+++ b/targets/stage1/chroot.sh
@@ -57,6 +57,11 @@ make_destpath "${clst_root_path}"
 run_merge "--oneshot --nodeps sys-apps/baselayout"
 ${clst_sed} -i "/USE=\"${USE} -build\"/d" ${clst_make_conf}
 
+for etc in /etc "${clst_root_path}"/etc; do
+       echo "LANG=C.UTF8" > ${etc}/env.d/02locale
+done
+update_env_settings
+
 # Now, we install our packages
 if [ -e ${clst_make_conf} ]; then
        echo "CATALYST_USE=\"-* build ${BINDIST} ${clst_CATALYST_USE}\"" >> 
${clst_make_conf}
@@ -71,6 +76,13 @@ fi
 
 run_merge "--oneshot ${clst_buildpkgs}"
 
+# TODO: Drop this when locale-gen in stable glibc supports ROOT.
+#
+# locale-gen does not support the ROOT variable, and as such glibc simply does
+# not run locale-gen when ROOT is set. Since we've set LANG, we need to run
+# locale-gen explicitly.
+locale-gen --destdir "${clst_root_path}"/ || die "locale-gen failed"
+
 # Why are we removing these? Don't we need them for final make.conf?
 for useexpand in ${clst_HOSTUSEEXPAND}; do
        x="clst_${useexpand}"

Reply via email to