Subject: Re: bug#33603: Invalid hash for NSS-Certs

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 15 Jan 2019 00:03:51 -0500

Hello!

Ludovic Courtès <[email-masked]> writes:

> Maxim Cournoyer <[email-masked]> skribis:

[...]

>> It's a rather old install (late 2016 -- but kept up-to-date, of course
>> :-)) so there might be remnants from the past?  How could I verify in
>> which locale the guix-daemon is running?
>
> You could check /proc/$(pidof guix-daemon)/environ for variables like
> ‘LC_ALL’.  And of course, you can see if ‘guix substitute’ emits the
> infamous “can’t install locale” message.  :-)
>
> Regardless, I think ‘guix substitute’ should ideally be
> locale-insensitive, or it should error out rather than produce files
> with the wrong names.

The only environment variable(s?) defined for the guix-daemon process on
that machine is:

--8<---------------cut here---------------start------------->8---
$ pidof guix-daemon
270

sudo cat /proc/270/environ
GUIX_LOCPATH=/gnu/store/94k5w17z54w25lgp90czdqfv9m4hwzhq-glibc-utf8-locales-2.28/lib/localeLC_ALL=en_US.utf8
--8<---------------cut here---------------end--------------->8---

I'm not familiar with this systemfs structure, but shouldn't there be a
newline before the LC_ALL=en_US.utf8 variable assignment?

It's the same on a 2nd GuixSD machine.

--8<---------------cut here---------------start------------->8---
$ sudo guix substitute --help
# Usage: guix substitute [OPTION]...
...
--8<---------------cut here---------------end--------------->8---

No infamous locale error here.

Not sure what happened here :-/

Maxim