mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-20 05:37:34 -05:00
substitute: Set LC_MESSAGES to the client's locale, not LC_ALL.
Fixes <https://bugs.gnu.org/43039>. Reported by Adam Griffiths <adam.lw.griffiths@gmail.com>. Previously, a client could lead 'guix substitute' to run in a non-UTF-8 locale, such as the "C" locale. Consequently, 'guix substitute' would now fail to decode UTF-8 file names such as those that appear in the 'nss-certs' package. * guix/scripts/substitute.scm (guix-substitute): Set LC_MESSAGES, not LC_ALL.
This commit is contained in:
parent
8ce6f4dc28
commit
aba8def46d
1 changed files with 4 additions and 3 deletions
|
@ -1126,12 +1126,13 @@ (define print-build-trace?
|
|||
;; Sanity-check SUBSTITUTE-URLS so we can provide a meaningful error message.
|
||||
(for-each validate-uri (substitute-urls))
|
||||
|
||||
;; Attempt to install the client's locale, mostly so that messages are
|
||||
;; suitably translated.
|
||||
;; Attempt to install the client's locale so that messages are suitably
|
||||
;; translated. LC_CTYPE must be a UTF-8 locale; it's the case by default so
|
||||
;; don't change it.
|
||||
(match (or (find-daemon-option "untrusted-locale")
|
||||
(find-daemon-option "locale"))
|
||||
(#f #f)
|
||||
(locale (false-if-exception (setlocale LC_ALL locale))))
|
||||
(locale (false-if-exception (setlocale LC_MESSAGES locale))))
|
||||
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
|
|
Loading…
Reference in a new issue