On Sun, Mar 29, 2020 at 8:26 PM Matt Turner <[email protected]> wrote:

> 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 <[email protected]>
> ---
>  targets/stage1/chroot.sh | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/targets/stage1/chroot.sh b/targets/stage1/chroot.sh
> index 0caf49ee..88a36481 100755
> --- a/targets/stage1/chroot.sh
> +++ b/targets/stage1/chroot.sh
> @@ -57,6 +57,11 @@ make_destpath /tmp/stage1root
>  run_merge "--oneshot --nodeps sys-apps/baselayout"
>  ${clst_sed} -i "/USE=\"${USE} -build\"/d" ${clst_make_conf}
>
> +for etc in /etc /tmp/stage1root/etc; do
> +       echo "LANG=C.UTF8" > ${etc}/env.d/02locale
> +done
> +update_env_settings
> +
>

if /tmp/stage1root is "${clst_root_path}" I think it might behoove you to
use it here rather than hard coding it.
Same as below.

 # 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 /tmp/stage1root/
> +
>  # Why are we removing these? Don't we need them for final make.conf?
>  for useexpand in ${clst_HOSTUSEEXPAND}; do
>         x="clst_${useexpand}"
> --
> 2.24.1
>
>
>

Reply via email to