Subject: bug#52831: [installer] Locale problems with nss-certs

From: Leo Famulari <[email-masked]>
Date: Wed, 29 Dec 2021 13:47:47 -0500

On Wed, Dec 29, 2021 at 06:26:05PM +0100, Mathieu Othacehe wrote:
> > While testing the Guix System installer, I noticed that installation of
> > nss-certs has some problems that seem related to locales.
> 
> What locale did you pick in the installer?

I chose the first items in the lists, which are "English" of the
territory "Antigua and Barbuda". That's "en_AG.utf8"

When I use "en_US.utf8", the problem does not occur.

> The following patch fixes it for me.
> 
> --8<---------------cut here---------------start------------->8---
> diff --git a/gnu/installer/utils.scm b/gnu/installer/utils.scm
> index bb97bc5560..d745996a3a 100644
> --- a/gnu/installer/utils.scm
> +++ b/gnu/installer/utils.scm
> @@ -97,10 +97,12 @@ (define (pause)
>        ;; least give us translated messages.
>        (if supported?
>            (setenv "LC_ALL" locale)
> -          (setenv "LANGUAGE"
> -                  (string-take locale
> -                               (or (string-index locale #\_)
> -                                   (string-length locale)))))))
> +          (begin
> +            (setlocale LC_ALL "en_US.utf8")
> +            (setenv "LANGUAGE"
> +                    (string-take locale
> +                                 (or (string-index locale #\_)
> +                                     (string-length locale))))))))
>  
>    (guard (c ((invoke-error? c)
>               (newline)
> --8<---------------cut here---------------end--------------->8---
> 
> WDYT?

I applied this patch to my Git repo and built a new installer like this:

`./pre-inst-env guix system image -t uncompressed-iso9660 --label="GUIX_x86_64-linux-leo" --system=x86_64-linux gnu/system/install.scm`

Then I copied the image out of the store and booted it in QEMU.

But, I still had the problem during installation. Did I miss a step?